summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml2
-rw-r--r--.gitmodules2
-rw-r--r--.travis.yml24
-rw-r--r--ChangeLog844
-rw-r--r--ReleaseNotes598
-rw-r--r--changes/181054
-rw-r--r--changes/bug189186
-rw-r--r--changes/bug208874
-rw-r--r--changes/bug239094
-rw-r--r--changes/bug239544
-rw-r--r--changes/bug244694
-rw-r--r--changes/bug244844
-rw-r--r--changes/bug247004
-rw-r--r--changes/bug248594
-rw-r--r--changes/bug249035
-rw-r--r--changes/bug249044
-rw-r--r--changes/bug249143
-rw-r--r--changes/bug249274
-rw-r--r--changes/bug249525
-rw-r--r--changes/bug249724
-rw-r--r--changes/bug249756
-rw-r--r--changes/bug249765
-rw-r--r--changes/bug250089
-rw-r--r--changes/bug250264
-rw-r--r--changes/bug250703
-rw-r--r--changes/bug251055
-rw-r--r--changes/bug253066
-rw-r--r--changes/bug253723
-rw-r--r--changes/bug253995
-rw-r--r--changes/bug254154
-rw-r--r--changes/bug255605
-rw-r--r--changes/feature251504
-rw-r--r--changes/feature253134
-rw-r--r--changes/ticket238736
-rw-r--r--changes/ticket247146
-rw-r--r--changes/ticket247405
-rw-r--r--changes/ticket248493
-rw-r--r--changes/ticket2490213
-rw-r--r--changes/ticket250815
-rw-r--r--changes/ticket251083
-rw-r--r--changes/ticket251224
-rw-r--r--changes/ticket251626
-rw-r--r--changes/ticket252613
-rw-r--r--changes/ticket252687
-rw-r--r--changes/ticket41873
-rw-r--r--changes/ticket62364
-rw-r--r--configure.ac57
-rw-r--r--contrib/operator-tools/linux-tor-prio.sh2
-rw-r--r--contrib/win32build/tor-mingw.nsi.in2
-rw-r--r--doc/HACKING/CodingStandardsRust.md66
-rw-r--r--doc/HACKING/GettingStartedRust.md95
-rw-r--r--doc/HACKING/Tracing.md2
-rw-r--r--doc/HACKING/android/Simpleperf.md2
-rw-r--r--doc/tor.1.txt132
-rwxr-xr-xscripts/maint/redox.py2
-rwxr-xr-xscripts/maint/updateFallbackDirs.py6
-rwxr-xr-xscripts/maint/updateRustDependencies.sh45
-rw-r--r--src/common/address.c47
-rw-r--r--src/common/address.h2
-rw-r--r--src/common/address_set.c129
-rw-r--r--src/common/address_set.h35
-rw-r--r--src/common/buffers.h1
-rw-r--r--src/common/ciphers.inc21
-rw-r--r--src/common/compat.c50
-rw-r--r--src/common/compat.h6
-rw-r--r--src/common/compat_openssl.h2
-rw-r--r--src/common/compat_time.c2
-rw-r--r--src/common/compat_winthreads.c1
-rw-r--r--src/common/compress.c10
-rw-r--r--src/common/compress.h1
-rw-r--r--src/common/compress_zstd.c112
-rw-r--r--src/common/compress_zstd.h7
-rw-r--r--src/common/crypto.c39
-rw-r--r--src/common/crypto_digest.c23
-rw-r--r--src/common/crypto_digest.h11
-rw-r--r--src/common/crypto_ed25519.c12
-rw-r--r--src/common/crypto_rsa.c2
-rw-r--r--src/common/include.am2
-rw-r--r--src/common/log.c36
-rw-r--r--src/common/sandbox.c23
-rw-r--r--src/common/timers.c2
-rw-r--r--src/common/torlog.h14
-rw-r--r--src/common/tortls.c30
-rw-r--r--src/common/util.c6
-rw-r--r--src/common/util.h18
-rw-r--r--src/config/geoip12532
-rw-r--r--src/config/geoip61489
-rw-r--r--src/ext/ed25519/donna/ed25519_tor.c2
m---------src/ext/rust0
-rw-r--r--src/or/bridges.c6
-rw-r--r--src/or/channel.c313
-rw-r--r--src/or/channel.h4
-rw-r--r--src/or/channelpadding.c2
-rw-r--r--src/or/channeltls.c116
-rw-r--r--src/or/circpathbias.c4
-rw-r--r--src/or/circuitbuild.c52
-rw-r--r--src/or/circuitbuild.h1
-rw-r--r--src/or/circuitlist.c39
-rw-r--r--src/or/circuitmux.c678
-rw-r--r--src/or/circuitmux_ewma.c115
-rw-r--r--src/or/circuitmux_ewma.h7
-rw-r--r--src/or/circuitstats.c16
-rw-r--r--src/or/circuituse.c32
-rw-r--r--src/or/command.c2
-rw-r--r--src/or/config.c105
-rw-r--r--src/or/connection.c31
-rw-r--r--src/or/connection_edge.c6
-rw-r--r--src/or/connection_or.c13
-rw-r--r--src/or/control.c51
-rw-r--r--src/or/cpuworker.c2
-rw-r--r--src/or/directory.c134
-rw-r--r--src/or/directory.h25
-rw-r--r--src/or/dirserv.c19
-rw-r--r--src/or/dirserv.h2
-rw-r--r--src/or/dirvote.c2
-rw-r--r--src/or/dns.c2
-rw-r--r--src/or/dos.c29
-rw-r--r--src/or/entrynodes.h7
-rw-r--r--src/or/geoip.c11
-rw-r--r--src/or/hibernate.c2
-rw-r--r--src/or/hs_cache.c4
-rw-r--r--src/or/hs_cell.c2
-rw-r--r--src/or/hs_circuit.c10
-rw-r--r--src/or/hs_client.c8
-rw-r--r--src/or/hs_common.c1
-rw-r--r--src/or/hs_config.c2
-rw-r--r--src/or/hs_descriptor.c10
-rw-r--r--src/or/hs_intropoint.c3
-rw-r--r--src/or/hs_service.c55
-rw-r--r--src/or/keypin.c11
-rw-r--r--src/or/main.c121
-rw-r--r--src/or/main.h2
-rw-r--r--src/or/microdesc.c3
-rw-r--r--src/or/networkstatus.c67
-rw-r--r--src/or/nodelist.c104
-rw-r--r--src/or/nodelist.h7
-rw-r--r--src/or/onion.c14
-rw-r--r--src/or/onion_fast.c2
-rw-r--r--src/or/or.h78
-rw-r--r--src/or/policies.c2
-rw-r--r--src/or/protover.c35
-rw-r--r--src/or/reasons.c2
-rw-r--r--src/or/relay.c43
-rw-r--r--src/or/relay.h1
-rw-r--r--src/or/rendcache.c4
-rw-r--r--src/or/rendcache.h2
-rw-r--r--src/or/rendclient.c6
-rw-r--r--src/or/rendservice.c8
-rw-r--r--src/or/rendservice.h2
-rw-r--r--src/or/rephist.c284
-rw-r--r--src/or/rephist.h7
-rw-r--r--src/or/replaycache.c11
-rw-r--r--src/or/router.c129
-rw-r--r--src/or/router.h2
-rw-r--r--src/or/routerlist.c27
-rw-r--r--src/or/routerparse.c1
-rw-r--r--src/or/scheduler_kist.c2
-rw-r--r--src/or/shared_random.c2
-rw-r--r--src/or/shared_random_state.c6
-rw-r--r--src/or/status.c5
-rw-r--r--src/or/tor_api.h14
-rw-r--r--src/or/transports.c184
-rw-r--r--src/rust/Cargo.lock38
-rw-r--r--src/rust/Cargo.toml3
-rw-r--r--src/rust/external/Cargo.toml2
-rw-r--r--src/rust/protover/Cargo.toml8
-rw-r--r--src/rust/protover/ffi.rs43
-rw-r--r--src/rust/protover/lib.rs5
-rw-r--r--src/rust/protover/protover.rs434
-rw-r--r--src/rust/smartlist/Cargo.toml2
-rw-r--r--src/rust/tor_allocate/Cargo.toml2
-rw-r--r--src/rust/tor_allocate/tor_allocate.rs19
-rw-r--r--src/rust/tor_log/Cargo.toml18
-rw-r--r--src/rust/tor_log/lib.rs16
-rw-r--r--src/rust/tor_log/tor_log.rs270
-rw-r--r--src/rust/tor_util/Cargo.toml5
-rw-r--r--src/rust/tor_util/ffi.rs13
-rw-r--r--src/rust/tor_util/lib.rs5
-rw-r--r--src/rust/tor_util/strings.rs140
-rw-r--r--src/test/bench.c2
-rw-r--r--src/test/fuzz/fuzzing_common.c5
-rw-r--r--src/test/include.am4
-rw-r--r--src/test/test.c379
-rw-r--r--src/test/test.h2
-rw-r--r--src/test/test_address_set.c174
-rw-r--r--src/test/test_cell_formats.c2
-rw-r--r--src/test/test_channel.c5
-rw-r--r--src/test/test_channelpadding.c8
-rw-r--r--src/test/test_circuitlist.c1
-rw-r--r--src/test/test_circuitmux.c2
-rw-r--r--src/test/test_config.c8
-rw-r--r--src/test/test_connection.c2
-rw-r--r--src/test/test_controller.c26
-rw-r--r--src/test/test_dir.c469
-rw-r--r--src/test/test_dir_handle_get.c1
-rw-r--r--src/test/test_dos.c107
-rw-r--r--src/test/test_entrynodes.c2
-rw-r--r--src/test/test_geoip.c459
-rw-r--r--src/test/test_helpers.c1
-rw-r--r--src/test/test_hs.c2
-rw-r--r--src/test/test_hs_descriptor.c2
-rw-r--r--src/test/test_hs_intropoint.c5
-rw-r--r--src/test/test_hs_service.c15
-rw-r--r--src/test/test_options.c29
-rw-r--r--src/test/test_protover.c171
-rwxr-xr-xsrc/test/test_rust.sh22
-rw-r--r--src/test/test_shared_random.c4
-rw-r--r--src/test/test_util.c61
-rw-r--r--src/test/testing_common.c2
-rw-r--r--src/tools/tor-gencert.c1
-rw-r--r--src/trunnel/hs/cell_introduce1.trunnel2
-rw-r--r--src/win32/orconfig.h2
212 files changed, 14380 insertions, 8473 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ba981d5f14..d2d0d55dd4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,7 +26,7 @@ update:
- ssh-add <(echo "$DEPLOY_KEY")
# For Docker builds disable host key checking. Be aware that by adding that
- # you are suspectible to man-in-the-middle attacks.
+ # you are susceptible to man-in-the-middle attacks.
# WARNING: Use this only with the Docker executor, if you use it with shell
# you will overwrite your user's SSH config.
- mkdir -p ~/.ssh
diff --git a/.gitmodules b/.gitmodules
index 7074403c9c..8f80405650 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
[submodule "src/ext/rust"]
path = src/ext/rust
- url = https://git.torproject.org/user/sebastian/tor-rust-dependencies
+ url = https://git.torproject.org/tor-rust-dependencies
diff --git a/.travis.yml b/.travis.yml
index 6c6e1ace2b..fa8536def5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -70,10 +70,26 @@ env:
# - RUST_OPTIONS=""
matrix:
- ## If one build in the matrix fails (e.g. if building withour Rust and Clang
- ## fails, but building with Rust and GCC is still going), then cancel the
- ## entire job early and call the whole thing a failure.
- fast_finish: true
+ ## Uncomment to allow the build to report success (with non-required
+ ## sub-builds continuing to run) if all required sub-builds have
+ ## succeeded. This is somewhat buggy currently: it can cause
+ ## duplicate notifications and prematurely report success if a
+ ## single sub-build has succeeded. See
+ ## https://github.com/travis-ci/travis-ci/issues/1696
+ # fast_finish: true
+
+ ## Uncomment the appropriate lines below to allow the build to
+ ## report success even if some less-critical sub-builds fail and it
+ ## seems likely to take a while for someone to fix it. Currently
+ ## Travis CI doesn't distinguish "all builds succeeded" from "some
+ ## non-required sub-builds failed" except on the individual build's
+ ## page, which makes it somewhat annoying to detect from the
+ ## branches and build history pages. See
+ ## https://github.com/travis-ci/travis-ci/issues/8716
+ allow_failures:
+ # - env: RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
+ # - env: RUST_OPTIONS="--enable-rust --enable-cargo-online-mode
+ # - compiler: clang
## Create explicit matrix entries to work around a Travis CI
## environment issue. Missing keys inherit from the first list
diff --git a/ChangeLog b/ChangeLog
index 96629e37f4..bd925bf4b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,821 @@
+
+Changes in version 0.3.3.3-alpha - 2018-03-03
+ Tor 0.3.3.3-alpha is the third alpha release for the 0.3.3.x series.
+ It includes an important security fix for a remote crash attack
+ against directory authorities tracked as TROVE-2018-001.
+
+ Additionally, with this release, we are upgrading the severity of a
+ bug fixed in 0.3.3.2-alpha. Bug 24700, which was fixed in
+ 0.3.3.2-alpha, can be remotely triggered in order to crash relays with
+ a use-after-free pattern. As such, we are now tracking that bug as
+ TROVE-2018-002 and CVE-2018-0491. This bug affected versions
+ 0.3.2.1-alpha through 0.3.2.9, as well as 0.3.3.1-alpha.
+
+ This release also fixes several minor bugs and annoyances from
+ earlier releases.
+
+ Relays running 0.3.2.x should upgrade to one of the versions released
+ today, for the fix to TROVE-2018-002. Directory authorities should
+ also upgrade. (Relays on earlier versions might want to update too for
+ the DoS mitigations.)
+
+ o Major bugfixes (denial-of-service, directory authority):
+ - Fix a protocol-list handling bug that could be used to remotely crash
+ directory authorities with a null-pointer exception. Fixes bug 25074;
+ bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
+ CVE-2018-0490.
+
+ o Minor features (compatibility, OpenSSL):
+ - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
+ Previous versions of Tor would not have worked with OpenSSL 1.1.1,
+ since they neither disabled TLS 1.3 nor enabled any of the
+ ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
+ Closes ticket 24978.
+
+ o Minor features (logging):
+ - Clarify the log messages produced when getrandom() or a related
+ entropy-generation mechanism gives an error. Closes ticket 25120.
+
+ o Minor features (testing):
+ - Add a "make test-rust" target to run the rust tests only. Closes
+ ticket 25071.
+
+ o Minor bugfixes (denial-of-service):
+ - Fix a possible crash on malformed consensus. If a consensus had
+ contained an unparseable protocol line, it could have made clients
+ and relays crash with a null-pointer exception. To exploit this
+ issue, however, an attacker would need to be able to subvert the
+ directory authority system. Fixes bug 25251; bugfix on
+ 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
+
+ o Minor bugfixes (DoS mitigation):
+ - Add extra safety checks when refilling the circuit creation bucket
+ to ensure we never set a value above the allowed maximum burst.
+ Fixes bug 25202; bugfix on 0.3.3.2-alpha.
+ - When a new consensus arrives, don't update our DoS-mitigation
+ parameters if we aren't a public relay. Fixes bug 25223; bugfix
+ on 0.3.3.2-alpha.
+
+ o Minor bugfixes (man page, SocksPort):
+ - Remove dead code from the old "SocksSocket" option, and rename
+ SocksSocketsGroupWritable to UnixSocksGroupWritable. The old option
+ still works, but is deprecated. Fixes bug 24343; bugfix on 0.2.6.3.
+
+ o Minor bugfixes (performance):
+ - Reduce the number of circuits that will be opened at once during
+ the circuit build timeout phase. This is done by increasing the
+ idle timeout to 3 minutes, and lowering the maximum number of
+ concurrent learning circuits to 10. Fixes bug 24769; bugfix
+ on 0.3.1.1-alpha.
+
+ o Minor bugfixes (spec conformance):
+ - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
+ 0.2.9.4-alpha.
+ - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
+ bugfix on 0.2.9.4-alpha.
+
+ o Minor bugfixes (spec conformance, rust):
+ - Resolve a denial-of-service issue caused by an infinite loop in
+ the rust protover code. Fixes bug 25250, bugfix on 0.3.3.1-alpha.
+ Also tracked as TROVE-2018-003.
+
+ o Code simplification and refactoring:
+ - Update the "rust dependencies" submodule to be a project-level
+ repository, rather than a user repository. Closes ticket 25323.
+
+
+Changes in version 0.3.2.10 - 2018-03-03
+ Tor 0.3.2.10 is the second stable release in the 0.3.2 series. It
+ backports a number of bugfixes, including important fixes for security
+ issues.
+
+ It includes an important security fix for a remote crash attack
+ against directory authorities, tracked as TROVE-2018-001.
+
+ Additionally, it backports a fix for a bug whose severity we have
+ upgraded: Bug 24700, which was fixed in 0.3.3.2-alpha, can be remotely
+ triggered in order to crash relays with a use-after-free pattern. As
+ such, we are now tracking that bug as TROVE-2018-002 and
+ CVE-2018-0491, and backporting it to earlier releases. This bug
+ affected versions 0.3.2.1-alpha through 0.3.2.9, as well as version
+ 0.3.3.1-alpha.
+
+ This release also backports our new system for improved resistance to
+ denial-of-service attacks against relays.
+
+ This release also fixes several minor bugs and annoyances from
+ earlier releases.
+
+ Relays running 0.3.2.x SHOULD upgrade to one of the versions released
+ today, for the fix to TROVE-2018-002. Directory authorities should
+ also upgrade. (Relays on earlier versions might want to update too for
+ the DoS mitigations.)
+
+ o Major bugfixes (denial-of-service, directory authority, backport from 0.3.3.3-alpha):
+ - Fix a protocol-list handling bug that could be used to remotely crash
+ directory authorities with a null-pointer exception. Fixes bug 25074;
+ bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
+ CVE-2018-0490.
+
+ o Major bugfixes (scheduler, KIST, denial-of-service, backport from 0.3.3.2-alpha):
+ - Avoid adding the same channel twice in the KIST scheduler pending
+ list, which could lead to remote denial-of-service use-after-free
+ attacks against relays. Fixes bug 24700; bugfix on 0.3.2.1-alpha.
+
+ o Major features (denial-of-service mitigation, backport from 0.3.3.2-alpha):
+ - Give relays some defenses against the recent network overload. We
+ start with three defenses (default parameters in parentheses).
+ First: if a single client address makes too many concurrent
+ connections (>100), hang up on further connections. Second: if a
+ single client address makes circuits too quickly (more than 3 per
+ second, with an allowed burst of 90) while also having too many
+ connections open (3), refuse new create cells for the next while
+ (1-2 hours). Third: if a client asks to establish a rendezvous
+ point to you directly, ignore the request. These defenses can be
+ manually controlled by new torrc options, but relays will also
+ take guidance from consensus parameters, so there's no need to
+ configure anything manually. Implements ticket 24902.
+
+ o Major bugfixes (onion services, retry behavior, backport from 0.3.3.1-alpha):
+ - Fix an "off by 2" error in counting rendezvous failures on the
+ onion service side. While we thought we would stop the rendezvous
+ attempt after one failed circuit, we were actually making three
+ circuit attempts before giving up. Now switch to a default of 2,
+ and allow the consensus parameter "hs_service_max_rdv_failures" to
+ override. Fixes bug 24895; bugfix on 0.0.6.
+ - New-style (v3) onion services now obey the "max rendezvous circuit
+ attempts" logic. Previously they would make as many rendezvous
+ circuit attempts as they could fit in the MAX_REND_TIMEOUT second
+ window before giving up. Fixes bug 24894; bugfix on 0.3.2.1-alpha.
+
+ o Major bugfixes (protocol versions, backport from 0.3.3.2-alpha):
+ - Add Link protocol version 5 to the supported protocols list. Fixes
+ bug 25070; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (relay, backport from 0.3.3.1-alpha):
+ - Fix a set of false positives where relays would consider
+ connections to other relays as being client-only connections (and
+ thus e.g. deserving different link padding schemes) if those
+ relays fell out of the consensus briefly. Now we look only at the
+ initial handshake and whether the connection authenticated as a
+ relay. Fixes bug 24898; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (scheduler, consensus, backport from 0.3.3.2-alpha):
+ - The scheduler subsystem was failing to promptly notice changes in
+ consensus parameters, making it harder to switch schedulers
+ network-wide. Fixes bug 24975; bugfix on 0.3.2.1-alpha.
+
+ o Minor features (denial-of-service avoidance, backport from 0.3.3.2-alpha):
+ - Make our OOM handler aware of the geoip client history cache so it
+ doesn't fill up the memory. This check is important for IPv6 and
+ our DoS mitigation subsystem. Closes ticket 25122.
+
+ o Minor features (compatibility, OpenSSL, backport from 0.3.3.3-alpha):
+ - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
+ Previous versions of Tor would not have worked with OpenSSL 1.1.1,
+ since they neither disabled TLS 1.3 nor enabled any of the
+ ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
+ Closes ticket 24978.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
+ Country database.
+
+ o Minor features (logging, diagnostic, backport from 0.3.3.2-alpha):
+ - When logging a failure to check a hidden service's certificate,
+ also log what the problem with the certificate was. Diagnostic
+ for ticket 24972.
+
+ o Minor bugfix (channel connection, backport from 0.3.3.2-alpha):
+ - Use the actual observed address of an incoming relay connection,
+ not the canonical address of the relay from its descriptor, when
+ making decisions about how to handle the incoming connection.
+ Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
+
+ o Minor bugfixes (denial-of-service, backport from 0.3.3.3-alpha):
+ - Fix a possible crash on malformed consensus. If a consensus had
+ contained an unparseable protocol line, it could have made clients
+ and relays crash with a null-pointer exception. To exploit this
+ issue, however, an attacker would need to be able to subvert the
+ directory authority system. Fixes bug 25251; bugfix on
+ 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
+
+ o Minor bugfix (directory authority, backport from 0.3.3.2-alpha):
+ - Directory authorities, when refusing a descriptor from a rejected
+ relay, now explicitly tell the relay (in its logs) to set a valid
+ ContactInfo address and contact the bad-relays@ mailing list.
+ Fixes bug 25170; bugfix on 0.2.9.1.
+
+ o Minor bugfixes (build, rust, backport from 0.3.3.1-alpha):
+ - When building with Rust on OSX, link against libresolv, to work
+ around the issue at https://github.com/rust-lang/rust/issues/46797.
+ Fixes bug 24652; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (onion services, backport from 0.3.3.2-alpha):
+ - Remove a BUG() statement when a client fetches an onion descriptor
+ that has a lower revision counter than the one in its cache. This
+ can happen in normal circumstances due to HSDir desync. Fixes bug
+ 24976; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (logging, backport from 0.3.3.2-alpha):
+ - Don't treat inability to store a cached consensus object as a bug:
+ it can happen normally when we are out of disk space. Fixes bug
+ 24859; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (performance, fragile-hardening, backport from 0.3.3.1-alpha):
+ - Improve the performance of our consensus-diff application code
+ when Tor is built with the --enable-fragile-hardening option set.
+ Fixes bug 24826; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (OSX, backport from 0.3.3.1-alpha):
+ - Don't exit the Tor process if setrlimit() fails to change the file
+ limit (which can happen sometimes on some versions of OSX). Fixes
+ bug 21074; bugfix on 0.0.9pre5.
+
+ o Minor bugfixes (spec conformance, backport from 0.3.3.3-alpha):
+ - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
+ 0.2.9.4-alpha.
+ - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
+ bugfix on 0.2.9.4-alpha.
+
+ o Minor bugfixes (testing, backport from 0.3.3.1-alpha):
+ - Fix a memory leak in the scheduler/loop_kist unit test. Fixes bug
+ 25005; bugfix on 0.3.2.7-rc.
+
+ o Minor bugfixes (v3 onion services, backport from 0.3.3.2-alpha):
+ - Look at the "HSRend" protocol version, not the "HSDir" protocol
+ version, when deciding whether a consensus entry can support the
+ v3 onion service protocol as a rendezvous point. Fixes bug 25105;
+ bugfix on 0.3.2.1-alpha.
+
+ o Code simplification and refactoring (backport from 0.3.3.3-alpha):
+ - Update the "rust dependencies" submodule to be a project-level
+ repository, rather than a user repository. Closes ticket 25323.
+
+ o Documentation (backport from 0.3.3.1-alpha)
+ - Document that operators who run more than one relay or bridge are
+ expected to set MyFamily and ContactInfo correctly. Closes
+ ticket 24526.
+
+
+Changes in version 0.3.1.10 - 2018-03-03
+ Tor 0.3.1.10 backports a number of bugfixes, including important fixes for
+ security issues.
+
+ It includes an important security fix for a remote crash attack
+ against directory authorities, tracked as TROVE-2018-001.
+
+ This release also backports our new system for improved resistance to
+ denial-of-service attacks against relays.
+
+ This release also fixes several minor bugs and annoyances from
+ earlier releases.
+
+ All directory authorities should upgrade to one of the versions
+ released today. Relays running 0.3.1.x may wish to update to one of
+ the versions released today, for the DoS mitigations.
+
+ Please note: according to our release calendar, Tor 0.3.1 will no
+ longer be supported after 1 July 2018. If you will be running Tor
+ after that date, you should make sure to plan to upgrade to the latest
+ stable version, or downgrade to 0.2.9 (which will receive long-term
+ support).
+
+ o Major bugfixes (denial-of-service, directory authority, backport from 0.3.3.3-alpha):
+ - Fix a protocol-list handling bug that could be used to remotely crash
+ directory authorities with a null-pointer exception. Fixes bug 25074;
+ bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
+ CVE-2018-0490.
+
+ o Major features (denial-of-service mitigation, backport from 0.3.3.2-alpha):
+ - Give relays some defenses against the recent network overload. We
+ start with three defenses (default parameters in parentheses).
+ First: if a single client address makes too many concurrent
+ connections (>100), hang up on further connections. Second: if a
+ single client address makes circuits too quickly (more than 3 per
+ second, with an allowed burst of 90) while also having too many
+ connections open (3), refuse new create cells for the next while
+ (1-2 hours). Third: if a client asks to establish a rendezvous
+ point to you directly, ignore the request. These defenses can be
+ manually controlled by new torrc options, but relays will also
+ take guidance from consensus parameters, so there's no need to
+ configure anything manually. Implements ticket 24902.
+
+ o Minor features (linux seccomp2 sandbox, backport from 0.3.2.5-alpha):
+ - Update the sandbox rules so that they should now work correctly
+ with Glibc 2.26. Closes ticket 24315.
+
+ o Major bugfixes (onion services, retry behavior, backport from 0.3.3.1-alpha):
+ - Fix an "off by 2" error in counting rendezvous failures on the
+ onion service side. While we thought we would stop the rendezvous
+ attempt after one failed circuit, we were actually making three
+ circuit attempts before giving up. Now switch to a default of 2,
+ and allow the consensus parameter "hs_service_max_rdv_failures" to
+ override. Fixes bug 24895; bugfix on 0.0.6.
+
+ o Major bugfixes (protocol versions, backport from 0.3.3.2-alpha):
+ - Add Link protocol version 5 to the supported protocols list. Fixes
+ bug 25070; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (relay, backport from 0.3.3.1-alpha):
+ - Fix a set of false positives where relays would consider
+ connections to other relays as being client-only connections (and
+ thus e.g. deserving different link padding schemes) if those
+ relays fell out of the consensus briefly. Now we look only at the
+ initial handshake and whether the connection authenticated as a
+ relay. Fixes bug 24898; bugfix on 0.3.1.1-alpha.
+
+ o Minor features (denial-of-service avoidance, backport from 0.3.3.2-alpha):
+ - Make our OOM handler aware of the geoip client history cache so it
+ doesn't fill up the memory. This check is important for IPv6 and
+ our DoS mitigation subsystem. Closes ticket 25122.
+
+ o Minor feature (relay statistics, backport from 0.3.2.6-alpha):
+ - Change relay bandwidth reporting stats interval from 4 hours to 24
+ hours in order to reduce the efficiency of guard discovery
+ attacks. Fixes ticket 23856.
+
+ o Minor features (compatibility, OpenSSL, backport from 0.3.3.3-alpha):
+ - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
+ Previous versions of Tor would not have worked with OpenSSL 1.1.1,
+ since they neither disabled TLS 1.3 nor enabled any of the
+ ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
+ Closes ticket 24978.
+
+ o Minor features (fallback directory mirrors, backport from 0.3.2.9):
+ - The fallback directory list has been re-generated based on the
+ current status of the network. Tor uses fallback directories to
+ bootstrap when it doesn't yet have up-to-date directory
+ information. Closes ticket 24801.
+ - Make the default DirAuthorityFallbackRate 0.1, so that clients
+ prefer to bootstrap from fallback directory mirrors. This is a
+ follow-up to 24679, which removed weights from the default
+ fallbacks. Implements ticket 24681.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
+ Country database.
+
+ o Minor bugfix (channel connection, backport from 0.3.3.2-alpha):
+ - Use the actual observed address of an incoming relay connection,
+ not the canonical address of the relay from its descriptor, when
+ making decisions about how to handle the incoming connection.
+ Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
+
+ o Minor bugfix (directory authority, backport from 0.3.3.2-alpha):
+ - Directory authorities, when refusing a descriptor from a rejected
+ relay, now explicitly tell the relay (in its logs) to set a valid
+ ContactInfo address and contact the bad-relays@ mailing list.
+ Fixes bug 25170; bugfix on 0.2.9.1.
+
+ o Minor bugfixes (address selection, backport from 0.3.2.9):
+ - When the fascist_firewall_choose_address_ functions don't find a
+ reachable address, set the returned address to the null address
+ and port. This is a precautionary measure, because some callers do
+ not check the return value. Fixes bug 24736; bugfix
+ on 0.2.8.2-alpha.
+
+ o Major bugfixes (bootstrapping, backport from 0.3.2.5-alpha):
+ - Fetch descriptors aggressively whenever we lack enough to build
+ circuits, regardless of how many descriptors we are missing.
+ Previously, we would delay launching the fetch when we had fewer
+ than 15 missing descriptors, even if some of those descriptors
+ were blocking circuits from building. Fixes bug 23985; bugfix on
+ 0.1.1.11-alpha. The effects of this bug became worse in
+ 0.3.0.3-alpha, when we began treating missing descriptors from our
+ primary guards as a reason to delay circuits.
+ - Don't try fetching microdescriptors from relays that have failed
+ to deliver them in the past. Fixes bug 23817; bugfix
+ on 0.3.0.1-alpha.
+
+ o Minor bugfixes (compilation, backport from 0.3.2.7-rc):
+ - Fix a signed/unsigned comparison warning introduced by our fix to
+ TROVE-2017-009. Fixes bug 24480; bugfix on 0.2.5.16.
+
+ o Minor bugfixes (control port, linux seccomp2 sandbox, backport from 0.3.2.5-alpha):
+ - Avoid a crash when attempting to use the seccomp2 sandbox together
+ with the OwningControllerProcess feature. Fixes bug 24198; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (denial-of-service, backport from 0.3.3.3-alpha):
+ - Fix a possible crash on malformed consensus. If a consensus had
+ contained an unparseable protocol line, it could have made clients
+ and relays crash with a null-pointer exception. To exploit this
+ issue, however, an attacker would need to be able to subvert the
+ directory authority system. Fixes bug 25251; bugfix on
+ 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
+
+ o Minor bugfixes (directory cache, backport from 0.3.2.5-alpha):
+ - Recover better from empty or corrupt files in the consensus cache
+ directory. Fixes bug 24099; bugfix on 0.3.1.1-alpha.
+ - When a consensus diff calculation is only partially successful,
+ only record the successful parts as having succeeded. Partial
+ success can happen if (for example) one compression method fails
+ but the others succeed. Previously we misrecorded all the
+ calculations as having succeeded, which would later cause a
+ nonfatal assertion failure. Fixes bug 24086; bugfix
+ on 0.3.1.1-alpha.
+
+ o Minor bugfixes (entry guards, backport from 0.3.2.3-alpha):
+ - Tor now updates its guard state when it reads a consensus
+ regardless of whether it's missing descriptors. That makes tor use
+ its primary guards to fetch descriptors in some edge cases where
+ it would previously have used fallback directories. Fixes bug
+ 23862; bugfix on 0.3.0.1-alpha.
+
+ o Minor bugfixes (logging, backport from 0.3.3.2-alpha):
+ - Don't treat inability to store a cached consensus object as a bug:
+ it can happen normally when we are out of disk space. Fixes bug
+ 24859; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (memory usage, backport from 0.3.2.8-rc):
+ - When queuing DESTROY cells on a channel, only queue the circuit-id
+ and reason fields: not the entire 514-byte cell. This fix should
+ help mitigate any bugs or attacks that fill up these queues, and
+ free more RAM for other uses. Fixes bug 24666; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (network layer, backport from 0.3.2.5-alpha):
+ - When closing a connection via close_connection_immediately(), we
+ mark it as "not blocked on bandwidth", to prevent later calls from
+ trying to unblock it, and give it permission to read. This fixes a
+ backtrace warning that can happen on relays under various
+ circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc.
+
+ o Minor bugfixes (path selection, backport from 0.3.2.4-alpha):
+ - When selecting relays by bandwidth, avoid a rounding error that
+ could sometimes cause load to be imbalanced incorrectly.
+ Previously, we would always round upwards; now, we round towards
+ the nearest integer. This had the biggest effect when a relay's
+ weight adjustments should have given it weight 0, but it got
+ weight 1 instead. Fixes bug 23318; bugfix on 0.2.4.3-alpha.
+ - When calculating the fraction of nodes that have descriptors, and
+ all nodes in the network have zero bandwidths, count the number of
+ nodes instead. Fixes bug 23318; bugfix on 0.2.4.10-alpha.
+ - Actually log the total bandwidth in compute_weighted_bandwidths().
+ Fixes bug 24170; bugfix on 0.2.4.3-alpha.
+
+ o Minor bugfixes (performance, fragile-hardening, backport from 0.3.3.1-alpha):
+ - Improve the performance of our consensus-diff application code
+ when Tor is built with the --enable-fragile-hardening option set.
+ Fixes bug 24826; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (OSX, backport from 0.3.3.1-alpha):
+ - Don't exit the Tor process if setrlimit() fails to change the file
+ limit (which can happen sometimes on some versions of OSX). Fixes
+ bug 21074; bugfix on 0.0.9pre5.
+
+ o Minor bugfixes (portability, msvc, backport from 0.3.2.9):
+ - Fix a bug in the bit-counting parts of our timing-wheel code on
+ MSVC. (Note that MSVC is still not a supported build platform, due
+ to cyptographic timing channel risks.) Fixes bug 24633; bugfix
+ on 0.2.9.1-alpha.
+
+ o Minor bugfixes (relay, partial backport):
+ - Make the internal channel_is_client() function look at what sort
+ of connection handshake the other side used, rather than whether
+ the other side ever sent a create_fast cell to us. Backports part
+ of the fixes from bugs 22805 and 24898.
+
+ o Minor bugfixes (spec conformance, backport from 0.3.3.3-alpha):
+ - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
+ 0.2.9.4-alpha.
+ - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
+ bugfix on 0.2.9.4-alpha.
+
+ o Code simplification and refactoring (backport from 0.3.3.3-alpha):
+ - Update the "rust dependencies" submodule to be a project-level
+ repository, rather than a user repository. Closes ticket 25323.
+
+
+Changes in version 0.2.9.15 - 2018-03-03
+ Tor 0.2.9.15 backports important security and stability bugfixes from
+ later Tor releases.
+
+ It includes an important security fix for a remote crash attack
+ against directory authorities, tracked as TROVE-2018-001.
+
+ This release also backports our new system for improved resistance to
+ denial-of-service attacks against relays.
+
+ This release also fixes several minor bugs and annoyances from
+ earlier releases.
+
+ All directory authorities should upgrade to one of the versions
+ released today. Relays running 0.2.9.x may wish to update to one of
+ the versions released today, for the DoS mitigations.
+
+ o Major bugfixes (denial-of-service, directory authority, backport from 0.3.3.3-alpha):
+ - Fix a protocol-list handling bug that could be used to remotely crash
+ directory authorities with a null-pointer exception. Fixes bug 25074;
+ bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
+ CVE-2018-0490.
+
+ o Major features (denial-of-service mitigation):
+ - Give relays some defenses against the recent network overload. We
+ start with three defenses (default parameters in parentheses).
+ First: if a single client address makes too many concurrent
+ connections (>100), hang up on further connections. Second: if a
+ single client address makes circuits too quickly (more than 3 per
+ second, with an allowed burst of 90) while also having too many
+ connections open (3), refuse new create cells for the next while
+ (1-2 hours). Third: if a client asks to establish a rendezvous
+ point to you directly, ignore the request. These defenses can be
+ manually controlled by new torrc options, but relays will also
+ take guidance from consensus parameters, so there's no need to
+ configure anything manually. Implements ticket 24902.
+
+ o Major bugfixes (bootstrapping):
+ - Fetch descriptors aggressively whenever we lack enough to build
+ circuits, regardless of how many descriptors we are missing.
+ Previously, we would delay launching the fetch when we had fewer
+ than 15 missing descriptors, even if some of those descriptors
+ were blocking circuits from building. Fixes bug 23985; bugfix on
+ 0.1.1.11-alpha. The effects of this bug became worse in
+ 0.3.0.3-alpha, when we began treating missing descriptors from our
+ primary guards as a reason to delay circuits.
+
+ o Major bugfixes (onion services, retry behavior):
+ - Fix an "off by 2" error in counting rendezvous failures on the
+ onion service side. While we thought we would stop the rendezvous
+ attempt after one failed circuit, we were actually making three
+ circuit attempts before giving up. Now switch to a default of 2,
+ and allow the consensus parameter "hs_service_max_rdv_failures" to
+ override. Fixes bug 24895; bugfix on 0.0.6.
+
+ o Minor feature (relay statistics):
+ - Change relay bandwidth reporting stats interval from 4 hours to 24
+ hours in order to reduce the efficiency of guard discovery
+ attacks. Fixes ticket 23856.
+
+ o Minor features (compatibility, OpenSSL):
+ - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
+ Previous versions of Tor would not have worked with OpenSSL 1.1.1,
+ since they neither disabled TLS 1.3 nor enabled any of the
+ ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
+ Closes ticket 24978.
+
+ o Minor features (denial-of-service avoidance):
+ - Make our OOM handler aware of the geoip client history cache so it
+ doesn't fill up the memory. This check is important for IPv6 and
+ our DoS mitigation subsystem. Closes ticket 25122.
+
+ o Minor features (fallback directory mirrors):
+ - The fallback directory list has been re-generated based on the
+ current status of the network. Tor uses fallback directories to
+ bootstrap when it doesn't yet have up-to-date directory
+ information. Closes ticket 24801.
+ - Make the default DirAuthorityFallbackRate 0.1, so that clients
+ prefer to bootstrap from fallback directory mirrors. This is a
+ follow-up to 24679, which removed weights from the default
+ fallbacks. Implements ticket 24681.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
+ Country database.
+
+ o Minor features (linux seccomp2 sandbox):
+ - Update the sandbox rules so that they should now work correctly
+ with Glibc 2.26. Closes ticket 24315.
+
+ o Minor bugfix (channel connection):
+ - Use the actual observed address of an incoming relay connection,
+ not the canonical address of the relay from its descriptor, when
+ making decisions about how to handle the incoming connection.
+ Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
+
+ o Minor bugfix (directory authority):
+ - Directory authorities, when refusing a descriptor from a rejected
+ relay, now explicitly tell the relay (in its logs) to set a valid
+ ContactInfo address and contact the bad-relays@ mailing list.
+ Fixes bug 25170; bugfix on 0.2.9.1.
+
+ o Minor bugfixes (address selection):
+ - When the fascist_firewall_choose_address_ functions don't find a
+ reachable address, set the returned address to the null address
+ and port. This is a precautionary measure, because some callers do
+ not check the return value. Fixes bug 24736; bugfix
+ on 0.2.8.2-alpha.
+
+ o Minor bugfixes (compilation):
+ - Fix a signed/unsigned comparison warning introduced by our fix to
+ TROVE-2017-009. Fixes bug 24480; bugfix on 0.2.5.16.
+
+ o Minor bugfixes (control port, linux seccomp2 sandbox):
+ - Avoid a crash when attempting to use the seccomp2 sandbox together
+ with the OwningControllerProcess feature. Fixes bug 24198; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (denial-of-service, backport from 0.3.3.3-alpha):
+ - Fix a possible crash on malformed consensus. If a consensus had
+ contained an unparseable protocol line, it could have made clients
+ and relays crash with a null-pointer exception. To exploit this
+ issue, however, an attacker would need to be able to subvert the
+ directory authority system. Fixes bug 25251; bugfix on
+ 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
+
+ o Minor bugfixes (memory usage):
+ - When queuing DESTROY cells on a channel, only queue the circuit-id
+ and reason fields: not the entire 514-byte cell. This fix should
+ help mitigate any bugs or attacks that fill up these queues, and
+ free more RAM for other uses. Fixes bug 24666; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (network layer):
+ - When closing a connection via close_connection_immediately(), we
+ mark it as "not blocked on bandwidth", to prevent later calls from
+ trying to unblock it, and give it permission to read. This fixes a
+ backtrace warning that can happen on relays under various
+ circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc.
+
+ o Minor bugfixes (OSX):
+ - Don't exit the Tor process if setrlimit() fails to change the file
+ limit (which can happen sometimes on some versions of OSX). Fixes
+ bug 21074; bugfix on 0.0.9pre5.
+
+ o Minor bugfixes (path selection):
+ - When selecting relays by bandwidth, avoid a rounding error that
+ could sometimes cause load to be imbalanced incorrectly.
+ Previously, we would always round upwards; now, we round towards
+ the nearest integer. This had the biggest effect when a relay's
+ weight adjustments should have given it weight 0, but it got
+ weight 1 instead. Fixes bug 23318; bugfix on 0.2.4.3-alpha.
+ - When calculating the fraction of nodes that have descriptors, and
+ all nodes in the network have zero bandwidths, count the number of
+ nodes instead. Fixes bug 23318; bugfix on 0.2.4.10-alpha.
+ - Actually log the total bandwidth in compute_weighted_bandwidths().
+ Fixes bug 24170; bugfix on 0.2.4.3-alpha.
+
+ o Minor bugfixes (portability, msvc):
+ - Fix a bug in the bit-counting parts of our timing-wheel code on
+ MSVC. (Note that MSVC is still not a supported build platform, due
+ to cryptographic timing channel risks.) Fixes bug 24633; bugfix
+ on 0.2.9.1-alpha.
+
+ o Minor bugfixes (relay):
+ - Make the internal channel_is_client() function look at what sort
+ of connection handshake the other side used, rather than whether
+ the other side ever sent a create_fast cell to us. Backports part
+ of the fixes from bugs 22805 and 24898.
+
+ o Minor bugfixes (spec conformance, backport from 0.3.3.3-alpha):
+ - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
+ 0.2.9.4-alpha.
+ - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
+ bugfix on 0.2.9.4-alpha.
+
+
+Changes in version 0.3.3.2-alpha - 2018-02-10
+ Tor 0.3.3.2-alpha is the second alpha in the 0.3.3.x series. It
+ introduces a mechanism to handle the high loads that many relay
+ operators have been reporting recently. It also fixes several bugs in
+ older releases. If this new code proves reliable, we plan to backport
+ it to older supported release series.
+
+ o Major features (denial-of-service mitigation):
+ - Give relays some defenses against the recent network overload. We
+ start with three defenses (default parameters in parentheses).
+ First: if a single client address makes too many concurrent
+ connections (>100), hang up on further connections. Second: if a
+ single client address makes circuits too quickly (more than 3 per
+ second, with an allowed burst of 90) while also having too many
+ connections open (3), refuse new create cells for the next while
+ (1-2 hours). Third: if a client asks to establish a rendezvous
+ point to you directly, ignore the request. These defenses can be
+ manually controlled by new torrc options, but relays will also
+ take guidance from consensus parameters, so there's no need to
+ configure anything manually. Implements ticket 24902.
+
+ o Major bugfixes (netflow padding):
+ - Stop adding unneeded channel padding right after we finish
+ flushing to a connection that has been trying to flush for many
+ seconds. Instead, treat all partial or complete flushes as
+ activity on the channel, which will defer the time until we need
+ to add padding. This fix should resolve confusing and scary log
+ messages like "Channel padding timeout scheduled 221453ms in the
+ past." Fixes bug 22212; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (protocol versions):
+ - Add Link protocol version 5 to the supported protocols list. Fixes
+ bug 25070; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (scheduler, consensus):
+ - The scheduler subsystem was failing to promptly notice changes in
+ consensus parameters, making it harder to switch schedulers
+ network-wide. Fixes bug 24975; bugfix on 0.3.2.1-alpha.
+
+ o Minor features (denial-of-service avoidance):
+ - Make our OOM handler aware of the geoip client history cache so it
+ doesn't fill up the memory. This check is important for IPv6 and
+ our DoS mitigation subsystem. Closes ticket 25122.
+
+ o Minor features (directory authority):
+ - When directory authorities are unable to add signatures to a
+ pending consensus, log the reason why. Closes ticket 24849.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
+ Country database.
+
+ o Minor features (logging, diagnostic):
+ - When logging a failure to create an onion service's descriptor,
+ also log what the problem with the descriptor was. Diagnostic for
+ ticket 24972.
+
+ o Minor bugfix (channel connection):
+ - Use the actual observed address of an incoming relay connection,
+ not the canonical address of the relay from its descriptor, when
+ making decisions about how to handle the incoming connection.
+ Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
+
+ o Minor bugfix (directory authority):
+ - Directory authorities, when refusing a descriptor from a rejected
+ relay, now explicitly tell the relay (in its logs) to set a valid
+ ContactInfo address and contact the bad-relays@ mailing list.
+ Fixes bug 25170; bugfix on 0.2.9.1.
+
+ o Minor bugfixes (all versions of Tor):
+ - Use the "misspell" tool to detect and fix typos throughout the
+ source code. Fixes bug 23650; bugfix on various versions of Tor.
+ Patch from Deepesh Pathak.
+
+ o Minor bugfixes (circuit, cannibalization):
+ - Don't cannibalize preemptively-built circuits if we no longer
+ recognize their first hop. This situation can happen if our Guard
+ relay went off the consensus after the circuit was created. Fixes
+ bug 24469; bugfix on 0.0.6.
+
+ o Minor bugfixes (correctness):
+ - Remove a nonworking, unnecessary check to see whether a circuit
+ hop's identity digest was set when the circuit failed. Fixes bug
+ 24927; bugfix on 0.2.4.4-alpha.
+
+ o Minor bugfixes (logging):
+ - Don't treat inability to store a cached consensus object as a bug:
+ it can happen normally when we are out of disk space. Fixes bug
+ 24859; bugfix on 0.3.1.1-alpha.
+ - Fix a (mostly harmless) race condition when invoking
+ LOG_PROTOCOL_WARN message from a subthread while the torrc options
+ are changing. Fixes bug 23954; bugfix on 0.1.1.9-alpha.
+
+ o Minor bugfixes (onion services):
+ - Remove a BUG() statement when a client fetches an onion descriptor
+ that has a lower revision counter than the one in its cache. This
+ can happen in normal circumstances due to HSDir desync. Fixes bug
+ 24976; bugfix on 0.3.2.1-alpha.
+ - If we are configured to offer a single onion service, don't log
+ long-term established one hop rendezvous points in the heartbeat.
+ Fixes bug 25116; bugfix on 0.2.9.6-rc.
+
+ o Minor bugfixes (performance):
+ - Avoid calling protocol_list_supports_protocol() from inside tight
+ loops when running with cached routerinfo_t objects. Instead,
+ summarize the relevant protocols as flags in the routerinfo_t, as
+ we do for routerstatus_t objects. This change simplifies our code
+ a little, and saves a large amount of short-term memory allocation
+ operations. Fixes bug 25008; bugfix on 0.2.9.4-alpha.
+
+ o Minor bugfixes (Rust FFI):
+ - Fix a minor memory leak which would happen whenever the C code
+ would call the Rust implementation of
+ protover_get_supported_protocols(). This was due to the C version
+ returning a static string, whereas the Rust version newly allocated
+ a CString to pass accross the FFI boundary. Consequently, the C
+ code was not expecting to need to free() what it was given. Fixes
+ bug 25127; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (scheduler, KIST):
+ - Avoid adding the same channel twice in the KIST scheduler pending
+ list, which would waste CPU cycles. Fixes bug 24700; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor bugfixes (unit test, monotonic time):
+ - Increase a constant (1msec to 10msec) in the monotonic time test
+ that makes sure the nsec/usec/msec times read are synchronized.
+ This change was needed to accommodate slow systems like armel or
+ when the clock_gettime() is not a VDSO on the running kernel.
+ Fixes bug 25113; bugfix on 0.2.9.1.
+
+ o Minor bugfixes (v3 onion services):
+ - Look at the "HSRend" protocol version, not the "HSDir" protocol
+ version, when deciding whether a consensus entry can support the
+ v3 onion service protocol as a rendezvous point. Fixes bug 25105;
+ bugfix on 0.3.2.1-alpha.
+
+ o Code simplification and refactoring:
+ - Remove the unused nodelist_recompute_all_hsdir_indices(). Closes
+ ticket 25108.
+ - Remove a series of counters used to track circuit extend attempts
+ and connection status but that in reality we aren't using for
+ anything other than stats logged by a SIGUSR1 signal. Closes
+ ticket 25163.
+
+ o Documentation (man page):
+ - The HiddenServiceVersion torrc option accepts only one number:
+ either version 2 or 3. Closes ticket 25026; bugfix
+ on 0.3.2.2-alpha.
+
+
Changes in version 0.3.3.1-alpha - 2018-01-25
Tor 0.3.3.1-alpha is the first release in the 0.3.3.x series. It adds
several new features to Tor, including several improvements to
@@ -444,7 +1262,7 @@ Changes in version 0.3.2.9 - 2018-01-09
o Minor bugfixes (portability, msvc):
- Fix a bug in the bit-counting parts of our timing-wheel code on
MSVC. (Note that MSVC is still not a supported build platform, due
- to cyptographic timing channel risks.) Fixes bug 24633; bugfix
+ to cryptographic timing channel risks.) Fixes bug 24633; bugfix
on 0.2.9.1-alpha.
@@ -8267,7 +9085,7 @@ Changes in version 0.2.6.5-rc - 2015-03-18
o Major bugfixes (pluggable transports):
- Initialize the extended OR Port authentication cookie before
launching pluggable transports. This prevents a race condition
- that occured when server-side pluggable transports would cache the
+ that occurred when server-side pluggable transports would cache the
authentication cookie before it has been (re)generated. Fixes bug
15240; bugfix on 0.2.5.1-alpha.
@@ -9010,7 +9828,7 @@ Changes in version 0.2.6.2-alpha - 2014-12-31
some bugs where we would look at (but fortunately, not reveal)
uninitialized memory on the stack. Fixes bug 14013; bugfix on all
versions of Tor.
- - Clear all memory targetted by tor_addr_{to,from}_sockaddr(), not
+ - Clear all memory targeted by tor_addr_{to,from}_sockaddr(), not
just the part that's used. This makes it harder for data leak bugs
to occur in the event of other programming failures. Resolves
ticket 14041.
@@ -10153,7 +10971,7 @@ Changes in version 0.2.5.5-alpha - 2014-06-18
directory authority options, remove the documentation for a
V2-directory fetching option that no longer exists. Resolves
ticket 11634.
- - Correct the documenation so that it lists the correct directory
+ - Correct the documentation so that it lists the correct directory
for the stats files. (They are in a subdirectory called "stats",
not "status".)
- In the manpage, move more authority-only options into the
@@ -11438,7 +12256,7 @@ Changes in version 0.2.5.1-alpha - 2013-10-02
from Arlo Breault.
- Remove instances of strcpy() from the unit tests. They weren't
hurting anything, since they were only in the unit tests, but it's
- embarassing to have strcpy() in the code at all, and some analysis
+ embarrassing to have strcpy() in the code at all, and some analysis
tools don't like it. Fixes bug 8790; bugfix on 0.2.3.6-alpha and
0.2.3.8-alpha. Patch from Arlo Breault.
@@ -11539,7 +12357,7 @@ Changes in version 0.2.4.16-rc - 2013-08-10
0.2.4.15-rc. Found by stem integration tests.
o Minor bugfixes:
- - Fix an invalid memory read that occured when a pluggable
+ - Fix an invalid memory read that occurred when a pluggable
transport proxy failed its configuration protocol.
Fixes bug 9288; bugfix on 0.2.4.1-alpha.
- When evaluating whether to use a connection that we haven't
@@ -14330,7 +15148,7 @@ Changes in version 0.2.3.11-alpha - 2012-01-22
CloseHSServiceRendCircuitsImmediatelyOnTimeout option. Fixes the
remaining part of bug 1297; bugfix on 0.2.2.2-alpha.
- Make sure we never mark the wrong rendezvous circuit as having
- had its introduction cell acknowleged by the introduction-point
+ had its introduction cell acknowledged by the introduction-point
relay. Previously, when we received an INTRODUCE_ACK cell on a
client-side hidden-service introduction circuit, we might have
marked a rendezvous circuit other than the one we specified in
@@ -15637,7 +16455,7 @@ Changes in version 0.2.3.3-alpha - 2011-09-01
raised by bug 3898.
- The "--quiet" and "--hush" options now apply not only to Tor's
behavior before logs are configured, but also to Tor's behavior in
- the absense of configured logs. Fixes bug 3550; bugfix on
+ the absence of configured logs. Fixes bug 3550; bugfix on
0.2.0.10-alpha.
o Minor bugfixes (also part of 0.2.2.31-rc):
@@ -18138,7 +18956,7 @@ Changes in version 0.2.2.8-alpha - 2010-01-26
please upgrade.
o Major bugfixes:
- - Fix a memory corruption bug on bridges that occured during the
+ - Fix a memory corruption bug on bridges that occurred during the
inclusion of stats data in extra-info descriptors. Also fix the
interface for geoip_get_bridge_stats* to prevent similar bugs in
the future. Diagnosis by Tas, patch by Karsten and Sebastian.
@@ -18552,7 +19370,7 @@ Changes in version 0.2.2.2-alpha - 2009-09-21
to EDGE and find out if the build-time data in the .tor/state gets
reset without loss of Tor usability. You should also see a notice
log message telling you that Tor has reset its timeout.
- - Directory authorities can now vote on arbitary integer values as
+ - Directory authorities can now vote on arbitrary integer values as
part of the consensus process. This is designed to help set
network-wide parameters. Implements proposal 167.
- Tor now reads the "circwindow" parameter out of the consensus,
@@ -21580,7 +22398,7 @@ Changes in version 0.2.0.9-alpha - 2007-10-24
- Distinguish between detached signatures for the wrong period, and
detached signatures for a divergent vote.
- Fix a small memory leak when computing a consensus.
- - When there's no concensus, we were forming a vote every 30
+ - When there's no consensus, we were forming a vote every 30
minutes, but writing the "valid-after" line in our vote based
on our configured V3AuthVotingInterval: so unless the intervals
matched up, we immediately rejected our own vote because it didn't
@@ -24967,7 +25785,7 @@ Changes in version 0.1.0.9-rc - 2005-06-09
KeepalivePeriod, ClientOnly, NoPublish, HttpProxy, HttpsProxy,
HttpProxyAuthenticator
- Stop warning about sigpipes in the logs. We're going to
- pretend that getting these occassionally is normal and fine.
+ pretend that getting these occasionally is normal and fine.
- Resolve OS X installer bugs: stop claiming to be 0.0.9.2 in
certain
installer screens; and don't put stuff into StartupItems unless
@@ -25432,7 +26250,7 @@ Changes in version 0.1.0.1-rc - 2005-03-28
Changes in version 0.0.9.6 - 2005-03-24
o Bugfixes on 0.0.9.x (crashes and asserts):
- - Add new end stream reasons to maintainance branch. Fix bug where
+ - Add new end stream reasons to maintenance branch. Fix bug where
reason (8) could trigger an assert. Prevent bug from recurring.
- Apparently win32 stat wants paths to not end with a slash.
- Fix assert triggers in assert_cpath_layer_ok(), where we were
diff --git a/ReleaseNotes b/ReleaseNotes
index 65b7c604be..93ff6d6ff6 100644
--- a/ReleaseNotes
+++ b/ReleaseNotes
@@ -2,6 +2,586 @@ 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.2.10 - 2018-03-03
+ Tor 0.3.2.10 is the second stable release in the 0.3.2 series. It
+ backports a number of bugfixes, including important fixes for security
+ issues.
+
+ It includes an important security fix for a remote crash attack
+ against directory authorities, tracked as TROVE-2018-001.
+
+ Additionally, it backports a fix for a bug whose severity we have
+ upgraded: Bug 24700, which was fixed in 0.3.3.2-alpha, can be remotely
+ triggered in order to crash relays with a use-after-free pattern. As
+ such, we are now tracking that bug as TROVE-2018-002 and
+ CVE-2018-0491, and backporting it to earlier releases. This bug
+ affected versions 0.3.2.1-alpha through 0.3.2.9, as well as version
+ 0.3.3.1-alpha.
+
+ This release also backports our new system for improved resistance to
+ denial-of-service attacks against relays.
+
+ This release also fixes several minor bugs and annoyances from
+ earlier releases.
+
+ Relays running 0.3.2.x SHOULD upgrade to one of the versions released
+ today, for the fix to TROVE-2018-002. Directory authorities should
+ also upgrade. (Relays on earlier versions might want to update too for
+ the DoS mitigations.)
+
+ o Major bugfixes (denial-of-service, directory authority, backport from 0.3.3.3-alpha):
+ - Fix a protocol-list handling bug that could be used to remotely crash
+ directory authorities with a null-pointer exception. Fixes bug 25074;
+ bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
+ CVE-2018-0490.
+
+ o Major bugfixes (scheduler, KIST, denial-of-service, backport from 0.3.3.2-alpha):
+ - Avoid adding the same channel twice in the KIST scheduler pending
+ list, which could lead to remote denial-of-service use-after-free
+ attacks against relays. Fixes bug 24700; bugfix on 0.3.2.1-alpha.
+
+ o Major features (denial-of-service mitigation, backport from 0.3.3.2-alpha):
+ - Give relays some defenses against the recent network overload. We
+ start with three defenses (default parameters in parentheses).
+ First: if a single client address makes too many concurrent
+ connections (>100), hang up on further connections. Second: if a
+ single client address makes circuits too quickly (more than 3 per
+ second, with an allowed burst of 90) while also having too many
+ connections open (3), refuse new create cells for the next while
+ (1-2 hours). Third: if a client asks to establish a rendezvous
+ point to you directly, ignore the request. These defenses can be
+ manually controlled by new torrc options, but relays will also
+ take guidance from consensus parameters, so there's no need to
+ configure anything manually. Implements ticket 24902.
+
+ o Major bugfixes (onion services, retry behavior, backport from 0.3.3.1-alpha):
+ - Fix an "off by 2" error in counting rendezvous failures on the
+ onion service side. While we thought we would stop the rendezvous
+ attempt after one failed circuit, we were actually making three
+ circuit attempts before giving up. Now switch to a default of 2,
+ and allow the consensus parameter "hs_service_max_rdv_failures" to
+ override. Fixes bug 24895; bugfix on 0.0.6.
+ - New-style (v3) onion services now obey the "max rendezvous circuit
+ attempts" logic. Previously they would make as many rendezvous
+ circuit attempts as they could fit in the MAX_REND_TIMEOUT second
+ window before giving up. Fixes bug 24894; bugfix on 0.3.2.1-alpha.
+
+ o Major bugfixes (protocol versions, backport from 0.3.3.2-alpha):
+ - Add Link protocol version 5 to the supported protocols list. Fixes
+ bug 25070; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (relay, backport from 0.3.3.1-alpha):
+ - Fix a set of false positives where relays would consider
+ connections to other relays as being client-only connections (and
+ thus e.g. deserving different link padding schemes) if those
+ relays fell out of the consensus briefly. Now we look only at the
+ initial handshake and whether the connection authenticated as a
+ relay. Fixes bug 24898; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (scheduler, consensus, backport from 0.3.3.2-alpha):
+ - The scheduler subsystem was failing to promptly notice changes in
+ consensus parameters, making it harder to switch schedulers
+ network-wide. Fixes bug 24975; bugfix on 0.3.2.1-alpha.
+
+ o Minor features (denial-of-service avoidance, backport from 0.3.3.2-alpha):
+ - Make our OOM handler aware of the geoip client history cache so it
+ doesn't fill up the memory. This check is important for IPv6 and
+ our DoS mitigation subsystem. Closes ticket 25122.
+
+ o Minor features (compatibility, OpenSSL, backport from 0.3.3.3-alpha):
+ - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
+ Previous versions of Tor would not have worked with OpenSSL 1.1.1,
+ since they neither disabled TLS 1.3 nor enabled any of the
+ ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
+ Closes ticket 24978.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
+ Country database.
+
+ o Minor features (logging, diagnostic, backport from 0.3.3.2-alpha):
+ - When logging a failure to check a hidden service's certificate,
+ also log what the problem with the certificate was. Diagnostic
+ for ticket 24972.
+
+ o Minor bugfix (channel connection, backport from 0.3.3.2-alpha):
+ - Use the actual observed address of an incoming relay connection,
+ not the canonical address of the relay from its descriptor, when
+ making decisions about how to handle the incoming connection.
+ Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
+
+ o Minor bugfixes (denial-of-service, backport from 0.3.3.3-alpha):
+ - Fix a possible crash on malformed consensus. If a consensus had
+ contained an unparseable protocol line, it could have made clients
+ and relays crash with a null-pointer exception. To exploit this
+ issue, however, an attacker would need to be able to subvert the
+ directory authority system. Fixes bug 25251; bugfix on
+ 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
+
+ o Minor bugfix (directory authority, backport from 0.3.3.2-alpha):
+ - Directory authorities, when refusing a descriptor from a rejected
+ relay, now explicitly tell the relay (in its logs) to set a valid
+ ContactInfo address and contact the bad-relays@ mailing list.
+ Fixes bug 25170; bugfix on 0.2.9.1.
+
+ o Minor bugfixes (build, rust, backport from 0.3.3.1-alpha):
+ - When building with Rust on OSX, link against libresolv, to work
+ around the issue at https://github.com/rust-lang/rust/issues/46797.
+ Fixes bug 24652; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (onion services, backport from 0.3.3.2-alpha):
+ - Remove a BUG() statement when a client fetches an onion descriptor
+ that has a lower revision counter than the one in its cache. This
+ can happen in normal circumstances due to HSDir desync. Fixes bug
+ 24976; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (logging, backport from 0.3.3.2-alpha):
+ - Don't treat inability to store a cached consensus object as a bug:
+ it can happen normally when we are out of disk space. Fixes bug
+ 24859; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (performance, fragile-hardening, backport from 0.3.3.1-alpha):
+ - Improve the performance of our consensus-diff application code
+ when Tor is built with the --enable-fragile-hardening option set.
+ Fixes bug 24826; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (OSX, backport from 0.3.3.1-alpha):
+ - Don't exit the Tor process if setrlimit() fails to change the file
+ limit (which can happen sometimes on some versions of OSX). Fixes
+ bug 21074; bugfix on 0.0.9pre5.
+
+ o Minor bugfixes (spec conformance, backport from 0.3.3.3-alpha):
+ - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
+ 0.2.9.4-alpha.
+ - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
+ bugfix on 0.2.9.4-alpha.
+
+ o Minor bugfixes (testing, backport from 0.3.3.1-alpha):
+ - Fix a memory leak in the scheduler/loop_kist unit test. Fixes bug
+ 25005; bugfix on 0.3.2.7-rc.
+
+ o Minor bugfixes (v3 onion services, backport from 0.3.3.2-alpha):
+ - Look at the "HSRend" protocol version, not the "HSDir" protocol
+ version, when deciding whether a consensus entry can support the
+ v3 onion service protocol as a rendezvous point. Fixes bug 25105;
+ bugfix on 0.3.2.1-alpha.
+
+ o Code simplification and refactoring (backport from 0.3.3.3-alpha):
+ - Update the "rust dependencies" submodule to be a project-level
+ repository, rather than a user repository. Closes ticket 25323.
+
+ o Documentation (backport from 0.3.3.1-alpha)
+ - Document that operators who run more than one relay or bridge are
+ expected to set MyFamily and ContactInfo correctly. Closes
+ ticket 24526.
+
+
+Changes in version 0.3.1.10 - 2018-03-03
+ Tor 0.3.1.10 backports a number of bugfixes, including important fixes for
+ security issues.
+
+ It includes an important security fix for a remote crash attack
+ against directory authorities, tracked as TROVE-2018-001.
+
+ This release also backports our new system for improved resistance to
+ denial-of-service attacks against relays.
+
+ This release also fixes several minor bugs and annoyances from
+ earlier releases.
+
+ All directory authorities should upgrade to one of the versions
+ released today. Relays running 0.3.1.x may wish to update to one of
+ the versions released today, for the DoS mitigations.
+
+ Please note: according to our release calendar, Tor 0.3.1 will no
+ longer be supported after 1 July 2018. If you will be running Tor
+ after that date, you should make sure to plan to upgrade to the latest
+ stable version, or downgrade to 0.2.9 (which will receive long-term
+ support).
+
+ o Major bugfixes (denial-of-service, directory authority, backport from 0.3.3.3-alpha):
+ - Fix a protocol-list handling bug that could be used to remotely crash
+ directory authorities with a null-pointer exception. Fixes bug 25074;
+ bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
+ CVE-2018-0490.
+
+ o Major features (denial-of-service mitigation, backport from 0.3.3.2-alpha):
+ - Give relays some defenses against the recent network overload. We
+ start with three defenses (default parameters in parentheses).
+ First: if a single client address makes too many concurrent
+ connections (>100), hang up on further connections. Second: if a
+ single client address makes circuits too quickly (more than 3 per
+ second, with an allowed burst of 90) while also having too many
+ connections open (3), refuse new create cells for the next while
+ (1-2 hours). Third: if a client asks to establish a rendezvous
+ point to you directly, ignore the request. These defenses can be
+ manually controlled by new torrc options, but relays will also
+ take guidance from consensus parameters, so there's no need to
+ configure anything manually. Implements ticket 24902.
+
+ o Minor features (linux seccomp2 sandbox, backport from 0.3.2.5-alpha):
+ - Update the sandbox rules so that they should now work correctly
+ with Glibc 2.26. Closes ticket 24315.
+
+ o Major bugfixes (onion services, retry behavior, backport from 0.3.3.1-alpha):
+ - Fix an "off by 2" error in counting rendezvous failures on the
+ onion service side. While we thought we would stop the rendezvous
+ attempt after one failed circuit, we were actually making three
+ circuit attempts before giving up. Now switch to a default of 2,
+ and allow the consensus parameter "hs_service_max_rdv_failures" to
+ override. Fixes bug 24895; bugfix on 0.0.6.
+
+ o Major bugfixes (protocol versions, backport from 0.3.3.2-alpha):
+ - Add Link protocol version 5 to the supported protocols list. Fixes
+ bug 25070; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (relay, backport from 0.3.3.1-alpha):
+ - Fix a set of false positives where relays would consider
+ connections to other relays as being client-only connections (and
+ thus e.g. deserving different link padding schemes) if those
+ relays fell out of the consensus briefly. Now we look only at the
+ initial handshake and whether the connection authenticated as a
+ relay. Fixes bug 24898; bugfix on 0.3.1.1-alpha.
+
+ o Minor features (denial-of-service avoidance, backport from 0.3.3.2-alpha):
+ - Make our OOM handler aware of the geoip client history cache so it
+ doesn't fill up the memory. This check is important for IPv6 and
+ our DoS mitigation subsystem. Closes ticket 25122.
+
+ o Minor feature (relay statistics, backport from 0.3.2.6-alpha):
+ - Change relay bandwidth reporting stats interval from 4 hours to 24
+ hours in order to reduce the efficiency of guard discovery
+ attacks. Fixes ticket 23856.
+
+ o Minor features (compatibility, OpenSSL, backport from 0.3.3.3-alpha):
+ - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
+ Previous versions of Tor would not have worked with OpenSSL 1.1.1,
+ since they neither disabled TLS 1.3 nor enabled any of the
+ ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
+ Closes ticket 24978.
+
+ o Minor features (fallback directory mirrors, backport from 0.3.2.9):
+ - The fallback directory list has been re-generated based on the
+ current status of the network. Tor uses fallback directories to
+ bootstrap when it doesn't yet have up-to-date directory
+ information. Closes ticket 24801.
+ - Make the default DirAuthorityFallbackRate 0.1, so that clients
+ prefer to bootstrap from fallback directory mirrors. This is a
+ follow-up to 24679, which removed weights from the default
+ fallbacks. Implements ticket 24681.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
+ Country database.
+
+ o Minor bugfix (channel connection, backport from 0.3.3.2-alpha):
+ - Use the actual observed address of an incoming relay connection,
+ not the canonical address of the relay from its descriptor, when
+ making decisions about how to handle the incoming connection.
+ Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
+
+ o Minor bugfix (directory authority, backport from 0.3.3.2-alpha):
+ - Directory authorities, when refusing a descriptor from a rejected
+ relay, now explicitly tell the relay (in its logs) to set a valid
+ ContactInfo address and contact the bad-relays@ mailing list.
+ Fixes bug 25170; bugfix on 0.2.9.1.
+
+ o Minor bugfixes (address selection, backport from 0.3.2.9):
+ - When the fascist_firewall_choose_address_ functions don't find a
+ reachable address, set the returned address to the null address
+ and port. This is a precautionary measure, because some callers do
+ not check the return value. Fixes bug 24736; bugfix
+ on 0.2.8.2-alpha.
+
+ o Major bugfixes (bootstrapping, backport from 0.3.2.5-alpha):
+ - Fetch descriptors aggressively whenever we lack enough to build
+ circuits, regardless of how many descriptors we are missing.
+ Previously, we would delay launching the fetch when we had fewer
+ than 15 missing descriptors, even if some of those descriptors
+ were blocking circuits from building. Fixes bug 23985; bugfix on
+ 0.1.1.11-alpha. The effects of this bug became worse in
+ 0.3.0.3-alpha, when we began treating missing descriptors from our
+ primary guards as a reason to delay circuits.
+ - Don't try fetching microdescriptors from relays that have failed
+ to deliver them in the past. Fixes bug 23817; bugfix
+ on 0.3.0.1-alpha.
+
+ o Minor bugfixes (compilation, backport from 0.3.2.7-rc):
+ - Fix a signed/unsigned comparison warning introduced by our fix to
+ TROVE-2017-009. Fixes bug 24480; bugfix on 0.2.5.16.
+
+ o Minor bugfixes (control port, linux seccomp2 sandbox, backport from 0.3.2.5-alpha):
+ - Avoid a crash when attempting to use the seccomp2 sandbox together
+ with the OwningControllerProcess feature. Fixes bug 24198; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (denial-of-service, backport from 0.3.3.3-alpha):
+ - Fix a possible crash on malformed consensus. If a consensus had
+ contained an unparseable protocol line, it could have made clients
+ and relays crash with a null-pointer exception. To exploit this
+ issue, however, an attacker would need to be able to subvert the
+ directory authority system. Fixes bug 25251; bugfix on
+ 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
+
+ o Minor bugfixes (directory cache, backport from 0.3.2.5-alpha):
+ - Recover better from empty or corrupt files in the consensus cache
+ directory. Fixes bug 24099; bugfix on 0.3.1.1-alpha.
+ - When a consensus diff calculation is only partially successful,
+ only record the successful parts as having succeeded. Partial
+ success can happen if (for example) one compression method fails
+ but the others succeed. Previously we misrecorded all the
+ calculations as having succeeded, which would later cause a
+ nonfatal assertion failure. Fixes bug 24086; bugfix
+ on 0.3.1.1-alpha.
+
+ o Minor bugfixes (entry guards, backport from 0.3.2.3-alpha):
+ - Tor now updates its guard state when it reads a consensus
+ regardless of whether it's missing descriptors. That makes tor use
+ its primary guards to fetch descriptors in some edge cases where
+ it would previously have used fallback directories. Fixes bug
+ 23862; bugfix on 0.3.0.1-alpha.
+
+ o Minor bugfixes (logging, backport from 0.3.3.2-alpha):
+ - Don't treat inability to store a cached consensus object as a bug:
+ it can happen normally when we are out of disk space. Fixes bug
+ 24859; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (memory usage, backport from 0.3.2.8-rc):
+ - When queuing DESTROY cells on a channel, only queue the circuit-id
+ and reason fields: not the entire 514-byte cell. This fix should
+ help mitigate any bugs or attacks that fill up these queues, and
+ free more RAM for other uses. Fixes bug 24666; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (network layer, backport from 0.3.2.5-alpha):
+ - When closing a connection via close_connection_immediately(), we
+ mark it as "not blocked on bandwidth", to prevent later calls from
+ trying to unblock it, and give it permission to read. This fixes a
+ backtrace warning that can happen on relays under various
+ circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc.
+
+ o Minor bugfixes (path selection, backport from 0.3.2.4-alpha):
+ - When selecting relays by bandwidth, avoid a rounding error that
+ could sometimes cause load to be imbalanced incorrectly.
+ Previously, we would always round upwards; now, we round towards
+ the nearest integer. This had the biggest effect when a relay's
+ weight adjustments should have given it weight 0, but it got
+ weight 1 instead. Fixes bug 23318; bugfix on 0.2.4.3-alpha.
+ - When calculating the fraction of nodes that have descriptors, and
+ all nodes in the network have zero bandwidths, count the number of
+ nodes instead. Fixes bug 23318; bugfix on 0.2.4.10-alpha.
+ - Actually log the total bandwidth in compute_weighted_bandwidths().
+ Fixes bug 24170; bugfix on 0.2.4.3-alpha.
+
+ o Minor bugfixes (performance, fragile-hardening, backport from 0.3.3.1-alpha):
+ - Improve the performance of our consensus-diff application code
+ when Tor is built with the --enable-fragile-hardening option set.
+ Fixes bug 24826; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (OSX, backport from 0.3.3.1-alpha):
+ - Don't exit the Tor process if setrlimit() fails to change the file
+ limit (which can happen sometimes on some versions of OSX). Fixes
+ bug 21074; bugfix on 0.0.9pre5.
+
+ o Minor bugfixes (portability, msvc, backport from 0.3.2.9):
+ - Fix a bug in the bit-counting parts of our timing-wheel code on
+ MSVC. (Note that MSVC is still not a supported build platform, due
+ to cyptographic timing channel risks.) Fixes bug 24633; bugfix
+ on 0.2.9.1-alpha.
+
+ o Minor bugfixes (relay, partial backport):
+ - Make the internal channel_is_client() function look at what sort
+ of connection handshake the other side used, rather than whether
+ the other side ever sent a create_fast cell to us. Backports part
+ of the fixes from bugs 22805 and 24898.
+
+ o Minor bugfixes (spec conformance, backport from 0.3.3.3-alpha):
+ - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
+ 0.2.9.4-alpha.
+ - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
+ bugfix on 0.2.9.4-alpha.
+
+ o Code simplification and refactoring (backport from 0.3.3.3-alpha):
+ - Update the "rust dependencies" submodule to be a project-level
+ repository, rather than a user repository. Closes ticket 25323.
+
+Changes in version 0.2.9.15 - 2018-03-03
+ Tor 0.2.9.15 backports important security and stability bugfixes from
+ later Tor releases.
+
+ It includes an important security fix for a remote crash attack
+ against directory authorities, tracked as TROVE-2018-001.
+
+ This release also backports our new system for improved resistance to
+ denial-of-service attacks against relays.
+
+ This release also fixes several minor bugs and annoyances from
+ earlier releases.
+
+ All directory authorities should upgrade to one of the versions
+ released today. Relays running 0.2.9.x may wish to update to one of
+ the versions released today, for the DoS mitigations.
+
+ o Major bugfixes (denial-of-service, directory authority, backport from 0.3.3.3-alpha):
+ - Fix a protocol-list handling bug that could be used to remotely crash
+ directory authorities with a null-pointer exception. Fixes bug 25074;
+ bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
+ CVE-2018-0490.
+
+ o Major features (denial-of-service mitigation):
+ - Give relays some defenses against the recent network overload. We
+ start with three defenses (default parameters in parentheses).
+ First: if a single client address makes too many concurrent
+ connections (>100), hang up on further connections. Second: if a
+ single client address makes circuits too quickly (more than 3 per
+ second, with an allowed burst of 90) while also having too many
+ connections open (3), refuse new create cells for the next while
+ (1-2 hours). Third: if a client asks to establish a rendezvous
+ point to you directly, ignore the request. These defenses can be
+ manually controlled by new torrc options, but relays will also
+ take guidance from consensus parameters, so there's no need to
+ configure anything manually. Implements ticket 24902.
+
+ o Major bugfixes (bootstrapping):
+ - Fetch descriptors aggressively whenever we lack enough to build
+ circuits, regardless of how many descriptors we are missing.
+ Previously, we would delay launching the fetch when we had fewer
+ than 15 missing descriptors, even if some of those descriptors
+ were blocking circuits from building. Fixes bug 23985; bugfix on
+ 0.1.1.11-alpha. The effects of this bug became worse in
+ 0.3.0.3-alpha, when we began treating missing descriptors from our
+ primary guards as a reason to delay circuits.
+
+ o Major bugfixes (onion services, retry behavior):
+ - Fix an "off by 2" error in counting rendezvous failures on the
+ onion service side. While we thought we would stop the rendezvous
+ attempt after one failed circuit, we were actually making three
+ circuit attempts before giving up. Now switch to a default of 2,
+ and allow the consensus parameter "hs_service_max_rdv_failures" to
+ override. Fixes bug 24895; bugfix on 0.0.6.
+
+ o Minor feature (relay statistics):
+ - Change relay bandwidth reporting stats interval from 4 hours to 24
+ hours in order to reduce the efficiency of guard discovery
+ attacks. Fixes ticket 23856.
+
+ o Minor features (compatibility, OpenSSL):
+ - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
+ Previous versions of Tor would not have worked with OpenSSL 1.1.1,
+ since they neither disabled TLS 1.3 nor enabled any of the
+ ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
+ Closes ticket 24978.
+
+ o Minor features (denial-of-service avoidance):
+ - Make our OOM handler aware of the geoip client history cache so it
+ doesn't fill up the memory. This check is important for IPv6 and
+ our DoS mitigation subsystem. Closes ticket 25122.
+
+ o Minor features (fallback directory mirrors):
+ - The fallback directory list has been re-generated based on the
+ current status of the network. Tor uses fallback directories to
+ bootstrap when it doesn't yet have up-to-date directory
+ information. Closes ticket 24801.
+ - Make the default DirAuthorityFallbackRate 0.1, so that clients
+ prefer to bootstrap from fallback directory mirrors. This is a
+ follow-up to 24679, which removed weights from the default
+ fallbacks. Implements ticket 24681.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
+ Country database.
+
+ o Minor features (linux seccomp2 sandbox):
+ - Update the sandbox rules so that they should now work correctly
+ with Glibc 2.26. Closes ticket 24315.
+
+ o Minor bugfix (channel connection):
+ - Use the actual observed address of an incoming relay connection,
+ not the canonical address of the relay from its descriptor, when
+ making decisions about how to handle the incoming connection.
+ Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
+
+ o Minor bugfix (directory authority):
+ - Directory authorities, when refusing a descriptor from a rejected
+ relay, now explicitly tell the relay (in its logs) to set a valid
+ ContactInfo address and contact the bad-relays@ mailing list.
+ Fixes bug 25170; bugfix on 0.2.9.1.
+
+ o Minor bugfixes (address selection):
+ - When the fascist_firewall_choose_address_ functions don't find a
+ reachable address, set the returned address to the null address
+ and port. This is a precautionary measure, because some callers do
+ not check the return value. Fixes bug 24736; bugfix
+ on 0.2.8.2-alpha.
+
+ o Minor bugfixes (compilation):
+ - Fix a signed/unsigned comparison warning introduced by our fix to
+ TROVE-2017-009. Fixes bug 24480; bugfix on 0.2.5.16.
+
+ o Minor bugfixes (control port, linux seccomp2 sandbox):
+ - Avoid a crash when attempting to use the seccomp2 sandbox together
+ with the OwningControllerProcess feature. Fixes bug 24198; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (denial-of-service, backport from 0.3.3.3-alpha):
+ - Fix a possible crash on malformed consensus. If a consensus had
+ contained an unparseable protocol line, it could have made clients
+ and relays crash with a null-pointer exception. To exploit this
+ issue, however, an attacker would need to be able to subvert the
+ directory authority system. Fixes bug 25251; bugfix on
+ 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
+
+ o Minor bugfixes (memory usage):
+ - When queuing DESTROY cells on a channel, only queue the circuit-id
+ and reason fields: not the entire 514-byte cell. This fix should
+ help mitigate any bugs or attacks that fill up these queues, and
+ free more RAM for other uses. Fixes bug 24666; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (network layer):
+ - When closing a connection via close_connection_immediately(), we
+ mark it as "not blocked on bandwidth", to prevent later calls from
+ trying to unblock it, and give it permission to read. This fixes a
+ backtrace warning that can happen on relays under various
+ circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc.
+
+ o Minor bugfixes (OSX):
+ - Don't exit the Tor process if setrlimit() fails to change the file
+ limit (which can happen sometimes on some versions of OSX). Fixes
+ bug 21074; bugfix on 0.0.9pre5.
+
+ o Minor bugfixes (path selection):
+ - When selecting relays by bandwidth, avoid a rounding error that
+ could sometimes cause load to be imbalanced incorrectly.
+ Previously, we would always round upwards; now, we round towards
+ the nearest integer. This had the biggest effect when a relay's
+ weight adjustments should have given it weight 0, but it got
+ weight 1 instead. Fixes bug 23318; bugfix on 0.2.4.3-alpha.
+ - When calculating the fraction of nodes that have descriptors, and
+ all nodes in the network have zero bandwidths, count the number of
+ nodes instead. Fixes bug 23318; bugfix on 0.2.4.10-alpha.
+ - Actually log the total bandwidth in compute_weighted_bandwidths().
+ Fixes bug 24170; bugfix on 0.2.4.3-alpha.
+
+ o Minor bugfixes (portability, msvc):
+ - Fix a bug in the bit-counting parts of our timing-wheel code on
+ MSVC. (Note that MSVC is still not a supported build platform, due
+ to cryptographic timing channel risks.) Fixes bug 24633; bugfix
+ on 0.2.9.1-alpha.
+
+ o Minor bugfixes (relay):
+ - Make the internal channel_is_client() function look at what sort
+ of connection handshake the other side used, rather than whether
+ the other side ever sent a create_fast cell to us. Backports part
+ of the fixes from bugs 22805 and 24898.
+
+ o Minor bugfixes (spec conformance, backport from 0.3.3.3-alpha):
+ - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
+ 0.2.9.4-alpha.
+ - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
+ bugfix on 0.2.9.4-alpha.
+
+
Changes in version 0.3.2.9 - 2018-01-09
Tor 0.3.2.9 is the first stable release in the 0.3.2 series.
@@ -621,7 +1201,7 @@ Changes in version 0.3.2.9 - 2018-01-09
Hurd. Fixes bug 23098; bugfix on 0.3.1.1-alpha.
- Fix a bug in the bit-counting parts of our timing-wheel code on
MSVC. (Note that MSVC is still not a supported build platform, due
- to cyptographic timing channel risks.) Fixes bug 24633; bugfix
+ to cryptographic timing channel risks.) Fixes bug 24633; bugfix
on 0.2.9.1-alpha.
o Minor bugfixes (relay):
@@ -6476,7 +7056,7 @@ Changes in version 0.2.6.6 - 2015-03-24
o Major bugfixes (pluggable transports):
- Initialize the extended OR Port authentication cookie before
launching pluggable transports. This prevents a race condition
- that occured when server-side pluggable transports would cache the
+ that occurred when server-side pluggable transports would cache the
authentication cookie before it has been (re)generated. Fixes bug
15240; bugfix on 0.2.5.1-alpha.
@@ -6949,7 +7529,7 @@ Changes in version 0.2.6.6 - 2015-03-24
some bugs where we would look at (but fortunately, not reveal)
uninitialized memory on the stack. Fixes bug 14013; bugfix on all
versions of Tor.
- - Clear all memory targetted by tor_addr_{to,from}_sockaddr(), not
+ - Clear all memory targeted by tor_addr_{to,from}_sockaddr(), not
just the part that's used. This makes it harder for data leak bugs
to occur in the event of other programming failures. Resolves
ticket 14041.
@@ -8126,7 +8706,7 @@ Changes in version 0.2.5.10 - 2014-10-24
from Arlo Breault.
- Remove instances of strcpy() from the unit tests. They weren't
hurting anything, since they were only in the unit tests, but it's
- embarassing to have strcpy() in the code at all, and some analysis
+ embarrassing to have strcpy() in the code at all, and some analysis
tools don't like it. Fixes bug 8790; bugfix on 0.2.3.6-alpha and
0.2.3.8-alpha. Patch from Arlo Breault.
- Remove is_internal_IP() function. Resolves ticket 4645.
@@ -8150,7 +8730,7 @@ Changes in version 0.2.5.10 - 2014-10-24
directory authority options, remove the documentation for a
V2-directory fetching option that no longer exists. Resolves
ticket 11634.
- - Correct the documenation so that it lists the correct directory
+ - Correct the documentation so that it lists the correct directory
for the stats files. (They are in a subdirectory called "stats",
not "status".)
- In the manpage, move more authority-only options into the
@@ -10293,7 +10873,7 @@ Changes in version 0.2.3.25 - 2012-11-19
bugfix on 0.2.0.3-alpha.
- The "--quiet" and "--hush" options now apply not only to Tor's
behavior before logs are configured, but also to Tor's behavior in
- the absense of configured logs. Fixes bug 3550; bugfix on
+ the absence of configured logs. Fixes bug 3550; bugfix on
0.2.0.10-alpha.
- Change the AllowDotExit rules so they should actually work.
We now enforce AllowDotExit only immediately after receiving an
@@ -11406,7 +11986,7 @@ Changes in version 0.2.2.32 - 2011-08-27
algorithms for signatures and resource selection. Newer formats
are signed with SHA256, with a possibility for moving to a better
hash algorithm in the future.
- - Directory authorities can now vote on arbitary integer values as
+ - Directory authorities can now vote on arbitrary integer values as
part of the consensus process. This is designed to help set
network-wide parameters. Implements proposal 167.
@@ -16595,7 +17175,7 @@ Changes in version 0.1.0.10 - 2005-06-14
- Use correct errno on win32 if libevent fails.
- Check and warn about known-bad/slow libevent versions.
- Stop warning about sigpipes in the logs. We're going to
- pretend that getting these occassionally is normal and fine.
+ pretend that getting these occasionally is normal and fine.
o New contrib scripts:
- New experimental script tor/contrib/exitlist: a simple python
@@ -16714,7 +17294,7 @@ Changes in version 0.0.9.7 - 2005-04-01
Changes in version 0.0.9.6 - 2005-03-24
o Bugfixes on 0.0.9.x (crashes and asserts):
- - Add new end stream reasons to maintainance branch. Fix bug where
+ - Add new end stream reasons to maintenance branch. Fix bug where
reason (8) could trigger an assert. Prevent bug from recurring.
- Apparently win32 stat wants paths to not end with a slash.
- Fix assert triggers in assert_cpath_layer_ok(), where we were
diff --git a/changes/18105 b/changes/18105
new file mode 100644
index 0000000000..87e6e61d2f
--- /dev/null
+++ b/changes/18105
@@ -0,0 +1,4 @@
+ o Code simplification and refactoring:
+ - Introduce a function to call getsockname() and return
+ tor_addr_t, to save a little complexity throughout the codebase.
+ Closes ticket 18105.
diff --git a/changes/bug18918 b/changes/bug18918
new file mode 100644
index 0000000000..c939168f49
--- /dev/null
+++ b/changes/bug18918
@@ -0,0 +1,6 @@
+ o Code simplification and refactoring:
+ - In order to make the OR and dir checking function in router.c less
+ confusing we renamed some functions and consider_testing_reachability()
+ has been splitted into router_should_check_reachability() and
+ router_do_reachability_checks(). Also we improved the documentation in
+ some functions. Closes ticket 18918.
diff --git a/changes/bug20887 b/changes/bug20887
new file mode 100644
index 0000000000..5d4e4ed233
--- /dev/null
+++ b/changes/bug20887
@@ -0,0 +1,4 @@
+ o Minor bugfixes (freebsd):
+ - In have_enough_mem_for_dircache(), the variable DIRCACHE_MIN_MEM_MB
+ does not stringify on FreeBSD, so we switch to tor_asprintf(). Fixes
+ bug 20887; bugfix on 0.2.8.1-alpha. Patch by Neel Chauhan.
diff --git a/changes/bug23909 b/changes/bug23909
new file mode 100644
index 0000000000..6b84e711e7
--- /dev/null
+++ b/changes/bug23909
@@ -0,0 +1,4 @@
+ o Minor features (directory authority):
+ - Directory authorities now open their key-pinning files as O_SYNC,
+ to prevent themselves from accidentally writing partial lines.
+ Closes ticket 23909.
diff --git a/changes/bug23954 b/changes/bug23954
deleted file mode 100644
index 185814f12e..0000000000
--- a/changes/bug23954
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (logging, race conditions):
- - Fix a (mostly harmless) race condition when invoking
- LOG_PROTOCOL_WARN message from a subthread while the options are
- changing. Fixes bug 23954; bugfix on 0.1.1.9-alpha.
diff --git a/changes/bug24469 b/changes/bug24469
deleted file mode 100644
index 2e137b49b8..0000000000
--- a/changes/bug24469
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (circuit, cannibalization):
- - Don't cannibalize circuits for which we don't know the first hop which
- can happen if our Guard relay went off the consensus after the circuit
- was created preemptively. Fixes bug 24469; bugfix on 0.0.6.
diff --git a/changes/bug24484 b/changes/bug24484
new file mode 100644
index 0000000000..35a2044923
--- /dev/null
+++ b/changes/bug24484
@@ -0,0 +1,4 @@
+ o Code simplification and refactoring:
+ - Since Tor requires C99, remove our old workaround code for libc
+ implementations where free(NULL) doesn't work. Closes ticket 24484.
+
diff --git a/changes/bug24700 b/changes/bug24700
deleted file mode 100644
index 74dc581a0b..0000000000
--- a/changes/bug24700
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (scheduler, KIST):
- - Avoid adding the same channel twice in the KIST scheduler pending list
- wasting CPU cycles at handling the same channel twice. Fixes bug 24700;
- bugfix on 0.3.2.1-alpha.
diff --git a/changes/bug24859 b/changes/bug24859
deleted file mode 100644
index 122109d650..0000000000
--- a/changes/bug24859
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (logging):
- - Don't treat inability to store a cached consensus object as a
- bug: it can happen normally when we are out of disk space.
- Fixes bug 24859; bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug24903 b/changes/bug24903
new file mode 100644
index 0000000000..01c9b53f23
--- /dev/null
+++ b/changes/bug24903
@@ -0,0 +1,5 @@
+ o Minor bugfixes (controller, reliability):
+ - Avoid a (nonfatal) assertion failure when extending a one-hop circuit
+ from the controller to become a multihop circuit. Fixes bug 24903;
+ bugfix on 0.2.5.2-alpha.
+
diff --git a/changes/bug24904 b/changes/bug24904
new file mode 100644
index 0000000000..648d9a5834
--- /dev/null
+++ b/changes/bug24904
@@ -0,0 +1,4 @@
+ o Minor bugfix (channel, client):
+ - Better identify client connection when reporting to the geoip client
+ cache. Fixes bug 24904; bugfix on 0.3.1.7.
+
diff --git a/changes/bug24914 b/changes/bug24914
new file mode 100644
index 0000000000..ea441fd38c
--- /dev/null
+++ b/changes/bug24914
@@ -0,0 +1,3 @@
+ o Minor features (performance):
+ - Avoid a needless call to malloc() when processing an incoming
+ relay cell. Closes ticket 24914.
diff --git a/changes/bug24927 b/changes/bug24927
deleted file mode 100644
index 6997306956..0000000000
--- a/changes/bug24927
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (correctness):
- - Remove nonworking, unnecessary check to see whether a circuit hop's
- identity was set when the circuit failed. Fixes bug 24927; bugfix on
- 0.2.4.4-alpha.
diff --git a/changes/bug24952 b/changes/bug24952
deleted file mode 100644
index 93174c04f5..0000000000
--- a/changes/bug24952
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfix (channel connection):
- - The accurate address of a connection is real_addr, not the addr member.
- TLS Channel remote address is now real_addr content instead of addr
- member. Fixes bug 24952; bugfix on 707c1e2e26 in 0.2.4.11-alpha.
- Patch by "ffmancera".
diff --git a/changes/bug24972 b/changes/bug24972
deleted file mode 100644
index 5adf970abf..0000000000
--- a/changes/bug24972
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (logging, diagnostic):
- - When logging a failure to check a hidden service's certificate,
- also log what the problem with the certificate was. Diagnostic
- for ticket 24972.
diff --git a/changes/bug24975 b/changes/bug24975
deleted file mode 100644
index 32a5dfc929..0000000000
--- a/changes/bug24975
+++ /dev/null
@@ -1,6 +0,0 @@
- o Major bugfixes (scheduler, consensus):
- - A logic in the code was preventing the scheduler subystem to properly
- make a decision based on the latest consensus when it arrives. This lead
- to the scheduler failing to notice any consensus parameters that might
- have changed between consensuses. Fixes bug 24975; bugfix on
- 0.3.2.1-alpha.
diff --git a/changes/bug24976 b/changes/bug24976
deleted file mode 100644
index 9c3be86eab..0000000000
--- a/changes/bug24976
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (hidden service v3 client):
- - Remove a BUG() statement which can be triggered in normal circumstances
- where a client fetches a descriptor that has a lower revision counter
- than the one in its cache. This can happen due to HSDir desync. Fixes
- bug 24976; bugfix on 0.3.2.1-alpha.
diff --git a/changes/bug25008 b/changes/bug25008
deleted file mode 100644
index 5ddc062982..0000000000
--- a/changes/bug25008
+++ /dev/null
@@ -1,9 +0,0 @@
- o Minor bugfixes (performance):
- - Avoid calling protocol_list_supports_protocol() from inside tight loops
- when running with cached routerinfo_t objects. Instead,
- summarize the relevant protocols as flags in the routerinfo_t, as we do
- for routerstatus_t objects. This change simplifies our code a little,
- and saves a large amount of short-term memory allocation operations.
- Fixes bug 25008; bugfix on 0.2.9.4-alpha.
-
-
diff --git a/changes/bug25026 b/changes/bug25026
deleted file mode 100644
index 24a64a562b..0000000000
--- a/changes/bug25026
+++ /dev/null
@@ -1,4 +0,0 @@
- o Documentation:
- - HiddenServiceVersion only accepts one version to be specified. This
- version can either be version 2 or 3. Closes ticket 25026; bugfix on
- 0.3.2.2-alpha.
diff --git a/changes/bug25070 b/changes/bug25070
deleted file mode 100644
index c2f4e58c45..0000000000
--- a/changes/bug25070
+++ /dev/null
@@ -1,3 +0,0 @@
- o Major bugfixes (protocol versions):
- - Add Link protocol version 5 to the supported protocols list.
- Fixes bug 25070; bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug25105 b/changes/bug25105
deleted file mode 100644
index 36d1a5f16f..0000000000
--- a/changes/bug25105
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (v3 onion services):
- - Look at the "HSRend" protocol version, not the "HSDir" protocol
- version, when deciding whether a consensus entry can support
- the v3 onion service protocol as a rendezvous point.
- Fixes bug 25105; bugfix on 0.3.2.1-alpha.
diff --git a/changes/bug25306 b/changes/bug25306
new file mode 100644
index 0000000000..a2e6306f42
--- /dev/null
+++ b/changes/bug25306
@@ -0,0 +1,6 @@
+ o Minor bugfixes (hidden service v3):
+ - Avoid asserting when building descriptors in the next rotation time is
+ out of sync with the consensus valid after time. Instead, log a bug
+ warning with extra information to hunt down the cause of this assert.
+ Fixes bug 25306; bugfix on 0.3.2.1-alpha.
+
diff --git a/changes/bug25372 b/changes/bug25372
new file mode 100644
index 0000000000..4cceab3a45
--- /dev/null
+++ b/changes/bug25372
@@ -0,0 +1,3 @@
+ o Minor features (log messages):
+ - Improve log message in the out of memory handler to include information
+ about memory usage from the different compression backends. Closes ticket 25372.
diff --git a/changes/bug25399 b/changes/bug25399
new file mode 100644
index 0000000000..4554574939
--- /dev/null
+++ b/changes/bug25399
@@ -0,0 +1,5 @@
+ o Minor bugfixes (portability):
+ - Do not align mmap length, as it is not required by POSIX, and the
+ getpagesize function is deprecated. Fixes bug 25399; bugfix on
+ 0.1.1.23.
+
diff --git a/changes/bug25415 b/changes/bug25415
new file mode 100644
index 0000000000..ec851aee8d
--- /dev/null
+++ b/changes/bug25415
@@ -0,0 +1,4 @@
+ o Major bugfixes (directory authority):
+ - Avoid a crash when testing router reachability on a router that could
+ have an ed25519 ID, but which does not. Fixes bug 25415; bugfix on
+ 0.3.3.2-alpha.
diff --git a/changes/bug25560 b/changes/bug25560
new file mode 100644
index 0000000000..5947fa03a3
--- /dev/null
+++ b/changes/bug25560
@@ -0,0 +1,5 @@
+ o Minor bugfixes (testing, rust):
+ - Some of our Rust crates were not having their tests run with `make
+ test-rust` due to a static string in the `src/test/test_rust.sh` script
+ specifying which crates to test. Rust crates are not automatically
+ detected and tested. Fixes bug 25560; bugfix on 0.3.3.3-alpha.
diff --git a/changes/feature25150 b/changes/feature25150
new file mode 100644
index 0000000000..eb65327a8d
--- /dev/null
+++ b/changes/feature25150
@@ -0,0 +1,4 @@
+ o Minor features (performance, allocation):
+ - Avoid a needless malloc()/free() pair every time we handle an ntor
+ handshake. Closes ticket 25150.
+
diff --git a/changes/feature25313 b/changes/feature25313
new file mode 100644
index 0000000000..90f421169f
--- /dev/null
+++ b/changes/feature25313
@@ -0,0 +1,4 @@
+ o Minor features (sandbox):
+ - Explicitly permit the poll() system call when the Linux seccomp2-based
+ sandbox is enabled: apparently, some versions of libc use poll() when
+ calling getpwnam(). Closes ticket 25313.
diff --git a/changes/ticket23873 b/changes/ticket23873
new file mode 100644
index 0000000000..ffe65e5ed4
--- /dev/null
+++ b/changes/ticket23873
@@ -0,0 +1,6 @@
+ o Code simplification and refactoring:
+ - We remove the return value of node_get_prim_orport() and
+ node_get_prim_dirport(), and introduce node_get_prim_orport()
+ in node_ipv6_or_preferred() and node_ipv6_dir_preferred() in
+ order to check for a null address. Closes ticket 23873. Patch
+ by Neel Chauhan.
diff --git a/changes/ticket24714 b/changes/ticket24714
new file mode 100644
index 0000000000..60353abec9
--- /dev/null
+++ b/changes/ticket24714
@@ -0,0 +1,6 @@
+ o Code simplification and refactoring:
+ - Rename two fields of connection_t struct.
+ timestamp_lastwritten is renamed to timestamp_last_write_allowed and
+ timestamp_lastread is renamed to timestamp_last_read_allowed.
+ Closes ticket 24714, patch by "valentecaio".
+
diff --git a/changes/ticket24740 b/changes/ticket24740
new file mode 100644
index 0000000000..253cdb65e2
--- /dev/null
+++ b/changes/ticket24740
@@ -0,0 +1,5 @@
+ o Minor bugfixes (directory server cert fetch):
+ - Fixed launching a certificate fetch always during the scheduled
+ periodic consensus fetch by fetching only in those cases when
+ consensus are waiting for certs.
+ Fixes bug 24740; bugfix on 0.2.9.1-alpha.
diff --git a/changes/ticket24849 b/changes/ticket24849
deleted file mode 100644
index fd9492acb9..0000000000
--- a/changes/ticket24849
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor features (directory authority):
- - When unable to add signatures to a pending consensus, log the reason
- why. Closes ticket 24849.
diff --git a/changes/ticket24902 b/changes/ticket24902
deleted file mode 100644
index 1a2ef95cc9..0000000000
--- a/changes/ticket24902
+++ /dev/null
@@ -1,13 +0,0 @@
- o Major features (denial of service mitigation):
- - Give relays some defenses against the recent network overload. We start
- with three defenses (default parameters in parentheses). First: if a
- single client address makes too many concurrent connections (>100), hang
- up on further connections. Second: if a single client address makes
- circuits too quickly (more than 3 per second, with an allowed burst of
- 90) while also having too many connections open (3), refuse new create
- cells for the next while (1-2 hours). Third: if a client asks to
- establish a rendezvous point to you directly, ignore the request. These
- defenses can be manually controlled by new torrc options, but relays
- will also take guidance from consensus parameters, so there's no need to
- configure anything manually. Implements ticket 24902.
-
diff --git a/changes/ticket25081 b/changes/ticket25081
new file mode 100644
index 0000000000..b6e6c2a5a6
--- /dev/null
+++ b/changes/ticket25081
@@ -0,0 +1,5 @@
+ o Code simplification and refactoring:
+ - Remove extern declaration of stats_n_seconds_working variable from main,
+ protecting its accesses with get_uptime() and reset_uptime() functions.
+ Closes ticket 25081, patch by “valentecaio”.
+
diff --git a/changes/ticket25108 b/changes/ticket25108
deleted file mode 100644
index 6aefac16db..0000000000
--- a/changes/ticket25108
+++ /dev/null
@@ -1,3 +0,0 @@
- o Code simplification and refactoring:
- - Remove the unused nodelist_recompute_all_hsdir_indices(). Closes ticket
- 25108.
diff --git a/changes/ticket25122 b/changes/ticket25122
deleted file mode 100644
index 2921811b22..0000000000
--- a/changes/ticket25122
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor feature (geoip cache):
- - Make our OOM handler aware of the geoip client history cache so it
- doesn't fill up the memory which is especially important for IPv6 and
- our DoS mitigation subsystem. Closes ticket 25122.
diff --git a/changes/ticket25162 b/changes/ticket25162
new file mode 100644
index 0000000000..37019a7f8f
--- /dev/null
+++ b/changes/ticket25162
@@ -0,0 +1,6 @@
+ o Minor features (compression, zstd):
+ - When running with zstd, Tor now considers using advanced functions that
+ the zstd maintainers have labeled as potentially unstable. To
+ prevent breakage, Tor will only use this functionality when
+ the runtime version of the zstd library matches the version
+ with which it were compiled. Closes ticket 25162.
diff --git a/changes/ticket25261 b/changes/ticket25261
new file mode 100644
index 0000000000..604a09d975
--- /dev/null
+++ b/changes/ticket25261
@@ -0,0 +1,3 @@
+ o Minor bugfix (Multiple includes):
+ - Fixed multiple includes of trasports.h in src/or/connection.c
+ Fixes bug 25261; bugfix on 0.2.5.1-alpha.
diff --git a/changes/ticket25268 b/changes/ticket25268
new file mode 100644
index 0000000000..e444984dc4
--- /dev/null
+++ b/changes/ticket25268
@@ -0,0 +1,7 @@
+ o Removed features:
+ - The old "round-robin" circuit multiplexer (circuitmux)
+ implementation has been removed, along with a fairly large set of
+ code that existed to support it. It has not been the default
+ circuitmux since we introduced the "EWMA" circuitmux in 0.2.4.x,
+ but it still required an unreasonable amount of memory and CPU.
+ Closes ticket 25268.
diff --git a/changes/ticket4187 b/changes/ticket4187
new file mode 100644
index 0000000000..c5f795b1a6
--- /dev/null
+++ b/changes/ticket4187
@@ -0,0 +1,3 @@
+ o Minor bugfixes (directory client):
+ - When unverified-consensus is verified, rename it to cached-consenus.
+ Fixes bug 4187; bugfix on 0.2.0.3-alpha.
diff --git a/changes/ticket6236 b/changes/ticket6236
new file mode 100644
index 0000000000..9dea07e696
--- /dev/null
+++ b/changes/ticket6236
@@ -0,0 +1,4 @@
+ o Minor bugfixes (Duplicate code):
+ - Remove duplicate code in parse_{c,s}method_line and bootstrap
+ their functionalities into a single function. Fixes
+ bug 6236; bugfix on 0.2.3.6-alpha.
diff --git a/configure.ac b/configure.ac
index 3cb187b0e9..d7cc05c098 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@ dnl Copyright (c) 2007-2017, The Tor Project, Inc.
dnl See LICENSE for licensing information
AC_PREREQ([2.63])
-AC_INIT([tor],[0.3.3.1-alpha-dev])
+AC_INIT([tor],[0.3.4.0-alpha-dev])
AC_CONFIG_SRCDIR([src/or/main.c])
AC_CONFIG_MACRO_DIR([m4])
@@ -61,6 +61,8 @@ AC_ARG_ENABLE(cargo-online-mode,
AS_HELP_STRING(--enable-cargo-online-mode, [Allow cargo to make network requests to fetch crates. For builds with rust only.]))
AC_ARG_ENABLE(restart-debugging,
AS_HELP_STRING(--enable-restart-debugging, [Build Tor with support for debugging in-process restart. Developers only.]))
+AC_ARG_ENABLE(zstd-advanced-apis,
+ AS_HELP_STRING(--disable-zstd-advanced-apis, [Build without support for zstd's "static-only" APIs.]))
if test "x$enable_coverage" != "xyes" -a "x$enable_asserts_in_tests" = "xno" ; then
AC_MSG_ERROR([Can't disable assertions outside of coverage build])
@@ -114,6 +116,10 @@ if test "$enable_restart_debugging" = "yes"; then
[Defined if we're building with support for in-process restart debugging.])
fi
+if test "$enable_zstd_advanced_apis" != "no"; then
+ AC_DEFINE(ENABLE_ZSTD_ADVANCED_APIS, 1,
+ [Defined if we're going to try to use zstd's "static-only" APIs.])
+fi
# systemd support
if test "x$enable_systemd" = "xno"; then
@@ -547,6 +553,7 @@ AC_CHECK_FUNCS(
mach_approximate_time \
memmem \
memset_s \
+ mmap \
pipe \
pipe2 \
prctl \
@@ -573,7 +580,7 @@ AC_CHECK_FUNCS(
# Apple messed up when they added two functions functions in Sierra: they
# forgot to decorate them with appropriate AVAILABLE_MAC_OS_VERSION
# checks. So we should only probe for those functions if we are sure that we
-# are not targetting OSX 10.11 or earlier.
+# are not targeting OSX 10.11 or earlier.
AC_MSG_CHECKING([for a pre-Sierra OSX build target])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#ifdef __APPLE__
@@ -615,6 +622,21 @@ fi
AM_CONDITIONAL(BUILD_READPASSPHRASE_C,
test "x$ac_cv_func_readpassphrase" = "xno" && test "$bwin32" = "false")
+AC_MSG_CHECKING([whether free(NULL) works])
+AC_RUN_IFELSE([AC_LANG_PROGRAM([
+ #include <stdlib.h>
+], [
+char *p = NULL;
+free(p);
+])],
+[free_null_ok=true; AC_MSG_RESULT(yes)],
+[free_null_ok=false; AC_MSG_RESULT(no)],
+[free_null_ok=cross; AC_MSG_RESULT(cross)])
+
+if test "$free_null_ok" = "false"; then
+ AC_MSG_ERROR([Your libc implementation doesn't allow free(NULL), as required by C99.])
+fi
+
dnl ------------------------------------------------------
dnl Where do you live, libevent? And how do we call you?
@@ -660,7 +682,8 @@ TOR_SEARCH_LIBRARY(libevent, $trylibeventdir, [-levent $STATIC_LIBEVENT_FLAGS $T
#include <winsock2.h>
#endif
struct event_base;
-struct event_base *event_base_new(void);],
+struct event_base *event_base_new(void);
+void event_base_free(struct event_base *);],
[
#ifdef _WIN32
{WSADATA d; WSAStartup(0x101,&d); }
@@ -834,6 +857,10 @@ AC_CHECK_MEMBERS([SSL.state], , ,
[#include <openssl/ssl.h>
])
+AC_CHECK_SIZEOF(SHA_CTX, , [AC_INCLUDES_DEFAULT()
+#include <openssl/sha.h>
+])
+
dnl Define the set of checks for KIST scheduler support.
AC_DEFUN([CHECK_KIST_SUPPORT],[
dnl KIST needs struct tcp_info and for certain members to exist.
@@ -952,6 +979,16 @@ if test "x$have_zstd" = "xyes"; then
AC_DEFINE(HAVE_ZSTD,1,[Have Zstd])
TOR_ZSTD_CFLAGS="${ZSTD_CFLAGS}"
TOR_ZSTD_LIBS="${ZSTD_LIBS}"
+
+ dnl now check for zstd functions
+ save_LIBS="$LIBS"
+ save_CFLAGS="$CFLAGS"
+ LIBS="$LIBS $ZSTD_LIBS"
+ CFLAGS="$CFLAGS $ZSTD_CFLAGS"
+ AC_CHECK_FUNCS(ZSTD_estimateCStreamSize \
+ ZSTD_estimateDCtxSize)
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
fi
AC_SUBST(TOR_ZSTD_CFLAGS)
AC_SUBST(TOR_ZSTD_LIBS)
@@ -1704,14 +1741,6 @@ AC_CHECK_DECLS([mlockall], , , [
#include <sys/mman.h>
#endif])
-# Some MinGW environments don't have getpagesize in unistd.h. We don't use
-# AC_CHECK_FUNCS(getpagesize), because other environments rename getpagesize
-# using macros
-AC_CHECK_DECLS([getpagesize], , , [
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif])
-
# Allow user to specify an alternate syslog facility
AC_ARG_WITH(syslog-facility,
AS_HELP_STRING(--with-syslog-facility=LOG, [syslog facility to use (default=LOG_DAEMON)]),
@@ -1849,6 +1878,12 @@ AC_SUBST(BUILDDIR)
AH_TEMPLATE([BUILDDIR],[tor's build directory])
AC_DEFINE_UNQUOTED(BUILDDIR,"$BUILDDIR")
+if test "x$SRCDIR" = "x"; then
+ SRCDIR=$(cd "$srcdir"; pwd)
+fi
+AH_TEMPLATE([SRCDIR],[tor's sourcedir directory])
+AC_DEFINE_UNQUOTED(SRCDIR,"$SRCDIR")
+
if test "x$CONFDIR" = "x"; then
CONFDIR=`eval echo $sysconfdir/tor`
fi
diff --git a/contrib/operator-tools/linux-tor-prio.sh b/contrib/operator-tools/linux-tor-prio.sh
index ea9e0ddaa5..30ea5fc659 100644
--- a/contrib/operator-tools/linux-tor-prio.sh
+++ b/contrib/operator-tools/linux-tor-prio.sh
@@ -87,7 +87,7 @@ RATE_UP=5000
# machine does any other network activity. That is not very fun.
RATE_UP_TOR=1500
-# RATE_UP_TOR_CEIL is the maximum rate allowed for all Tor trafic in
+# RATE_UP_TOR_CEIL is the maximum rate allowed for all Tor traffic in
# kbits/sec.
RATE_UP_TOR_CEIL=5000
diff --git a/contrib/win32build/tor-mingw.nsi.in b/contrib/win32build/tor-mingw.nsi.in
index f4d18a77db..dfcb0644dc 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.3.1-alpha-dev"
+!define VERSION "0.3.4.0-alpha-dev"
!define INSTALLER "tor-${VERSION}-win32.exe"
!define WEBSITE "https://www.torproject.org/"
!define LICENSE "LICENSE"
diff --git a/doc/HACKING/CodingStandardsRust.md b/doc/HACKING/CodingStandardsRust.md
index d0b17c1604..d9496c08f7 100644
--- a/doc/HACKING/CodingStandardsRust.md
+++ b/doc/HACKING/CodingStandardsRust.md
@@ -54,13 +54,53 @@ If you have any external modules as dependencies (e.g. `extern crate
libc;`), you MUST declare them in your crate's `lib.rs` and NOT in any
other module.
- Dependencies
---------------
+ Dependencies and versions
+---------------------------
In general, we use modules from only the Rust standard library
whenever possible. We will review including external crates on a
case-by-case basis.
+If a crate only contains traits meant for compatibility between Rust
+crates, such as [the digest crate](https://crates.io/crates/digest) or
+[the failure crate](https://crates.io/crates/failure), it is very likely
+permissible to add it as a dependency. However, a brief review should
+be conducted as to the usefulness of implementing external traits
+(i.e. how widespread is the usage, how many other crates either
+implement the traits or have trait bounds based upon them), as well as
+the stability of the traits (i.e. if the trait is going to change, we'll
+potentially have to re-do all our implementations of it).
+
+For large external libraries, especially which implement features which
+would be labour-intensive to reproduce/maintain ourselves, such as
+cryptographic or mathematical/statistics libraries, only crates which
+have stabilised to 1.0.0 should be considered, however, again, we may
+make exceptions on a case-by-case basis.
+
+Currently, Tor requires that you use the latest stable Rust version. At
+some point in the future, we will freeze on a given stable Rust version,
+to ensure backward compatibility with stable distributions that ship it.
+
+ Updating/Adding Dependencies
+------------------------------
+
+To add/remove/update dependencies, first add your dependencies,
+exactly specifying their versions, into the appropriate *crate-level*
+`Cargo.toml` in `src/rust/` (i.e. *not* `/src/rust/Cargo.toml`, but
+instead the one for your crate). Also, investigate whether your
+dependency has any optional dependencies which are unnecessary but are
+enabled by default. If so, you'll likely be able to enable/disable
+them via some feature, e.g.:
+
+```toml
+[dependencies]
+foo = { version = "1.0.0", default-features = false }
+```
+
+Next, run `/scripts/maint/updateRustDependencies.sh`. Then, go into
+`src/ext/rust` and commit the changes to the `tor-rust-dependencies`
+repo.
+
Documentation
---------------
@@ -284,12 +324,26 @@ Here are some additional bits of advice and rules:
}
}
-3. Pass only integer types and bytes over the boundary
+3. Pass only C-compatible primitive types and bytes over the boundary
+
+ Rust's C-compatible primitive types are integers and floats.
+ These types are declared in the [libc crate](https://doc.rust-lang.org/libc/x86_64-unknown-linux-gnu/libc/index.html#types).
+ Most Rust objects have different [representations](https://doc.rust-lang.org/libc/x86_64-unknown-linux-gnu/libc/index.html#types)
+ in C and Rust, so they can't be passed using FFI.
+
+ Tor currently uses the following Rust primitive types from libc for FFI:
+ * defined-size integers: `uint32_t`
+ * native-sized integers: `c_int`
+ * native-sized floats: `c_double`
+ * native-sized raw pointers: `* c_void`, `* c_char`, `** c_char`
+
+ TODO: C smartlist to Stringlist conversion using FFI
- The only non-integer type which may cross the FFI boundary is
+ The only non-primitive type which may cross the FFI boundary is
bytes, e.g. `&[u8]`. This SHOULD be done on the Rust side by
- passing a pointer (`*mut libc::c_char`) and a length
- (`libc::size_t`).
+ passing a pointer (`*mut libc::c_char`). The length can be passed
+ explicitly (`libc::size_t`), or the string can be NUL-byte terminated
+ C string.
One might be tempted to do this via doing
`CString::new("blah").unwrap().into_raw()`. This has several problems:
diff --git a/doc/HACKING/GettingStartedRust.md b/doc/HACKING/GettingStartedRust.md
index 3d00388314..f5914bc87a 100644
--- a/doc/HACKING/GettingStartedRust.md
+++ b/doc/HACKING/GettingStartedRust.md
@@ -9,17 +9,19 @@ Please read or review our documentation on Rust coding standards
(`.../doc/HACKING/CodingStandardsRust.md`) before doing anything.
Please also read
-[the Rust Code of Conduct](https://www.rust-lang.org/en-US/conduct.html). We aim
-to follow the good example set by the Rust community and be excellent to one
-another. Let's be careful with each other, so we can be memory-safe together!
-
-Next, please contact us before rewriting anything! Rust in Tor is still an
-experiment. It is an experiment that we very much want to see succeed, so we're
-going slowly and carefully. For the moment, it's also a completely
-volunteer-driven effort: while many, if not most, of us are paid to work on Tor,
-we are not yet funded to write Rust code for Tor. Please be patient with the
-other people who are working on getting more Rust code into Tor, because they
-are graciously donating their free time to contribute to this effort.
+[the Rust Code of Conduct](https://www.rust-lang.org/en-US/conduct.html). We
+aim to follow the good example set by the Rust community and be
+excellent to one another. Let's be careful with each other, so we can
+be memory-safe together!
+
+Next, please contact us before rewriting anything! Rust in Tor is still
+an experiment. It is an experiment that we very much want to see
+succeed, so we're going slowly and carefully. For the moment, it's also
+a completely volunteer-driven effort: while many, if not most, of us are
+paid to work on Tor, we are not yet funded to write Rust code for Tor.
+Please be patient with the other people who are working on getting more
+Rust code into Tor, because they are graciously donating their free time
+to contribute to this effort.
Resources for learning Rust
-----------------------------
@@ -33,14 +35,15 @@ Rust immediately, without waiting for anything to install, there is
**Advanced resources**
-If you're interested in playing with various Rust compilers and viewing a very
-nicely displayed output of the generated assembly, there is
+If you're interested in playing with various Rust compilers and viewing
+a very nicely displayed output of the generated assembly, there is
[the Godbolt compiler explorer](https://rust.godbolt.org/)
For learning how to write unsafe Rust, read
[The Rustonomicon](https://doc.rust-lang.org/nomicon/).
-For learning everything you ever wanted to know about Rust macros, there is
+For learning everything you ever wanted to know about Rust macros, there
+is
[The Little Book of Rust Macros](https://danielkeep.github.io/tlborm/book/index.html).
For learning more about FFI and Rust, see Jake Goulding's
@@ -49,10 +52,10 @@ For learning more about FFI and Rust, see Jake Goulding's
Compiling Tor with Rust enabled
---------------------------------
-You will need to run the `configure` script with the `--enable-rust` flag to
-explicitly build with Rust. Additionally, you will need to specify where to
-fetch Rust dependencies, as we allow for either fetching dependencies from Cargo
-or specifying a local directory.
+You will need to run the `configure` script with the `--enable-rust`
+flag to explicitly build with Rust. Additionally, you will need to
+specify where to fetch Rust dependencies, as we allow for either
+fetching dependencies from Cargo or specifying a local directory.
**Fetch dependencies from Cargo**
@@ -65,21 +68,22 @@ You'll need the following Rust dependencies (as of this writing):
libc==0.2.22
We vendor our Rust dependencies in a separate repo using
-[cargo-vendor](https://github.com/alexcrichton/cargo-vendor). To use them, do:
+[cargo-vendor](https://github.com/alexcrichton/cargo-vendor). To use
+them, do:
git submodule init
git submodule update
-To specify the local directory containing the dependencies, (assuming you are in
-the top level of the repository) configure tor with:
+To specify the local directory containing the dependencies, (assuming
+you are in the top level of the repository) configure tor with:
TOR_RUST_DEPENDENCIES='path_to_dependencies_directory' ./configure --enable-rust
-(Note that RUST_DEPENDENCIES must be the full path to the directory; it cannot
-be relative.)
+(Note that TOR_RUST_DEPENDENCIES must be the full path to the directory; it
+cannot be relative.)
-Assuming you used the above `git submodule` commands and you're in the topmost
-directory of the repository, this would be:
+Assuming you used the above `git submodule` commands and you're in the
+topmost directory of the repository, this would be:
TOR_RUST_DEPENDENCIES=`pwd`/src/ext/rust/crates ./configure --enable-rust
@@ -87,19 +91,20 @@ directory of the repository, this would be:
Identifying which modules to rewrite
======================================
-The places in the Tor codebase that are good candidates for porting to Rust are:
+The places in the Tor codebase that are good candidates for porting to
+Rust are:
1. loosely coupled to other Tor submodules,
2. have high test coverage, and
3. would benefit from being implemented in a memory safe language.
-Help in either identifying places such as this, or working to improve existing
-areas of the C codebase by adding regression tests and simplifying dependencies,
-would be really helpful.
+Help in either identifying places such as this, or working to improve
+existing areas of the C codebase by adding regression tests and
+simplifying dependencies, would be really helpful.
Furthermore, as submodules in C are implemented in Rust, this is a good
-opportunity to refactor, add more tests, and split modules into smaller areas of
-responsibility.
+opportunity to refactor, add more tests, and split modules into smaller
+areas of responsibility.
A good first step is to build a module-level callgraph to understand how
interconnected your target module is.
@@ -117,21 +122,22 @@ the module calls. Modules which call fewer other modules are better targets.
Strive to change the C API as little as possible.
-We are currently targetting Rust nightly, *for now*. We expect this to change
-moving forward, as we understand more about which nightly features we need. It
-is on our TODO list to try to cultivate good standing with various distro
-maintainers of `rustc` and `cargo`, in order to ensure that whatever version we
-solidify on is readily available.
+We are currently targeting Rust nightly, *for now*. We expect this to
+change moving forward, as we understand more about which nightly
+features we need. It is on our TODO list to try to cultivate good
+standing with various distro maintainers of `rustc` and `cargo`, in
+order to ensure that whatever version we solidify on is readily
+available.
-If parts of your Rust code needs to stay in sync with C code (such as handling
-enums across the FFI boundary), annonotate these places in a comment structured
-as follows:
+If parts of your Rust code needs to stay in sync with C code (such as
+handling enums across the FFI boundary), annonotate these places in a
+comment structured as follows:
/// C_RUST_COUPLED: <path_to_file> `<name_of_c_object>`
-Where <name_of_c_object> can be an enum, struct, constant, etc. Then, do the
-same in the C code, to note that rust will need to be changed when the C
-does.
+Where <name_of_c_object> can be an enum, struct, constant, etc. Then,
+do the same in the C code, to note that rust will need to be changed
+when the C does.
Adding your Rust module to Tor's build system
-----------------------------------------------
@@ -153,8 +159,9 @@ dependency of other Rust modules):
Everything should be tested full stop. Even non-public functionality.
-Be sure to edit `.../tor/src/test/test_rust.sh` to add the name of your crate to
-the `crates` variable! This will ensure that `cargo test` is run on your crate.
+Be sure to edit `.../tor/src/test/test_rust.sh` to add the name of your
+crate to the `crates` variable! This will ensure that `cargo test` is
+run on your crate.
Configure Tor's build system to build with Rust enabled:
diff --git a/doc/HACKING/Tracing.md b/doc/HACKING/Tracing.md
index a5fb5165e2..349aade23a 100644
--- a/doc/HACKING/Tracing.md
+++ b/doc/HACKING/Tracing.md
@@ -6,7 +6,7 @@ tracing framework.
## Basics ###
-Event tracing is seperated in two concepts, trace events and a tracer. The
+Event tracing is separated in two concepts, trace events and a tracer. The
tracing subsystem can be found in `src/trace`. The `events.h` header file is
the main file that maps the different tracers to trace events.
diff --git a/doc/HACKING/android/Simpleperf.md b/doc/HACKING/android/Simpleperf.md
index c12558aed4..25f39a3d23 100644
--- a/doc/HACKING/android/Simpleperf.md
+++ b/doc/HACKING/android/Simpleperf.md
@@ -18,7 +18,7 @@ the Android Software Development Kit (SDK) and Native Development Kit
repository and build an Orbot APK (Android Package) file with
debugging enabled. Make sure that when you build the native content of
the Orbot application that you run the `make -C external` command with
- an additional `DEBUG=1` as paramter to ensure that the Orbot build
+ an additional `DEBUG=1` as parameter to ensure that the Orbot build
process does not strip the debug symbols from the Tor binary.
2. (Optional) Uninstall and clean-up your old Orbot installation that
diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index 5ad8183650..9fb95c8bc6 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -238,7 +238,7 @@ GENERAL OPTIONS
[[RelayBandwidthBurst]] **RelayBandwidthBurst** __N__ **bytes**|**KBytes**|**MBytes**|**GBytes**|**TBytes**|**KBits**|**MBits**|**GBits**|**TBits**::
If not 0, limit the maximum token bucket size (also known as the burst) for
\_relayed traffic_ to the given number of bytes in each direction.
- They do not include directory fetches by the relay (from authority
+ They do not include directory fetches by the relay (from authority
or other relays), because that is considered "client" activity. (Default: 0)
[[PerConnBWRate]] **PerConnBWRate** __N__ **bytes**|**KBytes**|**MBytes**|**GBytes**|**TBytes**|**KBits**|**MBits**|**GBits**|**TBits**::
@@ -311,7 +311,9 @@ GENERAL OPTIONS
other than controller connections, and we close (and don't reattempt)
any outbound
connections. Controllers sometimes use this option to avoid using
- the network until Tor is fully configured. (Default: 0)
+ the network until Tor is fully configured. Tor will make still certain
+ network-related calls (like DNS lookups) as a part of its configuration
+ process, even if DisableNetwork is set. (Default: 0)
[[ConstrainedSockets]] **ConstrainedSockets** **0**|**1**::
If set, Tor will tell the kernel to attempt to shrink the buffers for all
@@ -608,10 +610,10 @@ GENERAL OPTIONS
in accordance to RFC 1929. Both username and password must be between 1 and
255 characters.
-[[SocksSocketsGroupWritable]] **SocksSocketsGroupWritable** **0**|**1**::
+[[UnixSocksGroupWritable]] **UnixSocksGroupWritable** **0**|**1**::
If this option is set to 0, don't allow the filesystem group to read and
- write unix sockets (e.g. SocksSocket). If the option is set to 1, make
- the SocksSocket socket readable and writable by the default GID. (Default: 0)
+ write unix sockets (e.g. SocksPort unix:). If the option is set to 1, make
+ the Unix socket readable and writable by the default GID. (Default: 0)
[[KeepalivePeriod]] **KeepalivePeriod** __NUM__::
To keep firewalls from expiring connections, send a padding keepalive cell
@@ -650,7 +652,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, and handshake. Domain names are case-insensitive. +
+ acct, hist, handshake, heartbeat, channel, sched, guard, consdiff, and dos.
+ Domain names are case-insensitive. +
+
For example, "`Log [handshake]debug [~net,~mm]info notice stdout`" sends
to stdout: all handshake messages of any severity, all info-and-higher
@@ -777,17 +780,15 @@ GENERAL OPTIONS
This is useful when running on flash memory or other media that support
only a limited number of writes. (Default: 0)
-[[CircuitPriorityHalflife]] **CircuitPriorityHalflife** __NUM1__::
+[[CircuitPriorityHalflife]] **CircuitPriorityHalflife** __NUM__::
If this value is set, we override the default algorithm for choosing which
- circuit's cell to deliver or relay next. When the value is 0, we
- round-robin between the active circuits on a connection, delivering one
- cell from each in turn. When the value is positive, we prefer delivering
- cells from whichever connection has the lowest weighted cell count, where
- cells are weighted exponentially according to the supplied
- CircuitPriorityHalflife value (in seconds). If this option is not set at
- all, we use the behavior recommended in the current consensus
- networkstatus. This is an advanced option; you generally shouldn't have
- to mess with it. (Default: not set)
+ circuit's cell to deliver or relay next. It is delivered first to the
+ circuit that has the lowest weighted cell count, where cells are weighted
+ exponentially according to this value (in seconds). If the value is -1, it
+ is taken from the consensus if possible else it will fallback to the
+ default value of 30. Minimum: 1, Maximum: 2147483647. This can be defined
+ as a float value. This is an advanced option; you generally shouldn't have
+ to mess with it. (Default: -1)
[[CountPrivateBandwidth]] **CountPrivateBandwidth** **0**|**1**::
If this option is set, then Tor's rate-limiting applies not only to
@@ -1395,7 +1396,7 @@ The following options are useful only for clients (that is, if
[[HTTPTunnelPort]] **HTTPTunnelPort** \['address':]__port__|**auto** [_isolation flags_]::
Open this port to listen for proxy connections using the "HTTP CONNECT"
- protocol instead of SOCKS. Set this to 0
+ protocol instead of SOCKS. Set this to
0 if you don't want to allow "HTTP CONNECT" connections. Set the port
to "auto" to have Tor pick a port for you. This directive can be
specified multiple times to bind to multiple addresses/ports. See
@@ -1435,7 +1436,7 @@ The following options are useful only for clients (that is, if
Set this to "default", or leave it unconfigured, to use regular IPTables
on Linux, or to use pf +rdr-to+ rules on *BSD systems. +
+
- (Default: "default".)
+ (Default: "default")
[[NATDPort]] **NATDPort** \['address':]__port__|**auto** [_isolation flags_]::
Open this port to listen for connections from old versions of ipfw (as
@@ -1728,7 +1729,7 @@ The following options are useful only for clients (that is, if
prevent your Tor client from bootstrapping. If this option is negative,
Tor will use a default value chosen by the directory authorities. If the
directory authorities do not choose a value, Tor will default to 0.6.
- (Default: -1.)
+ (Default: -1)
[[ClientBootstrapConsensusAuthorityDownloadSchedule]] **ClientBootstrapConsensusAuthorityDownloadSchedule** __N__,__N__,__...__::
Schedule for when clients should download consensuses from authorities
@@ -1757,14 +1758,6 @@ The following options are useful only for clients (that is, if
which are advanced by connection failures. (Default: 0, 3, 7, 3600,
10800, 25200, 54000, 111600, 262800)
-[[ClientBootstrapConsensusMaxDownloadTries]] **ClientBootstrapConsensusMaxDownloadTries** __NUM__::
- Try this many times to download a consensus while bootstrapping using
- fallback directory mirrors before giving up. (Default: 7)
-
-[[ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries]] **ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries** __NUM__::
- Try this many times to download a consensus while bootstrapping using
- authorities before giving up. (Default: 4)
-
[[ClientBootstrapConsensusMaxInProgressTries]] **ClientBootstrapConsensusMaxInProgressTries** __NUM__::
Try this many simultaneous connections to download a consensus before
waiting for one to complete, timeout, or error out. (Default: 3)
@@ -1894,7 +1887,7 @@ is non-zero):
If you want to use a reduced exit policy rather than the default exit
policy, set "ReducedExitPolicy 1". If you want to _replace_ the default
exit policy with your custom exit policy, end your exit policy with either
- a reject *:* or an accept *:*. Otherwise, you’re _augmenting_ (prepending
+ a reject *:* or an accept *:*. Otherwise, you're _augmenting_ (prepending
to) the default or reduced exit policy. +
+
The default exit policy is:
@@ -2170,15 +2163,16 @@ is non-zero):
(Default: max)
[[AccountingStart]] **AccountingStart** **day**|**week**|**month** [__day__] __HH:MM__::
- Specify how long accounting periods last. If **month** is given, each
- accounting period runs from the time __HH:MM__ on the __dayth__ day of one
- month to the same day and time of the next. (The day must be between 1 and
- 28.) If **week** is given, each accounting period runs from the time __HH:MM__
- of the __dayth__ day of one week to the same day and time of the next week,
- with Monday as day 1 and Sunday as day 7. If **day** is given, each
- accounting period runs from the time __HH:MM__ each day to the same time on
- the next day. All times are local, and given in 24-hour time. (Default:
- "month 1 0:00")
+ Specify how long accounting periods last. If **month** is given,
+ each accounting period runs from the time __HH:MM__ on the __dayth__ day of one
+ month to the same day and time of the next. The relay will go at full speed,
+ use all the quota you specify, then hibernate for the rest of the period. (The
+ day must be between 1 and 28.) If **week** is given, each accounting period
+ runs from the time __HH:MM__ of the __dayth__ day of one week to the same day
+ and time of the next week, with Monday as day 1 and Sunday as day 7. If **day**
+ is given, each accounting period runs from the time __HH:MM__ each day to the
+ same time on the next day. All times are local, and given in 24-hour time.
+ (Default: "month 1 0:00")
[[RefuseUnknownExits]] **RefuseUnknownExits** **0**|**1**|**auto**::
Prevent nodes that don't appear in the consensus from exiting using this
@@ -2264,7 +2258,8 @@ is non-zero):
sent and received by this relay, in addition to total cell counts.
These statistics are rounded, and omitted if traffic is low. This
information is important for load balancing decisions related to padding.
- (Default: 1)
+ If ExtraInfoStatistics is enabled, it will be published
+ as a part of extra-info document. (Default: 1)
[[DirReqStatistics]] **DirReqStatistics** **0**|**1**::
Relays and bridges only.
@@ -2695,7 +2690,7 @@ The following options are used to configure a hidden service.
[[HiddenServiceMaxStreams]] **HiddenServiceMaxStreams** __N__::
The maximum number of simultaneous streams (connections) per rendezvous
circuit. The maximum value allowed is 65535. (Setting this to 0 will allow
- an unlimited number of simultanous streams.) (Default: 0)
+ an unlimited number of simultaneous streams.) (Default: 0)
[[HiddenServiceMaxStreamsCloseCircuit]] **HiddenServiceMaxStreamsCloseCircuit** **0**|**1**::
If set to 1, then exceeding **HiddenServiceMaxStreams** will cause the
@@ -2765,7 +2760,7 @@ Denial of Service mitigation subsystem.
address is positively identified, tor will activate defenses against the
address. See the DoSCircuitCreationDefenseType option for more details.
This is a client to relay detection only. "auto" means use the consensus
- parameter.
+ parameter. If not defined in the consensus, the value is 0.
(Default: auto)
[[DoSCircuitCreationMinConnections]] **DoSCircuitCreationMinConnections** __NUM__::
@@ -2774,19 +2769,22 @@ Denial of Service mitigation subsystem.
flagged as executing a circuit creation DoS. In other words, once a client
address reaches the circuit rate and has a minimum of NUM concurrent
connections, a detection is positive. "0" means use the consensus
- parameter.
+ parameter. If not defined in the consensus, the value is 3.
(Default: 0)
[[DoSCircuitCreationRate]] **DoSCircuitCreationRate** __NUM__::
The allowed circuit creation rate per second applied per client IP
- address. If this option is 0, it obeys a consensus parameter. (Default: 0)
+ address. If this option is 0, it obeys a consensus parameter. If not
+ defined in the consensus, the value is 3.
+ (Default: 0)
[[DoSCircuitCreationBurst]] **DoSCircuitCreationBurst** __NUM__::
The allowed circuit creation burst per client IP address. If the circuit
rate and the burst are reached, a client is marked as executing a circuit
- creation DoS. "0" means use the consensus parameter.
+ creation DoS. "0" means use the consensus parameter. If not defined in the
+ consensus, the value is 90.
(Default: 0)
[[DoSCircuitCreationDefenseType]] **DoSCircuitCreationDefenseType** __NUM__::
@@ -2797,28 +2795,31 @@ Denial of Service mitigation subsystem.
1: No defense.
2: Refuse circuit creation for the DoSCircuitCreationDefenseTimePeriod period of time.
+
- "0" means use the consensus parameter.
+ "0" means use the consensus parameter. If not defined in the consensus,
+ the value is 2.
(Default: 0)
-[[DoSCircuitCreationDefenseTimePeriod]] **DoSCircuitCreationDefenseTimePeriod** __NUM__::
+[[DoSCircuitCreationDefenseTimePeriod]] **DoSCircuitCreationDefenseTimePeriod** __N__ **seconds**|**minutes**|**hours**::
- The base time period that the DoS defense is activated for. The actual
- value is selected randomly for each activation from NUM+1 to 3/2 * NUM.
- "0" means use the consensus parameter.
- (Default: 0)
+ The base time period in seconds that the DoS defense is activated for. The
+ actual value is selected randomly for each activation from N+1 to 3/2 * N.
+ "0" means use the consensus parameter. If not defined in the consensus,
+ the value is 3600 seconds (1 hour). (Default: 0)
[[DoSConnectionEnabled]] **DoSConnectionEnabled** **0**|**1**|**auto**::
Enable the connection DoS mitigation. For client address only, this allows
tor to mitigate against large number of concurrent connections made by a
- single IP address. "auto" means use the consensus parameter.
+ single IP address. "auto" means use the consensus parameter. If not
+ defined in the consensus, the value is 0.
(Default: auto)
[[DoSConnectionMaxConcurrentCount]] **DoSConnectionMaxConcurrentCount** __NUM__::
The maximum threshold of concurrent connection from a client IP address.
Above this limit, a defense selected by DoSConnectionDefenseType is
- applied. "0" means use the consensus parameter.
+ applied. "0" means use the consensus parameter. If not defined in the
+ consensus, the value is 100.
(Default: 0)
[[DoSConnectionDefenseType]] **DoSConnectionDefenseType** __NUM__::
@@ -2829,7 +2830,8 @@ Denial of Service mitigation subsystem.
1: No defense.
2: Immediately close new connections.
+
- "0" means use the consensus parameter.
+ "0" means use the consensus parameter. If not defined in the consensus,
+ the value is 2.
(Default: 0)
[[DoSRefuseSingleHopClientRendezvous]] **DoSRefuseSingleHopClientRendezvous** **0**|**1**|**auto**::
@@ -2837,7 +2839,7 @@ Denial of Service mitigation subsystem.
Refuse establishment of rendezvous points for single hop clients. In other
words, if a client directly connects to the relay and sends an
ESTABLISH_RENDEZVOUS cell, it is silently dropped. "auto" means use the
- consensus parameter.
+ consensus parameter. If not defined in the consensus, the value is 0.
(Default: auto)
TESTING NETWORK OPTIONS
@@ -2864,8 +2866,6 @@ The following options are used for running a testing Tor network.
4 (for 40 seconds), 8, 16, 32, 60
ClientBootstrapConsensusAuthorityOnlyDownloadSchedule 0, 1,
4 (for 40 seconds), 8, 16, 32, 60
- ClientBootstrapConsensusMaxDownloadTries 80
- ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries 80
ClientDNSRejectInternalAddresses 0
ClientRejectInternalAddresses 0
CountPrivateBandwidth 1
@@ -2888,10 +2888,6 @@ The following options are used for running a testing Tor network.
TestingBridgeBootstrapDownloadSchedule 0, 0, 5, 10, 15, 20, 30, 60
TestingClientMaxIntervalWithoutRequest 5 seconds
TestingDirConnectionMaxStall 30 seconds
- TestingConsensusMaxDownloadTries 80
- TestingDescriptorMaxDownloadTries 80
- TestingMicrodescMaxDownloadTries 80
- TestingCertMaxDownloadTries 80
TestingEnableConnBwEvent 1
TestingEnableCellStatsEvent 1
TestingEnableTbEmptyEvent 1
@@ -2972,22 +2968,6 @@ The following options are used for running a testing Tor network.
Changing this requires that **TestingTorNetwork** is set. (Default:
5 minutes)
-[[TestingConsensusMaxDownloadTries]] **TestingConsensusMaxDownloadTries** __NUM__::
- Try this many times to download a consensus before giving up. Changing
- this requires that **TestingTorNetwork** is set. (Default: 8)
-
-[[TestingDescriptorMaxDownloadTries]] **TestingDescriptorMaxDownloadTries** __NUM__::
- Try this often to download a server descriptor before giving up.
- Changing this requires that **TestingTorNetwork** is set. (Default: 8)
-
-[[TestingMicrodescMaxDownloadTries]] **TestingMicrodescMaxDownloadTries** __NUM__::
- Try this often to download a microdesc descriptor before giving up.
- Changing this requires that **TestingTorNetwork** is set. (Default: 8)
-
-[[TestingCertMaxDownloadTries]] **TestingCertMaxDownloadTries** __NUM__::
- Try this often to download a v3 authority certificate before giving up.
- Changing this requires that **TestingTorNetwork** is set. (Default: 8)
-
[[TestingDirAuthVoteExit]] **TestingDirAuthVoteExit** __node__,__node__,__...__::
A list of identity fingerprints, country codes, and
address patterns of nodes to vote Exit for regardless of their
@@ -3186,7 +3166,7 @@ __CacheDirectory__**/diff-cache**::
Directory cache only. Holds older consensuses, and diffs from older
consensuses to the most recent consensus of each type, compressed
in various ways. Each file contains a set of key-value arguments
- decribing its contents, followed by a single NUL byte, followed by the
+ describing its contents, followed by a single NUL byte, followed by the
main file contents.
__DataDirectory__**/bw_accounting**::
diff --git a/scripts/maint/redox.py b/scripts/maint/redox.py
index 12aed6463a..53d3d902eb 100755
--- a/scripts/maint/redox.py
+++ b/scripts/maint/redox.py
@@ -101,7 +101,7 @@ def read():
def findline(lines, lineno, ident):
"""Given a list of all the lines in the file (adjusted so 1-indexing works),
- a line number that ident is alledgedly on, and ident, I figure out
+ a line number that ident is allegedly on, and ident, I figure out
the line where ident was really declared."""
lno = lineno
for lineno in xrange(lineno, 0, -1):
diff --git a/scripts/maint/updateFallbackDirs.py b/scripts/maint/updateFallbackDirs.py
index dbd15eb519..c854830e18 100755
--- a/scripts/maint/updateFallbackDirs.py
+++ b/scripts/maint/updateFallbackDirs.py
@@ -232,7 +232,7 @@ MAX_FALLBACKS_PER_FAMILY = 7
## Fallback Bandwidth Requirements
-# Any fallback with the Exit flag has its bandwidth multipled by this fraction
+# Any fallback with the Exit flag has its bandwidth multiplied by this fraction
# to make sure we aren't further overloading exits
# (Set to 1.0, because we asked that only lightly loaded exits opt-in,
# and the extra load really isn't that much for large relays.)
@@ -561,7 +561,7 @@ class Candidate(object):
details['flags'] = []
if (not 'advertised_bandwidth' in details
or details['advertised_bandwidth'] is None):
- # relays without advertised bandwdith have it calculated from their
+ # relays without advertised bandwidth have it calculated from their
# consensus weight
details['advertised_bandwidth'] = 0
if (not 'effective_family' in details
@@ -1595,7 +1595,7 @@ class CandidateList(dict):
excluded_count, initial_count)
# calculate each fallback's measured bandwidth based on the median
- # consensus weight to advertised bandwdith ratio
+ # consensus weight to advertised bandwidth ratio
def calculate_measured_bandwidth(self):
self.sort_fallbacks_by_cw_to_bw_factor()
median_fallback = self.fallback_median(True)
diff --git a/scripts/maint/updateRustDependencies.sh b/scripts/maint/updateRustDependencies.sh
new file mode 100755
index 0000000000..a5a92579d3
--- /dev/null
+++ b/scripts/maint/updateRustDependencies.sh
@@ -0,0 +1,45 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2018 The Tor Project, Inc.
+# Copyright (c) 2018 isis agora lovecruft
+# See LICENSE for license information
+#
+# updateRustDependencies.sh
+# -------------------------
+# Update our vendored Rust dependencies, either adding/removing
+# dependencies and/or upgrading current dependencies to newer
+# versions.
+#
+# To use this script, first add your dependencies, exactly specifying
+# their versions, into the appropriate *crate-level* Cargo.toml in
+# src/rust/ (i.e. *not* /src/rust/Cargo.toml, but instead the one for
+# your crate).
+#
+# Next, run this script. Then, go into src/ext/rust and commit the
+# changes to the tor-rust-dependencies repo.
+
+set -e
+
+HERE=`dirname $(realpath $0)`
+TOPLEVEL=`dirname $(dirname $HERE)`
+TOML="$TOPLEVEL/src/rust/Cargo.toml"
+VENDORED="$TOPLEVEL/src/ext/rust/crates"
+CARGO=`which cargo`
+
+if ! test -f "$TOML" ; then
+ 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"
+fi
+
+if test -z "$CARGO" ; then
+ 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"
+fi
+
+$CARGO vendor -v --locked --explicit-version --no-delete --sync $TOML $VENDORED
diff --git a/src/common/address.c b/src/common/address.c
index d96ec514b1..ca263425f0 100644
--- a/src/common/address.c
+++ b/src/common/address.c
@@ -1125,7 +1125,7 @@ tor_addr_compare_masked(const tor_addr_t *addr1, const tor_addr_t *addr2,
case AF_UNIX:
/* HACKHACKHACKHACKHACK:
* tor_addr_t doesn't contain a copy of sun_path, so it's not
- * possible to comapre this at all.
+ * possible to compare this at all.
*
* Since the only time we currently actually should be comparing
* 2 AF_UNIX addresses is when dealing with ISO_CLIENTADDR (which
@@ -1185,6 +1185,9 @@ tor_addr_compare_masked(const tor_addr_t *addr1, const tor_addr_t *addr2,
}
}
+/** Input for siphash, to produce some output for an unspec value. */
+static const uint32_t unspec_hash_input[] = { 0x4e4df09f, 0x92985342 };
+
/** Return a hash code based on the address addr. DOCDOC extra */
uint64_t
tor_addr_hash(const tor_addr_t *addr)
@@ -1193,7 +1196,7 @@ tor_addr_hash(const tor_addr_t *addr)
case AF_INET:
return siphash24g(&addr->addr.in_addr.s_addr, 4);
case AF_UNSPEC:
- return 0x4e4d5342;
+ return siphash24g(unspec_hash_input, sizeof(unspec_hash_input));
case AF_INET6:
return siphash24g(&addr->addr.in6_addr.s6_addr, 16);
/* LCOV_EXCL_START */
@@ -1204,6 +1207,28 @@ tor_addr_hash(const tor_addr_t *addr)
}
}
+/** As tor_addr_hash, but use a particular siphash key. */
+uint64_t
+tor_addr_keyed_hash(const struct sipkey *key, const tor_addr_t *addr)
+{
+ /* This is duplicate code with tor_addr_hash, since this function needs to
+ * be backportable all the way to 0.2.9. */
+
+ switch (tor_addr_family(addr)) {
+ case AF_INET:
+ return siphash24(&addr->addr.in_addr.s_addr, 4, key);
+ case AF_UNSPEC:
+ return siphash24(unspec_hash_input, sizeof(unspec_hash_input), key);
+ case AF_INET6:
+ return siphash24(&addr->addr.in6_addr.s6_addr, 16, key);
+ default:
+ /* LCOV_EXCL_START */
+ tor_fragile_assert();
+ return 0;
+ /* LCOV_EXCL_END */
+ }
+}
+
/** Return a newly allocated string with a representation of <b>addr</b>. */
char *
tor_addr_to_str_dup(const tor_addr_t *addr)
@@ -1672,7 +1697,7 @@ get_interface_address6_via_udp_socket_hack,(int severity,
sa_family_t family,
tor_addr_t *addr))
{
- struct sockaddr_storage my_addr, target_addr;
+ struct sockaddr_storage target_addr;
int sock=-1, r=-1;
socklen_t addr_len;
@@ -1715,21 +1740,19 @@ get_interface_address6_via_udp_socket_hack,(int severity,
goto err;
}
- if (tor_getsockname(sock,(struct sockaddr*)&my_addr, &addr_len)) {
+ if (tor_addr_from_getsockname(addr, sock) < 0) {
int e = tor_socket_errno(sock);
log_fn(severity, LD_NET, "getsockname() to determine interface failed: %s",
tor_socket_strerror(e));
goto err;
}
- if (tor_addr_from_sockaddr(addr, (struct sockaddr*)&my_addr, NULL) == 0) {
- if (tor_addr_is_loopback(addr) || tor_addr_is_multicast(addr)) {
- log_fn(severity, LD_NET, "Address that we determined via UDP socket"
- " magic is unsuitable for public comms.");
- } else {
- r=0;
- }
- }
+ if (tor_addr_is_loopback(addr) || tor_addr_is_multicast(addr)) {
+ log_fn(severity, LD_NET, "Address that we determined via UDP socket"
+ " magic is unsuitable for public comms.");
+ } else {
+ r=0;
+ }
err:
if (sock >= 0)
diff --git a/src/common/address.h b/src/common/address.h
index 7607c76bae..c9d9543dee 100644
--- a/src/common/address.h
+++ b/src/common/address.h
@@ -231,6 +231,8 @@ int tor_addr_compare_masked(const tor_addr_t *addr1, const tor_addr_t *addr2,
#define tor_addr_eq(a,b) (0==tor_addr_compare((a),(b),CMP_EXACT))
uint64_t tor_addr_hash(const tor_addr_t *addr);
+struct sipkey;
+uint64_t tor_addr_keyed_hash(const struct sipkey *key, const tor_addr_t *addr);
int tor_addr_is_v4(const tor_addr_t *addr);
int tor_addr_is_internal_(const tor_addr_t *ip, int for_listening,
const char *filename, int lineno);
diff --git a/src/common/address_set.c b/src/common/address_set.c
new file mode 100644
index 0000000000..f61fa294e0
--- /dev/null
+++ b/src/common/address_set.c
@@ -0,0 +1,129 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file address_set.c
+ * \brief Implementation for a set of addresses.
+ *
+ * This module was first written on a semi-emergency basis to improve the
+ * robustness of the anti-DoS module. As such, it's written in a pretty
+ * conservative way, and should be susceptible to improvement later on.
+ **/
+
+#include "orconfig.h"
+#include "address_set.h"
+#include "address.h"
+#include "compat.h"
+#include "container.h"
+#include "crypto.h"
+#include "util.h"
+#include "siphash.h"
+
+/** How many 64-bit siphash values to extract per address */
+#define N_HASHES 2
+/** How many bloom-filter bits we set per address. This is twice the N_HASHES
+ * value, since we split the siphash output into two 32-bit values. */
+#define N_BITS_PER_ITEM (N_HASHES * 2)
+
+/* XXXX This code is largely duplicated with digestset_t. We should merge
+ * them together into a common bloom-filter implementation. I'm keeping
+ * them separate for now, though, since this module needs to be backported
+ * all the way to 0.2.9.
+ *
+ * The main difference between digestset_t and this code is that we use
+ * independent siphashes rather than messing around with bit-shifts. The
+ * approach here is probably more sound, and we should prefer it if&when we
+ * unify the implementations.
+ */
+
+struct address_set_t {
+ /** siphash keys to make N_HASHES independent hashes for each address. */
+ struct sipkey key[N_HASHES];
+ int mask; /**< One less than the number of bits in <b>ba</b>; always one less
+ * than a power of two. */
+ bitarray_t *ba; /**< A bit array to implement the Bloom filter. */
+};
+
+/**
+ * Allocate and return an address_set, suitable for holding up to
+ * <b>max_address_guess</b> distinct values.
+ */
+address_set_t *
+address_set_new(int max_addresses_guess)
+{
+ /* See digestset_new() for rationale on this equation. */
+ int n_bits = 1u << (tor_log2(max_addresses_guess)+5);
+
+ address_set_t *set = tor_malloc_zero(sizeof(address_set_t));
+ set->mask = n_bits - 1;
+ set->ba = bitarray_init_zero(n_bits);
+ crypto_rand((char*) set->key, sizeof(set->key));
+
+ return set;
+}
+
+/**
+ * Release all storage associated with <b>set</b>.
+ */
+void
+address_set_free(address_set_t *set)
+{
+ if (! set)
+ return;
+
+ bitarray_free(set->ba);
+ tor_free(set);
+}
+
+/** Yield the bit index corresponding to 'val' for set. */
+#define BIT(set, val) ((val) & (set)->mask)
+
+/**
+ * Add <b>addr</b> to <b>set</b>.
+ *
+ * All future queries for <b>addr</b> in set will return true. Removing
+ * items is not possible.
+ */
+void
+address_set_add(address_set_t *set, const struct tor_addr_t *addr)
+{
+ int i;
+ for (i = 0; i < N_HASHES; ++i) {
+ uint64_t h = tor_addr_keyed_hash(&set->key[i], addr);
+ uint32_t high_bits = (uint32_t)(h >> 32);
+ uint32_t low_bits = (uint32_t)(h);
+ bitarray_set(set->ba, BIT(set, high_bits));
+ bitarray_set(set->ba, BIT(set, low_bits));
+ }
+}
+
+/** As address_set_add(), but take an ipv4 address in host order. */
+void
+address_set_add_ipv4h(address_set_t *set, uint32_t addr)
+{
+ tor_addr_t a;
+ tor_addr_from_ipv4h(&a, addr);
+ address_set_add(set, &a);
+}
+
+/**
+ * Return true if <b>addr</b> is a member of <b>set</b>. (And probably,
+ * return false if <b>addr</b> is not a member of set.)
+ */
+int
+address_set_probably_contains(address_set_t *set,
+ const struct tor_addr_t *addr)
+{
+ int i, matches = 0;
+ for (i = 0; i < N_HASHES; ++i) {
+ uint64_t h = tor_addr_keyed_hash(&set->key[i], addr);
+ uint32_t high_bits = (uint32_t)(h >> 32);
+ uint32_t low_bits = (uint32_t)(h);
+ // Note that !! is necessary here, since bitarray_is_set does not
+ // necessarily return 1 on true.
+ matches += !! bitarray_is_set(set->ba, BIT(set, high_bits));
+ matches += !! bitarray_is_set(set->ba, BIT(set, low_bits));
+ }
+ return matches == N_BITS_PER_ITEM;
+}
+
diff --git a/src/common/address_set.h b/src/common/address_set.h
new file mode 100644
index 0000000000..28d29f3fdf
--- /dev/null
+++ b/src/common/address_set.h
@@ -0,0 +1,35 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file address_set.h
+ * \brief Types to handle sets of addresses.
+ *
+ * This module was first written on a semi-emergency basis to improve the
+ * robustness of the anti-DoS module. As such, it's written in a pretty
+ * conservative way, and should be susceptible to improvement later on.
+ **/
+
+#ifndef TOR_ADDRESS_SET_H
+#define TOR_ADDRESS_SET_H
+
+#include "orconfig.h"
+#include "torint.h"
+
+/**
+ * An address_set_t represents a set of tor_addr_t values. The implementation
+ * is probabilistic: false negatives cannot occur but false positives are
+ * possible.
+ */
+typedef struct address_set_t address_set_t;
+struct tor_addr_t;
+
+address_set_t *address_set_new(int max_addresses_guess);
+void address_set_free(address_set_t *set);
+void address_set_add(address_set_t *set, const struct tor_addr_t *addr);
+void address_set_add_ipv4h(address_set_t *set, uint32_t addr);
+int address_set_probably_contains(address_set_t *set,
+ const struct tor_addr_t *addr);
+
+#endif
+
diff --git a/src/common/buffers.h b/src/common/buffers.h
index 22a5f7bfa3..4275152de2 100644
--- a/src/common/buffers.h
+++ b/src/common/buffers.h
@@ -13,7 +13,6 @@
#define TOR_BUFFERS_H
#include "compat.h"
-#include "compat.h"
#include "torint.h"
#include "testsupport.h"
diff --git a/src/common/ciphers.inc b/src/common/ciphers.inc
index a336e2dfa0..0084b3e325 100644
--- a/src/common/ciphers.inc
+++ b/src/common/ciphers.inc
@@ -2,8 +2,27 @@
* advertise. Before including it, you should define the CIPHER and XCIPHER
* macros.
*
- * This file was automatically generated by get_mozilla_ciphers.py.
+ * This file was automatically generated by get_mozilla_ciphers.py;
+ * TLSv1.3 ciphers were added manually.
*/
+
+/* Here are the TLS1.3 ciphers. Note that we don't have XCIPHER instances
+ * here, since we don't want to ever fake them.
+ */
+#ifdef TLS1_3_TXT_AES_128_GCM_SHA256
+ CIPHER(0x1301, TLS1_3_TXT_AES_128_GCM_SHA256)
+#endif
+#ifdef TLS1_3_TXT_AES_256_GCM_SHA384
+ CIPHER(0x1302, TLS1_3_TXT_AES_256_GCM_SHA384)
+#endif
+#ifdef TLS1_3_TXT_CHACHA20_POLY1305_SHA256
+ CIPHER(0x1303, TLS1_3_TXT_CHACHA20_POLY1305_SHA256)
+#endif
+#ifdef TLS1_3_TXT_AES_128_CCM_SHA256
+ CIPHER(0x1304, TLS1_3_TXT_AES_128_CCM_SHA256)
+#endif
+
+/* Here's the machine-generated list. */
#ifdef TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
CIPHER(0xc02b, TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256)
#else
diff --git a/src/common/compat.c b/src/common/compat.c
index 6a61c6c919..99a7b8c0c1 100644
--- a/src/common/compat.c
+++ b/src/common/compat.c
@@ -100,7 +100,6 @@ SecureZeroMemory(PVOID ptr, SIZE_T cnt)
/* Only use the linux prctl; the IRIX prctl is totally different */
#include <sys/prctl.h>
#elif defined(__APPLE__)
-#include <sys/types.h>
#include <sys/ptrace.h>
#endif /* defined(HAVE_SYS_PRCTL_H) && defined(__linux__) || ... */
@@ -116,7 +115,7 @@ SecureZeroMemory(PVOID ptr, SIZE_T cnt)
#ifdef HAVE_SIGNAL_H
#include <signal.h>
#endif
-#ifdef HAVE_SYS_MMAN_H
+#ifdef HAVE_MMAP
#include <sys/mman.h>
#endif
#ifdef HAVE_SYS_SYSLIMITS_H
@@ -204,25 +203,17 @@ tor_rename(const char *path_old, const char *path_new)
sandbox_intern_string(path_new));
}
-/* Some MinGW builds have sys/mman.h, but not the corresponding symbols.
- * Other configs rename the symbols using macros (including getpagesize).
- * So check for sys/mman.h and unistd.h, and a getpagesize declaration. */
-#if (defined(HAVE_SYS_MMAN_H) && defined(HAVE_UNISTD_H) && \
- defined(HAVE_DECL_GETPAGESIZE))
-#define COMPAT_HAS_MMAN_AND_PAGESIZE
-#endif
-
-#if defined(COMPAT_HAS_MMAN_AND_PAGESIZE) || \
- defined(RUNNING_DOXYGEN)
+#if defined(HAVE_MMAP) || defined(RUNNING_DOXYGEN)
/** Try to create a memory mapping for <b>filename</b> and return it. On
- * failure, return NULL. Sets errno properly, using ERANGE to mean
- * "empty file". */
+ * failure, return NULL. Sets errno properly, using ERANGE to mean
+ * "empty file". Must only be called on trusted Tor-owned files, as changing
+ * the underlying file's size causes unspecified behavior. */
tor_mmap_t *
tor_mmap_file(const char *filename)
{
int fd; /* router file */
char *string;
- int page_size, result;
+ int result;
tor_mmap_t *res;
size_t size, filesize;
struct stat st;
@@ -251,13 +242,6 @@ tor_mmap_file(const char *filename)
return NULL;
}
size = filesize = (size_t)(st.st_size);
- /*
- * Should we check for weird crap like mmapping a named pipe here,
- * or just wait for if (!size) below to fail?
- */
- /* ensure page alignment */
- page_size = getpagesize();
- size += (size%page_size) ? page_size-(size%page_size) : 0;
if (st.st_size > SSIZE_T_CEILING || (off_t)size < st.st_size) {
log_warn(LD_FS, "File \"%s\" is too large. Ignoring.",filename);
@@ -1392,6 +1376,24 @@ tor_getsockname,(tor_socket_t sock, struct sockaddr *address,
return getsockname(sock, address, address_len);
}
+/**
+ * Find the local address associated with the socket <b>sock</b>, and
+ * place it in *<b>addr_out</b>. Return 0 on success, -1 on failure.
+ *
+ * (As tor_getsockname, but instead places the result in a tor_addr_t.) */
+int
+tor_addr_from_getsockname(tor_addr_t *addr_out, tor_socket_t sock)
+{
+ struct sockaddr_storage ss;
+ socklen_t ss_len = sizeof(ss);
+ memset(&ss, 0, sizeof(ss));
+
+ if (tor_getsockname(sock, (struct sockaddr *) &ss, &ss_len) < 0)
+ return -1;
+
+ return tor_addr_from_sockaddr(addr_out, (struct sockaddr *)&ss, NULL);
+}
+
/** Turn <b>socket</b> into a nonblocking socket. Return 0 on success, -1
* on failure.
*/
@@ -2455,7 +2457,7 @@ get_environment(void)
/** Get name of current host and write it to <b>name</b> array, whose
* length is specified by <b>namelen</b> argument. Return 0 upon
- * successfull completion; otherwise return return -1. (Currently,
+ * successful completion; otherwise return return -1. (Currently,
* this function is merely a mockable wrapper for POSIX gethostname().)
*/
MOCK_IMPL(int,
@@ -2890,7 +2892,7 @@ compute_num_cpus(void)
/** Helper: Deal with confused or out-of-bounds values from localtime_r and
* friends. (On some platforms, they can give out-of-bounds values or can
* return NULL.) If <b>islocal</b>, this is a localtime result; otherwise
- * it's from gmtime. The function returned <b>r</b>, when given <b>timep</b>
+ * it's from gmtime. The function returns <b>r</b>, when given <b>timep</b>
* as its input. If we need to store new results, store them in
* <b>resultbuf</b>. */
static struct tm *
diff --git a/src/common/compat.h b/src/common/compat.h
index 93301feda0..1bdff8db3d 100644
--- a/src/common/compat.h
+++ b/src/common/compat.h
@@ -318,12 +318,12 @@ typedef struct tor_mmap_t {
size_t size; /**< Size of the file. */
/* None of the fields below should be accessed from outside compat.c */
-#ifdef HAVE_SYS_MMAN_H
+#ifdef HAVE_MMAP
size_t mapping_size; /**< Size of the actual mapping. (This is this file
* size, rounded up to the nearest page.) */
#elif defined _WIN32
HANDLE mmap_handle;
-#endif /* defined(HAVE_SYS_MMAN_H) || ... */
+#endif /* defined(HAVE_MMAP) || ... */
} tor_mmap_t;
@@ -510,6 +510,8 @@ int get_n_open_sockets(void);
MOCK_DECL(int,
tor_getsockname,(tor_socket_t socket, struct sockaddr *address,
socklen_t *address_len));
+struct tor_addr_t;
+int tor_addr_from_getsockname(struct tor_addr_t *addr_out, tor_socket_t sock);
#define tor_socket_send(s, buf, len, flags) send(s, buf, len, flags)
#define tor_socket_recv(s, buf, len, flags) recv(s, buf, len, flags)
diff --git a/src/common/compat_openssl.h b/src/common/compat_openssl.h
index d1b871b0f1..1299ac36bb 100644
--- a/src/common/compat_openssl.h
+++ b/src/common/compat_openssl.h
@@ -12,7 +12,7 @@
/**
* \file compat_openssl.h
*
- * \brief compatability definitions for working with different openssl forks
+ * \brief compatibility definitions for working with different openssl forks
**/
#if !defined(LIBRESSL_VERSION_NUMBER) && \
diff --git a/src/common/compat_time.c b/src/common/compat_time.c
index 8cecff2783..183a60a480 100644
--- a/src/common/compat_time.c
+++ b/src/common/compat_time.c
@@ -807,7 +807,7 @@ monotime_coarse_absolute_msec(void)
return monotime_coarse_absolute_nsec() / ONE_MILLION;
}
#else
-#define initalized_at_coarse initialized_at
+#define initialized_at_coarse initialized_at
#endif /* defined(MONOTIME_COARSE_FN_IS_DIFFERENT) */
/**
diff --git a/src/common/compat_winthreads.c b/src/common/compat_winthreads.c
index 5f7ec94c23..7021344f6e 100644
--- a/src/common/compat_winthreads.c
+++ b/src/common/compat_winthreads.c
@@ -18,7 +18,6 @@
#include "util.h"
#include "container.h"
#include "torlog.h"
-#include <process.h>
/* This value is more or less total cargo-cult */
#define SPIN_COUNT 2000
diff --git a/src/common/compress.c b/src/common/compress.c
index 47c93cf6a9..cb1549f1aa 100644
--- a/src/common/compress.c
+++ b/src/common/compress.c
@@ -663,3 +663,13 @@ tor_compress_init(void)
tor_zstd_init();
}
+/** Warn if we had any problems while setting up our compression libraries.
+ *
+ * (This isn't part of tor_compress_init, since the logs aren't set up yet.)
+ */
+void
+tor_compress_log_init_warnings(void)
+{
+ tor_zstd_warn_if_version_mismatched();
+}
+
diff --git a/src/common/compress.h b/src/common/compress.h
index 952102bf97..65d63a4386 100644
--- a/src/common/compress.h
+++ b/src/common/compress.h
@@ -87,6 +87,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);
+void tor_compress_log_init_warnings(void);
#endif /* !defined(TOR_COMPRESS_H) */
diff --git a/src/common/compress_zstd.c b/src/common/compress_zstd.c
index 0db87d61b7..4024f5594d 100644
--- a/src/common/compress_zstd.c
+++ b/src/common/compress_zstd.c
@@ -18,6 +18,13 @@
#include "compress.h"
#include "compress_zstd.h"
+#ifdef ENABLE_ZSTD_ADVANCED_APIS
+/* This is a lie, but we make sure it doesn't get us in trouble by wrapping
+ * all invocations of zstd's static-only functions in a check to make sure
+ * that the compile-time version matches the run-time version. */
+#define ZSTD_STATIC_LINKING_ONLY
+#endif
+
#ifdef HAVE_ZSTD
#include <zstd.h>
#endif
@@ -51,21 +58,31 @@ tor_zstd_method_supported(void)
#endif
}
+#ifdef HAVE_ZSTD
+/** Format a zstd version number as a string in <b>buf</b>. */
+static void
+tor_zstd_format_version(char *buf, size_t buflen, unsigned version_number)
+{
+ tor_snprintf(buf, buflen,
+ "%u.%u.%u",
+ version_number / 10000 % 100,
+ version_number / 100 % 100,
+ version_number % 100);
+}
+#endif
+
+#define VERSION_STR_MAX_LEN 16 /* more than enough space for 99.99.99 */
+
/** Return a string representation of the version of the currently running
* version of libzstd. Returns NULL if Zstandard is unsupported. */
const char *
tor_zstd_get_version_str(void)
{
#ifdef HAVE_ZSTD
- static char version_str[16];
- size_t version_number;
+ static char version_str[VERSION_STR_MAX_LEN];
- version_number = ZSTD_versionNumber();
- tor_snprintf(version_str, sizeof(version_str),
- "%d.%d.%d",
- (int) version_number / 10000 % 100,
- (int) version_number / 100 % 100,
- (int) version_number % 100);
+ tor_zstd_format_version(version_str, sizeof(version_str),
+ ZSTD_versionNumber());
return version_str;
#else /* !(defined(HAVE_ZSTD)) */
@@ -85,6 +102,26 @@ tor_zstd_get_header_version_str(void)
#endif
}
+#ifdef TOR_UNIT_TESTS
+static int static_apis_disable_for_testing = 0;
+#endif
+
+/** Return true iff we can use the "static-only" APIs. */
+int
+tor_zstd_can_use_static_apis(void)
+{
+#if defined(ZSTD_STATIC_LINKING_ONLY) && defined(HAVE_ZSTD)
+#ifdef TOR_UNIT_TESTS
+ if (static_apis_disable_for_testing) {
+ return 0;
+ }
+#endif
+ return (ZSTD_VERSION_NUMBER == ZSTD_versionNumber());
+#else
+ return 0;
+#endif
+}
+
/** Internal Zstandard state for incremental compression/decompression.
* The body of this struct is not exposed. */
struct tor_zstd_compress_state_t {
@@ -112,9 +149,11 @@ struct tor_zstd_compress_state_t {
#ifdef HAVE_ZSTD
/** Return an approximate number of bytes stored in memory to hold the
- * Zstandard compression/decompression state. */
+ * Zstandard compression/decompression state. This is a fake estimate
+ * based on inspecting the zstd source: tor_zstd_state_size_precalc() is
+ * more accurate when it's allowed to use "static-only" functions */
static size_t
-tor_zstd_state_size_precalc(int compress, int preset)
+tor_zstd_state_size_precalc_fake(int compress, int preset)
{
tor_assert(preset > 0);
@@ -171,6 +210,28 @@ tor_zstd_state_size_precalc(int compress, int preset)
return memory_usage;
}
+
+/** Return an approximate number of bytes stored in memory to hold the
+ * Zstandard compression/decompression state. */
+static size_t
+tor_zstd_state_size_precalc(int compress, int preset)
+{
+#ifdef ZSTD_STATIC_LINKING_ONLY
+ if (tor_zstd_can_use_static_apis()) {
+ if (compress) {
+#ifdef HAVE_ZSTD_ESTIMATECSTREAMSIZE
+ return ZSTD_estimateCStreamSize(preset);
+#endif
+ } else {
+#ifdef HAVE_ZSTD_ESTIMATEDCTXSIZE
+ /* Could use DStream, but that takes a windowSize. */
+ return ZSTD_estimateDCtxSize();
+#endif
+ }
+ }
+#endif
+ return tor_zstd_state_size_precalc_fake(compress, preset);
+}
#endif /* defined(HAVE_ZSTD) */
/** Construct and return a tor_zstd_compress_state_t object using
@@ -440,3 +501,34 @@ tor_zstd_init(void)
atomic_counter_init(&total_zstd_allocation);
}
+/** Warn if the header and library versions don't match. */
+void
+tor_zstd_warn_if_version_mismatched(void)
+{
+#if defined(HAVE_ZSTD) && defined(ENABLE_ZSTD_ADVANCED_APIS)
+ if (! tor_zstd_can_use_static_apis()) {
+ char header_version[VERSION_STR_MAX_LEN];
+ char runtime_version[VERSION_STR_MAX_LEN];
+ tor_zstd_format_version(header_version, sizeof(header_version),
+ ZSTD_VERSION_NUMBER);
+ tor_zstd_format_version(runtime_version, sizeof(runtime_version),
+ ZSTD_versionNumber());
+
+ log_warn(LD_GENERAL,
+ "Tor was compiled with zstd %s, but is running with zstd %s. "
+ "For safety, we'll avoid using advanced zstd functionality.",
+ header_version, runtime_version);
+ }
+#endif
+}
+
+#ifdef TOR_UNIT_TESTS
+/** Testing only: disable usage of static-only APIs, so we can make sure that
+ * we still work without them. */
+void
+tor_zstd_set_static_apis_disabled_for_testing(int disabled)
+{
+ static_apis_disable_for_testing = disabled;
+}
+#endif
+
diff --git a/src/common/compress_zstd.h b/src/common/compress_zstd.h
index 9bca24ded7..bd42cf65ce 100644
--- a/src/common/compress_zstd.h
+++ b/src/common/compress_zstd.h
@@ -17,6 +17,8 @@ const char *tor_zstd_get_version_str(void);
const char *tor_zstd_get_header_version_str(void);
+int tor_zstd_can_use_static_apis(void);
+
/** Internal state for an incremental Zstandard compression/decompression. */
typedef struct tor_zstd_compress_state_t tor_zstd_compress_state_t;
@@ -41,6 +43,11 @@ size_t tor_zstd_compress_state_size(const tor_zstd_compress_state_t *state);
size_t tor_zstd_get_total_allocation(void);
void tor_zstd_init(void);
+void tor_zstd_warn_if_version_mismatched(void);
+
+#ifdef TOR_UNIT_TESTS
+void tor_zstd_set_static_apis_disabled_for_testing(int disabled);
+#endif
#endif /* !defined(TOR_COMPRESS_ZSTD_H) */
diff --git a/src/common/crypto.c b/src/common/crypto.c
index b66736edd3..9fcd17742c 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -1114,6 +1114,12 @@ crypto_strongest_rand_syscall(uint8_t *out, size_t out_len)
{
tor_assert(out_len <= MAX_STRONGEST_RAND_SIZE);
+ /* We only log at notice-level here because in the case that this function
+ * fails the crypto_strongest_rand_raw() caller will log with a warning-level
+ * message and let crypto_strongest_rand() error out and finally terminating
+ * Tor with an assertion error.
+ */
+
#ifdef TOR_UNIT_TESTS
if (break_strongest_rng_syscall)
return -1;
@@ -1126,21 +1132,21 @@ crypto_strongest_rand_syscall(uint8_t *out, size_t out_len)
if (!provider_set) {
if (!CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL,
CRYPT_VERIFYCONTEXT)) {
- log_warn(LD_CRYPTO, "Can't get CryptoAPI provider [1]");
+ log_notice(LD_CRYPTO, "Unable to set Windows CryptoAPI provider [1].");
return -1;
}
provider_set = 1;
}
if (!CryptGenRandom(provider, out_len, out)) {
- log_warn(LD_CRYPTO, "Can't get entropy from CryptoAPI.");
+ log_notice(LD_CRYPTO, "Unable get entropy from the Windows CryptoAPI.");
return -1;
}
return 0;
#elif defined(__linux__) && defined(SYS_getrandom)
- static int getrandom_works = 1; /* Be optimitic about our chances... */
+ static int getrandom_works = 1; /* Be optimistic about our chances... */
- /* getrandom() isn't as straight foward as getentropy(), and has
+ /* getrandom() isn't as straightforward as getentropy(), and has
* no glibc wrapper.
*
* As far as I can tell from getrandom(2) and the source code, the
@@ -1153,7 +1159,7 @@ crypto_strongest_rand_syscall(uint8_t *out, size_t out_len)
*
* We optimistically assume that getrandom() is available and functional
* because it is the way of the future, and 2 branch mispredicts pale in
- * comparision to the overheads involved with failing to open
+ * comparison to the overheads involved with failing to open
* /dev/srandom followed by opening and reading from /dev/urandom.
*/
if (PREDICT_LIKELY(getrandom_works)) {
@@ -1174,13 +1180,15 @@ crypto_strongest_rand_syscall(uint8_t *out, size_t out_len)
/* Useful log message for errno. */
if (errno == ENOSYS) {
- log_warn(LD_CRYPTO, "Can't get entropy from getrandom()."
- " You are running a version of Tor built to support"
- " getrandom(), but the kernel doesn't implement this"
- " function--probably because it is too old?");
+ log_notice(LD_CRYPTO, "Can't get entropy from getrandom()."
+ " You are running a version of Tor built to support"
+ " getrandom(), but the kernel doesn't implement this"
+ " function--probably because it is too old?"
+ " Trying fallback method instead.");
} else {
- log_warn(LD_CRYPTO, "Can't get entropy from getrandom(): %s.",
- strerror(errno));
+ log_notice(LD_CRYPTO, "Can't get entropy from getrandom(): %s."
+ " Trying fallback method instead.",
+ strerror(errno));
}
getrandom_works = 0; /* Don't bother trying again. */
@@ -1232,7 +1240,7 @@ crypto_strongest_rand_fallback(uint8_t *out, size_t out_len)
size_t n;
for (i = 0; filenames[i]; ++i) {
- log_debug(LD_FS, "Considering %s for entropy", filenames[i]);
+ log_debug(LD_FS, "Considering %s as entropy source", filenames[i]);
fd = open(sandbox_intern_string(filenames[i]), O_RDONLY, 0);
if (fd<0) continue;
log_info(LD_CRYPTO, "Reading entropy from \"%s\"", filenames[i]);
@@ -1241,9 +1249,10 @@ crypto_strongest_rand_fallback(uint8_t *out, size_t out_len)
if (n != out_len) {
/* LCOV_EXCL_START
* We can't make /dev/foorandom actually fail. */
- log_warn(LD_CRYPTO,
- "Error reading from entropy source (read only %lu bytes).",
- (unsigned long)n);
+ log_notice(LD_CRYPTO,
+ "Error reading from entropy source %s (read only %lu bytes).",
+ filenames[i],
+ (unsigned long)n);
return -1;
/* LCOV_EXCL_STOP */
}
diff --git a/src/common/crypto_digest.c b/src/common/crypto_digest.c
index 4177893414..cdcc1828c8 100644
--- a/src/common/crypto_digest.c
+++ b/src/common/crypto_digest.c
@@ -391,6 +391,29 @@ crypto_digest_dup(const crypto_digest_t *digest)
return tor_memdup(digest, alloc_bytes);
}
+/** Temporarily save the state of <b>digest</b> in <b>checkpoint</b>.
+ * Asserts that <b>digest</b> is a SHA1 digest object.
+ */
+void
+crypto_digest_checkpoint(crypto_digest_checkpoint_t *checkpoint,
+ const crypto_digest_t *digest)
+{
+ const size_t bytes = crypto_digest_alloc_bytes(digest->algorithm);
+ tor_assert(bytes <= sizeof(checkpoint->mem));
+ memcpy(checkpoint->mem, digest, bytes);
+}
+
+/** Restore the state of <b>digest</b> from <b>checkpoint</b>.
+ * Asserts that <b>digest</b> is a SHA1 digest object. Requires that the
+ * state was previously stored with crypto_digest_checkpoint() */
+void
+crypto_digest_restore(crypto_digest_t *digest,
+ const crypto_digest_checkpoint_t *checkpoint)
+{
+ const size_t bytes = crypto_digest_alloc_bytes(digest->algorithm);
+ memcpy(digest, checkpoint->mem, bytes);
+}
+
/** Replace the state of the digest object <b>into</b> with the state
* of the digest object <b>from</b>. Requires that 'into' and 'from'
* have the same digest type.
diff --git a/src/common/crypto_digest.h b/src/common/crypto_digest.h
index f8cd44a035..3bd74acdfa 100644
--- a/src/common/crypto_digest.h
+++ b/src/common/crypto_digest.h
@@ -56,6 +56,13 @@ typedef enum {
#define N_DIGEST_ALGORITHMS (DIGEST_SHA3_512+1)
#define N_COMMON_DIGEST_ALGORITHMS (DIGEST_SHA256+1)
+#define DIGEST_CHECKPOINT_BYTES (SIZEOF_VOID_P + 512)
+/** Structure used to temporarily save the a digest object. Only implemented
+ * for SHA1 digest for now. */
+typedef struct crypto_digest_checkpoint_t {
+ uint8_t mem[DIGEST_CHECKPOINT_BYTES];
+} crypto_digest_checkpoint_t;
+
/** A set of all the digests we commonly compute, taken on a single
* string. Any digests that are shorter than 512 bits are right-padded
* with 0 bits.
@@ -100,6 +107,10 @@ void crypto_digest_add_bytes(crypto_digest_t *digest, const char *data,
void crypto_digest_get_digest(crypto_digest_t *digest,
char *out, size_t out_len);
crypto_digest_t *crypto_digest_dup(const crypto_digest_t *digest);
+void crypto_digest_checkpoint(crypto_digest_checkpoint_t *checkpoint,
+ const crypto_digest_t *digest);
+void crypto_digest_restore(crypto_digest_t *digest,
+ const crypto_digest_checkpoint_t *checkpoint);
void crypto_digest_assign(crypto_digest_t *into,
const crypto_digest_t *from);
void crypto_hmac_sha256(char *hmac_out,
diff --git a/src/common/crypto_ed25519.c b/src/common/crypto_ed25519.c
index 1175d68f47..f1cc0cb188 100644
--- a/src/common/crypto_ed25519.c
+++ b/src/common/crypto_ed25519.c
@@ -226,8 +226,8 @@ ed25519_public_key_is_zero(const ed25519_public_key_t *pubkey)
/* Return a heap-allocated array that contains <b>msg</b> prefixed by the
* string <b>prefix_str</b>. Set <b>final_msg_len_out</b> to the size of the
- * final array. If an error occured, return NULL. It's the resonsibility of the
- * caller to free the returned array. */
+ * final array. If an error occurred, return NULL. It's the responsibility of
+ * the caller to free the returned array. */
static uint8_t *
get_prefixed_msg(const uint8_t *msg, size_t msg_len,
const char *prefix_str,
@@ -260,7 +260,7 @@ get_prefixed_msg(const uint8_t *msg, size_t msg_len,
* Set <b>signature_out</b> to a signature of the <b>len</b>-byte message
* <b>msg</b>, using the secret and public key in <b>keypair</b>.
*
- * Return 0 if we successfuly signed the message, otherwise return -1.
+ * Return 0 if we successfully signed the message, otherwise return -1.
*/
int
ed25519_sign(ed25519_signature_t *signature_out,
@@ -530,7 +530,7 @@ ed25519_keypair_blind(ed25519_keypair_t *out,
/**
* Given an ed25519 public key in <b>inp</b>, generate a corresponding blinded
* public key in <b>out</b>, blinded with the 32-byte parameter in
- * <b>param</b>. Return 0 on sucess, -1 on railure.
+ * <b>param</b>. Return 0 on success, -1 on railure.
*/
int
ed25519_public_blind(ed25519_public_key_t *out,
@@ -720,7 +720,7 @@ ed25519_impl_spot_check,(void))
return -1;
/* XXX/yawning: Someone that's more paranoid than I am, can write "Assume
- * ref0 is cannonical, and fuzz impl against it" if they want, but I doubt
+ * ref0 is canonical, and fuzz impl against it" if they want, but I doubt
* that will catch anything that the known answer tests won't.
*/
goto end;
@@ -763,7 +763,7 @@ pick_ed25519_impl(void)
/* LCOV_EXCL_STOP */
}
-/* Initialize the Ed25519 implementation. This is neccessary if you're
+/* Initialize the Ed25519 implementation. This is necessary if you're
* going to use them in a multithreaded setting, and not otherwise. */
void
ed25519_init(void)
diff --git a/src/common/crypto_rsa.c b/src/common/crypto_rsa.c
index df6fd24682..986ccb0ee2 100644
--- a/src/common/crypto_rsa.c
+++ b/src/common/crypto_rsa.c
@@ -1110,7 +1110,7 @@ crypto_pk_get_common_digests(crypto_pk_t *pk, common_digests_t *digests_out)
/** Given a crypto_pk_t <b>pk</b>, allocate a new buffer containing the
* Base64 encoding of the DER representation of the private key as a NUL
* terminated string, and return it via <b>priv_out</b>. Return 0 on
- * sucess, -1 on failure.
+ * success, -1 on failure.
*
* It is the caller's responsibility to sanitize and free the resulting buffer.
*/
diff --git a/src/common/include.am b/src/common/include.am
index 98e3984ea6..73c51ff0b2 100644
--- a/src/common/include.am
+++ b/src/common/include.am
@@ -80,6 +80,7 @@ src_common_libor_ctime_testing_a_CFLAGS = @CFLAGS_CONSTTIME@ $(TEST_CFLAGS)
LIBOR_A_SRC = \
src/common/address.c \
+ src/common/address_set.c \
src/common/backtrace.c \
src/common/buffers.c \
src/common/compat.c \
@@ -146,6 +147,7 @@ src_common_libor_event_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
COMMONHEADERS = \
src/common/address.h \
+ src/common/address_set.h \
src/common/backtrace.h \
src/common/buffers.h \
src/common/buffers_tls.h \
diff --git a/src/common/log.c b/src/common/log.c
index d59e5a4036..922e9dd38f 100644
--- a/src/common/log.c
+++ b/src/common/log.c
@@ -52,6 +52,13 @@
#define raw_assert(x) assert(x) // assert OK
+/** Defining compile-time constants for Tor log levels (used by the Rust
+ * log wrapper at src/rust/tor_log) */
+const int LOG_WARN_ = LOG_WARN;
+const int LOG_NOTICE_ = LOG_NOTICE;
+const log_domain_mask_t LD_GENERAL_ = LD_GENERAL;
+const log_domain_mask_t LD_NET_ = LD_NET;
+
/** Information for a single logfile; only used in log.c */
typedef struct logfile_t {
struct logfile_t *next; /**< Next logfile_t in the linked list. */
@@ -225,6 +232,30 @@ log_set_application_name(const char *name)
appname = name ? tor_strdup(name) : NULL;
}
+/** Return true if some of the running logs might be interested in a log
+ * message of the given severity in the given domains. If this function
+ * returns true, the log message might be ignored anyway, but if it returns
+ * false, it is definitely_ safe not to log the message. */
+int
+log_message_is_interesting(int severity, log_domain_mask_t domain)
+{
+ (void) domain;
+ return (severity <= log_global_min_severity_);
+}
+
+/**
+ * As tor_log, but takes an optional function name, and does not treat its
+ * <b>string</b> as a printf format.
+ *
+ * For use by Rust integration.
+ */
+void
+tor_log_string(int severity, log_domain_mask_t domain,
+ const char *function, const char *string)
+{
+ log_fn_(severity, domain, function, "%s", string);
+}
+
/** Log time granularity in milliseconds. */
static int log_time_granularity = 1;
@@ -1258,7 +1289,10 @@ log_level_to_string(int level)
}
/** NULL-terminated array of names for log domains such that domain_list[dom]
- * is a description of <b>dom</b>. */
+ * is a description of <b>dom</b>.
+ *
+ * Remember to update doc/tor.1.txt if you modify this list.
+ * */
static const char *domain_list[] = {
"GENERAL", "CRYPTO", "NET", "CONFIG", "FS", "PROTOCOL", "MM",
"HTTP", "APP", "CONTROL", "CIRC", "REND", "BUG", "DIR", "DIRSERV",
diff --git a/src/common/sandbox.c b/src/common/sandbox.c
index 37f582048c..3588f60dec 100644
--- a/src/common/sandbox.c
+++ b/src/common/sandbox.c
@@ -259,7 +259,8 @@ static int filter_nopar_gen[] = {
SCMP_SYS(recvmsg),
SCMP_SYS(recvfrom),
SCMP_SYS(sendto),
- SCMP_SYS(unlink)
+ SCMP_SYS(unlink),
+ SCMP_SYS(poll)
};
/* These macros help avoid the error where the number of filters we add on a
@@ -1071,25 +1072,6 @@ sb_mremap(scmp_filter_ctx ctx, sandbox_cfg_t *filter)
return 0;
}
-/**
- * Function responsible for setting up the poll syscall for
- * the seccomp filter sandbox.
- */
-static int
-sb_poll(scmp_filter_ctx ctx, sandbox_cfg_t *filter)
-{
- int rc = 0;
- (void) filter;
-
- rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(poll),
- SCMP_CMP(1, SCMP_CMP_EQ, 1),
- SCMP_CMP(2, SCMP_CMP_EQ, 10));
- if (rc)
- return rc;
-
- return 0;
-}
-
#ifdef __NR_stat64
/**
* Function responsible for setting up the stat64 syscall for
@@ -1161,7 +1143,6 @@ static sandbox_filter_func_t filter_func[] = {
sb_flock,
sb_futex,
sb_mremap,
- sb_poll,
#ifdef __NR_stat64
sb_stat64,
#endif
diff --git a/src/common/timers.c b/src/common/timers.c
index 93cde7de5f..552080b11e 100644
--- a/src/common/timers.c
+++ b/src/common/timers.c
@@ -63,7 +63,7 @@ struct timeout_cb {
#define TIMEOUT_CB_OVERRIDE
/* We're going to support timers that are pretty far out in advance. Making
* this big can be inefficient, but having a significant number of timers
- * above TIMEOUT_MAX can also be super-inefficent. Choosing 5 here sets
+ * above TIMEOUT_MAX can also be super-inefficient. Choosing 5 here sets
* timeout_max to 2^30 ticks, or 29 hours with our value for USEC_PER_TICK */
#define WHEEL_NUM 5
#include "src/ext/timeouts/timeout.c"
diff --git a/src/common/torlog.h b/src/common/torlog.h
index cadfe3b879..ac632ff521 100644
--- a/src/common/torlog.h
+++ b/src/common/torlog.h
@@ -191,6 +191,10 @@ void log_fn_ratelim_(struct ratelim_t *ratelim, int severity,
const char *format, ...)
CHECK_PRINTF(5,6);
+int log_message_is_interesting(int severity, log_domain_mask_t domain);
+void tor_log_string(int severity, log_domain_mask_t domain,
+ const char *function, const char *string);
+
#if defined(__GNUC__) && __GNUC__ <= 3
/* These are the GCC varidaic macros, so that older versions of GCC don't
@@ -248,6 +252,16 @@ void log_fn_ratelim_(struct ratelim_t *ratelim, int severity,
args, ##__VA_ARGS__)
#endif /* defined(__GNUC__) && __GNUC__ <= 3 */
+/** This defines log levels that are linked in the Rust log module, rather
+ * than re-defining these in both Rust and C.
+ *
+ * C_RUST_COUPLED src/rust/tor_log LogSeverity, LogDomain
+ */
+extern const int LOG_WARN_;
+extern const int LOG_NOTICE_;
+extern const log_domain_mask_t LD_NET_;
+extern const log_domain_mask_t LD_GENERAL_;
+
#ifdef LOG_PRIVATE
MOCK_DECL(STATIC void, logv, (int severity, log_domain_mask_t domain,
const char *funcname, const char *suffix, const char *format,
diff --git a/src/common/tortls.c b/src/common/tortls.c
index 777bdda167..05e29e22ff 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -570,13 +570,35 @@ tor_tls_create_certificate,(crypto_pk_t *rsa,
/** List of ciphers that servers should select from when the client might be
* claiming extra unsupported ciphers in order to avoid fingerprinting. */
-#define SERVER_CIPHER_LIST \
- (TLS1_TXT_DHE_RSA_WITH_AES_256_SHA ":" \
- TLS1_TXT_DHE_RSA_WITH_AES_128_SHA)
+static const char SERVER_CIPHER_LIST[] =
+#ifdef TLS1_3_TXT_AES_128_GCM_SHA256
+ /* This one can never actually get selected, since if the client lists it,
+ * we will assume that the client is honest, and not use this list.
+ * Nonetheless we list it if it's available, so that the server doesn't
+ * conclude that it has no valid ciphers if it's running with TLS1.3.
+ */
+ TLS1_3_TXT_AES_128_GCM_SHA256 ":"
+#endif
+ TLS1_TXT_DHE_RSA_WITH_AES_256_SHA ":"
+ TLS1_TXT_DHE_RSA_WITH_AES_128_SHA;
/** List of ciphers that servers should select from when we actually have
* our choice of what cipher to use. */
static const char UNRESTRICTED_SERVER_CIPHER_LIST[] =
+ /* Here are the TLS 1.3 ciphers we like, in the order we prefer. */
+#ifdef TLS1_3_TXT_AES_256_GCM_SHA384
+ TLS1_3_TXT_AES_256_GCM_SHA384 ":"
+#endif
+#ifdef TLS1_3_TXT_CHACHA20_POLY1305_SHA256
+ TLS1_3_TXT_CHACHA20_POLY1305_SHA256 ":"
+#endif
+#ifdef TLS1_3_TXT_AES_128_GCM_SHA256
+ TLS1_3_TXT_AES_128_GCM_SHA256 ":"
+#endif
+#ifdef TLS1_3_TXT_AES_128_CCM_SHA256
+ TLS1_3_TXT_AES_128_CCM_SHA256 ":"
+#endif
+
/* This list is autogenerated with the gen_server_ciphers.py script;
* don't hand-edit it. */
#ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384
@@ -1942,7 +1964,7 @@ tor_tls_handshake(tor_tls_t *tls)
return r;
}
-/** Perform the final part of the intial TLS handshake on <b>tls</b>. This
+/** Perform the final part of the initial TLS handshake on <b>tls</b>. This
* should be called for the first handshake only: it determines whether the v1
* or the v2 handshake was used, and adjusts things for the renegotiation
* handshake as appropriate.
diff --git a/src/common/util.c b/src/common/util.c
index 36b413dc82..83a35e3c06 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -3047,7 +3047,7 @@ unescape_string(const char *s, char **result, size_t *size_out)
/** Removes enclosing quotes from <b>path</b> and unescapes quotes between the
* enclosing quotes. Backslashes are not unescaped. Return the unquoted
- * <b>path</b> on sucess or 0 if <b>path</b> is not quoted correctly. */
+ * <b>path</b> on success or 0 if <b>path</b> is not quoted correctly. */
char *
get_unquoted_path(const char *path)
{
@@ -3898,7 +3898,7 @@ format_number_sigsafe(unsigned long x, char *buf, int buf_len,
* call it with a signed int and an unsigned char, and since the C standard
* does not guarantee that an int is wider than a char (an int must be at
* least 16 bits but it is permitted for a char to be that wide as well), we
- * can't assume a signed int is sufficient to accomodate an unsigned char.
+ * can't assume a signed int is sufficient to accommodate an unsigned char.
* Thus, format_helper_exit_status() will still need to emit any require '-'
* on its own.
*
@@ -3928,7 +3928,7 @@ format_dec_number_sigsafe(unsigned long x, char *buf, int buf_len)
*
* The format of <b>hex_errno</b> is: "CHILD_STATE/ERRNO\n", left-padded
* with spaces. CHILD_STATE indicates where
- * in the processs of starting the child process did the failure occur (see
+ * 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.
*
diff --git a/src/common/util.h b/src/common/util.h
index 2ee0ea28cd..653c154aba 100644
--- a/src/common/util.h
+++ b/src/common/util.h
@@ -73,9 +73,9 @@ extern int dmalloc_free(const char *file, const int line, void *pnt,
} \
STMT_END
#else /* !(defined(USE_DMALLOC)) */
-/** Release memory allocated by tor_malloc, tor_realloc, tor_strdup, etc.
- * Unlike the free() function, tor_free() will still work on NULL pointers,
- * and it sets the pointer value to NULL after freeing it.
+/** Release memory allocated by tor_malloc, tor_realloc, tor_strdup,
+ * etc. Unlike the free() function, the tor_free() macro sets the
+ * pointer value to NULL after freeing it.
*
* This is a macro. If you need a function pointer to release memory from
* tor_malloc(), use tor_free_().
@@ -88,17 +88,13 @@ extern int dmalloc_free(const char *file, const int line, void *pnt,
#ifdef __GNUC__
#define tor_free(p) STMT_BEGIN \
typeof(&(p)) tor_free__tmpvar = &(p); \
- if (PREDICT_LIKELY((*tor_free__tmpvar)!=NULL)) { \
- raw_free(*tor_free__tmpvar); \
- *tor_free__tmpvar=NULL; \
- } \
+ raw_free(*tor_free__tmpvar); \
+ *tor_free__tmpvar=NULL; \
STMT_END
#else
#define tor_free(p) STMT_BEGIN \
- if (PREDICT_LIKELY((p)!=NULL)) { \
- raw_free(p); \
- (p)=NULL; \
- } \
+ raw_free(p); \
+ (p)=NULL; \
STMT_END
#endif
#endif /* defined(USE_DMALLOC) */
diff --git a/src/config/geoip b/src/config/geoip
index 4df2c3b871..89ab6da9c4 100644
--- a/src/config/geoip
+++ b/src/config/geoip
@@ -1,4 +1,4 @@
-# Last updated based on January 5 2018 Maxmind GeoLite2 Country
+# Last updated based on March 8 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
@@ -55,7 +55,8 @@
18927616,18929663,TW
18929664,18931711,KR
18931712,18933759,JP
-18933760,18939903,SG
+18933760,18935807,SG
+18935808,18939903,HK
18939904,19005439,JP
19005440,19005440,CN
19005441,19136511,TW
@@ -93,7 +94,7 @@
33554432,34603007,FR
34604544,34605055,DE
34612224,34612479,AU
-34612480,34612735,IL
+34612480,34612735,GB
34620416,34620927,SE
34620928,34621439,IT
34621952,34622463,NL
@@ -116,14 +117,14 @@
34912256,34912511,DE
34912512,34912767,ES
34912768,34913279,DE
-34928384,34928639,DE
34930688,34938879,DE
34938880,34947071,FR
34953216,34954751,AT
34954752,34955263,NL
34955264,34959359,AT
34959360,34963455,NL
-34992128,34993151,NL
+34992384,34992639,NL
+34992896,34993151,NL
34993152,34993663,FR
34993664,34993919,AT
34993920,34994175,DE
@@ -179,7 +180,9 @@
68169728,68171775,CA
68171776,68194815,US
68194816,68194879,CA
-68194880,68305407,US
+68194880,68204031,US
+68204032,68204159,CU
+68204160,68305407,US
68305408,68305919,MX
68305920,68978687,US
68978688,68980735,CA
@@ -299,6 +302,9 @@
85395968,85396223,LU
85396480,85397503,ES
85398016,85398047,NO
+85398048,85398055,DK
+85398056,85398057,SE
+85398058,85398059,NO
85398528,85399039,SA
85399040,85399047,CH
85399552,85400063,FR
@@ -519,7 +525,9 @@
86769664,86773759,RU
86773760,86777855,GB
86777856,86779903,AZ
-86779904,86781183,RU
+86779904,86780671,RU
+86780672,86780927,GB
+86780928,86781183,RU
86781184,86781439,NL
86781440,86786047,RU
86786048,86788095,NO
@@ -550,15 +558,13 @@
86849536,86850559,CZ
86850560,86851327,NL
86851328,86851583,CZ
-86851584,86853631,RU
-86853632,86855679,NL
+86851584,86855679,NL
86855680,86856703,RU
-86856704,86857727,NL
-86857728,86859775,RU
+86856704,86858751,NL
+86858752,86859775,RU
86859776,86863871,DE
86863872,86867967,EE
86867968,86872063,JO
-86872064,86874111,GB
86874112,86876159,NO
86876160,86880255,ES
86880256,86882303,DE
@@ -649,8 +655,8 @@
87769088,87777279,ES
87777280,87777791,CZ
87777792,87778303,RU
-87778304,87779583,CZ
-87779584,87779839,UA
+87778304,87779327,CZ
+87779328,87779839,UA
87779840,87785471,CZ
87785472,87793663,RU
87793664,87818239,CZ
@@ -661,7 +667,8 @@
87890688,87890943,US
87890944,87891199,NL
87891200,87891967,IR
-87891968,87900159,GB
+87891968,87896063,DE
+87896064,87900159,GB
87900160,87902207,DE
87902208,87904255,IR
87904256,87906303,DE
@@ -684,53 +691,389 @@
87958027,87958028,GB
87958029,87958029,IN
87958030,87959295,GB
-87959296,87959539,NL
+87959296,87959507,NL
+87959508,87959519,BE
+87959520,87959539,NL
87959540,87959540,BE
87959541,87959544,NL
87959545,87959545,BE
87959546,87959551,NL
87959552,87959807,GB
-87959808,87959817,DE
-87959818,87959818,NL
-87959819,87959835,DE
-87959836,87959836,BE
-87959837,87960063,DE
-87960064,87960321,GB
-87960322,87960322,NL
-87960323,87961343,GB
-87961344,87961586,US
-87961587,87961587,CA
-87961588,87963647,US
-87963648,87963807,GB
-87963808,87963810,US
-87963811,87963811,KP
-87963812,87963908,GB
+87959808,87960063,DE
+87960064,87961343,GB
+87961344,87961584,US
+87961585,87961587,CA
+87961588,87961588,US
+87961589,87961591,CA
+87961592,87963647,US
+87963648,87963652,GB
+87963653,87963655,AS
+87963656,87963656,GB
+87963657,87963659,AI
+87963660,87963660,GB
+87963661,87963663,AG
+87963664,87963664,GB
+87963665,87963667,AR
+87963668,87963668,GB
+87963669,87963671,AW
+87963672,87963672,GB
+87963673,87963675,BS
+87963676,87963676,GB
+87963677,87963679,BB
+87963680,87963680,GB
+87963681,87963683,BZ
+87963684,87963684,GB
+87963685,87963687,BM
+87963688,87963688,GB
+87963689,87963691,BO
+87963692,87963696,GB
+87963697,87963699,KY
+87963700,87963700,GB
+87963701,87963703,CL
+87963704,87963708,GB
+87963709,87963711,CO
+87963712,87963712,GB
+87963713,87963715,CK
+87963716,87963716,GB
+87963717,87963719,CR
+87963720,87963720,GB
+87963721,87963723,CU
+87963724,87963724,GB
+87963725,87963727,DM
+87963728,87963728,GB
+87963729,87963731,DO
+87963732,87963732,GB
+87963733,87963735,EC
+87963736,87963736,GB
+87963737,87963739,SV
+87963740,87963740,GB
+87963741,87963743,FK
+87963744,87963744,GB
+87963745,87963747,FJ
+87963748,87963748,GB
+87963749,87963751,GD
+87963752,87963752,GB
+87963753,87963755,GP
+87963756,87963756,GB
+87963757,87963759,GU
+87963760,87963760,GB
+87963761,87963763,GT
+87963764,87963768,GB
+87963769,87963771,HT
+87963772,87963772,GB
+87963773,87963775,HN
+87963776,87963776,GB
+87963777,87963779,JM
+87963780,87963780,GB
+87963781,87963783,KI
+87963784,87963784,GB
+87963785,87963787,MS
+87963788,87963788,GB
+87963789,87963791,NR
+87963792,87963792,GB
+87963793,87963795,NC
+87963796,87963796,GB
+87963797,87963799,NI
+87963800,87963800,GB
+87963801,87963803,NU
+87963804,87963804,GB
+87963805,87963807,NF
+87963808,87963808,US
+87963809,87963811,KP
+87963812,87963812,GB
+87963813,87963815,PW
+87963816,87963816,GB
+87963817,87963819,PA
+87963820,87963820,GB
+87963821,87963823,PG
+87963824,87963824,GB
+87963825,87963827,PY
+87963828,87963828,GB
+87963829,87963831,PE
+87963832,87963832,GB
+87963833,87963835,PH
+87963836,87963836,GB
+87963837,87963839,PN
+87963840,87963840,GB
+87963841,87963843,PR
+87963844,87963844,GB
+87963845,87963847,KN
+87963848,87963848,GB
+87963849,87963851,LC
+87963852,87963852,GB
+87963853,87963855,VC
+87963856,87963856,GB
+87963857,87963859,WS
+87963860,87963860,GB
+87963861,87963863,SB
+87963864,87963864,GB
+87963865,87963867,SR
+87963868,87963868,GB
+87963869,87963871,SZ
+87963872,87963880,GB
+87963881,87963883,TT
+87963884,87963884,GB
+87963885,87963887,TC
+87963888,87963888,GB
+87963889,87963891,TV
+87963892,87963892,GB
+87963893,87963895,UY
+87963896,87963908,GB
87963909,87963911,US
-87963912,87963943,GB
+87963912,87963912,GB
+87963913,87963915,DE
+87963916,87963943,GB
87963944,87963947,US
-87963948,87963976,GB
+87963948,87963956,GB
+87963957,87963959,CA
+87963960,87963976,GB
87963977,87963979,US
-87963980,87964005,GB
-87964006,87964006,VE
-87964007,87964237,GB
-87964238,87964239,DO
-87964240,87964400,GB
+87963980,87964000,GB
+87964001,87964003,VU
+87964004,87964004,GB
+87964005,87964007,VE
+87964008,87964164,GB
+87964165,87964167,AS
+87964168,87964168,GB
+87964169,87964171,AI
+87964172,87964172,GB
+87964173,87964175,AG
+87964176,87964176,GB
+87964177,87964179,AR
+87964180,87964180,GB
+87964181,87964183,AW
+87964184,87964184,GB
+87964185,87964187,BS
+87964188,87964188,GB
+87964189,87964191,BB
+87964192,87964192,GB
+87964193,87964195,BZ
+87964196,87964196,GB
+87964197,87964199,BM
+87964200,87964200,GB
+87964201,87964203,BO
+87964204,87964208,GB
+87964209,87964211,KY
+87964212,87964212,GB
+87964213,87964215,CL
+87964216,87964216,GB
+87964217,87964219,CO
+87964220,87964220,GB
+87964221,87964223,CK
+87964224,87964224,GB
+87964225,87964227,CR
+87964228,87964228,GB
+87964229,87964231,CU
+87964232,87964232,GB
+87964233,87964235,DM
+87964236,87964236,GB
+87964237,87964239,DO
+87964240,87964240,GB
+87964241,87964243,EC
+87964244,87964244,GB
+87964245,87964247,SV
+87964248,87964248,GB
+87964249,87964251,FK
+87964252,87964252,GB
+87964253,87964255,FJ
+87964256,87964256,GB
+87964257,87964259,GD
+87964260,87964260,GB
+87964261,87964263,GP
+87964264,87964264,GB
+87964265,87964267,GT
+87964268,87964272,GB
+87964273,87964275,HT
+87964276,87964276,GB
+87964277,87964279,HN
+87964280,87964280,GB
+87964281,87964283,JM
+87964284,87964284,GB
+87964285,87964287,KI
+87964288,87964288,GB
+87964289,87964291,MS
+87964292,87964292,GB
+87964293,87964295,NR
+87964296,87964296,GB
+87964297,87964299,NC
+87964300,87964300,GB
+87964301,87964303,NI
+87964304,87964304,GB
+87964305,87964307,NU
+87964308,87964308,GB
+87964309,87964311,NF
+87964312,87964312,GB
+87964313,87964315,PA
+87964316,87964316,GB
+87964317,87964319,PY
+87964320,87964320,GB
+87964321,87964323,PE
+87964324,87964324,GB
+87964325,87964327,PN
+87964328,87964328,GB
+87964329,87964331,PR
+87964332,87964332,GB
+87964333,87964335,KN
+87964336,87964336,GB
+87964337,87964339,LC
+87964340,87964340,GB
+87964341,87964343,PM
+87964344,87964344,GB
+87964345,87964347,VC
+87964348,87964348,GB
+87964349,87964351,WS
+87964352,87964352,GB
+87964353,87964355,SB
+87964356,87964356,GB
+87964357,87964359,SR
+87964360,87964360,GB
+87964361,87964363,SZ
+87964364,87964372,GB
+87964373,87964375,TT
+87964376,87964376,GB
+87964377,87964379,TC
+87964380,87964380,GB
+87964381,87964383,TV
+87964384,87964384,GB
+87964385,87964387,UY
+87964388,87964400,GB
87964401,87964401,US
-87964402,87964420,GB
+87964402,87964404,GB
+87964405,87964407,DE
+87964408,87964420,GB
87964421,87964443,US
87964444,87964445,GB
87964446,87964447,US
-87964448,87964449,CA
-87964450,87964455,GB
+87964448,87964451,CA
+87964452,87964455,GB
87964456,87964491,US
87964492,87964495,VU
87964496,87964499,VE
87964500,87964507,US
-87964508,87964716,GB
-87964717,87964717,BW
-87964718,87964720,GB
-87964721,87964721,BN
-87964722,87964927,GB
+87964508,87964676,GB
+87964677,87964679,AD
+87964680,87964680,GB
+87964681,87964683,AO
+87964684,87964684,GB
+87964685,87964687,AM
+87964688,87964688,GB
+87964689,87964691,AZ
+87964692,87964692,GB
+87964693,87964695,BH
+87964696,87964696,GB
+87964697,87964699,BD
+87964700,87964700,GB
+87964701,87964703,BY
+87964704,87964704,GB
+87964705,87964707,BJ
+87964708,87964708,GB
+87964709,87964711,BT
+87964712,87964712,GB
+87964713,87964715,BA
+87964716,87964716,GB
+87964717,87964719,BW
+87964720,87964720,GB
+87964721,87964723,BN
+87964724,87964724,GB
+87964725,87964727,BG
+87964728,87964728,GB
+87964729,87964731,BF
+87964732,87964732,GB
+87964733,87964735,BI
+87964736,87964736,GB
+87964737,87964739,KH
+87964740,87964740,GB
+87964741,87964743,CM
+87964744,87964744,GB
+87964745,87964747,CV
+87964748,87964748,GB
+87964749,87964751,CF
+87964752,87964752,GB
+87964753,87964755,TD
+87964756,87964760,GB
+87964761,87964763,CX
+87964764,87964764,GB
+87964765,87964767,CC
+87964768,87964768,GB
+87964769,87964771,KM
+87964772,87964772,GB
+87964773,87964775,CD
+87964776,87964776,GB
+87964777,87964779,CI
+87964780,87964780,GB
+87964781,87964783,CY
+87964784,87964784,GB
+87964785,87964787,EG
+87964788,87964788,GB
+87964789,87964791,GQ
+87964792,87964792,GB
+87964793,87964795,ER
+87964796,87964796,GB
+87964797,87964799,EE
+87964800,87964800,GB
+87964801,87964803,ET
+87964804,87964804,GB
+87964805,87964807,FO
+87964808,87964808,GB
+87964809,87964811,GA
+87964812,87964812,GB
+87964813,87964815,GM
+87964816,87964816,GB
+87964817,87964819,GE
+87964820,87964820,GB
+87964821,87964823,GH
+87964824,87964824,GB
+87964825,87964827,GI
+87964828,87964828,GB
+87964829,87964831,GR
+87964832,87964832,GB
+87964833,87964835,GL
+87964836,87964836,GB
+87964837,87964839,GU
+87964840,87964840,GB
+87964841,87964843,GW
+87964844,87964844,GB
+87964845,87964847,GN
+87964848,87964848,GB
+87964849,87964851,IR
+87964852,87964852,GB
+87964853,87964855,IQ
+87964856,87964856,GB
+87964857,87964857,IE
+87964858,87964858,GB
+87964859,87964859,IE
+87964860,87964860,GB
+87964861,87964863,JO
+87964864,87964864,GB
+87964865,87964867,KZ
+87964868,87964868,GB
+87964869,87964871,KE
+87964872,87964872,GB
+87964873,87964874,KW
+87964875,87964876,GB
+87964877,87964879,KG
+87964880,87964880,GB
+87964881,87964883,LA
+87964884,87964884,GB
+87964885,87964887,LV
+87964888,87964888,GB
+87964889,87964891,LB
+87964892,87964892,GB
+87964893,87964895,LS
+87964896,87964896,GB
+87964897,87964899,LR
+87964900,87964900,GB
+87964901,87964903,LY
+87964904,87964904,GB
+87964905,87964907,LI
+87964908,87964908,GB
+87964909,87964911,LT
+87964912,87964916,GB
+87964917,87964919,MK
+87964920,87964920,GB
+87964921,87964923,MG
+87964924,87964924,GB
+87964925,87964927,MW
87964928,87964931,MV
87964932,87964935,ML
87964936,87964936,MN
@@ -748,7 +1091,8 @@
87964980,87964983,NP
87964984,87964987,NE
87964988,87964991,NG
-87964992,87964995,CZ
+87964992,87964992,CZ
+87964993,87964995,KP
87964996,87964999,OM
87965000,87965003,PK
87965004,87965007,PW
@@ -797,17 +1141,248 @@
87965172,87965175,DZ
87965176,87965179,AX
87965180,87965183,MN
-87965184,87965294,GB
-87965295,87965295,EG
-87965296,87965460,GB
-87965461,87965461,MN
-87965462,87965535,GB
+87965184,87965188,GB
+87965189,87965191,AD
+87965192,87965192,GB
+87965193,87965195,AO
+87965196,87965196,GB
+87965197,87965199,AM
+87965200,87965200,GB
+87965201,87965203,AZ
+87965204,87965204,GB
+87965205,87965207,BH
+87965208,87965208,GB
+87965209,87965211,BD
+87965212,87965212,GB
+87965213,87965215,BY
+87965216,87965216,GB
+87965217,87965219,BJ
+87965220,87965220,GB
+87965221,87965223,BT
+87965224,87965224,GB
+87965225,87965227,BA
+87965228,87965228,GB
+87965229,87965231,BW
+87965232,87965232,GB
+87965233,87965235,BN
+87965236,87965236,GB
+87965237,87965239,BG
+87965240,87965240,GB
+87965241,87965243,BF
+87965244,87965244,GB
+87965245,87965247,BI
+87965248,87965248,GB
+87965249,87965251,KH
+87965252,87965252,GB
+87965253,87965255,CM
+87965256,87965256,GB
+87965257,87965259,CV
+87965260,87965260,GB
+87965261,87965263,CF
+87965264,87965264,GB
+87965265,87965267,TD
+87965268,87965268,GB
+87965269,87965271,CX
+87965272,87965272,GB
+87965273,87965275,CC
+87965276,87965276,GB
+87965277,87965279,KM
+87965280,87965280,GB
+87965281,87965283,CD
+87965284,87965284,GB
+87965285,87965287,CI
+87965288,87965288,GB
+87965289,87965291,CY
+87965292,87965292,GB
+87965293,87965295,EG
+87965296,87965296,GB
+87965297,87965299,GQ
+87965300,87965300,GB
+87965301,87965303,ER
+87965304,87965304,GB
+87965305,87965307,EE
+87965308,87965308,GB
+87965309,87965311,ET
+87965312,87965312,GB
+87965313,87965315,FO
+87965316,87965316,GB
+87965317,87965319,GA
+87965320,87965320,GB
+87965321,87965323,GM
+87965324,87965324,GB
+87965325,87965327,GE
+87965328,87965328,GB
+87965329,87965331,GH
+87965332,87965332,GB
+87965333,87965335,GI
+87965336,87965336,GB
+87965337,87965339,GR
+87965340,87965340,GB
+87965341,87965343,GL
+87965344,87965344,GB
+87965345,87965347,GW
+87965348,87965348,GB
+87965349,87965351,GN
+87965352,87965352,GB
+87965353,87965355,IR
+87965356,87965356,GB
+87965357,87965359,IQ
+87965360,87965360,GB
+87965361,87965363,IE
+87965364,87965364,GB
+87965365,87965367,JO
+87965368,87965368,GB
+87965369,87965371,KZ
+87965372,87965372,GB
+87965373,87965375,KE
+87965376,87965376,GB
+87965377,87965379,KW
+87965380,87965380,GB
+87965381,87965383,KG
+87965384,87965384,GB
+87965385,87965387,LA
+87965388,87965389,GB
+87965390,87965391,LV
+87965392,87965392,GB
+87965393,87965395,LB
+87965396,87965396,GB
+87965397,87965399,LS
+87965400,87965400,GB
+87965401,87965403,LR
+87965404,87965404,GB
+87965405,87965407,LY
+87965408,87965408,GB
+87965409,87965411,LI
+87965412,87965412,GB
+87965413,87965415,LT
+87965416,87965420,GB
+87965421,87965423,MK
+87965424,87965424,GB
+87965425,87965427,MG
+87965428,87965428,GB
+87965429,87965431,MW
+87965432,87965432,GB
+87965433,87965435,MV
+87965436,87965436,GB
+87965437,87965439,ML
+87965440,87965440,GB
+87965441,87965443,MT
+87965444,87965444,GB
+87965445,87965447,MR
+87965448,87965448,GB
+87965449,87965451,MU
+87965452,87965452,GB
+87965453,87965455,MD
+87965456,87965456,GB
+87965457,87965459,MC
+87965460,87965460,GB
+87965461,87965463,MN
+87965464,87965464,GB
+87965465,87965467,ME
+87965468,87965468,GB
+87965469,87965471,MA
+87965472,87965472,GB
+87965473,87965475,MZ
+87965476,87965476,GB
+87965477,87965479,MM
+87965480,87965480,GB
+87965481,87965483,NA
+87965484,87965484,GB
+87965485,87965487,NP
+87965488,87965488,GB
+87965489,87965491,NE
+87965492,87965492,GB
+87965493,87965495,NG
+87965496,87965496,GB
+87965497,87965499,OM
+87965500,87965500,GB
+87965501,87965503,PK
+87965504,87965504,GB
+87965505,87965507,PS
+87965508,87965508,GB
+87965509,87965511,QA
+87965512,87965512,GB
+87965513,87965515,DJ
+87965516,87965516,GB
+87965517,87965519,CG
+87965520,87965520,GB
+87965521,87965523,RO
+87965524,87965524,GB
+87965525,87965527,RW
+87965528,87965528,GB
+87965529,87965531,SH
+87965532,87965532,GB
+87965533,87965535,PM
87965536,87965539,SM
-87965540,87965562,GB
-87965563,87965563,SK
-87965564,87965664,GB
-87965665,87965665,HR
-87965666,87965695,GB
+87965540,87965540,GB
+87965541,87965543,ST
+87965544,87965544,GB
+87965545,87965547,SA
+87965548,87965548,GB
+87965549,87965551,SN
+87965552,87965552,GB
+87965553,87965555,RS
+87965556,87965556,GB
+87965557,87965559,SL
+87965560,87965560,GB
+87965561,87965563,SK
+87965564,87965564,GB
+87965565,87965567,SI
+87965568,87965568,GB
+87965569,87965571,SO
+87965572,87965572,GB
+87965573,87965575,LK
+87965576,87965576,GB
+87965577,87965579,SD
+87965580,87965580,GB
+87965581,87965583,SJ
+87965584,87965584,GB
+87965585,87965587,SY
+87965588,87965588,GB
+87965589,87965591,TJ
+87965592,87965592,GB
+87965593,87965595,TZ
+87965596,87965596,GB
+87965597,87965599,TH
+87965600,87965600,GB
+87965601,87965603,TG
+87965604,87965604,GB
+87965605,87965607,TN
+87965608,87965608,GB
+87965609,87965611,TM
+87965612,87965612,GB
+87965613,87965615,UG
+87965616,87965616,GB
+87965617,87965619,PT
+87965620,87965624,GB
+87965625,87965627,UA
+87965628,87965629,GB
+87965630,87965630,AE
+87965631,87965632,GB
+87965633,87965635,UZ
+87965636,87965636,GB
+87965637,87965639,VA
+87965640,87965640,GB
+87965641,87965643,VN
+87965644,87965644,GB
+87965645,87965647,YE
+87965648,87965648,GB
+87965649,87965651,ZM
+87965652,87965652,GB
+87965653,87965655,ZW
+87965656,87965656,GB
+87965657,87965659,PT
+87965660,87965664,GB
+87965665,87965667,HR
+87965668,87965672,GB
+87965673,87965675,AF
+87965676,87965676,GB
+87965677,87965679,AL
+87965680,87965680,GB
+87965681,87965683,DZ
+87965684,87965684,GB
+87965685,87965687,AX
+87965688,87965695,GB
87965696,87967743,DE
87967744,87969791,IT
87969792,87970815,IM
@@ -1137,7 +1712,7 @@
93419520,93421567,IT
93421568,93425663,DE
93425664,93427085,CZ
-93427086,93427086,DE
+93427086,93427086,US
93427087,93427711,CZ
93427712,93429759,NO
93429760,93431807,RU
@@ -1230,8 +1805,8 @@
94177536,94177791,IT
94177792,94178047,DK
94178048,94178303,EE
-94178304,94178559,IE
-94178560,94180351,EE
+94178304,94179071,IE
+94179072,94180351,EE
94180352,94180607,PT
94180608,94181631,EE
94181632,94181887,CZ
@@ -1897,7 +2472,9 @@
136415667,136415743,CA
136415744,136702290,US
136702291,136702291,UM
-136702292,139954241,US
+136702292,136810503,US
+136810504,136810504,DE
+136810505,139954241,US
139954242,139954242,ES
139954243,151521029,US
151521030,151521030,FR
@@ -1914,7 +2491,11 @@
204047872,204047999,PR
204048000,204048031,US
204048032,204048047,PR
-204048048,209472767,US
+204048048,209100799,US
+209100800,209101823,VI
+209101824,209102335,US
+209102336,209102847,VI
+209102848,209472767,US
209472768,209472768,IN
209472769,212791831,US
212791832,212791839,VI
@@ -1924,7 +2505,9 @@
214698240,214698255,VI
214698256,214698303,US
214698304,214698311,VI
-214698312,214777855,US
+214698312,214699007,US
+214699008,214700031,VI
+214700032,214777855,US
214777856,214786303,PR
214786304,214787071,US
214787072,214788095,PR
@@ -1932,7 +2515,8 @@
217809408,217809663,GB
217809664,219512063,US
219512064,219512319,GB
-219512320,221642751,US
+219512320,221577215,US
+221577216,221642751,SE
221642752,221773823,AU
221773824,222494719,US
222494720,222527487,SG
@@ -2000,8 +2584,7 @@
225068544,225069055,IE
225069056,225070079,US
225070080,225070591,NL
-225070592,225071103,PR
-225071104,225073151,US
+225070592,225073151,US
225073152,225073663,IE
225073664,225074687,KR
225074688,225076735,US
@@ -2010,13 +2593,11 @@
225077760,225078783,US
225078784,225079295,IE
225079296,225079807,HK
-225079808,225080319,PR
-225080320,225080831,US
+225079808,225080831,US
225080832,225080895,JP
225080896,225081855,US
225081856,225082367,AU
-225082368,225082879,GB
-225082880,225084415,US
+225082368,225084415,US
225084416,225085439,FR
225085440,225085951,NL
225085952,225086463,FR
@@ -2039,15 +2620,19 @@
225098752,225099263,JP
225099264,225099775,US
225099776,225100287,SG
-225100288,225100799,AU
-225100800,225101823,US
-225101824,225102335,AU
-225102336,225443839,US
+225100288,225101823,US
+225101824,225102847,AU
+225102848,225105407,US
+225105408,225105663,IE
+225105664,225105919,US
+225105920,225106431,IE
+225106432,225443839,US
225443840,225705983,JP
225705984,226230271,US
226230272,226361343,KR
226361344,226492415,IN
-226492416,231800831,US
+226492416,231735295,US
+231735296,231800831,JP
231800832,231866367,KR
231866368,231997439,AU
231997440,233046015,US
@@ -2055,7 +2640,9 @@
233177088,233308159,JP
233308160,233570303,IN
233570304,233832447,AU
-233832448,234487807,US
+233832448,234356735,US
+234356736,234364927,JP
+234364928,234487807,US
234487808,234618879,SG
234618880,234881023,US
234881024,234883071,CN
@@ -2125,7 +2712,7 @@
243270656,243271679,NZ
243271680,243272703,TH
243273728,243277823,JP
-243277824,243286015,AU
+243277824,243286015,SG
243286016,243302399,JP
243302400,243400703,KR
243400704,243531775,CN
@@ -2174,7 +2761,9 @@
265003520,265003547,HU
265003548,265003548,FR
265003549,265003775,HU
-265003776,265025791,US
+265003776,265005311,US
+265005312,265005567,GB
+265005568,265025791,US
265025792,265026047,GB
265026048,265527295,US
265527296,265529599,JP
@@ -2399,19 +2988,29 @@
301989376,301989631,SG
301989632,301989711,US
301989712,301989719,JP
-301989720,313720831,US
+301989720,310509567,US
+310509568,310575103,GB
+310575104,310902783,US
+310902784,310968319,SG
+310968320,313720831,US
313720832,313786367,JP
313786368,313917439,US
313917440,313982975,JP
-313982976,314703871,US
+313982976,314048511,US
+314048512,314179583,DE
+314179584,314703871,US
314703872,314966015,DE
314966016,315097087,US
315097088,315162623,IE
-315162624,317128703,US
+315162624,316932095,US
+316932096,316997631,BR
+316997632,317128703,US
317128704,317194239,BR
317194240,322058771,US
322058772,322058772,CL
-322058773,344262655,US
+322058773,337919999,US
+337920000,337928191,AU
+337928192,344262655,US
344262656,344262911,GB
344262912,344592895,US
344592896,344592945,GB
@@ -2469,7 +3068,9 @@
348110848,348127231,AU
348127232,353769239,US
353769240,353769240,FR
-353769241,372398271,US
+353769241,358157194,US
+358157195,358157195,NO
+358157196,372398271,US
372398272,372398303,AU
372398304,385884159,US
385884160,385888255,NL
@@ -2620,7 +3221,9 @@
388224000,388225023,NL
388225024,388272127,US
388272128,388280319,NL
-388280320,388288511,US
+388280320,388282367,US
+388282368,388283391,NL
+388283392,388288511,US
388288512,388293631,NL
388293632,388294143,US
388294144,388296703,NL
@@ -2684,11 +3287,11 @@
388849664,388853759,NL
388853760,388856831,US
388856832,388857343,NL
-388857344,388862975,US
+388857344,388857599,US
+388857600,388857855,NL
+388857856,388862975,US
388862976,388865023,NL
-388865024,388866047,US
-388866048,388870143,NL
-388870144,388885503,US
+388865024,388885503,US
388885504,388890623,NL
388890624,388893695,US
388893696,388894719,NL
@@ -2734,20 +3337,20 @@
389286912,389293055,NL
389293056,389296127,US
389296128,389300223,NL
-389300224,389319167,US
+389300224,389311231,US
+389311232,389311487,NL
+389311488,389319167,US
389319168,389319679,NL
389319680,389320191,US
389320192,389320447,NL
389320448,389327359,US
389327360,389327615,NL
-389327616,389350143,US
-389350144,389350399,NL
+389327616,389349375,US
+389349376,389350399,NL
389350400,389350655,US
389350656,389351423,NL
389351424,389351935,US
-389351936,389352959,NL
-389352960,389353215,US
-389353216,389365759,NL
+389351936,389365759,NL
389365760,389391359,US
389391360,389394431,NL
389394432,389413375,US
@@ -2767,9 +3370,7 @@
389521408,389554175,US
389554176,389562367,NL
389562368,389570559,US
-389570560,389571071,NL
-389571072,389571583,US
-389571584,389571839,NL
+389570560,389571839,NL
389571840,389572095,US
389572096,389572607,NL
389572608,389572863,US
@@ -2917,7 +3518,9 @@
392044352,392044359,CA
392044360,392055943,US
392055944,392055951,GB
-392055952,392103471,US
+392055952,392097279,US
+392097280,392097295,GB
+392097296,392103471,US
392103472,392103479,GB
392103480,392112815,US
392112816,392112823,GB
@@ -2977,8 +3580,8 @@
392660416,392660447,AT
392660448,392660607,US
392660608,392660671,GB
-392660672,392660767,US
-392660768,392660799,FR
+392660672,392660735,US
+392660736,392660799,FR
392660800,392661887,US
392661888,392661951,JP
392661952,392662143,US
@@ -3220,12 +3823,14 @@
393213952,394264575,US
394264576,394264831,CA
394270720,394271231,NL
-394280960,394281215,US
+394280960,394281471,US
394296320,394296831,NL
394297344,394559743,US
-394575872,394576127,CA
+394575872,394576383,CA
394592256,394593279,US
-394608640,394608895,CA
+394608640,394608703,CA
+394608704,394608711,US
+394608712,394608895,CA
394625024,394756351,US
394772480,394772735,CA
394788864,394854399,US
@@ -3242,24 +3847,17 @@
395034624,395034879,US
395051008,395051263,CA
395067392,395067647,US
-395083776,395084031,US
-395100160,395100415,US
-395116544,395116799,US
-395132928,395133183,US
+395083776,395149311,US
395149312,395149567,CA
395165696,395165951,US
395182080,395182335,CA
395198464,395198719,US
-395214848,395215103,US
-395231232,395231487,US
-395247616,395313407,US
-395329536,395329791,US
+395214848,395345919,US
395345920,395346175,CA
395362304,395362559,US
-395378688,395493375,US
+395378688,395477247,US
395493376,395493631,CA
-395493632,395576319,US
-395591680,395591935,US
+395509760,395608063,US
395608064,395640831,CA
395657216,395657471,US
395673600,395673855,CA
@@ -3267,16 +3865,16 @@
395706368,395706623,CA
395722752,395723007,US
395739136,395771903,US
-395771904,395788287,CA
+395771904,395772159,CA
395788288,395788543,US
-395788544,395837439,CA
+395804672,395837439,CA
395837440,395903231,US
395919360,395919615,CA
395935744,395935999,CA
395952128,395952383,US
-395968512,395984895,CA
+395968512,395969023,CA
395984896,395985151,US
-395985152,396034047,CA
+396001280,396034047,CA
396034048,396034303,US
396050432,396050687,CA
396066816,396067071,CA
@@ -3284,21 +3882,27 @@
396099584,396263423,US
396263424,396263679,CA
396279808,396280063,US
-396296192,396443647,US
+396296192,396427519,US
396443648,396443903,CA
-396443904,396509183,US
+396460032,396493055,US
396509184,396509439,PR
-396509440,396607487,US
+396525568,396591359,US
396607488,396607743,CA
-396607744,396754943,US
+396623872,396754943,US
396754944,396755199,CA
-396787712,396787967,US
-396820480,397082879,US
+396771328,396771583,US
+396787712,396820735,US
+396836864,396837119,CA
+396853248,397115391,US
397115392,397115647,CA
-397148160,397345023,US
+397131776,397132031,US
+397148160,397377535,US
397377536,397377791,CA
+397393920,397394175,US
397410304,397410559,CA
+397426688,397426943,US
397443072,397443327,US
+397459456,397459711,CA
397475840,397541375,US
397541376,397541887,CA
397574144,397574399,US
@@ -3394,9 +3998,9 @@
399380480,399388671,NL
399388672,399396863,US
399396864,399407103,NL
-399407104,399458303,US
-399458304,399466495,NL
-399466496,399484927,US
+399407104,399433727,US
+399433728,399434751,NL
+399434752,399484927,US
399484928,399485183,NL
399485184,399486975,US
399486976,399491071,NL
@@ -3412,8 +4016,8 @@
399642624,399643647,NL
399643648,399644671,US
399644672,399647231,NL
-399647232,399648767,US
-399648768,399650815,NL
+399647232,399647743,US
+399647744,399650815,NL
399650816,399688191,US
399688192,399689727,NL
399689728,399702015,US
@@ -3427,8 +4031,8 @@
399739648,399740927,US
399740928,399749119,NL
399749120,399769855,US
-399769856,399770111,NL
-399770112,399782911,US
+399769856,399770367,NL
+399770368,399782911,US
399782912,399783167,NL
399783168,399797247,US
399797248,399797759,NL
@@ -3472,7 +4076,9 @@
400112640,400113663,NL
400113664,400121855,US
400121856,400122367,NL
-400122368,400124927,US
+400122368,400122623,US
+400122624,400122879,NL
+400122880,400124927,US
400124928,400125951,NL
400125952,400130559,US
400130560,400131071,NL
@@ -3545,7 +4151,9 @@
400884256,400884287,US
400884288,400884319,CA
400884320,400884359,US
-400884360,400884455,CA
+400884360,400884415,CA
+400884416,400884431,US
+400884432,400884455,CA
400884456,400884463,US
400884464,400884471,CA
400884472,400884479,US
@@ -3554,7 +4162,7 @@
400884992,400885007,US
400885008,400885095,CA
400885096,400885103,US
-400885104,400885111,GB
+400885104,400885111,CA
400885112,400885119,US
400885120,400885223,CA
400885224,400885227,US
@@ -3564,9 +4172,11 @@
400885408,400885439,US
400885440,400885783,CA
400885784,400885791,US
-400885792,400885903,CA
-400885904,400885919,US
-400885920,400886031,CA
+400885792,400885887,CA
+400885888,400885919,US
+400885920,400885999,CA
+400886000,400886015,US
+400886016,400886031,CA
400886032,400886047,US
400886048,400886095,CA
400886096,400886111,US
@@ -3581,10 +4191,11 @@
400886200,400886303,CA
400886304,400886335,US
400886336,400886351,CA
-400886352,400886383,US
-400886384,400886407,CA
+400886352,400886399,US
+400886400,400886407,CA
400886408,400886415,US
-400886416,400886463,CA
+400886416,400886455,CA
+400886456,400886463,SE
400886464,400886527,US
400886528,400886583,CA
400886584,400886591,US
@@ -3598,7 +4209,9 @@
400887152,400887175,US
400887176,400887231,CA
400887232,400887263,US
-400887264,400887335,CA
+400887264,400887311,CA
+400887312,400887327,US
+400887328,400887335,CA
400887336,400887343,US
400887344,400887351,SE
400887352,400887503,CA
@@ -3619,10 +4232,10 @@
400888064,400888319,US
400888320,400888575,CA
400888576,400888831,GB
-400888832,400889359,CA
-400889360,400889367,US
-400889368,400889439,CA
-400889440,400889503,US
+400888832,400889343,CA
+400889344,400889367,US
+400889368,400889407,CA
+400889408,400889503,US
400889504,400889511,CA
400889512,400889599,US
400889600,400889647,CA
@@ -3630,14 +4243,14 @@
400889664,400889711,CA
400889712,400889727,US
400889728,400889775,CA
-400889776,400889791,US
-400889792,400889855,CA
+400889776,400889807,US
+400889808,400889855,CA
400889856,400890111,US
400890112,400890143,CA
400890144,400890151,US
400890152,400890159,CA
-400890160,400890207,US
-400890208,400890263,CA
+400890160,400890223,US
+400890224,400890263,CA
400890264,400890271,US
400890272,400890335,CA
400890336,400890367,US
@@ -3645,30 +4258,32 @@
400890384,400890391,US
400890392,400890399,CA
400890400,400890407,US
-400890408,400890527,CA
+400890408,400890447,CA
+400890448,400890463,US
+400890464,400890527,CA
400890528,400890543,US
-400890544,400890591,CA
-400890592,400890623,US
+400890544,400890559,CA
+400890560,400890623,US
400890624,400890639,CA
400890640,400890655,US
400890656,400890783,CA
400890784,400890831,US
-400890832,400891263,CA
+400890832,400890847,CA
+400890848,400890863,US
+400890864,400891263,CA
400891264,400891343,US
-400891344,400891383,CA
+400891344,400891359,CA
+400891360,400891375,US
+400891376,400891383,CA
400891384,400891407,US
400891408,400891415,CA
-400891416,400891455,US
-400891456,400891471,CA
-400891472,400891487,US
+400891416,400891487,US
400891488,400891535,CA
-400891536,400891583,US
-400891584,400891615,CA
-400891616,400891631,US
-400891632,400891695,CA
+400891536,400891647,US
+400891648,400891695,CA
400891696,400891703,US
-400891704,400891791,CA
-400891792,400891807,US
+400891704,400891775,CA
+400891776,400891807,US
400891808,400891887,CA
400891888,400892159,US
400892160,400892479,CA
@@ -3677,11 +4292,13 @@
400892568,400892575,US
400892576,400892591,CA
400892592,400892607,US
-400892608,400892671,CA
-400892672,400892767,US
-400892768,400892863,CA
-400892864,400892895,US
-400892896,400893055,CA
+400892608,400892639,CA
+400892640,400892655,US
+400892656,400892671,CA
+400892672,400892783,US
+400892784,400892863,CA
+400892864,400892927,US
+400892928,400893055,CA
400893056,400893087,US
400893088,400893095,CA
400893096,400893311,US
@@ -3692,8 +4309,8 @@
400894048,400894079,CA
400894080,400894335,US
400894336,400894463,CA
-400894464,400894719,US
-400894720,400894783,CA
+400894464,400894767,US
+400894768,400894783,CA
400894784,400894815,US
400894816,400894903,CA
400894904,400894911,US
@@ -3724,16 +4341,16 @@
400897024,400897279,US
400897280,400897423,CA
400897424,400897439,US
-400897440,400897503,CA
-400897504,400897519,US
+400897440,400897471,CA
+400897472,400897519,US
400897520,400897535,CA
400897536,400897791,US
400897792,400897847,CA
400897848,400897855,US
400897856,400897887,CA
400897888,400897903,US
-400897904,400897935,CA
-400897936,400897967,US
+400897904,400897919,CA
+400897920,400897967,US
400897968,400897983,CA
400897984,400898047,US
400898048,400898063,CA
@@ -3742,22 +4359,23 @@
400898176,400898303,US
400898304,400898311,CA
400898312,400898319,US
-400898320,400898463,CA
-400898464,400898495,US
-400898496,400898703,CA
-400898704,400898735,US
+400898320,400898447,CA
+400898448,400898495,US
+400898496,400898559,CN
+400898560,400898687,CA
+400898688,400898735,US
400898736,400898751,CA
-400898752,400898783,US
-400898784,400898807,CA
+400898752,400898799,US
+400898800,400898807,CA
400898808,400898815,US
-400898816,400898911,CA
+400898816,400898879,CA
+400898880,400898887,SE
+400898888,400898911,CA
400898912,400898927,US
400898928,400898943,CA
400898944,400899039,US
400899040,400899047,CA
-400899048,400899055,US
-400899056,400899071,CA
-400899072,400899327,US
+400899048,400899327,US
400899328,400899591,CA
400899592,400899599,US
400899600,400899623,CA
@@ -3767,42 +4385,36 @@
400899744,400899759,CA
400899760,400899807,US
400899808,400899815,CA
-400899816,400899823,US
-400899824,400899847,CA
+400899816,400899839,US
+400899840,400899847,CA
400899848,400899855,US
400899856,400899967,CA
400899968,400899999,US
400900000,400900031,CA
400900032,400900255,US
400900256,400900263,CA
-400900264,400900271,US
-400900272,400900287,CA
-400900288,400900319,US
+400900264,400900319,US
400900320,400900391,CA
400900392,400900399,US
-400900400,400900447,CA
-400900448,400900479,US
+400900400,400900415,CA
+400900416,400900479,US
400900480,400900487,CA
400900488,400900495,US
-400900496,400900559,CA
-400900560,400900575,US
+400900496,400900527,CA
+400900528,400900575,US
400900576,400900607,CA
400900608,400901119,US
400901120,400901487,CA
400901488,400901495,US
400901496,400901567,CA
-400901568,400901583,US
-400901584,400901615,CA
-400901616,400901631,US
+400901568,400901631,US
400901632,400901759,CA
-400901760,400901807,US
-400901808,400901823,CA
-400901824,400901887,US
+400901760,400901887,US
400901888,400902143,CA
400902144,400902399,US
400902400,400902431,CA
-400902432,400902479,US
-400902480,400902527,CA
+400902432,400902495,US
+400902496,400902527,CA
400902528,400902623,US
400902624,400902639,CA
400902640,400902655,US
@@ -3811,18 +4423,18 @@
400902672,400902719,CA
400902720,400902783,US
400902784,400902911,CA
-400902912,400902943,US
-400902944,400903271,CA
+400902912,400902975,US
+400902976,400903231,CA
+400903232,400903247,US
+400903248,400903271,CA
400903272,400903279,US
400903280,400903935,CA
400903936,400904479,US
400904480,400904487,CA
400904488,400904591,US
400904592,400904599,CA
-400904600,400904607,US
-400904608,400904623,CA
-400904624,400904671,US
-400904672,400905271,CA
+400904600,400904687,US
+400904688,400905271,CA
400905272,400905279,US
400905280,400905335,CA
400905336,400905343,US
@@ -3842,13 +4454,17 @@
400906232,400906239,US
400906240,400906255,CA
400906256,400906263,US
-400906264,400906399,CA
+400906264,400906367,CA
+400906368,400906383,US
+400906384,400906399,CA
400906400,400906463,US
400906464,400906471,CA
400906472,400906815,US
400906816,400906831,CA
400906832,400906879,US
-400906880,400907263,CA
+400906880,400906975,CA
+400906976,400907007,US
+400907008,400907263,CA
400907264,400907519,US
400907520,400907775,CA
400907776,400908031,US
@@ -3949,19 +4565,15 @@
401375744,401376095,US
401376096,401376103,SE
401376104,401376111,CA
-401376112,401376143,US
-401376144,401376175,CA
-401376176,401376191,US
+401376112,401376191,US
401376192,401376223,CA
401376224,401376255,US
401376256,401376327,CA
401376328,401376335,US
401376336,401376351,CA
-401376352,401376367,US
-401376368,401376447,CA
-401376448,401376479,US
-401376480,401376495,CA
-401376496,401376511,US
+401376352,401376383,US
+401376384,401376447,CA
+401376448,401376511,US
401376512,401377791,CA
401377792,401378303,US
401378304,401378559,EG
@@ -3969,9 +4581,7 @@
401378688,401378815,CA
401378816,401379071,US
401379072,401380351,CA
-401380352,401380383,US
-401380384,401380431,CA
-401380432,401380447,US
+401380352,401380447,US
401380448,401380479,CA
401380480,401380503,US
401380504,401380527,CA
@@ -3981,10 +4591,10 @@
401380864,401381119,CA
401381120,401381247,US
401381248,401381375,CA
-401381376,401381407,US
-401381408,401381423,CA
-401381424,401381887,US
-401381888,401382015,CA
+401381376,401381887,US
+401381888,401381951,CA
+401381952,401381959,US
+401381960,401382015,CA
401382016,401382023,US
401382024,401382063,CA
401382064,401382087,US
@@ -3992,8 +4602,8 @@
401382480,401382527,US
401382528,401382543,CA
401382544,401382575,US
-401382576,401382623,CA
-401382624,401382655,US
+401382576,401382591,CA
+401382592,401382655,US
401382656,401384423,CA
401384424,401384431,US
401384432,401384799,CA
@@ -4003,11 +4613,7 @@
401385216,401385295,CA
401385296,401385375,US
401385376,401385391,CA
-401385392,401385407,US
-401385408,401385423,CA
-401385424,401385439,US
-401385440,401385455,CA
-401385456,401385983,US
+401385392,401385983,US
401385984,401386303,CA
401386304,401386399,US
401386400,401386415,CA
@@ -4032,15 +4638,22 @@
401390592,401390847,US
401390848,401393151,CA
401393152,401393407,US
-401393408,401395455,CA
+401393408,401394495,CA
+401394496,401394559,CN
+401394560,401395455,CA
401395456,401395711,US
-401395712,401396351,CA
+401395712,401395727,CA
+401395728,401395743,US
+401395744,401396239,CA
+401396240,401396255,US
+401396256,401396287,CA
+401396288,401396351,CN
401396352,401396383,US
401396384,401396391,CA
-401396392,401396399,US
-401396400,401396415,CA
-401396416,401396447,US
-401396448,401397247,CA
+401396392,401396447,US
+401396448,401396463,CA
+401396464,401396479,US
+401396480,401397247,CA
401397248,401397311,US
401397312,401397327,CA
401397328,401397359,US
@@ -4049,61 +4662,57 @@
401397440,401397487,CA
401397488,401397503,US
401397504,401399063,CA
-401399064,401399071,US
-401399072,401399103,CA
-401399104,401399135,US
+401399064,401399135,US
401399136,401399167,CA
401399168,401399199,US
401399200,401399215,CA
401399216,401399263,US
401399264,401399279,CA
401399280,401399295,US
-401399296,401399583,CA
-401399584,401399599,US
+401399296,401399551,CA
+401399552,401399599,US
401399600,401399607,CA
401399608,401399647,US
401399648,401399663,CA
401399664,401399679,US
401399680,401399711,CA
-401399712,401399743,US
-401399744,401399759,CA
-401399760,401399775,US
+401399712,401399775,US
401399776,401400063,CA
401400064,401400319,US
-401400320,401400655,CA
-401400656,401400671,US
+401400320,401400639,CA
+401400640,401400671,US
401400672,401400703,CA
401400704,401400735,US
401400736,401400751,CA
-401400752,401400783,US
-401400784,401400815,CA
+401400752,401400799,US
+401400800,401400815,CA
401400816,401400863,US
401400864,401400871,CA
401400872,401400879,NO
-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
+401400880,401400927,US
+401400928,401400959,CA
+401400960,401400991,US
+401400992,401401023,CA
+401401024,401401055,US
+401401056,401401087,CA
+401401088,401401103,US
+401401104,401401111,CA
+401401112,401401215,US
401401216,401401247,CA
401401248,401401279,US
-401401280,401401359,CA
-401401360,401401375,US
-401401376,401401391,CA
-401401392,401401439,US
+401401280,401401311,CA
+401401312,401401343,US
+401401344,401401359,CA
+401401360,401401439,US
401401440,401401455,CA
401401456,401401463,US
401401464,401401471,CA
401401472,401401503,US
401401504,401401511,CA
-401401512,401401519,US
-401401520,401401535,CA
-401401536,401401567,US
-401401568,401401615,CA
+401401512,401401567,US
+401401568,401401583,CA
+401401584,401401599,US
+401401600,401401615,CA
401401616,401401623,US
401401624,401401663,CA
401401664,401401679,US
@@ -4113,9 +4722,9 @@
401401728,401401855,US
401401856,401401935,CA
401401936,401401983,US
-401401984,401402031,CA
-401402032,401402047,US
-401402048,401402079,CA
+401401984,401402015,CA
+401402016,401402063,US
+401402064,401402079,CA
401402080,401402095,US
401402096,401402111,CA
401402112,401402207,US
@@ -4127,14 +4736,14 @@
401402336,401402343,US
401402344,401402623,CA
401402624,401402879,US
-401402880,401403407,CA
-401403408,401403423,US
+401402880,401403391,CA
+401403392,401403423,US
401403424,401403455,CA
401403456,401403503,US
401403504,401403583,CA
401403584,401403615,US
-401403616,401403663,CA
-401403664,401403679,US
+401403616,401403647,CA
+401403648,401403679,US
401403680,401403695,CA
401403696,401403743,US
401403744,401403807,CA
@@ -4204,12 +4813,22 @@
402169856,402170111,KR
402170112,402170879,US
402170880,402171135,JP
-402171136,402173695,US
-402173696,402174463,SG
-402174464,402175743,US
+402171136,402171391,BR
+402171392,402171903,US
+402171904,402172927,ID
+402172928,402173183,US
+402173184,402173439,SG
+402173440,402173951,ID
+402173952,402174463,TW
+402174464,402174719,ID
+402174720,402175743,US
402175744,402175999,ES
402176000,402176255,AE
-402176256,402223103,US
+402176256,402176511,US
+402176512,402177023,NL
+402177024,402177535,US
+402177536,402178047,JP
+402178048,402223103,US
402223104,402227199,CA
402227200,402231295,PR
402235392,402239301,US
@@ -4231,11 +4850,15 @@
402260272,402260279,GB
402260280,402260295,CA
402260296,402260303,US
-402260304,402260431,CA
+402260304,402260367,CA
+402260368,402260383,US
+402260384,402260431,CA
402260432,402260439,US
402260440,402260479,CA
402260480,402260511,US
-402260512,402260575,CA
+402260512,402260527,CA
+402260528,402260543,US
+402260544,402260575,CA
402260576,402260655,US
402260656,402260767,CA
402260768,402260831,US
@@ -4248,14 +4871,14 @@
402260992,402260999,CA
402261000,402261087,US
402261088,402261119,CA
-402261120,402261151,US
-402261152,402261183,CA
-402261184,402261215,US
-402261216,402262015,CA
+402261120,402261247,US
+402261248,402262015,CA
402262016,402262271,US
402262272,402262351,CA
402262352,402262359,US
-402262360,402262455,CA
+402262360,402262431,CA
+402262432,402262439,SE
+402262440,402262455,CA
402262456,402262463,FI
402262464,402262519,CA
402262520,402262527,US
@@ -4282,25 +4905,21 @@
402263344,402263359,CA
402263360,402263391,US
402263392,402263423,CA
-402263424,402263455,US
-402263456,402263471,CA
-402263472,402263487,US
+402263424,402263487,US
402263488,402263807,CA
402263808,402264063,US
402264064,402264079,CA
402264080,402264095,US
402264096,402264111,CA
-402264112,402264127,US
-402264128,402264175,CA
-402264176,402264319,US
+402264112,402264319,US
402264320,402264447,CA
-402264448,402264559,US
-402264560,402265471,CA
-402265472,402265535,US
-402265536,402265551,CA
-402265552,402265583,US
-402265584,402265615,CA
-402265616,402265631,US
+402264448,402264575,US
+402264576,402265415,CA
+402265416,402265423,SE
+402265424,402265471,CA
+402265472,402265583,US
+402265584,402265599,CA
+402265600,402265631,US
402265632,402265663,CA
402265664,402265690,US
402265691,402265691,BD
@@ -4308,9 +4927,7 @@
402265792,402265879,CA
402265880,402265887,US
402265888,402265919,CA
-402265920,402265951,US
-402265952,402265967,CA
-402265968,402266143,US
+402265920,402266143,US
402266144,402266175,CA
402266176,402266215,US
402266216,402266287,CA
@@ -4322,49 +4939,51 @@
402266344,402266351,CA
402266352,402266359,US
402266360,402266367,CA
-402266368,402266655,US
-402266656,402266671,CA
-402266672,402266703,US
+402266368,402266703,US
402266704,402266727,CA
402266728,402266735,NO
402266736,402266751,US
-402266752,402266831,CA
-402266832,402266847,US
+402266752,402266815,CA
+402266816,402266847,US
402266848,402267391,CA
402267392,402267423,US
402267424,402267439,CA
-402267440,402267455,US
-402267456,402267471,CA
-402267472,402267487,US
+402267440,402267487,US
402267488,402267519,CA
402267520,402267647,US
-402267648,402269199,CA
+402267648,402267903,CA
+402267904,402268159,US
+402268160,402269199,CA
402269200,402269207,US
402269208,402269215,CA
402269216,402269223,US
402269224,402269263,CA
402269264,402269455,US
-402269456,402269519,CA
+402269456,402269471,CA
+402269472,402269503,US
+402269504,402269519,CA
402269520,402269535,US
402269536,402269551,CA
402269552,402269567,US
402269568,402269583,CA
402269584,402269591,US
-402269592,402269631,CA
-402269632,402269647,US
-402269648,402269983,CA
+402269592,402269599,CA
+402269600,402269647,US
+402269648,402269663,CA
+402269664,402269679,US
+402269680,402269983,CA
402269984,402270031,US
402270032,402270047,CA
402270048,402270207,US
-402270208,402270335,CA
+402270208,402270223,CA
+402270224,402270239,US
+402270240,402270335,CA
402270336,402270463,US
402270464,402270719,CA
402270720,402270783,US
402270784,402270879,CA
-402270880,402270895,US
-402270896,402270911,CA
-402270912,402270927,US
-402270928,402270975,CA
+402270880,402270943,US
+402270944,402270975,CA
402270976,402271103,US
402271104,402271119,CA
402271120,402271135,US
@@ -4387,10 +5006,10 @@
402272672,402272703,CA
402272704,402272895,US
402272896,402273279,CA
-402273280,402273327,US
-402273328,402273375,CA
-402273376,402273391,US
-402273392,402273471,CA
+402273280,402273407,US
+402273408,402273423,CA
+402273424,402273439,US
+402273440,402273471,CA
402273472,402273503,US
402273504,402273519,CA
402273520,402273535,US
@@ -4409,11 +5028,11 @@
402274288,402274295,CA
402274296,402274463,US
402274464,402274479,CA
-402274480,402274543,US
-402274544,402275351,CA
+402274480,402274559,US
+402274560,402275351,CA
402275352,402275359,US
-402275360,402275407,CA
-402275408,402275839,US
+402275360,402275391,CA
+402275392,402275839,US
402275840,402276095,CA
402276096,402276223,US
402276224,402277375,CA
@@ -4429,9 +5048,7 @@
402280192,402280207,CA
402280208,402280223,US
402280224,402280319,CA
-402280320,402280383,US
-402280384,402280399,CA
-402280400,402280415,US
+402280320,402280415,US
402280416,402280959,CA
402280960,402281087,US
402281088,402281199,CA
@@ -4451,9 +5068,7 @@
402282848,402282879,CA
402282880,402282911,US
402282912,402282927,CA
-402282928,402282943,US
-402282944,402282959,CA
-402282960,402282975,US
+402282928,402282975,US
402282976,402283263,CA
402283264,402283519,US
402283520,402284039,CA
@@ -4462,16 +5077,18 @@
402284160,402284287,US
402284288,402284799,CA
402284800,402285055,US
-402285056,402285327,CA
-402285328,402285343,US
-402285344,402285407,CA
+402285056,402285311,CA
+402285312,402285343,US
+402285344,402285375,CA
+402285376,402285391,US
+402285392,402285407,CA
402285408,402285439,US
402285440,402285567,CA
402285568,402285823,US
-402285824,402286335,CA
-402286336,402286847,US
-402286848,402286863,CA
-402286864,402286895,US
+402285824,402286095,CA
+402286096,402286111,US
+402286112,402286335,CA
+402286336,402286895,US
402286896,402286911,CA
402286912,402286927,US
402286928,402286935,CA
@@ -4482,18 +5099,18 @@
402287208,402287215,US
402287216,402287263,CA
402287264,402287279,US
-402287280,402287343,CA
-402287344,402287391,US
+402287280,402287295,CA
+402287296,402287391,US
402287392,402287423,CA
402287424,402287487,US
402287488,402287551,CA
402287552,402287583,US
402287584,402287743,CA
402287744,402287799,US
-402287800,402287823,CA
-402287824,402287839,US
-402287840,402287887,CA
-402287888,402287903,US
+402287800,402287807,CA
+402287808,402287839,US
+402287840,402287871,CA
+402287872,402287903,US
402287904,402288007,CA
402288008,402288015,US
402288016,402288031,CA
@@ -4501,11 +5118,9 @@
402288064,402288135,CA
402288136,402288143,US
402288144,402288159,CA
-402288160,402288175,US
-402288176,402288223,CA
-402288224,402288255,US
-402288256,402288271,CA
-402288272,402288287,US
+402288160,402288191,US
+402288192,402288223,CA
+402288224,402288287,US
402288288,402288319,CA
402288320,402288383,US
402288384,402288391,CA
@@ -4518,7 +5133,9 @@
402288608,402288623,US
402288624,402288631,CA
402288632,402288895,US
-402288896,402289119,CA
+402288896,402289063,CA
+402289064,402289071,CN
+402289072,402289119,CA
402289120,402289151,US
402289152,402289407,CA
402289408,402289471,US
@@ -4532,10 +5149,10 @@
402289744,402289759,US
402289760,402289775,CA
402289776,402289791,US
-402289792,402289983,CA
-402289984,402290047,US
-402290048,402290239,CA
-402290240,402290255,US
+402289792,402289919,CA
+402289920,402290047,US
+402290048,402290175,CA
+402290176,402290255,US
402290256,402290271,CA
402290272,402290287,US
402290288,402290399,CA
@@ -4608,21 +5225,15 @@
402522336,402522399,CA
402522400,402522407,US
402522408,402522479,CA
-402522480,402522559,US
-402522560,402522591,CA
-402522592,402522607,US
-402522608,402522623,CA
-402522624,402522655,US
+402522480,402522575,US
+402522576,402522591,CA
+402522592,402522655,US
402522656,402522679,CA
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
+402522992,402523103,US
402523104,402523111,CA
402523112,402523135,US
402523136,402523167,CA
@@ -4642,11 +5253,9 @@
402524256,402524263,CA
402524264,402524271,FI
402524272,402524279,CA
-402524280,402524351,US
-402524352,402524383,CA
-402524384,402524415,US
-402524416,402524431,CA
-402524432,402524447,US
+402524280,402524367,US
+402524368,402524383,CA
+402524384,402524447,US
402524448,402524479,CA
402524480,402524575,US
402524576,402524591,CA
@@ -4662,15 +5271,9 @@
402524960,402524991,CA
402524992,402525007,US
402525008,402525023,CA
-402525024,402525055,US
-402525056,402525087,CA
-402525088,402525103,US
+402525024,402525103,US
402525104,402525119,CA
-402525120,402525167,US
-402525168,402525183,CA
-402525184,402525279,US
-402525280,402525295,CA
-402525296,402525375,US
+402525120,402525375,US
402525376,402525415,CA
402525416,402525423,NO
402525424,402525439,CA
@@ -4678,8 +5281,8 @@
402525696,402525951,CA
402525952,402526079,US
402526080,402526207,CA
-402526208,402526527,US
-402526528,402526655,CA
+402526208,402526559,US
+402526560,402526655,CA
402526656,402526671,US
402526672,402526687,CA
402526688,402526719,US
@@ -4689,8 +5292,8 @@
402527392,402527615,US
402527616,402528255,CA
402528256,402528383,US
-402528384,402528767,CA
-402528768,402529023,US
+402528384,402528511,CA
+402528512,402529023,US
402529024,402529279,CA
402529280,402529535,US
402529536,402529791,CA
@@ -4701,7 +5304,8 @@
402531584,402531839,US
402531840,402531935,CA
402531936,402532031,US
-402532032,402532159,CA
+402532032,402532095,CN
+402532096,402532159,CA
402532160,402532231,US
402532232,402532247,CA
402532248,402532255,US
@@ -4715,40 +5319,35 @@
402532984,402532991,US
402532992,402533015,CA
402533016,402533023,US
-402533024,402533039,CA
+402533024,402533031,CA
+402533032,402533039,SE
402533040,402533055,US
402533056,402533111,CA
402533112,402533279,US
402533280,402533295,CA
-402533296,402533311,US
-402533312,402533327,CA
-402533328,402533343,US
-402533344,402533631,CA
-402533632,402533759,US
+402533296,402533343,US
+402533344,402533375,CA
+402533376,402533759,US
402533760,402533791,CA
402533792,402533887,US
402533888,402533903,CA
-402533904,402533919,US
-402533920,402533935,CA
-402533936,402534015,US
+402533904,402534015,US
402534016,402534079,CA
402534080,402534095,US
402534096,402534111,CA
402534112,402534143,US
402534144,402534175,CA
-402534176,402534255,US
-402534256,402534271,CA
-402534272,402534319,US
-402534320,402534399,CA
+402534176,402534335,US
+402534336,402534399,CA
402534400,402534479,US
402534480,402534487,CA
402534488,402534655,US
-402534656,402535935,CA
+402534656,402535167,CA
+402535168,402535423,US
+402535424,402535935,CA
402535936,402536191,US
402536192,402536255,CA
-402536256,402536287,US
-402536288,402536303,CA
-402536304,402536351,US
+402536256,402536351,US
402536352,402536367,CA
402536368,402536383,US
402536384,402536391,CA
@@ -4772,20 +5371,23 @@
402538752,402538759,CA
402538760,402538767,US
402538768,402538815,CA
-402538816,402538863,US
-402538864,402538879,CA
-402538880,402538895,US
+402538816,402538895,US
402538896,402538911,CA
402538912,402538927,US
-402538928,402538959,CA
-402538960,402538975,US
+402538928,402538943,CA
+402538944,402538975,US
402538976,402539071,CA
402539072,402539087,US
-402539088,402539135,CA
+402539088,402539095,SE
+402539096,402539135,CA
402539136,402539199,US
402539200,402539327,CA
402539328,402539455,US
-402539456,402539775,CA
+402539456,402539535,CA
+402539536,402539551,US
+402539552,402539583,CA
+402539584,402539647,CN
+402539648,402539775,CA
402539776,402540031,US
402540032,402541119,CA
402541120,402541247,US
@@ -4808,13 +5410,11 @@
402543376,402543391,CA
402543392,402543487,US
402543488,402543551,CA
-402543552,402543583,US
-402543584,402543607,CA
+402543552,402543599,US
+402543600,402543607,CA
402543608,402544415,US
402544416,402544423,CA
-402544424,402544479,US
-402544480,402544495,CA
-402544496,402544511,US
+402544424,402544511,US
402544512,402544551,CA
402544552,402544591,US
402544592,402544607,CA
@@ -5509,7 +6109,7 @@
521029120,521029375,ES
521029376,521029631,US
521029632,521030655,CZ
-521030656,521031679,PL
+521030656,521031679,FR
521031680,521035775,IR
521035776,521037567,RO
521037568,521037823,TH
@@ -5644,7 +6244,9 @@
521945088,521953279,GB
521953280,521961471,RU
521961472,521969663,CZ
-521969664,521977855,UA
+521969664,521970089,UA
+521970090,521970090,BV
+521970091,521977855,UA
521977856,521986047,RU
521986048,521994239,UA
521994240,522002431,KG
@@ -5677,8 +6279,8 @@
522721280,522723327,UZ
522723328,522741759,RU
522741760,522743807,UA
-522743808,522747903,RU
-522747904,522758143,UA
+522743808,522751999,RU
+522752000,522758143,UA
522758144,522759167,RU
522759168,522764287,UA
522780672,522782719,RU
@@ -5788,7 +6390,7 @@
528664576,528666623,BY
528666624,528668671,RU
528668672,528670719,PL
-528670720,528674815,SG
+528670720,528674815,GB
528674816,528676863,RO
528676864,528678911,RU
528678912,528680959,MD
@@ -5829,7 +6431,7 @@
528836608,528838655,RU
528838656,528840703,UA
528840704,528842751,RU
-528842752,528859135,SG
+528842752,528859135,GB
528859136,528861183,RO
528861184,528863231,RU
528863232,528867327,KZ
@@ -5863,7 +6465,11 @@
529661952,529727487,GE
529727488,529793023,HR
529793024,529793279,CZ
-529793280,529798655,RU
+529793280,529798143,RU
+529798144,529798172,UA
+529798173,529798173,RU
+529798174,529798399,UA
+529798400,529798655,RU
529798656,529798911,KZ
529798912,529799167,UA
529799168,529799423,RU
@@ -6277,7 +6883,8 @@
534513216,534513279,VG
534513280,534513407,NL
534513408,534513663,SE
-534513664,534515199,DE
+534513664,534514687,US
+534514688,534515199,DE
534515200,534515455,US
534515456,534515711,SE
534515712,534517759,LT
@@ -6327,7 +6934,8 @@
534648832,534650879,CH
534650880,534652927,RU
534652928,534654975,AL
-534654976,534663167,GB
+534654976,534661119,GB
+534661120,534663167,US
534663168,534675455,ES
534675456,534691839,GB
534691840,534693887,FR
@@ -6344,7 +6952,7 @@
534769664,534773759,IT
534773760,536870911,DE
536870912,539623423,US
-539623424,539627519,AU
+539623424,539627519,NL
539627520,539629455,GB
539629456,539629463,BE
539629464,539629975,GB
@@ -6458,7 +7066,9 @@
544436772,544436775,CA
544436776,586153983,US
586153984,586975999,IE
-586976000,586976255,US
+586976000,586976088,US
+586976089,586976089,IE
+586976090,586976255,US
586976256,587006719,IE
587006720,587006975,GB
587006976,587202559,IE
@@ -6468,14 +7078,20 @@
597426176,597688319,DE
597688320,598736895,US
598736896,598999039,GB
-598999040,599261183,CA
+598999040,599064575,FR
+599064576,599130111,US
+599130112,599261183,CA
599261184,599608829,US
599608830,599608830,GB
599608831,599609659,US
599609660,599609660,GB
599609661,599615125,US
599615126,599615126,GB
-599615127,603979775,US
+599615127,600171164,US
+600171165,600171165,GB
+600171166,600374233,US
+600374234,600374234,IN
+600374235,603979775,US
603979776,603980799,CN
603980800,603981823,NP
603981824,604110847,CN
@@ -6518,8 +7134,7 @@
620716032,620716287,TW
620716288,620716543,PH
620716544,620716799,BE
-620716800,620717055,LU
-620717056,620718079,PK
+620716800,620718079,PK
620718080,620720127,IN
620720128,620721151,AU
620721152,620722175,CN
@@ -6581,9 +7196,10 @@
620865536,620867583,FR
620867584,620869631,ES
620869632,620871679,FI
-620871680,620871807,UA
-620871808,620871808,DE
-620871809,620879871,UA
+620871680,620873727,DE
+620873728,620875775,NL
+620875776,620877823,US
+620877824,620879871,DE
620879872,620881919,GB
620881920,620888063,FR
620888064,621019135,SE
@@ -6830,7 +7446,7 @@
623654912,623656959,IR
623656960,623673343,BY
623673344,623689727,NO
-623689728,623706111,RU
+623689728,623693823,RU
623706112,623771647,BY
623771648,623773695,GB
623775744,623777791,IE
@@ -7371,9 +7987,9 @@
631005184,631006207,IT
631006208,631007231,IR
631007232,631007487,KR
-631007488,631007743,RO
+631007488,631007743,IQ
631007744,631007871,GB
-631007872,631008255,RO
+631007872,631008255,IQ
631008256,631009279,ES
631009280,631018495,IR
631018496,631019519,IT
@@ -7385,17 +8001,17 @@
631025664,631026687,IR
631026688,631027711,RO
631027712,631027967,KR
-631027968,631028223,RO
+631027968,631028223,CZ
631028224,631028351,GB
-631028352,631028735,RO
+631028352,631028735,CZ
631028736,631029759,ES
631029760,631033855,SE
631033856,631034879,IT
631034880,631035903,IR
631035904,631036159,JP
-631036160,631036415,NC
+631036160,631036415,LT
631036416,631036543,GB
-631036544,631037951,NC
+631036544,631037951,LT
631037952,631038207,BG
631038208,631038975,RO
631038976,631039999,NL
@@ -7625,7 +8241,7 @@
635863040,635863551,GB
635863552,635864063,NL
635864064,635864319,IQ
-635864320,635864575,RU
+635864320,635864575,SI
635864576,635864831,LB
635864832,635865087,ES
635865088,635865855,RU
@@ -7652,7 +8268,7 @@
635877376,635877631,NO
635877632,635877887,JP
635877888,635878143,ES
-635878144,635878399,BO
+635878144,635878399,US
635878400,635878655,RU
635878656,635878911,AM
635878912,635879167,FI
@@ -7897,7 +8513,9 @@
643317760,643330047,CA
643330048,643346431,US
643346432,643346943,CA
-643346944,644051967,US
+643346944,643363167,US
+643363168,643363175,CA
+643363176,644051967,US
644051968,644052479,MF
644052480,644052735,GP
644052736,644052991,MF
@@ -7923,7 +8541,9 @@
644072806,644072806,CA
644072807,644084479,US
644084480,644084607,GU
-644084608,644210431,US
+644084608,644207359,US
+644207360,644207391,NL
+644207392,644210431,US
644210432,644210687,MX
644210688,644239615,US
644239616,644239871,CA
@@ -7954,7 +8574,9 @@
644570368,644570623,PR
644570624,644582399,US
644582400,644582655,CA
-644582656,644628799,US
+644582656,644582911,US
+644582912,644583167,CA
+644583168,644628799,US
644628800,644628807,CA
644628808,644629759,US
644629760,644630015,CA
@@ -8090,7 +8712,9 @@
646766080,646766591,CA
646766592,646840319,US
646840320,646841343,CA
-646841344,654311423,US
+646841344,646855967,US
+646855968,646855971,CA
+646855972,654311423,US
654311424,654311679,CN
654311680,654311935,AU
654311936,654376959,CN
@@ -8119,9 +8743,7 @@
675447424,675447551,BR
675447552,675448575,US
675448576,675449087,GB
-675449088,675449151,US
-675449152,675449215,BR
-675449216,675449471,US
+675449088,675449471,US
675449472,675449599,IE
675449600,675449727,AT
675449728,675449855,FI
@@ -8154,7 +8776,9 @@
675454400,675454463,AU
675454464,675454719,NL
675454720,675454847,AT
-675454848,675463167,US
+675454848,675455359,US
+675455360,675455487,JP
+675455488,675463167,US
675463168,675463295,KR
675463296,675463423,US
675463424,675463807,KR
@@ -8258,7 +8882,9 @@
676462592,676463103,US
676463104,676463615,NL
676463616,676464639,US
-676464640,676495359,NL
+676464640,676465663,NL
+676465664,676466687,AU
+676466688,676495359,NL
676495360,676503551,KR
676503552,676511743,CA
676511744,676519935,AU
@@ -8292,7 +8918,8 @@
677020096,677020127,IE
677020128,677020159,US
677020160,677020191,NL
-677020192,677020351,US
+677020192,677020207,AU
+677020208,677020351,US
677020352,677020367,CA
677020368,677020383,AU
677020384,677020399,IN
@@ -8302,7 +8929,9 @@
677020544,677020607,KR
677020608,677020671,US
677020672,677020719,FR
-677020720,677020927,US
+677020720,677020735,US
+677020736,677020751,JP
+677020752,677020927,US
677020928,677020959,NL
677020960,677020991,BR
677020992,677021023,IE
@@ -8340,7 +8969,10 @@
677023136,677023167,NL
677023168,677023199,US
677023200,677023231,SG
-677023232,677023935,US
+677023232,677023263,JP
+677023264,677023295,US
+677023296,677023327,AU
+677023328,677023935,US
677023936,677023967,NL
677023968,677023999,BR
677024000,677024031,IE
@@ -8349,7 +8981,9 @@
677024160,677024191,US
677024192,677024223,NL
677024224,677024255,IE
-677024256,677024383,US
+677024256,677024271,US
+677024272,677024287,NL
+677024288,677024383,US
677024384,677024415,NL
677024416,677024447,SG
677024448,677024479,US
@@ -8359,11 +8993,15 @@
677024576,677024607,AU
677024608,677024639,IN
677024640,677024767,FR
-677024768,677027839,US
+677024768,677024927,US
+677024928,677024943,IE
+677024944,677024991,US
+677024992,677025023,JP
+677025024,677025055,US
+677025056,677025087,AU
+677025088,677027839,US
677027840,677036031,SG
-677036032,677054463,US
-677054464,677054719,PR
-677054720,677057535,US
+677036032,677057535,US
677057536,677058559,IE
677058560,677059583,US
677059584,677060607,NL
@@ -8379,7 +9017,11 @@
677135872,677136127,NL
677136128,677136383,IE
677136384,677136639,AT
-677136640,677182975,US
+677136640,677136895,FI
+677136896,677137151,IE
+677137152,677137407,AT
+677137408,677137919,FR
+677137920,677182975,US
677182976,677183231,KR
677183232,677199871,US
677199872,677200127,IE
@@ -8391,7 +9033,11 @@
677201408,677201663,NL
677201664,677201919,IE
677201920,677202175,AT
-677202176,677248511,US
+677202176,677202431,FI
+677202432,677202687,IE
+677202688,677202943,AT
+677202944,677203455,FR
+677203456,677248511,US
677248512,677248767,KR
677248768,677380095,US
677380096,677380127,AU
@@ -8441,7 +9087,8 @@
677382752,677382815,CA
677382816,677382831,NL
677382832,677382839,FI
-677382840,677383191,BR
+677382840,677383015,US
+677383016,677383191,BR
677383192,677383391,US
677383392,677383567,NL
677383568,677383583,MY
@@ -8487,11 +9134,10 @@
677386064,677386095,US
677386096,677386111,BR
677386112,677386127,CA
-677386128,677386159,US
-677386160,677386175,BR
+677386128,677386175,US
677386176,677386207,CA
677386208,677386239,AU
-677386240,677386359,BR
+677386240,677386359,US
677386360,677386367,MY
677386368,677386375,AU
677386376,677386399,AT
@@ -8651,12 +9297,10 @@
677742592,677744639,FR
677744640,677748735,JP
677748736,677774335,US
-677774336,677776383,BR
-677776384,677781503,US
-677781504,677783551,CL
-677783552,677784575,ZA
-677784576,677785599,PR
-677785600,677838847,US
+677774336,677775359,BR
+677775360,677781503,US
+677781504,677782527,CL
+677782528,677838847,US
677838848,677838863,NL
677838864,677838879,IE
677838880,677838895,FI
@@ -8966,7 +9610,10 @@
678101760,678102015,NL
678102016,678102271,IE
678102272,678102527,AT
-678102528,678103551,US
+678102528,678102783,IE
+678102784,678103039,FI
+678103040,678103295,AT
+678103296,678103551,US
678103552,678104063,GB
678104064,678117887,US
678117888,678118399,CA
@@ -8974,17 +9621,24 @@
678150144,678150399,FI
678150400,678150655,IE
678150656,678150911,FI
-678150912,678151167,US
-678151168,678151295,NL
-678151296,678152447,US
+678150912,678151167,AT
+678151168,678151423,NL
+678151424,678151679,FI
+678151680,678151935,FR
+678151936,678152191,US
+678152192,678152447,FI
678152448,678152703,AT
678152704,678153215,NL
-678153216,678158335,US
-678158336,678158847,KR
-678158848,678160127,US
+678153216,678153471,FI
+678153472,678153727,FR
+678153728,678153983,NL
+678153984,678158335,US
+678158336,678159103,KR
+678159104,678160127,US
678160128,678160383,HK
-678160384,678160639,KR
-678160640,678170623,US
+678160384,678160639,SG
+678160640,678160895,KR
+678160896,678170623,US
678170624,678170815,IE
678170816,678171007,NL
678171008,678171391,IE
@@ -9036,7 +9690,8 @@
678223616,678224127,US
678224128,678224639,IE
678224640,678224895,JP
-678224896,678225407,US
+678224896,678225151,HK
+678225152,678225407,GB
678225408,678225663,NL
678225664,678225919,IE
678225920,678226175,GB
@@ -9052,7 +9707,15 @@
678228992,678229247,IE
678229248,678229503,HK
678229504,678229759,SG
-678229760,678428671,US
+678229760,678230271,US
+678230272,678230527,AU
+678230528,678230783,US
+678230784,678231039,NL
+678231040,678231295,IE
+678231296,678231551,BR
+678231552,678231807,AU
+678231808,678232063,NL
+678232064,678428671,US
678428672,678436863,IE
678436864,678437887,US
678437888,678438015,IE
@@ -9278,7 +9941,7 @@
693002506,693002506,CM
693002507,693003263,GA
693003264,693004287,NG
-693004288,693005311,CD
+693004288,693004543,CD
693005312,693006335,SD
693006336,693007359,ZM
693007360,693008383,NE
@@ -9361,15 +10024,13 @@
693103616,693104639,GN
693104640,693105663,ZA
693105664,693106687,MZ
-693106688,693106951,TZ
-693106952,693106959,ZA
-693106960,693107711,TZ
+693106688,693107455,TZ
+693107456,693107711,ZA
693107712,693239807,KE
693239808,693370879,SN
693370880,693403647,ZA
693403648,693411583,KE
693411584,693411839,MU
-693411840,693420031,NG
693420032,693423103,UG
693423104,693424127,KE
693424128,693428223,UG
@@ -9569,7 +10230,7 @@
701382656,701390847,CI
701390848,701391871,MU
701391872,701392127,KE
-701392128,701392383,MU
+701392128,701392383,TZ
701392384,701392639,ZA
701392640,701399039,MU
701399040,701407231,EG
@@ -9606,7 +10267,7 @@
701710336,701718527,MU
701718528,701726719,CM
701726720,701743103,GA
-701743104,701759487,NG
+701755392,701759487,NG
701759488,701792255,KE
701792256,701825023,MU
701825024,701857791,ZA
@@ -9619,7 +10280,6 @@
702001152,702005247,ZM
702005248,702009343,KE
702009344,702013439,CV
-702013440,702015487,KE
702015488,702017535,ZA
702017536,702018559,EG
702018560,702019583,NG
@@ -9895,9 +10555,7 @@
713031680,714080255,CN
714080256,714604543,JP
714604544,714866687,MY
-714866688,714874879,CN
-714874880,714875903,MY
-714875904,716930047,CN
+714866688,716930047,CN
716930048,716931071,JP
716931072,716963839,CN
716963840,717225983,MY
@@ -9950,8 +10608,8 @@
736133120,736136191,IN
736136192,736137215,JP
736137216,736138239,CN
-736138240,736139263,HK
-736139264,736140287,SG
+736138240,736140032,HK
+736140033,736140287,SG
736140288,736141311,IN
736141312,736142335,CN
736142336,736143359,IN
@@ -10035,15 +10693,13 @@
736264192,736286719,CN
736286720,736287743,NZ
736287744,736288767,MV
-736288768,736289791,MY
736289792,736289919,KR
736289920,736290047,JP
736290048,736290303,AU
736290304,736290559,MY
736290560,736290815,KR
736290816,736291839,TW
-736291840,736300031,CN
-736300032,736301055,HK
+736291840,736301055,CN
736301056,736303103,IN
736303104,736304127,TW
736304128,736305151,HK
@@ -10221,7 +10877,6 @@
736588800,736591871,IN
736591872,736592383,ID
736592384,736592639,SG
-736592640,736592895,AF
736592896,736593919,IN
736593920,736606207,CN
736606208,736607231,HK
@@ -10739,7 +11394,6 @@
737931264,737932287,AU
737932288,737933311,CN
737933312,737934335,HK
-737934336,737935359,TH
737935360,737936383,AU
737936384,737937407,IN
737937408,737938431,ID
@@ -10757,11 +11411,7 @@
737951744,737953791,NZ
737953792,737954815,ID
737954816,737955839,AU
-737955840,737956351,US
-737956352,737956479,CH
-737956480,737956607,AT
-737956608,737956735,BE
-737956736,737956863,NL
+737955840,737956863,KH
737956864,737957887,HK
737957888,737959935,IN
737959936,737960959,AU
@@ -10908,7 +11558,9 @@
747372544,747438079,SE
747438080,747671807,US
747671808,747672063,GB
-747672064,755105791,US
+747672064,750649855,US
+750649856,750650111,AT
+750650112,755105791,US
755105792,755179519,CA
755179520,755236863,US
755236864,755237673,CL
@@ -10929,7 +11581,8 @@
755272704,755277823,BR
755277824,755279871,AR
755279872,755280895,CL
-755280896,755281919,HN
+755280896,755281407,US
+755281408,755281919,HN
755281920,755287039,BR
755287040,755288063,HN
755288064,755289087,EC
@@ -10951,7 +11604,7 @@
755315712,755316735,MX
755316736,755317759,PE
755317760,755318783,CR
-755318784,755319807,HN
+755318784,755319807,US
755319808,755320831,PE
755320832,755321855,BR
755321856,755322879,HN
@@ -11062,8 +11715,8 @@
757125120,757125151,NL
757125152,757125215,US
757125216,757125247,NL
-757125248,757125535,US
-757125536,757125631,NL
+757125248,757125599,US
+757125600,757125631,NL
757125632,757131263,US
757131264,757133311,NL
757133312,757135359,AU
@@ -11246,9 +11899,7 @@
758745824,758745831,CA
758745832,758745855,US
758745856,758747135,CA
-758747136,758747199,US
-758747200,758747215,CA
-758747216,758747231,US
+758747136,758747231,US
758747232,758747327,CA
758747328,758747375,US
758747376,758747903,CA
@@ -11270,18 +11921,14 @@
758750464,758750719,CA
758750720,758750975,US
758750976,758751039,CA
-758751040,758751055,US
-758751056,758751071,CA
-758751072,758751167,US
+758751040,758751167,US
758751168,758751487,CA
758751488,758751999,US
758752000,758752127,CA
758752128,758752191,US
758752192,758752199,CA
758752200,758752207,FI
-758752208,758752223,US
-758752224,758752239,CA
-758752240,758752255,US
+758752208,758752255,US
758752256,758752511,CA
758752512,758752671,US
758752672,758752687,CA
@@ -11293,10 +11940,11 @@
758752960,758753279,CA
758753280,758753535,US
758753536,758753791,CA
-758753792,758754047,CN
-758754048,758754431,US
+758753792,758754047,US
+758754048,758754303,CA
+758754304,758754431,US
758754432,758754559,CA
-758754560,758754815,CN
+758754560,758754815,US
758754816,758755327,CA
758755328,758755839,US
758755840,758756351,CA
@@ -11306,9 +11954,7 @@
758757056,758757183,CA
758757184,758757311,US
758757312,758757375,CA
-758757376,758757631,US
-758757632,758757887,CA
-758757888,758758143,US
+758757376,758758143,US
758758144,758759487,CA
758759488,758759615,US
758759616,758759743,CA
@@ -11328,9 +11974,7 @@
758762752,758764031,CA
758764032,758764287,US
758764288,758764679,CA
-758764680,758764703,US
-758764704,758764719,CA
-758764720,758764759,US
+758764680,758764759,US
758764760,758764767,CA
758764768,758764799,US
758764800,758764863,CA
@@ -11362,24 +12006,24 @@
758766528,758766575,US
758766576,758766583,CA
758766584,758766847,US
-758766848,758768639,CA
-758768640,758769151,CN
-758769152,758769279,CA
+758766848,758769279,CA
758769280,758769359,US
758769360,758769367,CA
758769368,758769375,US
-758769376,758769663,CA
+758769376,758769391,CA
+758769392,758769407,US
+758769408,758769663,CA
758769664,758769751,US
-758769752,758769791,CA
-758769792,758769855,US
+758769752,758769759,CA
+758769760,758769855,US
758769856,758769919,CA
758769920,758770175,US
758770176,758770271,CA
758770272,758770303,US
758770304,758770367,CN
758770368,758770431,CA
-758770432,758770687,US
-758770688,758770751,CA
+758770432,758770719,US
+758770720,758770751,CA
758770752,758770847,US
758770848,758770863,CA
758770864,758771199,US
@@ -11646,7 +12290,7 @@
759629568,759629823,CO
759629824,759630847,CL
759630848,759631871,BR
-759631872,759632895,HN
+759631872,759632895,US
759632896,759635967,BR
759635968,759636991,PE
759636992,759638015,EC
@@ -11683,13 +12327,15 @@
759694208,759694303,US
759694304,759694319,CA
759694320,759695231,US
-759695232,759696263,CA
+759695232,759696143,CA
+759696144,759696159,US
+759696160,759696263,CA
759696264,759696335,US
759696336,759696351,CA
759696352,759696463,US
759696464,759696479,CA
-759696480,759696575,US
-759696576,759696599,CA
+759696480,759696591,US
+759696592,759696599,CA
759696600,759696607,US
759696608,759699263,CA
759699264,759699279,US
@@ -11705,7 +12351,9 @@
759700064,759700223,US
759700224,759700479,CA
759700480,759700607,US
-759700608,759700735,CA
+759700608,759700623,CA
+759700624,759700639,US
+759700640,759700735,CA
759700736,759700863,US
759700864,759701759,CA
759701760,759702015,US
@@ -11732,17 +12380,13 @@
759711360,759711615,CA
759711616,759711647,US
759711648,759711655,CA
-759711656,759711679,US
-759711680,759711695,CA
-759711696,759711711,US
+759711656,759711711,US
759711712,759711743,CA
759711744,759711807,CN
759711808,759711839,CA
759711840,759711855,US
759711856,759711871,CA
-759711872,759712015,US
-759712016,759712031,CA
-759712032,759712095,US
+759711872,759712095,US
759712096,759712111,CA
759712112,759712127,US
759712128,759712255,CA
@@ -11753,8 +12397,8 @@
759712896,759713023,US
759713024,759721215,CA
759721216,759721231,US
-759721232,759721279,CA
-759721280,759721343,US
+759721232,759721263,CA
+759721264,759721343,US
759721344,759791615,CA
759791616,759802367,US
759802368,759803391,CA
@@ -11819,8 +12463,8 @@
759889920,759922687,JP
759922688,759955455,GB
759955456,759963647,US
-759963648,759966015,NL
-759966016,759966207,US
+759963648,759966079,NL
+759966080,759966207,US
759966208,759966719,NL
759966720,759966915,FR
759966916,759966916,TF
@@ -11859,8 +12503,7 @@
760064000,760066047,SG
760066048,760068095,JP
760068096,760078335,US
-760078336,760079359,GB
-760079360,760080383,US
+760078336,760080383,GB
760080384,760082431,AU
760082432,760086527,SG
760086528,760111103,US
@@ -11877,7 +12520,9 @@
762320896,762321919,HK
762321920,762323967,IN
762323968,762324991,SG
-762324992,762330111,IN
+762324992,762326015,IN
+762326016,762327039,KH
+762327040,762330111,IN
762330112,762331135,NZ
762331136,762332159,TH
762332160,762333183,IN
@@ -11907,7 +12552,8 @@
762372096,762373119,FJ
762373120,762376191,CN
762376192,762377215,HK
-762377216,762378239,AU
+762377216,762377471,US
+762377472,762378239,AU
762378240,762380287,IN
762380288,762381311,HK
762381312,762382335,JP
@@ -12213,7 +12859,8 @@
762848768,762849279,BD
762849280,762850303,IN
762850304,762851327,HK
-762852352,762853375,HK
+762852352,762852863,HK
+762852864,762853375,MY
762853376,762855423,IN
762855424,762857471,KR
762857472,762858495,IN
@@ -12288,7 +12935,9 @@
762946560,762947583,KR
762947584,762948607,IN
762948608,762950655,CN
-762950656,762951679,AU
+762950656,762951167,AU
+762951168,762951423,IT
+762951424,762951679,AU
762951680,762952191,SG
762952192,762952703,JP
762952704,762953727,IN
@@ -12337,7 +12986,6 @@
763084544,763086847,HK
763086848,763087871,MO
763087872,763088895,CN
-763088896,763089919,JP
763089920,763090943,CN
763090944,763091967,IN
763091968,763092991,NP
@@ -12607,7 +13255,8 @@
769706496,769706751,CR
769706752,769707007,AR
769707008,769713151,BR
-769713152,769714175,HN
+769713152,769713663,US
+769713664,769714175,HN
769714176,769719295,BR
769719296,769720319,HN
769720320,769721343,AR
@@ -12696,8 +13345,8 @@
769875968,769876991,BR
769876992,769878015,AR
769878016,769884159,BR
-769884160,769885183,AR
-769885184,769886207,CL
+769884160,769884927,AR
+769884928,769886207,CL
769886208,769890303,BR
769890304,769891327,AR
769891328,769892351,BR
@@ -12732,7 +13381,7 @@
769952768,769955839,BR
769955840,769956863,AR
769956864,769957119,BZ
-769957376,769960959,BR
+769957120,769960959,BR
769960960,769961983,EC
769961984,769963007,AR
769963008,769964031,EC
@@ -12744,18 +13393,118 @@
769970176,769971199,CL
769971200,769973247,BR
769973248,769974271,AR
-769974272,769983487,BR
+769974272,769976319,BR
+769976320,769977343,GT
+769977344,769983487,BR
769983488,769984511,EC
+769984512,769986559,BR
769986560,769987583,AR
769987584,769989631,BR
769989632,769990655,AR
+769990656,769991679,DO
+769991680,769992703,AR
769992704,769993727,GT
769993728,769994751,AR
769994752,769995775,EC
-769998848,769999871,BR
+769995776,769996799,BR
+769996800,769997823,PA
+769997824,769998847,AR
+769998848,770000895,BR
+770000896,770001407,CO
+770001408,770001663,AR
770001664,770003967,BR
+770003968,770004735,AR
+770004736,770004991,EC
770004992,770015231,BR
770015232,770016255,GT
+770016256,770017279,BR
+770017280,770017791,CL
+770017792,770020351,BR
+770020352,770020863,DO
+770020864,770021119,BR
+770021120,770021375,CR
+770021376,770025471,BR
+770025472,770026495,PY
+770026496,770028543,BR
+770028544,770029567,AR
+770029568,770030591,BR
+770030592,770031615,CL
+770031616,770032127,CO
+770032384,770032639,BO
+770032640,770033663,PA
+770033664,770034687,BR
+770034688,770035711,AR
+770035712,770044927,BR
+770044928,770045439,BO
+770045440,770045695,CR
+770045696,770045951,CL
+770045952,770046975,AR
+770046976,770047999,CR
+770048000,770050047,BR
+770050048,770052095,AR
+770052096,770053119,BR
+770053120,770053375,AR
+770053632,770054143,CL
+770054144,770056447,BR
+770056448,770056703,CO
+770056704,770057215,AR
+770057216,770058239,CL
+770058240,770059263,BR
+770059264,770060287,VE
+770060288,770061311,CL
+770061312,770063359,BR
+770064384,770065407,AR
+770065408,770066431,BR
+770066432,770067455,AR
+770067456,770068479,BR
+770068480,770069503,AR
+770069504,770070015,BR
+770070016,770070527,AR
+770070528,770079743,BR
+770079744,770080767,MX
+770080768,770091007,BR
+770091008,770092031,VE
+770092032,770093055,MX
+770093056,770098175,BR
+770098176,770099199,PE
+770099200,770100223,BR
+770100224,770101247,AR
+770102272,770103295,BR
+770103296,770104319,DO
+770104320,770109439,BR
+770109440,770110463,EC
+770110464,770111487,BR
+770111488,770112511,PE
+770112512,770121727,BR
+770121728,770122751,PE
+770122752,770123775,BR
+770123776,770124799,AR
+770124800,770125823,MX
+770125824,770126847,CL
+770126848,770127871,CR
+770127872,770131967,BR
+770131968,770132991,PE
+770132992,770134015,BR
+770134016,770135039,PE
+770135040,770140159,BR
+770140160,770141183,DO
+770141184,770142207,MX
+770142208,770150399,BR
+770151424,770152447,EC
+770153472,770154495,AR
+770154496,770156543,BR
+770156544,770157567,MX
+770157568,770160639,BR
+770160640,770161663,CO
+770161664,770168831,BR
+770169856,770170879,MX
+770170880,770171903,AR
+770171904,770179071,BR
+770180096,770181119,BR
+770182144,770184191,AR
+770186240,770187263,BR
+770188288,770189311,BR
+770190848,770191359,BO
770703360,771227647,EG
771227648,771229695,IN
771229696,771230719,CN
@@ -12786,7 +13535,8 @@
771308544,771309567,HK
771309568,771310591,KR
771310592,771315711,IN
-771315712,771316223,US
+771315712,771315967,US
+771315968,771316223,JP
771316224,771316479,KR
771316480,771316735,HK
771316736,771317759,CN
@@ -12840,7 +13590,7 @@
771416064,771417087,IN
771417088,771418111,BD
771418112,771419135,IN
-771419136,771420159,NL
+771419136,771420159,KH
771420160,771421183,MM
771421184,771423231,IN
771423232,771424255,BD
@@ -12880,7 +13630,9 @@
771535872,771536895,IN
771536896,771537919,US
771537920,771538175,JP
-771538176,771538943,IN
+771538176,771538431,AU
+771538432,771538687,IN
+771538688,771538943,NZ
771538944,771550207,CN
771550208,771551231,AU
771551232,771554303,VN
@@ -12925,7 +13677,7 @@
772145152,772210687,ES
772210688,772276223,IE
772276224,772283391,RU
-772283392,772283647,ES
+772283392,772283647,UA
772283648,772284927,RU
772284928,772285183,UA
772285184,772285439,UZ
@@ -13001,10 +13753,7 @@
772917248,772919295,RU
772919296,772923391,GB
772923392,772925439,AT
-772925440,772925695,ZW
-772925696,772926463,GB
-772926464,772926719,ZW
-772926720,772927487,GB
+772925440,772927487,ZW
772927488,772929535,UA
772929536,772931583,RU
772931584,772933631,UA
@@ -13142,7 +13891,7 @@
773251072,773255167,AZ
773255168,773259263,RU
773259264,773263359,SI
-773263360,773267455,BH
+773263360,773267455,DE
773267456,773271551,LV
773271552,773275647,CZ
773275648,773277695,GB
@@ -13221,7 +13970,9 @@
773701632,773703679,RU
773703680,773705727,IT
773705728,773707775,RU
-773707776,773709823,NO
+773707776,773708543,NO
+773708544,773708799,BV
+773708800,773709823,NO
773709824,773711871,CZ
773711872,773713919,RU
773713920,773715967,NL
@@ -13581,16 +14332,17 @@
778304306,778304306,SI
778304307,778305535,AL
778305536,778371071,IR
-778371072,778388893,GB
-778388894,778388894,DE
-778388895,778403839,GB
-778403840,778436607,DE
+778371072,778388479,GB
+778388480,778389503,DE
+778389504,778395647,GB
+778395648,778436607,DE
778436608,778461183,RO
778461184,778461439,TR
778461440,778462207,VG
778462208,778462463,TR
778462464,778463231,VG
-778463232,778463999,RO
+778463232,778463743,RO
+778463744,778463999,NL
778464000,778464255,RU
778464256,778465279,RO
778465280,778466303,IT
@@ -13604,7 +14356,8 @@
778476288,778477567,RO
778477568,778477695,NL
778477696,778479615,ES
-778479616,778480639,RO
+778479616,778480127,RO
+778480128,778480639,GB
778480640,778480895,FR
778480896,778481151,RO
778481152,778481407,GB
@@ -13770,10 +14523,12 @@
781480704,781484031,UA
781484032,781488127,RU
781488128,781496319,PL
-781496320,781500415,UA
+781496320,781496867,UA
+781496868,781496868,RU
+781496869,781500415,UA
781500416,781516799,RU
781516800,781520895,SA
-781520896,781524991,IS
+781520896,781524991,NL
781524992,781529087,RU
781529088,781533183,UA
781533184,781537279,RU
@@ -13785,7 +14540,7 @@
781565952,781570047,IT
781570048,781574143,PL
781574144,781578239,RU
-781578240,781582335,PL
+781578240,781582335,GB
781582336,781590527,UA
781590528,781598719,SI
781598720,781615103,UA
@@ -13917,7 +14672,7 @@
783181824,783185919,RU
783185920,783187967,UA
783187968,783190015,NL
-783190016,783194111,RO
+783192064,783194111,RO
783194112,783196159,CZ
783196160,783198207,UA
783198208,783202303,PL
@@ -14041,18 +14796,7 @@
784461824,784465919,FR
784465920,784596991,SE
784596992,784728063,TR
-784728064,784729087,GR
-784729088,784730367,CY
-784730368,784731647,GR
-784731648,784732159,CY
-784732160,784733695,GR
-784733696,784736255,CY
-784736256,784757247,GR
-784757248,784757631,CY
-784757632,784757759,GR
-784757760,784758271,CY
-784758272,784760831,GR
-784760832,784763391,CY
+784728064,784763391,CY
784763392,784763903,GR
784763904,784769023,CY
784769024,784786431,GR
@@ -14330,7 +15074,6 @@
787687424,787689471,NL
787689472,787691519,CZ
787693568,787695615,SK
-787695616,787697663,RU
787697664,787701759,DE
787701760,787703807,NL
787703808,787705855,AT
@@ -14377,10 +15120,12 @@
787734528,787736575,US
787736576,787737599,GB
787737600,787738367,DE
-787738368,787739135,NL
+787738368,787738879,NL
+787738880,787739135,MT
787739136,787739903,CA
787739904,787740671,AU
-787740672,787741183,BE
+787740672,787740927,BE
+787740928,787741183,EE
787741184,787741695,HK
787741696,787741951,RU
787741952,787742207,NL
@@ -14394,7 +15139,7 @@
787750176,787750191,BN
787750192,787750192,CN
787750193,787750207,NL
-787750208,787750223,FJ
+787750208,787750223,KH
787750224,787750239,ID
787750240,787750255,LA
787750256,787750271,MO
@@ -14602,7 +15347,11 @@
793378816,793395199,JP
793395200,793411583,AU
793411584,793444351,SG
-793444352,794329087,US
+793444352,793453217,US
+793453218,793453218,HK
+793453219,793454975,US
+793454976,793454976,HK
+793454977,794329087,US
794329088,794361855,SG
794361856,794369288,HK
794369289,794369289,CN
@@ -14660,7 +15409,9 @@
825419776,825420799,TH
825420800,825421823,MY
825421824,825425919,NZ
-825425920,825753599,CN
+825425920,825458687,CN
+825458688,825459199,DE
+825459200,825753599,CN
825753600,826277887,KR
826277888,828375039,CN
828375040,829423615,JP
@@ -14764,9 +15515,13 @@
838860800,838991871,US
838991872,839008511,DE
839008512,839008767,US
-839008768,839016959,DE
+839008768,839013270,DE
+839013271,839013271,US
+839013272,839016959,DE
839016960,839017087,US
-839017088,839041023,DE
+839017088,839026687,DE
+839026688,839027711,US
+839027712,839041023,DE
839041024,839042047,US
839042048,839046271,DE
839046272,839046303,US
@@ -14802,8 +15557,11 @@
839360512,839366655,NL
839366656,839366911,AT
839366912,839367167,CZ
-839367168,839368703,NL
-839368704,839385087,CZ
+839367168,839369215,NL
+839369216,839369727,CZ
+839369728,839370239,NL
+839370240,839370751,GB
+839370752,839385087,CZ
839385088,840269823,US
840269824,840273919,CA
840273920,840278015,US
@@ -14814,7 +15572,9 @@
840836122,840836124,BZ
840836125,840865791,US
840865792,840866047,CA
-840866048,840953855,US
+840866048,840953743,US
+840953744,840953759,NL
+840953760,840953855,US
840953856,840954367,JP
840954368,840956927,US
840956928,840957951,JP
@@ -14867,7 +15627,9 @@
856227840,856621055,GB
856621056,856637439,NL
856637440,856686591,FR
-856686592,857997311,GB
+856686592,856817663,GB
+856817664,856822271,DE
+856822272,857997311,GB
857997312,858017791,SA
858017792,858018175,GB
858018176,858018303,SA
@@ -14926,13 +15688,31 @@
858061824,858062335,GB
858062336,858062847,SA
858062848,858128383,IE
-858128384,858193919,GB
+858128384,858193919,FR
858193920,858259455,SA
858259456,859059509,GB
859059510,859059510,FR
-859059511,860905167,GB
+859059511,860094463,GB
+860094464,860159999,FR
+860160000,860553215,GB
+860553216,860618751,FR
+860618752,860684287,GB
+860684288,860749823,FR
+860749824,860815359,GB
+860815360,860880895,FR
+860880896,860905167,GB
860905168,860905171,FR
-860905172,864550911,GB
+860905172,860946431,GB
+860946432,861011967,FR
+861011968,861077503,GB
+861077504,861143039,FR
+861143040,861470719,GB
+861470720,861536255,FR
+861536256,861601791,GB
+861601792,861667327,FR
+861667328,862470143,GB
+862470144,862486527,IE
+862486528,864550911,GB
864550912,864649215,NL
864649216,864665599,GB
864665600,864681983,NL
@@ -14944,17 +15724,26 @@
865075200,865140735,NL
865140736,865173503,GB
865173504,865206271,NL
-865206272,866844671,GB
+865206272,865992703,GB
+865992704,866123775,FR
+866123776,866189311,GB
+866189312,866254847,FR
+866254848,866844671,GB
866844672,866910207,IE
866910208,867041279,GB
867041280,867172351,NO
-867172352,867368959,GB
+867172352,867303423,GB
+867303424,867368959,FR
867368960,867401727,IT
-867401728,869466111,GB
+867401728,868417535,GB
+868417536,868483071,FR
+868483072,869400575,GB
+869400576,869466111,FR
869466112,869531647,SA
869531648,869924863,GB
869924864,869990399,SA
-869990400,870252543,GB
+869990400,870187007,GB
+870187008,870252543,FR
870252544,870318079,SA
870318080,871038975,GB
871038976,871104511,SA
@@ -15033,7 +15822,9 @@
872357430,872357433,PT
872357434,872363135,FR
872363136,872363199,PL
-872363200,872364863,FR
+872363200,872364775,FR
+872364776,872364783,DE
+872364784,872364863,FR
872364864,872364898,NL
872364899,872364899,FR
872364900,872364927,NL
@@ -15074,12 +15865,18 @@
873664547,873725951,IE
873725952,874250239,US
874250240,874381311,DE
-874381312,874512383,IE
+874381312,874389089,IE
+874389090,874389090,GB
+874389091,874512383,IE
874512384,875446271,US
875446272,875454463,FR
875454464,875473919,US
875473920,875474943,BR
-875474944,875495423,US
+875474944,875476991,US
+875476992,875478015,DE
+875478016,875479039,US
+875479040,875487231,SE
+875487232,875495423,US
875495424,875560959,FR
875560960,875823103,IE
875823104,876085247,US
@@ -15125,7 +15922,17 @@
878512128,878513151,SG
878513152,878514175,US
878514176,878514431,IE
-878514432,878576895,US
+878514432,878514447,US
+878514448,878514449,IE
+878514450,878514865,US
+878514866,878514867,IE
+878514868,878515179,US
+878515180,878515181,SG
+878515182,878515469,US
+878515470,878515471,IE
+878515472,878522389,US
+878522390,878522391,DE
+878522392,878576895,US
878576896,878577151,IE
878577152,878577407,KR
878577408,878577663,BR
@@ -15138,9 +15945,11 @@
878579456,878579711,GB
878579712,878579967,FR
878579968,878580223,DE
-878580224,878580735,US
+878580224,878580479,US
+878580480,878580735,JP
878580736,878580991,IN
-878580992,878581759,US
+878580992,878581503,US
+878581504,878581759,SE
878581760,878582783,IE
878582784,878583807,US
878583808,878591999,GB
@@ -15186,7 +15995,9 @@
878639328,878639359,US
878639360,878639391,CN
878639392,878639407,FR
-878639408,878648831,US
+878639408,878639455,US
+878639456,878639471,JP
+878639472,878648831,US
878648832,878649343,JP
878649344,878649855,US
878649856,878650111,JP
@@ -15209,13 +16020,18 @@
878679040,878679807,GB
878679808,878680575,US
878680576,878681343,FR
-878681344,878682879,US
+878681344,878682111,JP
+878682112,878682879,US
878682880,878683647,BR
878683648,878690303,US
878690304,878694399,KR
878694400,878695423,US
878695424,878696447,SG
-878696448,878702591,US
+878696448,878698751,US
+878698752,878699007,JP
+878699008,878699263,US
+878699264,878699519,SE
+878699520,878702591,US
878702592,878702847,BR
878702848,878703103,AU
878703104,878703359,SG
@@ -15237,13 +16053,47 @@
878706512,878706559,US
878706560,878706575,DE
878706576,878706591,CN
-878706592,878772223,US
+878706592,878706703,US
+878706704,878706719,BR
+878706720,878772223,US
878772224,878772239,BR
-878772240,878804991,US
+878772240,878788623,US
+878788624,878788671,BR
+878788672,878789119,US
+878789120,878790655,BR
+878790656,878804991,US
878804992,878805247,AT
-878805248,878837759,US
+878805248,878806015,GB
+878806016,878806271,FI
+878806272,878806399,AT
+878806400,878806527,GB
+878806528,878807551,NL
+878807552,878807679,IE
+878807680,878807743,AT
+878807744,878821375,US
+878821376,878821695,NL
+878821696,878821759,US
+878821760,878822655,NL
+878822656,878837759,US
878837760,878837775,AU
-878837776,879499263,US
+878837776,878854143,US
+878854144,878854207,JP
+878854208,878854271,US
+878854272,878854399,HK
+878854400,878854655,SG
+878854656,878862335,US
+878862336,878862975,HK
+878862976,878863103,US
+878863104,878863359,HK
+878863360,879053823,US
+879053824,879054335,FR
+879054336,879070207,US
+879070208,879070719,FR
+879070720,879296511,US
+879296512,879296767,NL
+879296768,879297279,IE
+879297280,879297535,NL
+879297536,879499263,US
879499264,879501311,NL
879501312,879502335,HK
879502336,879503359,BR
@@ -15422,7 +16272,9 @@
880807936,880808191,CA
880808192,880861183,US
880861184,880869375,HK
-880869376,880872191,US
+880869376,880871423,US
+880871424,880871935,CA
+880871936,880872191,US
880872192,880872447,CA
880872448,880874751,US
880874752,880875007,CA
@@ -15433,7 +16285,7 @@
880878592,880881663,US
880881664,880885759,PR
880885760,880934911,US
-880934912,881065983,SG
+880934912,881065983,CN
881065984,881332223,US
881332224,881332735,IN
881332736,881333759,GB
@@ -15474,11 +16326,26 @@
881840640,881840895,SG
881840896,881841919,US
881841920,881842687,FR
-881842688,881859327,US
+881842688,881842943,AU
+881842944,881859327,US
881859328,881859583,CA
881859584,881868799,US
881868800,881876991,IT
-881876992,882016255,US
+881876992,881905727,US
+881905728,881905919,IE
+881905920,881905983,DE
+881905984,881906047,GB
+881906048,881906111,FR
+881906112,881906175,GB
+881906176,881906239,US
+881906240,881906303,FR
+881906304,881906367,IE
+881906368,881909823,US
+881909824,881909887,AU
+881909888,881909951,SG
+881909952,881910079,US
+881910080,881910207,JP
+881910208,882016255,US
882016256,882049023,IE
882049024,882065407,AU
882065408,882073599,JP
@@ -15621,9 +16488,16 @@
888128768,888129023,SG
888129024,888130047,US
888130048,888130303,IN
-888130304,888132607,US
+888130304,888130815,US
+888130816,888131071,IE
+888131072,888132607,US
888132608,888133119,NL
-888133120,888274943,US
+888133120,888134143,US
+888134144,888134655,AU
+888134656,888135679,US
+888135680,888135935,HK
+888135936,888136447,AU
+888136448,888274943,US
888274944,888291327,CA
888291328,888348671,US
888348672,888356863,JP
@@ -15694,8 +16568,22 @@
908388880,908388887,DE
908388888,908389119,FR
908389120,908389375,DE
-908389376,908525567,FR
-908525568,908591103,CA
+908389376,908399018,FR
+908399019,908399019,GB
+908399020,908406631,FR
+908406632,908406639,DE
+908406640,908406647,FR
+908406648,908406655,DE
+908406656,908419975,FR
+908419976,908419983,DE
+908419984,908491879,FR
+908491880,908491887,IT
+908491888,908497983,FR
+908497984,908498047,GB
+908498048,908525567,FR
+908525568,908534239,CA
+908534240,908534271,GB
+908534272,908591103,CA
908591104,910163967,US
910163968,910197237,JP
910197238,910197238,US
@@ -15776,7 +16664,9 @@
921633008,921633023,GB
921633024,921633039,CA
921633040,921633055,FR
-921633056,921633791,US
+921633056,921633071,US
+921633072,921633087,JP
+921633088,921633791,US
921633792,921634815,DE
921634816,921640959,US
921640960,921643007,IE
@@ -16033,7 +16923,9 @@
962744320,962748415,BE
962748416,962752511,BH
962752512,962756607,ZA
-962756608,968818687,BE
+962756608,968638207,BE
+968638208,968638463,IN
+968638464,968818687,BE
968818688,968819711,DE
968819712,968851455,BE
968851456,968852479,US
@@ -16407,8 +17299,8 @@
1025295872,1025296127,AU
1025296128,1025296639,FR
1025296640,1025299199,AU
-1025299200,1025299263,IN
-1025299264,1025299455,AU
+1025299200,1025299327,IN
+1025299328,1025299455,AU
1025299456,1025299711,CN
1025299712,1025300735,AU
1025300736,1025300991,US
@@ -16628,7 +17520,9 @@
1041741568,1041741823,ES
1041741824,1041743871,GB
1041743872,1041747967,FR
-1041747968,1041748991,GB
+1041747968,1041748047,GB
+1041748048,1041748063,DE
+1041748064,1041748991,GB
1041748992,1041749247,FR
1041749248,1041751551,GB
1041751552,1041752063,FR
@@ -16777,7 +17671,9 @@
1044676608,1044684799,RU
1044684800,1044685158,GG
1044685159,1044685159,JE
-1044685160,1044692422,GG
+1044685160,1044685311,GG
+1044685312,1044685567,JE
+1044685568,1044692422,GG
1044692423,1044692423,IM
1044692424,1044692991,GG
1044692992,1044697087,AT
@@ -16822,7 +17718,8 @@
1045250048,1045266431,CZ
1045266432,1045268479,HU
1045268480,1045270527,MK
-1045270528,1045274623,HU
+1045270528,1045272575,HU
+1045272576,1045274623,LT
1045274624,1045282815,IE
1045282816,1045299199,HU
1045299200,1045307391,US
@@ -16844,7 +17741,9 @@
1045708800,1045716991,LB
1045716992,1045725183,RU
1045725184,1045733375,CZ
-1045733376,1045745420,GB
+1045733376,1045741959,GB
+1045741960,1045741967,SE
+1045741968,1045745420,GB
1045745421,1045745421,SE
1045745422,1045748319,GB
1045748320,1045748351,SE
@@ -16893,7 +17792,9 @@
1046489312,1046489327,ES
1046489328,1046489391,GB
1046489392,1046489407,IT
-1046489408,1046489471,GB
+1046489408,1046489439,GB
+1046489440,1046489447,SE
+1046489448,1046489471,GB
1046489472,1046489487,ES
1046489488,1046489503,GB
1046489504,1046489519,DE
@@ -16903,21 +17804,27 @@
1046495720,1046495727,DE
1046495728,1046502106,GB
1046502107,1046502108,DE
-1046502109,1046506751,GB
+1046502109,1046504835,GB
+1046504836,1046504837,DE
+1046504838,1046506751,GB
1046506752,1046507007,DE
1046507008,1046514687,GB
1046514688,1046515711,DE
1046515712,1046524215,GB
1046524216,1046524223,DE
-1046524224,1046524647,GB
+1046524224,1046524264,GB
+1046524265,1046524265,DE
+1046524266,1046524266,GB
+1046524267,1046524270,DE
+1046524271,1046524647,GB
1046524648,1046524655,DE
1046524656,1046525439,GB
1046525440,1046525695,DE
1046525696,1046528383,GB
1046528384,1046528391,DE
-1046528392,1046528505,GB
-1046528506,1046528506,DE
-1046528507,1046530973,GB
+1046528392,1046528503,GB
+1046528504,1046528511,DE
+1046528512,1046530973,GB
1046530974,1046530974,DE
1046530975,1046531839,GB
1046531840,1046532095,DE
@@ -16931,7 +17838,9 @@
1046535666,1046535666,DE
1046535667,1046536511,GB
1046536512,1046536543,DE
-1046536544,1046540527,GB
+1046536544,1046539895,GB
+1046539896,1046539903,DE
+1046539904,1046540527,GB
1046540528,1046540543,SE
1046540544,1046543209,GB
1046543210,1046543210,DE
@@ -16954,7 +17863,8 @@
1046792449,1046793215,US
1046793216,1046794239,GB
1046794240,1046794495,MX
-1046794496,1046795007,US
+1046794496,1046794751,NL
+1046794752,1046795007,US
1046795008,1046795263,NL
1046795264,1046796287,GB
1046796288,1046797311,US
@@ -17012,7 +17922,11 @@
1047396352,1047461887,IT
1047461888,1047494655,DE
1047494656,1047527423,PL
-1047527424,1047529471,US
+1047527424,1047527679,US
+1047527680,1047527935,CA
+1047527936,1047528959,US
+1047528960,1047529215,CA
+1047529216,1047529471,US
1047529472,1047530495,NL
1047530496,1047531007,GB
1047531008,1047533567,BE
@@ -17033,6 +17947,9 @@
1047642112,1047658495,DE
1047658496,1047724031,EG
1047728128,1047732223,SE
+1047732455,1047732455,US
+1047733843,1047733843,US
+1047735501,1047735501,US
1047735770,1047735770,DE
1047736552,1047736553,US
1047740544,1047740671,DE
@@ -17153,11 +18070,14 @@
1048944640,1048952831,RU
1048952832,1048969215,NL
1048979712,1048980223,DE
+1048982888,1048982943,DE
+1048985696,1048985711,DE
1048987480,1048987487,DE
1048991960,1048991967,DE
1048992528,1048992535,DE
1048992608,1048992623,DE
1048992640,1048992703,DE
+1048992744,1048992751,DE
1049006080,1049006335,DE
1049008128,1049009151,DE
1049016320,1049022463,DE
@@ -18066,9 +18986,6 @@
1052770304,1052778495,CH
1052778496,1052786687,RU
1052786688,1052803071,NL
-1052803072,1052806655,DE
-1052806656,1052807167,MW
-1052807168,1052811263,DE
1052811264,1052819455,RU
1052819456,1052827647,DE
1052827648,1052835839,RU
@@ -18089,6 +19006,7 @@
1053294616,1053294623,AT
1053294656,1053294679,AT
1053295104,1053296639,AT
+1053296896,1053297023,IT
1053297152,1053297663,IT
1053301056,1053301071,FR
1053302780,1053302783,FR
@@ -18204,8 +19122,7 @@
1054728192,1054728447,ES
1054728448,1054728703,IE
1054728704,1054728959,FR
-1054728960,1054729215,IE
-1054729216,1054867455,NL
+1054728960,1054867455,NL
1054867456,1055129599,DE
1055129600,1055130623,GR
1055130624,1055131647,CY
@@ -18447,7 +19364,9 @@
1065877504,1065906175,US
1065906176,1065908223,KY
1065908224,1066139647,US
-1066139648,1066143743,HK
+1066139648,1066140415,HK
+1066140416,1066140671,SG
+1066140672,1066143743,HK
1066143744,1066213887,US
1066213888,1066214911,IL
1066214912,1066254975,US
@@ -18574,7 +19493,9 @@
1068481024,1068481535,PR
1068481536,1068491263,US
1068491264,1068491519,HN
-1068491520,1070729471,US
+1068491520,1070646015,US
+1070646016,1070646271,IN
+1070646272,1070729471,US
1070729472,1070729727,CA
1070729728,1071100927,US
1071100928,1071101951,PR
@@ -18588,7 +19509,9 @@
1071144960,1071153151,LB
1071153152,1071170815,US
1071170816,1071171071,PH
-1071171072,1071206911,US
+1071171072,1071201551,US
+1071201552,1071201567,TH
+1071201568,1071206911,US
1071206912,1071207167,HK
1071207168,1071255525,US
1071255526,1071255526,DE
@@ -18596,7 +19519,9 @@
1071255840,1071255847,TW
1071255848,1071278959,US
1071278960,1071278963,SG
-1071278964,1071318783,US
+1071278964,1071301135,US
+1071301136,1071301143,FR
+1071301144,1071318783,US
1071318784,1071319039,IN
1071319040,1071382975,US
1071382976,1071383039,HK
@@ -18623,7 +19548,9 @@
1072099536,1072099583,DE
1072099584,1072157503,US
1072157504,1072157511,GR
-1072157512,1072157631,US
+1072157512,1072157583,US
+1072157584,1072157591,DE
+1072157592,1072157631,US
1072157632,1072157663,DE
1072157664,1072228863,US
1072228864,1072229375,CA
@@ -18846,7 +19773,11 @@
1074733056,1074737151,AU
1074737152,1074745343,CA
1074745344,1074757631,US
-1074757632,1074765823,CA
+1074757632,1074763063,CA
+1074763064,1074763071,US
+1074763072,1074763095,CA
+1074763096,1074763103,US
+1074763104,1074765823,CA
1074765824,1074777343,US
1074777344,1074777599,AU
1074777600,1074937855,US
@@ -18862,7 +19793,9 @@
1075421184,1075429375,CA
1075429376,1075478527,US
1075478528,1075494911,CA
-1075494912,1075576831,US
+1075494912,1075558911,US
+1075558912,1075560447,VI
+1075560448,1075576831,US
1075576832,1075576895,NO
1075576896,1075576896,SE
1075576897,1075585023,NO
@@ -18903,9 +19836,7 @@
1076000256,1076000767,US
1076000768,1076002047,CA
1076002048,1076002815,US
-1076002816,1076011007,CA
-1076011008,1076015103,US
-1076015104,1076018098,CA
+1076002816,1076018098,CA
1076018099,1076018099,US
1076018100,1076018431,CA
1076018432,1076018687,US
@@ -18966,7 +19897,11 @@
1076196096,1076196351,CA
1076196352,1076198655,US
1076198656,1076198911,AE
-1076198912,1076307967,US
+1076198912,1076302439,US
+1076302440,1076302447,CA
+1076302448,1076304151,US
+1076304152,1076304159,CA
+1076304160,1076307967,US
1076307968,1076308223,DE
1076308224,1076310015,US
1076310016,1076310271,DE
@@ -18986,7 +19921,9 @@
1076424704,1076428799,CA
1076428800,1076543487,US
1076543488,1076559871,CA
-1076559872,1076695039,US
+1076559872,1076576255,IE
+1076576256,1076592639,RO
+1076592640,1076695039,US
1076695040,1076699135,CA
1076699136,1076703231,US
1076703232,1076706559,CA
@@ -19005,7 +19942,9 @@
1076879508,1076880383,US
1076880384,1076880639,CH
1076880640,1076880895,GB
-1076880896,1077055487,US
+1076880896,1077007167,US
+1077007168,1077007175,CA
+1077007176,1077055487,US
1077055488,1077059583,CA
1077059584,1077444607,US
1077444608,1077452799,CA
@@ -19252,8 +20191,12 @@
1080015872,1080016383,GB
1080016384,1080016639,US
1080016640,1080016895,GB
-1080016896,1080033279,US
-1080033280,1080164351,KY
+1080016896,1080030527,US
+1080030528,1080030591,AR
+1080030592,1080033279,US
+1080033280,1080074239,KY
+1080074240,1080078335,US
+1080078336,1080164351,KY
1080164352,1080165375,US
1080165376,1080168447,CA
1080168448,1080172543,US
@@ -19298,7 +20241,8 @@
1080969728,1080983551,DE
1080983552,1080987647,US
1080987648,1080988671,DE
-1080988672,1080989951,US
+1080988672,1080989183,AI
+1080989184,1080989951,US
1080989952,1080990207,DE
1080990208,1080999935,US
1080999936,1081016319,CA
@@ -19356,7 +20300,11 @@
1081479168,1081483247,CA
1081483248,1081483255,US
1081483256,1081483263,CA
-1081483264,1081565183,US
+1081483264,1081544703,US
+1081544704,1081546497,MN
+1081546498,1081546498,US
+1081546499,1081548799,MN
+1081548800,1081565183,US
1081565184,1081573375,CA
1081573376,1081589759,US
1081589760,1081593855,BB
@@ -19407,7 +20355,9 @@
1084067584,1084067839,CA
1084067840,1084153599,US
1084153600,1084153855,NL
-1084153856,1085439999,US
+1084153856,1085024287,US
+1085024288,1085024319,DE
+1085024320,1085439999,US
1085440000,1085448191,CA
1085448192,1085456383,US
1085456384,1085464575,PR
@@ -19443,7 +20393,9 @@
1087016960,1087021055,CA
1087021056,1087062015,US
1087062016,1087070207,CA
-1087070208,1087405407,US
+1087070208,1087375203,US
+1087375204,1087375207,GB
+1087375208,1087405407,US
1087405408,1087405423,MX
1087405424,1087413879,US
1087413880,1087413883,ES
@@ -19467,13 +20419,17 @@
1087501536,1087501695,HK
1087501696,1087501775,US
1087501776,1087501799,HK
-1087501800,1087508161,US
+1087501800,1087502783,US
+1087502784,1087502847,HK
+1087502848,1087508161,US
1087508162,1087508162,JP
1087508163,1087509967,US
1087509968,1087509971,FI
1087509972,1087514623,US
1087514624,1087516671,BB
-1087516672,1087575807,US
+1087516672,1087522125,US
+1087522126,1087522126,NL
+1087522127,1087575807,US
1087575808,1087575815,MX
1087575816,1087586967,US
1087586968,1087586971,NL
@@ -19722,7 +20678,13 @@
1090445312,1090453503,CA
1090453504,1090497903,US
1090497904,1090497919,AU
-1090497920,1091803135,US
+1090497920,1091739647,US
+1091739648,1091743487,CH
+1091743488,1091743743,US
+1091743744,1091745791,CH
+1091745792,1091747071,US
+1091747072,1091747327,CH
+1091747328,1091803135,US
1091803136,1091803391,CN
1091803392,1091807231,US
1091807232,1091807487,CA
@@ -19798,58 +20760,23 @@
1093984256,1093986303,IE
1093986304,1094061971,US
1094061972,1094061975,NL
-1094061976,1094061979,IE
-1094061980,1094064127,US
-1094064128,1094064575,IE
-1094064576,1094064639,US
-1094064640,1094064799,IE
-1094064800,1094064831,US
+1094061976,1094064127,US
+1094064128,1094064383,IE
+1094064384,1094064639,US
+1094064640,1094064767,IE
+1094064768,1094064831,US
1094064832,1094064863,IE
-1094064864,1094064871,US
-1094064872,1094064887,IE
-1094064888,1094065087,US
-1094065088,1094065119,IE
-1094065120,1094066175,US
-1094066176,1094066407,IE
-1094066408,1094066415,US
-1094066416,1094066431,IE
-1094066432,1094066671,US
-1094066672,1094066679,IE
-1094066680,1094066683,US
-1094066684,1094066687,IE
-1094066688,1094066911,US
-1094066912,1094066975,IE
-1094066976,1094074879,US
-1094074880,1094075167,BR
-1094075168,1094075171,US
-1094075172,1094075195,BR
-1094075196,1094075223,US
-1094075224,1094075235,BR
-1094075236,1094079743,US
-1094079744,1094079999,BR
-1094080000,1094081023,US
+1094064864,1094066175,US
+1094066176,1094066303,IE
+1094066304,1094081023,US
1094081024,1094081535,JP
-1094081536,1094088703,US
-1094088704,1094088751,PR
-1094088752,1094088863,US
-1094088864,1094089103,PR
-1094089104,1094089119,US
-1094089120,1094089279,PR
-1094089280,1094089503,US
-1094089504,1094089535,PR
-1094089536,1094099551,US
+1094081536,1094099551,US
1094099552,1094099567,IE
-1094099568,1094100719,US
-1094100720,1094100735,GB
-1094100736,1094106239,US
-1094106240,1094106255,GB
-1094106256,1094124543,US
+1094099568,1094124543,US
1094124544,1094124799,IE
1094124800,1094139039,US
1094139040,1094139051,IE
-1094139052,1094139063,US
-1094139064,1094139067,CN
-1094139068,1094146047,US
+1094139052,1094146047,US
1094146048,1094146079,KR
1094146080,1094146111,HK
1094146112,1094146143,SG
@@ -19889,7 +20816,32 @@
1097076124,1097076127,DE
1097076128,1097727999,US
1097728000,1097736191,CA
-1097736192,1097768959,US
+1097736192,1097742641,US
+1097742642,1097742651,BR
+1097742652,1097742681,US
+1097742682,1097742691,CN
+1097742692,1097742711,US
+1097742712,1097742721,UA
+1097742722,1097742741,US
+1097742742,1097742751,DE
+1097742752,1097743399,US
+1097743400,1097743409,RU
+1097743410,1097743675,US
+1097743676,1097743685,KH
+1097743686,1097743695,US
+1097743696,1097743705,KW
+1097743706,1097743901,US
+1097743902,1097743911,DE
+1097743912,1097744137,US
+1097744138,1097744147,TR
+1097744148,1097744227,US
+1097744228,1097744237,RU
+1097744238,1097744257,US
+1097744258,1097744267,UA
+1097744268,1097744307,US
+1097744308,1097744317,RU
+1097744318,1097744327,ES
+1097744328,1097768959,US
1097768960,1097785343,CA
1097785344,1097830399,US
1097830400,1097834495,CA
@@ -20202,7 +21154,9 @@
1111212032,1111228415,US
1111228416,1111244799,AR
1111244800,1111916543,US
-1111916544,1111949311,CA
+1111916544,1111937727,CA
+1111937728,1111937735,US
+1111937736,1111949311,CA
1111949312,1111982079,US
1111982080,1111998463,IT
1111998464,1112412671,US
@@ -20229,7 +21183,11 @@
1112506368,1112530943,US
1112530944,1112539135,CA
1112539136,1112653823,US
-1112653824,1112657919,VG
+1112653824,1112653857,VG
+1112653858,1112653858,US
+1112653859,1112653981,VG
+1112653982,1112653982,US
+1112653983,1112657919,VG
1112657920,1112867327,US
1112867328,1112867583,BS
1112867584,1112869887,US
@@ -20348,9 +21306,7 @@
1115132096,1115132159,HK
1115132160,1115132671,US
1115132672,1115132927,SG
-1115132928,1115133183,US
-1115133184,1115133439,CN
-1115133440,1115133503,US
+1115132928,1115133503,US
1115133504,1115133567,NL
1115133568,1115133951,US
1115133952,1115134079,SG
@@ -20418,8 +21374,10 @@
1117142528,1117274111,US
1117274112,1117282303,CA
1117282304,1117413375,US
-1117413376,1117415423,CA
-1117415424,1117416703,US
+1117413376,1117413631,CA
+1117413632,1117414143,US
+1117414144,1117414911,CA
+1117414912,1117416703,US
1117416704,1117417471,CA
1117417472,1117417983,US
1117417984,1117418495,CA
@@ -20431,8 +21389,8 @@
1117454848,1117455619,CA
1117455620,1117455620,DE
1117455621,1117456895,CA
-1117456896,1117457151,US
-1117457152,1117458751,CA
+1117456896,1117457919,US
+1117457920,1117458751,CA
1117458752,1117458815,GB
1117458816,1117458911,CA
1117458912,1117458943,GB
@@ -20442,7 +21400,9 @@
1117460992,1117461247,GB
1117461248,1117469183,CA
1117469184,1117469439,US
-1117469440,1117476735,CA
+1117469440,1117472767,CA
+1117472768,1117474815,GB
+1117474816,1117476735,CA
1117476736,1117476799,US
1117476800,1117478519,CA
1117478520,1117478520,DE
@@ -20569,7 +21529,9 @@
1119580160,1119584255,CA
1119584256,1119611903,US
1119611904,1119612159,BR
-1119612160,1120149503,US
+1119612160,1119612415,US
+1119612416,1119612671,JP
+1119612672,1120149503,US
1120149504,1120153599,CA
1120153600,1120274943,US
1120274944,1120274991,CA
@@ -20672,7 +21634,11 @@
1121252864,1121253119,BZ
1121253120,1121254159,US
1121254160,1121254167,CA
-1121254168,1121763327,US
+1121254168,1121479003,US
+1121479004,1121479007,IN
+1121479008,1121717115,US
+1121717116,1121717116,JP
+1121717117,1121763327,US
1121763328,1121767423,CA
1121767424,1121878015,US
1121878016,1121910783,CA
@@ -20710,7 +21676,8 @@
1122535424,1122538495,KR
1122538496,1122635775,US
1122635776,1122639871,CA
-1122639872,1122672639,US
+1122639872,1122648063,US
+1122656256,1122672639,US
1122672640,1122676735,AU
1122676736,1123123199,US
1123123200,1123127295,CA
@@ -20787,7 +21754,25 @@
1123950592,1123958783,CA
1123958784,1124853798,US
1124853799,1124853799,JP
-1124853800,1125147624,US
+1124853800,1125064703,US
+1125064704,1125065215,GB
+1125065216,1125081855,US
+1125081856,1125082111,DE
+1125082112,1125082367,US
+1125082368,1125082623,DE
+1125082624,1125087999,US
+1125088000,1125088255,CA
+1125088256,1125099775,US
+1125099776,1125100031,GB
+1125100032,1125112831,US
+1125112832,1125113087,MA
+1125113088,1125116415,US
+1125116416,1125116671,MA
+1125116672,1125117183,US
+1125117184,1125117439,MA
+1125117440,1125120255,US
+1125120256,1125120511,MA
+1125120512,1125147624,US
1125147625,1125147625,GB
1125147626,1125156304,US
1125156305,1125156305,DE
@@ -20822,7 +21807,9 @@
1125550336,1125552127,CA
1125552128,1125572607,US
1125572608,1125576703,CA
-1125576704,1126924287,US
+1125576704,1125621799,US
+1125621800,1125621807,BR
+1125621808,1126924287,US
1126924288,1126928383,CA
1126928384,1126948863,US
1126948864,1126952959,CA
@@ -20857,15 +21844,17 @@
1133785536,1133789887,US
1133789888,1133789895,NL
1133789896,1133789903,IE
-1133789904,1134444543,US
+1133789904,1134440959,US
+1134440960,1134441215,CA
+1134441216,1134444543,US
1134444544,1134448639,CA
-1134448640,1134545919,US
-1134545920,1134545951,BH
-1134545952,1134546175,US
-1134546176,1134546207,BH
-1134546208,1134546943,US
+1134448640,1134546943,US
1134546944,1134551039,CA
-1134551040,1136721919,US
+1134551040,1136658999,US
+1136659000,1136659007,IN
+1136659008,1136675839,US
+1136675840,1136676095,GB
+1136676096,1136721919,US
1136721920,1136787455,CA
1136787456,1137195519,US
1137195520,1137195775,JP
@@ -20878,14 +21867,27 @@
1137442816,1137491967,US
1137491968,1137508351,CA
1137508352,1137524735,US
-1137524736,1137541119,CA
+1137524736,1137529719,CA
+1137529720,1137529727,US
+1137529728,1137530943,CA
+1137530944,1137530951,AE
+1137530952,1137539183,CA
+1137539184,1137539191,MX
+1137539192,1137541119,CA
1137541120,1137623039,US
1137623040,1137639423,PR
-1137639424,1137681583,US
+1137639424,1137656831,US
+1137656832,1137657855,GB
+1137657856,1137659903,DE
+1137659904,1137681583,US
1137681584,1137681599,AR
1137681600,1137688063,US
1137688064,1137688319,FR
-1137688320,1137704959,US
+1137688320,1137690623,US
+1137690624,1137691135,DE
+1137691136,1137692159,US
+1137692160,1137692671,CA
+1137692672,1137704959,US
1137704960,1137712383,CA
1137712384,1137712639,US
1137712640,1137713151,CA
@@ -20913,7 +21915,9 @@
1137954816,1137963007,US
1137963008,1137967103,VI
1137967104,1137983487,US
-1137983488,1137991679,CA
+1137983488,1137985695,CA
+1137985696,1137985727,US
+1137985728,1137991679,CA
1137991680,1138049023,US
1138049024,1138061311,CA
1138061312,1138068479,US
@@ -20951,9 +21955,44 @@
1138417408,1138417663,CA
1138417664,1138419711,US
1138419712,1138419967,DE
-1138419968,1138451767,US
+1138419968,1138450959,US
+1138450960,1138450967,JM
+1138450968,1138451071,US
+1138451072,1138451079,GB
+1138451080,1138451103,US
+1138451104,1138451111,DO
+1138451112,1138451191,US
+1138451192,1138451199,BE
+1138451200,1138451767,US
1138451768,1138451775,IN
-1138451776,1138474239,US
+1138451776,1138451783,GB
+1138451784,1138451847,US
+1138451848,1138451855,RU
+1138451856,1138451959,US
+1138451960,1138451967,RU
+1138451968,1138452007,US
+1138452008,1138452015,DE
+1138452016,1138452047,US
+1138452048,1138452055,AU
+1138452056,1138452063,GB
+1138452064,1138452263,US
+1138452264,1138452271,IN
+1138452272,1138452287,US
+1138452288,1138452295,GR
+1138452296,1138452311,US
+1138452312,1138452319,CA
+1138452320,1138452335,US
+1138452336,1138452351,CA
+1138452352,1138452415,US
+1138452416,1138452423,CA
+1138452424,1138452431,FR
+1138452432,1138452455,US
+1138452456,1138452479,FR
+1138452480,1138453247,US
+1138453248,1138453255,CA
+1138453256,1138453391,US
+1138453392,1138453399,IS
+1138453400,1138474239,US
1138474240,1138474751,CA
1138474752,1138499583,US
1138499584,1138503679,CA
@@ -21034,7 +22073,9 @@
1145099568,1145099697,SA
1145099698,1145099699,US
1145099700,1145099775,SA
-1145099776,1145188351,US
+1145099776,1145168895,US
+1145168896,1145171967,AU
+1145171968,1145188351,US
1145188352,1145192447,CA
1145192448,1145242111,US
1145242112,1145242367,NO
@@ -21060,7 +22101,9 @@
1145421824,1145430015,CA
1145430016,1145475071,US
1145475072,1145479167,CA
-1145479168,1145503743,US
+1145479168,1145487359,US
+1145487360,1145491455,CH
+1145491456,1145503743,US
1145503744,1145520127,CA
1145520128,1150287871,US
1150287872,1150812159,CA
@@ -21117,9 +22160,13 @@
1157910864,1157910879,US
1157910880,1157911071,CA
1157911072,1157911103,US
-1157911104,1157911343,CA
+1157911104,1157911279,CA
+1157911280,1157911287,US
+1157911288,1157911343,CA
1157911344,1157911351,US
-1157911352,1157911775,CA
+1157911352,1157911743,CA
+1157911744,1157911759,US
+1157911760,1157911775,CA
1157911776,1157911791,US
1157911792,1157911927,CA
1157911928,1157911935,US
@@ -21127,7 +22174,9 @@
1157911952,1157911983,US
1157911984,1157912015,CA
1157912016,1157912031,US
-1157912032,1157912347,CA
+1157912032,1157912183,CA
+1157912184,1157912191,US
+1157912192,1157912347,CA
1157912348,1157912348,US
1157912349,1157912391,CA
1157912392,1157912399,US
@@ -21135,8 +22184,8 @@
1157912448,1157912463,US
1157912464,1157912647,CA
1157912648,1157912671,US
-1157912672,1157912703,CA
-1157912704,1157912735,US
+1157912672,1157912687,CA
+1157912688,1157912735,US
1157912736,1157912743,CA
1157912744,1157912751,US
1157912752,1157912815,CA
@@ -21145,13 +22194,15 @@
1157912832,1157912839,US
1157912840,1157912895,CA
1157912896,1157912911,US
-1157912912,1157912959,CA
-1157912960,1157913023,US
+1157912912,1157912943,CA
+1157912944,1157913023,US
1157913024,1157913039,CA
1157913040,1157913047,FI
1157913048,1157913087,CA
1157913088,1157913119,US
-1157913120,1157913231,CA
+1157913120,1157913207,CA
+1157913208,1157913215,US
+1157913216,1157913231,CA
1157913232,1157913247,US
1157913248,1157913279,CA
1157913280,1157913295,US
@@ -21167,7 +22218,9 @@
1157913632,1157913647,US
1157913648,1157913663,CA
1157913664,1157913679,US
-1157913680,1157913759,CA
+1157913680,1157913695,CA
+1157913696,1157913711,US
+1157913712,1157913759,CA
1157913760,1157913775,US
1157913776,1157913919,CA
1157913920,1157913943,US
@@ -21227,7 +22280,15 @@
1158784768,1158791167,CA
1158791168,1158799359,BM
1158799360,1158807551,CA
-1158807552,1158995967,US
+1158807552,1158951575,US
+1158951576,1158951583,CA
+1158951584,1158959031,US
+1158959032,1158959039,CA
+1158959040,1158967559,US
+1158967560,1158967567,CA
+1158967568,1158969703,US
+1158969704,1158969711,CA
+1158969712,1158995967,US
1158995968,1159004159,CA
1159004160,1159213055,US
1159213056,1159217151,CA
@@ -21290,7 +22351,9 @@
1160011776,1160019967,CA
1160019968,1160364031,US
1160364032,1160368127,CA
-1160368128,1160392703,US
+1160368128,1160373247,US
+1160373248,1160373503,AE
+1160373504,1160392703,US
1160392704,1160392959,CA
1160392960,1160393727,US
1160393728,1160396799,CA
@@ -21330,7 +22393,12 @@
1160921088,1160925183,AG
1160925184,1160945663,US
1160945664,1160953855,CA
-1160953856,1161019391,US
+1160953856,1160967679,US
+1160967680,1160968191,GB
+1160968192,1160968703,SE
+1160968704,1160969215,US
+1160969216,1160970239,NL
+1160970240,1161019391,US
1161019392,1161035775,CA
1161035776,1161052671,US
1161052672,1161052927,GB
@@ -21366,11 +22434,15 @@
1161429032,1161429039,SE
1161429040,1161429111,CA
1161429112,1161429135,US
-1161429136,1161429175,CA
+1161429136,1161429151,CA
+1161429152,1161429167,US
+1161429168,1161429175,CA
1161429176,1161429199,US
1161429200,1161429215,CA
1161429216,1161429255,US
-1161429256,1161429295,CA
+1161429256,1161429263,CA
+1161429264,1161429279,US
+1161429280,1161429295,CA
1161429296,1161429327,US
1161429328,1161429335,CA
1161429336,1161429351,US
@@ -21394,8 +22466,8 @@
1161429856,1161429863,US
1161429864,1161429887,CA
1161429888,1161429903,US
-1161429904,1161429999,CA
-1161430000,1161430015,US
+1161429904,1161429983,CA
+1161429984,1161430015,US
1161430016,1161430023,FI
1161430024,1161430111,CA
1161430112,1161430159,US
@@ -21418,9 +22490,7 @@
1161430816,1161430847,CA
1161430848,1161430911,US
1161430912,1161430943,CA
-1161430944,1161430975,US
-1161430976,1161430991,CA
-1161430992,1161431007,US
+1161430944,1161431007,US
1161431008,1161431039,CA
1161431040,1161431295,CN
1161431296,1161432063,US
@@ -21448,7 +22518,9 @@
1161818112,1161822207,CA
1161822208,1161830852,US
1161830853,1161830853,BZ
-1161830854,1161835230,US
+1161830854,1161833967,US
+1161833968,1161833975,DE
+1161833976,1161835230,US
1161835231,1161835231,PH
1161835232,1161835948,US
1161835949,1161835949,BZ
@@ -21533,7 +22605,9 @@
1162925984,1162926015,AU
1162926016,1162926071,US
1162926072,1162926079,AU
-1162926080,1163386367,US
+1162926080,1162928127,US
+1162932224,1163370495,US
+1163378688,1163386367,US
1163386368,1163386879,CA
1163386880,1163399167,US
1163399168,1163399423,WS
@@ -21629,7 +22703,9 @@
1168113664,1168121855,MM
1168121856,1168138239,US
1168138240,1168146431,JM
-1168146432,1168211967,US
+1168146432,1168156671,US
+1168156672,1168158719,HK
+1168158720,1168211967,US
1168211968,1168220159,CA
1168220160,1168228863,US
1168228864,1168229119,AU
@@ -21665,7 +22741,11 @@
1168697600,1168697855,GB
1168697856,1168698111,NL
1168698112,1168698367,GB
-1168698368,1168727551,US
+1168698368,1168698623,US
+1168698624,1168698879,UA
+1168698880,1168699135,US
+1168699136,1168699391,UA
+1168699392,1168727551,US
1168727552,1168727807,ES
1168727808,1168850943,US
1168850944,1168851967,HK
@@ -21673,8 +22753,9 @@
1168855040,1168859135,US
1168859136,1168863231,CA
1168863232,1168867327,US
-1168867328,1168875519,CA
+1168867328,1168882547,CA
1168882548,1168882548,US
+1168882549,1168883711,CA
1168883712,1168916479,US
1168916480,1168924671,HK
1168924672,1168932863,IT
@@ -21691,8 +22772,8 @@
1168954752,1168955076,US
1168955077,1168955093,CA
1168955094,1168955647,US
-1168955648,1168956927,CA
-1168956928,1168957183,US
+1168955648,1168956671,CA
+1168956672,1168957183,US
1168957184,1168957311,IN
1168957312,1168958495,CA
1168958496,1168958527,US
@@ -21710,9 +22791,19 @@
1168962576,1168965631,CA
1168965632,1168973823,US
1168973824,1168982015,CA
-1168982016,1169031167,US
-1169031168,1169035263,CA
-1169035264,1169203199,US
+1168982016,1169002495,US
+1169002496,1169002751,DE
+1169002752,1169031167,US
+1169031168,1169033819,CA
+1169033820,1169033823,US
+1169033824,1169035263,CA
+1169035264,1169043991,US
+1169043992,1169043995,GB
+1169043996,1169052015,US
+1169052016,1169052019,GB
+1169052020,1169052047,US
+1169052048,1169052051,GB
+1169052052,1169203199,US
1169203200,1169211391,CA
1169211392,1170190335,US
1170190336,1170190847,GB
@@ -21780,27 +22871,52 @@
1176776704,1176780799,CA
1176780800,1176864255,US
1176864256,1176864319,JP
-1176864320,1176864767,US
-1176864768,1176865535,PR
-1176865536,1176868095,US
+1176864320,1176868095,US
1176868096,1176868351,AU
-1176868352,1176868863,BR
-1176868864,1176895487,US
+1176868352,1176895487,US
1176895488,1176897047,CA
1176897048,1176897055,US
1176897056,1176900735,CA
1176900736,1176900743,US
1176900744,1176904871,CA
1176904872,1176904879,US
-1176904880,1176907927,CA
+1176904880,1176905687,CA
+1176905688,1176905695,US
+1176905696,1176905743,CA
+1176905744,1176905751,MX
+1176905752,1176907927,CA
1176907928,1176907935,GB
-1176907936,1176910343,CA
+1176907936,1176908887,CA
+1176908888,1176908895,US
+1176908896,1176910343,CA
1176910344,1176910351,CR
-1176910352,1176917831,CA
+1176910352,1176911311,CA
+1176911312,1176911319,FR
+1176911320,1176914167,CA
+1176914168,1176914175,US
+1176914176,1176916911,CA
+1176916912,1176916919,US
+1176916920,1176917831,CA
1176917832,1176917839,AU
-1176917840,1176925007,CA
+1176917840,1176917863,CA
+1176917864,1176917871,US
+1176917872,1176917903,CA
+1176917904,1176917911,IL
+1176917912,1176919711,CA
+1176919712,1176919719,US
+1176919720,1176919807,CA
+1176919808,1176920575,KY
+1176920576,1176921007,CA
+1176921008,1176921015,US
+1176921016,1176921647,CA
+1176921648,1176921655,US
+1176921656,1176922927,CA
+1176922928,1176922935,US
+1176922936,1176925007,CA
1176925008,1176925015,NG
-1176925016,1176928255,CA
+1176925016,1176926703,CA
+1176926704,1176926711,US
+1176926712,1176928255,CA
1176928256,1177000703,US
1177000704,1177000711,CA
1177000712,1177000719,US
@@ -21853,7 +22969,11 @@
1208074240,1208082431,CA
1208082432,1208090623,US
1208090624,1208107007,CA
-1208107008,1208590335,US
+1208107008,1208209175,US
+1208209176,1208209183,CA
+1208209184,1208210511,US
+1208210512,1208210519,CA
+1208210520,1208590335,US
1208590336,1208598527,CA
1208598528,1208647679,US
1208647680,1208659967,CA
@@ -21932,7 +23052,15 @@
1209884680,1209884687,ES
1209884688,1209917439,US
1209917440,1209925631,CA
-1209925632,1210254935,US
+1209925632,1210092287,US
+1210092288,1210092543,ES
+1210092544,1210099711,US
+1210099712,1210099719,MX
+1210099720,1210109263,US
+1210109264,1210109271,CA
+1210109272,1210111999,US
+1210112000,1210112007,CA
+1210112008,1210254935,US
1210254936,1210254943,CA
1210254944,1210257407,US
1210257408,1210261503,CA
@@ -21985,7 +23113,8 @@
1211315680,1211317759,CA
1211317760,1211318015,US
1211318016,1211318271,CA
-1211318272,1211321343,BB
+1211318272,1211321087,BB
+1211321088,1211321343,BS
1211321344,1211322367,VC
1211322368,1211322623,BB
1211322624,1211324415,GD
@@ -22006,9 +23135,21 @@
1211391218,1211432959,US
1211432960,1211473919,CA
1211473920,1211596799,US
-1211596800,1211605999,CA
+1211596800,1211600959,CA
+1211600960,1211600967,US
+1211600968,1211604335,CA
+1211604336,1211604343,MX
+1211604344,1211605939,CA
+1211605940,1211605943,PH
+1211605944,1211605999,CA
1211606000,1211606003,US
-1211606004,1211613183,CA
+1211606004,1211606771,CA
+1211606772,1211606775,AE
+1211606776,1211608359,CA
+1211608360,1211608367,US
+1211608368,1211609343,CA
+1211609344,1211609599,US
+1211609600,1211613183,CA
1211613184,1216872447,US
1216872448,1217396735,CA
1217396736,1218674687,US
@@ -22102,9 +23243,13 @@
1244848128,1244852223,CA
1244852224,1244864511,US
1244864512,1244872703,CA
-1244872704,1245183999,US
+1244872704,1245144575,US
+1245144576,1245144831,CH
+1245144832,1245183999,US
1245184000,1245446143,CA
-1245446144,1246890431,US
+1245446144,1246789375,US
+1246789376,1246789631,AU
+1246789632,1246890431,US
1246890432,1246890463,CA
1246890464,1246890464,US
1246890465,1246890495,CA
@@ -22158,7 +23303,9 @@
1248971008,1248971263,CA
1248971264,1248979711,US
1248979712,1248979967,IE
-1248979968,1248997375,US
+1248979968,1248989183,US
+1248989184,1248991231,CA
+1248991232,1248997375,US
1248997376,1248998399,ID
1248998400,1249003519,US
1249003520,1249005567,CA
@@ -22391,7 +23538,9 @@
1249851904,1249852159,FR
1249852160,1249886207,US
1249886208,1249902591,CA
-1249902592,1254490111,US
+1249902592,1252535295,US
+1252535296,1252536319,VI
+1252536320,1254490111,US
1254490112,1254555647,CA
1254555648,1254621183,US
1254621184,1254629375,CA
@@ -22565,7 +23714,8 @@
1293549568,1293680639,ES
1293680640,1293811711,MK
1293811712,1293942783,SA
-1293942784,1294000127,PL
+1293942784,1293975551,PL
+1293975552,1294000127,FR
1294000128,1294004223,CH
1294004224,1294073855,PL
1294073856,1294204927,RU
@@ -22625,7 +23775,9 @@
1296243112,1296243119,GB
1296243120,1296244991,DE
1296244992,1296245247,CH
-1296245248,1296249023,DE
+1296245248,1296248015,DE
+1296248016,1296248031,GB
+1296248032,1296249023,DE
1296249024,1296249087,GB
1296249088,1296249407,DE
1296249408,1296249423,GB
@@ -22647,7 +23799,9 @@
1296250528,1296250559,DK
1296250560,1296250847,DE
1296250848,1296250879,GB
-1296250880,1296252479,DE
+1296250880,1296250943,DE
+1296250944,1296250947,FR
+1296250948,1296252479,DE
1296252480,1296252487,ES
1296252488,1296252535,DE
1296252536,1296252543,IT
@@ -22788,7 +23942,7 @@
1296764928,1296769023,AT
1296769024,1296771071,TR
1296771072,1296773119,LT
-1296775168,1296779263,FR
+1296777216,1296779263,FR
1296779264,1296781311,CZ
1296781312,1296783359,DK
1296783360,1296785407,LB
@@ -22844,7 +23998,8 @@
1297170944,1297171455,GB
1297171456,1297172479,RO
1297172480,1297172991,GB
-1297172992,1297173503,RO
+1297172992,1297173247,RO
+1297173248,1297173503,GG
1297173504,1297175551,IR
1297175552,1297176319,GB
1297176320,1297176831,RO
@@ -23017,9 +24172,9 @@
1298677760,1298694143,IR
1298694144,1298698315,BG
1298698316,1298698316,US
-1298698317,1298698784,BG
-1298698785,1298698785,US
-1298698786,1298700258,BG
+1298698317,1298698751,BG
+1298698752,1298699007,US
+1298699008,1298700258,BG
1298700259,1298700259,US
1298700260,1298710527,BG
1298710528,1298726911,CZ
@@ -23064,7 +24219,15 @@
1299087360,1299103743,HU
1299103744,1299104255,NO
1299104256,1299104511,SJ
-1299104512,1299120127,NO
+1299104512,1299109375,NO
+1299109376,1299109453,SJ
+1299109454,1299109454,NO
+1299109455,1299109529,SJ
+1299109530,1299109530,NO
+1299109531,1299109569,SJ
+1299109570,1299109570,NO
+1299109571,1299109631,SJ
+1299109632,1299120127,NO
1299120128,1299136511,SI
1299136512,1299169279,HU
1299169280,1299171327,GB
@@ -23075,7 +24238,8 @@
1299178496,1299180543,CH
1299180544,1299181567,GB
1299181568,1299182591,DK
-1299182592,1299185663,FR
+1299183360,1299183615,SE
+1299183616,1299185663,FR
1299185664,1299447807,PL
1299447808,1299709951,AT
1299709952,1299724287,UA
@@ -23383,7 +24547,6 @@
1307639808,1307643903,IT
1307643904,1307652095,RU
1307652096,1307656191,ES
-1307656192,1307660287,JO
1307660288,1307664383,BE
1307664384,1307668479,NO
1307668480,1307672575,ES
@@ -23430,8 +24593,8 @@
1307817216,1307817219,DE
1307817220,1307817223,CZ
1307817224,1307817231,DE
-1307817232,1307817251,CZ
-1307817252,1307817255,HU
+1307817232,1307817247,CZ
+1307817248,1307817255,DE
1307817256,1307817259,CZ
1307817260,1307817447,DE
1307817448,1307817455,PT
@@ -23753,8 +24916,6 @@
1315725312,1315729407,CZ
1315729408,1315729663,IE
1315730176,1315730431,NL
-1315731712,1315731967,DE
-1315731968,1315732223,IE
1315732224,1315732991,DE
1315732992,1315733247,NL
1315733504,1315737599,NL
@@ -23873,7 +25034,6 @@
1317912576,1317928959,ES
1317928960,1317945343,BG
1317945344,1317978111,AT
-1317978112,1317994495,RU
1317994496,1318010879,DE
1318010880,1318027263,DK
1318027264,1318043647,IE
@@ -24169,9 +25329,9 @@
1334682112,1334682367,IE
1334682368,1334682623,BG
1334682624,1334682879,NO
-1334682880,1334682900,GB
+1334682880,1334682900,NL
1334682901,1334682901,DK
-1334682902,1334683135,GB
+1334682902,1334683135,NL
1334683136,1334683391,CZ
1334683392,1334683647,CH
1334683648,1334683903,BG
@@ -24882,7 +26042,7 @@
1347505168,1347505215,ES
1347505216,1347505247,GB
1347505248,1347518463,ES
-1347518464,1347522559,AT
+1347518464,1347522559,NL
1347522560,1347526655,LB
1347526656,1347534847,FI
1347534848,1347538943,DE
@@ -25157,7 +26317,9 @@
1353259264,1353259519,US
1353259520,1353262295,GB
1353262296,1353262303,US
-1353262304,1353271317,GB
+1353262304,1353267751,GB
+1353267752,1353267759,IE
+1353267760,1353271317,GB
1353271318,1353271318,AT
1353271319,1353271683,GB
1353271684,1353271684,AT
@@ -25204,6 +26366,7 @@
1355870208,1355872255,FI
1355872256,1355873279,IT
1355873280,1355873791,GB
+1355873792,1355874047,GG
1355874048,1355874303,DE
1355874304,1355907071,DK
1355907072,1355923455,GB
@@ -25220,10 +26383,8 @@
1355972608,1356005375,IR
1356005376,1356054527,IT
1356054528,1356062719,CZ
-1356062720,1356068390,IT
-1356068391,1356068391,PL
-1356068392,1356068863,IT
-1356068864,1356070911,PL
+1356062720,1356066815,IT
+1356066816,1356070911,PL
1356070912,1356201983,NO
1356201984,1356333055,FR
1356333056,1356464127,SE
@@ -25260,17 +26421,22 @@
1357319172,1357319178,GB
1357319180,1357319187,GB
1357321024,1357321087,KE
+1357321472,1357321475,PT
1357321984,1357322239,GB
1357322240,1357322255,DE
1357322752,1357323007,GB
1357323008,1357323015,CG
1357323776,1357323791,FI
+1357323792,1357323799,DK
+1357323800,1357323801,SE
+1357323802,1357323803,FI
+1357323804,1357323807,SE
1357323808,1357323839,NO
1357324288,1357324295,RU
-1357324296,1357324327,PL
+1357324296,1357324333,PL
1357326336,1357326337,ES
1357326338,1357326339,SL
-1357326352,1357326367,GB
+1357326340,1357326367,GB
1357326592,1357326847,GB
1357327360,1357327615,FR
1357328384,1357328671,GB
@@ -25296,7 +26462,7 @@
1357347616,1357347659,FR
1357347664,1357347671,FR
1357347680,1357347727,FR
-1357347744,1357347775,FR
+1357347744,1357347839,FR
1357347840,1357348095,PL
1357348352,1357348359,ES
1357348384,1357348415,ES
@@ -25306,7 +26472,6 @@
1357351168,1357351423,PL
1357359104,1357363199,GB
1357363200,1357363455,DE
-1357363456,1357364223,QA
1357364224,1357365247,ES
1357366880,1357366911,GB
1357366960,1357366967,BE
@@ -25350,7 +26515,6 @@
1357791232,1357807615,PL
1357807616,1357840383,CH
1357840384,1357873151,NO
-1357875296,1357875327,IE
1357875456,1357875711,NL
1357876448,1357876479,DE
1357878272,1357878335,CH
@@ -25363,6 +26527,7 @@
1357879296,1357879423,DE
1357883744,1357883759,AT
1357883852,1357883852,SE
+1357884416,1357884419,MY
1357885120,1357885183,DE
1357885200,1357885215,AT
1357885952,1357886207,SE
@@ -25379,9 +26544,9 @@
1357896192,1357896447,DE
1357897376,1357897407,PL
1357897624,1357897631,GB
+1357899584,1357899615,NL
1357899712,1357899775,GB
1357900312,1357900315,GB
-1357900416,1357900543,SE
1357900800,1357901055,PL
1357901056,1357901311,SE
1357902366,1357902366,NO
@@ -25473,9 +26638,7 @@
1358237696,1358249983,FR
1358249984,1358254079,DE
1358254080,1358258175,MD
-1358262272,1358263807,UA
-1358263808,1358264319,RU
-1358264320,1358266367,UA
+1358262272,1358266367,RU
1358266368,1358274559,DE
1358274560,1358278655,GR
1358278656,1358282751,PL
@@ -25487,7 +26650,7 @@
1358303232,1358306303,RU
1358306304,1358306815,GB
1358306816,1358307071,PT
-1358307072,1358307327,IN
+1358307072,1358307327,LV
1358307328,1358315519,DE
1358315520,1358323711,RU
1358323712,1358327807,LU
@@ -25636,7 +26799,9 @@
1358890400,1358890431,SE
1358890432,1358890479,DE
1358890480,1358890487,US
-1358890488,1358892159,DE
+1358890488,1358890815,DE
+1358890816,1358890831,CH
+1358890832,1358892159,DE
1358892160,1358892175,CH
1358892176,1358893055,DE
1358893056,1358897151,RU
@@ -25822,7 +26987,6 @@
1360375808,1360379903,NL
1360379904,1360383999,PL
1360384000,1360388095,SE
-1360388096,1360392191,RU
1360392192,1360396287,EE
1360396288,1360400383,RU
1360400384,1360404479,BH
@@ -26094,7 +27258,9 @@
1365033472,1365033599,PT
1365033600,1365033983,GB
1365033984,1365035007,SE
-1365035008,1365039103,GB
+1365035008,1365035943,GB
+1365035944,1365035947,PL
+1365035948,1365039103,GB
1365039104,1365039135,FI
1365039136,1365039359,PT
1365039360,1365039615,GB
@@ -26231,7 +27397,9 @@
1370193920,1370226687,GB
1370226688,1370259455,ES
1370259456,1370292223,SE
-1370292224,1370296319,NL
+1370292224,1370294271,NL
+1370294272,1370295295,IL
+1370295296,1370296319,NL
1370296320,1370300415,GB
1370300416,1370302463,NL
1370302464,1370302975,ES
@@ -26331,6 +27499,7 @@
1372688384,1372689407,DE
1372689920,1372690175,DE
1372693504,1372694015,DE
+1372694464,1372694495,DE
1372697344,1372697599,DE
1372698880,1372699647,DE
1372699904,1372700159,DE
@@ -26410,7 +27579,9 @@
1381367808,1381498879,ES
1381498880,1381761023,IT
1381761024,1382023167,NL
-1382023168,1382027327,SE
+1382023168,1382027007,SE
+1382027008,1382027263,NO
+1382027264,1382027327,SE
1382027328,1382027343,DK
1382027344,1382039551,SE
1382039552,1382055935,DE
@@ -26458,7 +27629,9 @@
1382417664,1382418175,SE
1382418176,1382418431,PT
1382418432,1382420479,GB
-1382420480,1382420735,DE
+1382420480,1382420547,DE
+1382420548,1382420551,PL
+1382420552,1382420735,DE
1382420736,1382420991,ES
1382420992,1382421247,FR
1382421248,1382421503,BE
@@ -26529,7 +27702,8 @@
1383391232,1383399423,FI
1383399424,1383407615,LI
1383407616,1383415807,NO
-1383415808,1383423999,RU
+1383415808,1383419903,RU
+1383419904,1383423999,TR
1383424000,1383432191,SE
1383432192,1383440383,CZ
1383440384,1383448575,RU
@@ -26560,8 +27734,10 @@
1383596032,1384120319,FR
1384120320,1384153087,NG
1384153088,1384185855,FI
+1384185856,1384186879,ES
1384187136,1384187391,DE
1384188160,1384188415,ES
+1384193024,1384194047,DE
1384198144,1384202239,GB
1384206336,1384218623,GB
1384218624,1384251391,EG
@@ -26660,13 +27836,13 @@
1385267200,1385275391,SE
1385275392,1385283583,IT
1385283584,1385287679,DE
-1385287680,1385290288,GB
+1385289728,1385290288,GB
1385290289,1385290289,RE
1385290290,1385290631,GB
1385290632,1385290632,IS
-1385290633,1385291343,GB
+1385290633,1385290751,GB
1385291344,1385291344,IS
-1385291345,1385291775,GB
+1385291520,1385291775,GB
1385291776,1385299967,TR
1385299968,1385303039,BG
1385303040,1385303295,HU
@@ -26711,6 +27887,8 @@
1385567232,1385568255,IE
1385569024,1385569279,FR
1385570112,1385570119,FR
+1385570144,1385570151,FR
+1385570200,1385570207,FR
1385570304,1385578495,HU
1385578496,1385586687,TR
1385586688,1385589247,GB
@@ -27114,7 +28292,9 @@
1399259136,1399291903,IT
1399291904,1399324671,RO
1399324672,1399586815,GB
-1399586816,1399717887,NO
+1399586816,1399662079,NO
+1399662080,1399662335,BV
+1399662336,1399717887,NO
1399717888,1399848959,AE
1399848960,1400111103,FR
1400111104,1400274943,NL
@@ -27162,7 +28342,9 @@
1401479168,1401481215,PL
1401481216,1401485311,RU
1401485312,1401487359,FI
-1401487360,1401487834,GB
+1401487360,1401487827,GB
+1401487828,1401487828,ES
+1401487829,1401487834,GB
1401487835,1401487835,BE
1401487836,1401489407,GB
1401489408,1401491455,SE
@@ -27400,9 +28582,9 @@
1404047360,1404051455,EE
1404051456,1404059647,SE
1404059648,1404076031,HR
-1404076032,1404076543,SE
+1404076032,1404076543,LT
1404076544,1404077055,LV
-1404077056,1404081151,SE
+1404077056,1404081151,LT
1404081152,1404084223,LV
1404084224,1404094463,SE
1404094464,1404095487,LT
@@ -27413,7 +28595,7 @@
1404108800,1404133375,SE
1404133376,1404141567,HR
1404141568,1404149759,LV
-1404149760,1404151807,SE
+1404149760,1404151807,LT
1404151808,1404153855,LV
1404153856,1404153856,LT
1404153857,1404157090,LV
@@ -27811,7 +28993,9 @@
1410568358,1410568358,NO
1410568359,1410568501,SE
1410568502,1410568502,DK
-1410568503,1410568991,SE
+1410568503,1410568586,SE
+1410568587,1410568587,NO
+1410568588,1410568991,SE
1410568992,1410569007,NO
1410569008,1410572287,SE
1410572288,1410588671,DE
@@ -27836,7 +29020,9 @@
1410727936,1410736127,BG
1410736128,1410739455,RS
1410739456,1410739711,XK
-1410739712,1410744319,RS
+1410739712,1410744055,RS
+1410744056,1410744056,XK
+1410744057,1410744319,RS
1410744320,1410752511,FR
1410752512,1410760703,DE
1410760704,1410768895,RU
@@ -27955,7 +29141,8 @@
1412743168,1412775935,NO
1412775936,1412792319,NL
1412792320,1412793343,US
-1412793856,1412795903,US
+1412793856,1412795135,US
+1412795392,1412795903,US
1412796928,1412800511,US
1412801536,1412804607,US
1412804864,1412805631,US
@@ -28066,7 +29253,9 @@
1424503716,1424523263,ES
1424523264,1424556031,RO
1424556032,1424588799,EG
-1424588800,1424595726,GB
+1424588800,1424593119,GB
+1424593120,1424593127,FR
+1424593128,1424595726,GB
1424595727,1424595727,IT
1424595728,1424597069,GB
1424597070,1424597070,CZ
@@ -28107,7 +29296,7 @@
1424633856,1424637951,MD
1424637952,1424642047,FI
1424642048,1424646143,DK
-1424646144,1424647167,UA
+1424646144,1424647167,RO
1424647168,1424648191,IT
1424648192,1424650239,UA
1424650240,1424654335,PL
@@ -28127,7 +29316,11 @@
1424925696,1424928767,BG
1424928768,1424929279,AT
1424929280,1424949247,BG
-1424949248,1424965631,RO
+1424949248,1424960767,RO
+1424960768,1424961023,NL
+1424961024,1424962559,RO
+1424962560,1424962815,GB
+1424962816,1424965631,RO
1424965632,1424982015,FR
1424982016,1425014783,FI
1425014784,1425015295,LT
@@ -28367,8 +29560,7 @@
1432058880,1432059903,RU
1432059904,1432068095,BG
1432068096,1432076287,BE
-1432076288,1432080383,RU
-1432080384,1432084479,UA
+1432076288,1432084479,RU
1432084480,1432092671,GB
1432092672,1432100863,RU
1432100864,1432109055,CZ
@@ -28653,7 +29845,9 @@
1438400512,1438433279,SE
1438433280,1438515199,GB
1438515200,1438531583,DE
-1438531584,1438539775,FR
+1438531584,1438535679,FR
+1438535680,1438537727,GB
+1438537728,1438539775,DE
1438539776,1438547967,NL
1438547968,1438553343,DE
1438553344,1438553599,GB
@@ -28680,7 +29874,9 @@
1438573824,1438574079,DE
1438574080,1438574335,GB
1438574336,1438574591,DE
-1438574592,1438578687,PL
+1438574592,1438577663,PL
+1438577664,1438578431,DE
+1438578432,1438578687,PL
1438578688,1438579967,DE
1438579968,1438580095,NZ
1438580096,1438580223,AU
@@ -28811,7 +30007,9 @@
1439440384,1439440895,IR
1439440896,1439441919,RO
1439441920,1439442943,ES
-1439442944,1439446527,RO
+1439442944,1439443455,RO
+1439443456,1439443711,IT
+1439443712,1439446527,RO
1439446528,1439447039,DE
1439447040,1439449087,RO
1439449088,1439450111,GR
@@ -28838,21 +30036,24 @@
1439463936,1439465471,RO
1439465472,1439466495,IR
1439466496,1439467007,DK
-1439467008,1439467519,RO
+1439467008,1439467263,RO
+1439467264,1439467519,GG
1439467520,1439468031,DK
1439468032,1439468543,RO
1439468544,1439469567,ES
-1439469568,1439470335,RO
+1439469568,1439469823,GG
+1439469824,1439470335,RO
1439470336,1439470591,IT
1439470592,1439471615,US
1439471616,1439473663,ES
1439473664,1439474687,US
1439474688,1439475711,RO
-1439475712,1439475967,IN
-1439475968,1439476735,RO
+1439475712,1439476735,ES
1439476736,1439477759,IN
1439477760,1439479807,MD
-1439479808,1439482367,RO
+1439479808,1439481855,RO
+1439481856,1439482111,GG
+1439482112,1439482367,RO
1439482368,1439482879,DK
1439482880,1439483903,RO
1439483904,1439485951,ES
@@ -28914,7 +30115,11 @@
1441382400,1441390591,FR
1441390592,1441398783,DK
1441398784,1441403903,RU
-1441403904,1441404159,US
+1441403904,1441403912,US
+1441403913,1441403913,RU
+1441403914,1441403914,US
+1441403915,1441403915,RU
+1441403916,1441404159,US
1441404160,1441415167,RU
1441415168,1441423359,GB
1441423360,1441431551,RU
@@ -28955,7 +30160,9 @@
1441685504,1441693695,UA
1441693696,1441696767,DE
1441696768,1441697023,SG
-1441697024,1441701887,DE
+1441697024,1441698815,DE
+1441698816,1441699839,IT
+1441699840,1441701887,DE
1441701888,1441710079,AT
1441710080,1441718271,SE
1441718272,1441726463,DE
@@ -29036,7 +30243,9 @@
1449656320,1449657087,GB
1449657088,1449657855,RO
1449657856,1449658111,IT
-1449658112,1449659903,RO
+1449658112,1449659391,RO
+1449659392,1449659647,GG
+1449659648,1449659903,RO
1449659904,1449660159,NL
1449660160,1449660415,BG
1449660416,1449661439,RO
@@ -29046,7 +30255,8 @@
1449664000,1449664511,RO
1449664512,1449668607,IR
1449668608,1449672703,SE
-1449672704,1449673727,RO
+1449672704,1449672959,GG
+1449672960,1449673727,RO
1449673728,1449674751,GR
1449674752,1449676799,RO
1449676800,1449684991,IR
@@ -29056,7 +30266,8 @@
1449688576,1449688831,GB
1449688832,1449690623,RO
1449690624,1449690879,IE
-1449690880,1449695231,RO
+1449690880,1449691135,IT
+1449691136,1449695231,RO
1449695232,1449697279,SE
1449697280,1449699327,PS
1449699328,1449701375,ES
@@ -29156,8 +30367,7 @@
1449789440,1449790207,GB
1449790208,1449790719,RO
1449790720,1449791487,GB
-1449791488,1449791743,ES
-1449791744,1449792511,VG
+1449791488,1449792511,ES
1449792512,1449793279,RO
1449793280,1449793535,US
1449793536,1449794047,IR
@@ -29280,7 +30490,9 @@
1450147840,1450151935,CH
1450151936,1450153983,IQ
1450153984,1450156031,DE
-1450156032,1450164199,GB
+1450156032,1450161211,GB
+1450161212,1450161212,US
+1450161213,1450164199,GB
1450164200,1450164200,US
1450164201,1450164221,GB
1450164222,1450164222,US
@@ -29476,7 +30688,7 @@
1475155968,1475158015,NL
1475158016,1475160063,IS
1475160064,1475162111,RU
-1475162112,1475170303,GB
+1475164160,1475170303,GB
1475170304,1475172351,ES
1475172352,1475174399,DE
1475174400,1475176447,NL
@@ -29545,7 +30757,9 @@
1475319808,1475321855,BG
1475321856,1475323903,KZ
1475323904,1475327999,PL
-1475328000,1475330047,DE
+1475328000,1475329095,DE
+1475329096,1475329096,CH
+1475329097,1475330047,DE
1475330048,1475332095,PL
1475332096,1475336191,CH
1475336192,1475338239,PL
@@ -29595,7 +30809,6 @@
1475788800,1475805183,PL
1475805184,1475821567,KZ
1475821568,1475837951,LT
-1475837952,1475846143,GB
1475846144,1475854335,IR
1475854336,1475862527,AT
1475862528,1475864575,FR
@@ -29632,7 +30845,9 @@
1476012239,1476012239,RS
1476012240,1476012250,XK
1476012251,1476012251,RS
-1476012252,1476012278,XK
+1476012252,1476012255,XK
+1476012256,1476012256,RS
+1476012257,1476012278,XK
1476012279,1476012279,RS
1476012280,1476012287,XK
1476012288,1476014079,RS
@@ -29660,7 +30875,12 @@
1476132864,1476141055,FR
1476141056,1476149247,GB
1476149248,1476157439,NO
-1476157440,1476165631,BH
+1476157440,1476159999,BH
+1476160000,1476160511,IT
+1476160512,1476161535,BH
+1476161536,1476163583,GB
+1476163584,1476165119,DE
+1476165120,1476165631,BH
1476165632,1476173823,HR
1476173824,1476182015,BG
1476182016,1476190207,IE
@@ -29880,7 +31100,12 @@
1489651200,1489653247,FR
1489653248,1489655295,IT
1489655296,1489655551,GR
-1489655552,1489659647,IT
+1489655552,1489656831,IT
+1489656832,1489657087,FI
+1489657088,1489657343,SE
+1489657344,1489657599,IT
+1489657600,1489657855,NO
+1489657856,1489659647,IT
1489659648,1489661951,FR
1489661952,1489664255,IT
1489664256,1489664511,GB
@@ -29893,7 +31118,11 @@
1489678592,1489678847,NL
1489678848,1489678943,GB
1489678944,1489678959,US
-1489678960,1489688575,GB
+1489678960,1489680605,GB
+1489680606,1489680607,US
+1489680608,1489680631,GB
+1489680632,1489680632,US
+1489680633,1489688575,GB
1489688576,1489688831,IL
1489688832,1489689087,GB
1489689088,1489689343,IL
@@ -29904,7 +31133,9 @@
1489690624,1489692415,GB
1489692416,1489692422,AU
1489692423,1489692423,GB
-1489692424,1489692430,AU
+1489692424,1489692426,AU
+1489692427,1489692427,GB
+1489692428,1489692430,AU
1489692431,1489692447,GB
1489692448,1489692463,AU
1489692464,1489693695,GB
@@ -29957,9 +31188,7 @@
1490386944,1490403327,CH
1490403328,1490411519,BG
1490411520,1490419711,FR
-1490419712,1490420735,DE
1490420736,1490421759,IR
-1490421760,1490436095,DE
1490436096,1490452479,UA
1490452480,1490468863,PT
1490468864,1490478591,GB
@@ -29974,7 +31203,9 @@
1490616320,1490681855,DE
1490681856,1490747391,ES
1490747392,1490812927,FR
-1490812928,1490878463,PL
+1490812928,1490824447,PL
+1490824448,1490824703,US
+1490824704,1490878463,PL
1490878464,1490879487,DE
1490879488,1490880511,US
1490880512,1490881535,FR
@@ -29987,7 +31218,7 @@
1490927616,1490929663,FR
1490931712,1490931967,DE
1490931968,1490932223,PL
-1490932224,1490933759,DE
+1490932736,1490933759,DE
1490934528,1490934783,IL
1490944000,1491075071,LT
1491075072,1493172223,TR
@@ -30063,7 +31294,8 @@
1494663168,1494665215,PL
1494665216,1494667263,UA
1494667264,1494669311,PL
-1494669312,1494675455,RU
+1494669312,1494671359,RU
+1494671360,1494675455,TR
1494675456,1494679551,UA
1494679552,1494695935,RU
1494695936,1494704127,RS
@@ -30097,6 +31329,7 @@
1495105536,1495138303,ES
1495138304,1495139327,FR
1495139344,1495139347,GB
+1495139376,1495139391,FR
1495140352,1495142399,FR
1495146752,1495147007,US
1495148544,1495150591,FR
@@ -30153,7 +31386,6 @@
1495252992,1495255039,BH
1495255040,1495257087,IT
1495257088,1495259135,GB
-1495259136,1495261183,BE
1495261184,1495263231,PT
1495263232,1495265279,GB
1495265280,1495267327,RU
@@ -30199,13 +31431,14 @@
1495319552,1495320063,IR
1495320064,1495321343,RO
1495321344,1495321599,GB
-1495321600,1495322623,RO
+1495321600,1495322367,RO
+1495322368,1495322623,GG
1495322624,1495324671,GR
1495324672,1495326719,RO
1495326720,1495332863,MD
-1495332864,1495333375,VG
+1495332864,1495333375,IR
1495333376,1495333631,CH
-1495333632,1495333887,VG
+1495333632,1495333887,IR
1495333888,1495334911,MD
1495334912,1495335167,FR
1495335168,1495335423,IE
@@ -30213,7 +31446,8 @@
1495335680,1495335935,FR
1495335936,1495336447,RO
1495336448,1495336959,GB
-1495336960,1495339007,RO
+1495336960,1495338751,RO
+1495338752,1495339007,GG
1495339008,1495339263,DE
1495339264,1495339519,MD
1495339520,1495340031,IR
@@ -30221,9 +31455,9 @@
1495342592,1495342847,MD
1495342848,1495345151,RO
1495345152,1495345407,FI
-1495345408,1495345663,US
+1495345408,1495345663,RO
1495345664,1495345919,FI
-1495345920,1495346175,VG
+1495345920,1495346175,ES
1495346176,1495346687,RO
1495346688,1495347199,GB
1495347200,1495349247,RO
@@ -30232,9 +31466,9 @@
1495351552,1495351807,MD
1495351808,1495352319,IQ
1495352320,1495352447,FR
-1495352448,1495352831,VG
+1495352448,1495352831,PL
1495352832,1495353087,FI
-1495353088,1495353343,VG
+1495353088,1495353343,PL
1495353344,1495360511,RO
1495360512,1495361535,IR
1495361536,1495362559,RO
@@ -30486,7 +31720,9 @@
1495607552,1495607807,RO
1495607808,1495608319,IR
1495608320,1495609343,MD
-1495609344,1495613439,RO
+1495609344,1495612159,RO
+1495612160,1495612415,GG
+1495612416,1495613439,RO
1495613440,1495614463,GB
1495614464,1495615487,RO
1495615488,1495618559,ES
@@ -30605,8 +31841,7 @@
1495759872,1495760127,ES
1495760128,1495760895,RO
1495760896,1495762943,DE
-1495762944,1495763967,GB
-1495763968,1495764735,VG
+1495762944,1495764735,GB
1495764736,1495764991,AU
1495764992,1495765503,BG
1495765504,1495765759,GB
@@ -30640,17 +31875,21 @@
1495791360,1495791615,GB
1495791616,1495793663,RO
1495793664,1495794687,DE
-1495794688,1495795199,VG
+1495794688,1495795199,LT
1495795200,1495795327,FR
-1495795328,1495795455,VG
+1495795328,1495795455,LT
1495795456,1495795711,RU
-1495795712,1495803391,RO
+1495795712,1495797759,LT
+1495797760,1495803391,RO
1495803392,1495803903,IR
1495803904,1495804671,RO
1495804672,1495805439,GB
1495805440,1495805951,RO
1495805952,1495810047,KZ
-1495810048,1495813631,RO
+1495810048,1495810303,GG
+1495810304,1495812607,RO
+1495812608,1495812863,ES
+1495812864,1495813631,RO
1495813632,1495814143,IR
1495814144,1495815167,RO
1495815168,1495816191,ES
@@ -30748,7 +31987,7 @@
1495933440,1495934975,RO
1495934976,1495935231,GB
1495935232,1495935743,RO
-1495935744,1495935999,ES
+1495935744,1495935999,FI
1495936000,1495937023,IR
1495937024,1495937535,DE
1495937536,1495938559,RO
@@ -30765,7 +32004,8 @@
1495951360,1495952383,MD
1495952384,1495953919,RO
1495953920,1495954175,GB
-1495954176,1495955455,RO
+1495954176,1495954431,GG
+1495954432,1495955455,RO
1495955456,1495957503,ES
1495957504,1495958527,MD
1495958528,1495959551,RO
@@ -30780,7 +32020,10 @@
1495965696,1495966719,PL
1495966720,1495967743,ES
1495967744,1495968767,NL
-1495968768,1495970815,RO
+1495968768,1495969279,RO
+1495969280,1495969791,GG
+1495969792,1495970559,RO
+1495970560,1495970815,GG
1495970816,1495971839,MD
1495971840,1495973887,IR
1495973888,1495974911,RO
@@ -30799,7 +32042,7 @@
1495983872,1495985151,RO
1495985152,1495985663,VG
1495985664,1495985791,FR
-1495985792,1495985919,VG
+1495985792,1495985919,PL
1495985920,1495986175,JP
1495986176,1495990271,RO
1495990272,1495994367,IR
@@ -30810,7 +32053,9 @@
1495998464,1495998719,SG
1495998720,1495999487,RO
1495999488,1495999999,IR
-1496000000,1496003327,RO
+1496000000,1496002815,RO
+1496002816,1496003071,GG
+1496003072,1496003327,RO
1496003328,1496003583,DE
1496003584,1496004607,RO
1496004608,1496005631,GR
@@ -30865,7 +32110,9 @@
1496079360,1496081407,GR
1496081408,1496082175,RO
1496082176,1496082431,GB
-1496082432,1496083967,RO
+1496082432,1496083199,RO
+1496083200,1496083455,GG
+1496083456,1496083967,RO
1496083968,1496084479,FR
1496084480,1496084991,IR
1496084992,1496085247,IE
@@ -30894,7 +32141,8 @@
1496108544,1496108799,IT
1496108800,1496109567,RO
1496109568,1496109823,US
-1496109824,1496110335,RO
+1496109824,1496110079,FI
+1496110080,1496110335,RO
1496110336,1496110591,GB
1496110592,1496111103,RO
1496111104,1496113151,GR
@@ -30904,7 +32152,7 @@
1496119296,1496121343,SE
1496121344,1496122367,MD
1496122368,1496123391,RO
-1496123392,1496123647,IE
+1496123392,1496123647,NL
1496123648,1496124927,RO
1496124928,1496125183,FR
1496125184,1496127487,RO
@@ -30950,14 +32198,18 @@
1496182784,1496183039,ES
1496183040,1496183295,US
1496183296,1496184063,ES
-1496184064,1496184740,US
+1496184064,1496184319,US
+1496184320,1496184575,ES
+1496184576,1496184740,US
1496184741,1496184741,ES
1496184742,1496184831,US
1496184832,1496188927,RO
1496188928,1496189951,ES
1496189952,1496190975,RO
1496190976,1496193023,SE
-1496193024,1496197119,RO
+1496193024,1496196095,RO
+1496196096,1496196351,ES
+1496196352,1496197119,RO
1496197120,1496197631,MD
1496197632,1496198143,RO
1496198144,1496198655,IR
@@ -30990,7 +32242,9 @@
1496238080,1496240127,IQ
1496240128,1496242175,RO
1496242176,1496243199,IR
-1496243200,1496248575,RO
+1496243200,1496243742,RO
+1496243743,1496243743,EH
+1496243744,1496248575,RO
1496248576,1496248831,MD
1496248832,1496250367,RO
1496250368,1496251391,US
@@ -31017,7 +32271,7 @@
1496276736,1496276991,ES
1496276992,1496285183,RO
1496285184,1496293375,IR
-1496293376,1496295423,RO
+1496293376,1496295423,LT
1496295424,1496297471,PL
1496297472,1496297727,MD
1496297728,1496297983,BG
@@ -31033,14 +32287,20 @@
1496312832,1496313855,ES
1496313856,1496315647,RO
1496315648,1496315903,GB
-1496315904,1496316159,RO
+1496315904,1496316159,GG
1496316160,1496316415,GB
-1496316416,1496317951,RO
+1496316416,1496317183,RO
+1496317184,1496317439,GG
+1496317440,1496317951,RO
1496317952,1497366527,DE
1497366528,1498415103,PL
1498415104,1499463679,FR
1499463680,1499594751,IT
-1499594752,1499725823,NL
+1499594752,1499597055,NL
+1499597056,1499597242,GB
+1499597243,1499597243,NL
+1499597244,1499597311,GB
+1499597312,1499725823,NL
1499725824,1499856895,IE
1499856896,1499987967,CZ
1499987968,1499996159,AT
@@ -31298,8 +32558,10 @@
1505745344,1505745344,US
1505745345,1505745346,GB
1505745347,1505745347,CA
-1505745348,1505746943,GB
-1505746944,1505755135,RU
+1505745348,1505747199,GB
+1505747200,1505747455,RU
+1505747456,1505747711,GB
+1505747712,1505755135,RU
1505755136,1506017279,GB
1506017280,1506082815,IR
1506082816,1506083085,DE
@@ -31382,11 +32644,11 @@
1506312192,1506316287,GB
1506316288,1506322431,PL
1506322432,1506324479,DE
-1506324480,1506328575,RU
+1506324480,1506326527,RU
+1506326528,1506328575,ES
1506328576,1506330623,FI
1506330624,1506332671,NL
1506332672,1506334719,PL
-1506334720,1506336767,GB
1506336768,1506338815,PL
1506338816,1506340863,UA
1506340864,1506342911,RO
@@ -31461,7 +32723,9 @@
1506508800,1506541567,CZ
1506541568,1506574335,RU
1506574336,1506582527,DE
-1506582528,1506607103,IE
+1506582528,1506606567,IE
+1506606568,1506606575,GB
+1506606576,1506607103,IE
1506607104,1506639871,MK
1506639872,1506672639,NL
1506672640,1506689023,PL
@@ -31597,7 +32861,8 @@
1508812528,1508815103,GB
1508815104,1508815359,NL
1508815360,1508815615,ES
-1508815616,1508817407,GB
+1508815616,1508817151,GB
+1508817152,1508817407,NL
1508817408,1508817663,CZ
1508817664,1508818943,GB
1508818944,1508835327,RO
@@ -32068,7 +33333,8 @@
1516953600,1516954623,FR
1516954624,1516961791,ES
1516961792,1518338047,FR
-1518338048,1518370815,LV
+1518338048,1518354431,LV
+1518354432,1518370815,LT
1518370816,1518379007,NL
1518379008,1518387199,SE
1518387200,1518419967,NL
@@ -32254,7 +33520,9 @@
1532801024,1532801535,SA
1532801536,1532802047,BG
1532802048,1532805631,IR
-1532805632,1532808191,BG
+1532805632,1532806143,BG
+1532806144,1532806399,GB
+1532806400,1532808191,BG
1532808192,1532811263,IR
1532811264,1532812031,BG
1532812032,1532812287,RO
@@ -32464,7 +33732,8 @@
1535344640,1535352831,AT
1535352832,1535354879,EE
1535354880,1535356927,AT
-1535356928,1535377407,EE
+1535356928,1535369215,EE
+1535369216,1535377407,LT
1535442944,1535451135,RU
1535451136,1535459327,DK
1535459328,1535475711,AT
@@ -32581,7 +33850,9 @@
1535836160,1535868927,CZ
1535868928,1535901695,BG
1535901696,1535934463,GR
-1535934464,1535967231,KW
+1535934464,1535966207,KW
+1535966208,1535966463,SA
+1535966464,1535967231,KW
1535967232,1535999999,AT
1536000000,1536032767,NL
1536032768,1536036863,LV
@@ -32879,7 +34150,6 @@
1539387392,1539388415,IL
1539388416,1539389439,PL
1539389440,1539389951,FR
-1539389952,1539390463,RU
1539391488,1539392511,LV
1539392512,1539393535,UA
1539393536,1539393791,DE
@@ -33067,7 +34337,7 @@
1539530240,1539530751,AT
1539530752,1539531263,UA
1539531264,1539531775,RO
-1539531776,1539532543,RU
+1539531776,1539532287,RU
1539532544,1539532799,CZ
1539532800,1539533311,DE
1539533312,1539533823,CZ
@@ -33135,7 +34405,6 @@
1539571712,1539572735,UA
1539572736,1539573759,RU
1539573760,1539575807,PL
-1539576832,1539577855,GB
1539579904,1539580927,RU
1539580928,1539581951,AM
1539582976,1539583999,RO
@@ -33220,7 +34489,6 @@
1539692544,1539694591,UA
1539694592,1539695615,PL
1539695616,1539696639,GB
-1539696640,1539697663,CZ
1539697664,1539698687,UA
1539699712,1539700735,RO
1539700736,1539701759,DK
@@ -33444,7 +34712,6 @@
1539768320,1539768575,FR
1539768576,1539768831,GB
1539768832,1539769087,IT
-1539769088,1539769343,BE
1539769344,1539769599,RU
1539769600,1539769855,AT
1539769856,1539770111,FR
@@ -33569,7 +34836,6 @@
1539806976,1539807231,GB
1539807232,1539807487,FR
1539807488,1539807743,RU
-1539807744,1539807999,GB
1539808000,1539808255,HU
1539808256,1539808511,RU
1539808512,1539808767,GB
@@ -33857,7 +35123,7 @@
1540085760,1540087807,PL
1540087808,1540088575,RU
1540088576,1540088831,KZ
-1540088832,1540092927,RU
+1540089856,1540092927,RU
1540092928,1540094975,PL
1540094976,1540095999,RU
1540096000,1540097023,SE
@@ -34104,7 +35370,6 @@
1540315136,1540315647,UA
1540315648,1540316159,IL
1540316160,1540316671,DE
-1540316672,1540317183,RO
1540317696,1540318207,UA
1540318208,1540318719,RU
1540318720,1540319231,RO
@@ -34125,7 +35390,7 @@
1540326912,1540327423,AT
1540327424,1540327935,RU
1540327936,1540328447,IR
-1540328448,1540329983,RU
+1540328448,1540329471,RU
1540329984,1540330495,UA
1540330496,1540331007,PL
1540331008,1540331519,IT
@@ -34225,14 +35490,12 @@
1540373760,1540374015,TR
1540374016,1540374271,NL
1540374272,1540374527,BG
-1540374528,1540374783,RU
1540374784,1540375039,UA
1540375040,1540375551,GB
1540375552,1540375807,DE
1540376064,1540376319,TR
1540376320,1540376575,DK
1540376576,1540376831,PL
-1540376832,1540377087,RU
1540377088,1540377343,DE
1540377344,1540377599,RO
1540377600,1540377855,AM
@@ -34265,7 +35528,7 @@
1540385024,1540385279,GB
1540385280,1540385535,PL
1540385536,1540385791,DE
-1540385792,1540386303,FR
+1540385792,1540386047,FR
1540386304,1540386559,NL
1540386560,1540386815,GB
1540386816,1540387071,NL
@@ -34328,7 +35591,6 @@
1540404480,1540404735,FR
1540404736,1540404991,PL
1540404992,1540405247,RU
-1540405248,1540405503,GB
1540405504,1540405759,RU
1540405760,1540406015,PL
1540406016,1540406271,RU
@@ -34459,7 +35721,6 @@
1540445952,1540446207,DE
1540446208,1540446463,NO
1540446464,1540446719,AT
-1540446720,1540446975,UA
1540446976,1540447231,RU
1540447232,1540447487,DE
1540447488,1540447743,PL
@@ -34549,7 +35810,6 @@
1540474880,1540475135,GB
1540475136,1540475903,UA
1540475904,1540476159,CH
-1540476160,1540476415,DE
1540476416,1540476671,UA
1540476672,1540476927,SI
1540476928,1540477183,NL
@@ -34636,12 +35896,11 @@
1540543488,1540544511,DE
1540544512,1540545535,RU
1540545536,1540546559,AT
-1540546560,1540548607,RU
+1540547584,1540548607,RU
1540548608,1540549631,IE
1540549632,1540552703,PL
1540552704,1540553727,UA
1540553728,1540554751,RU
-1540554752,1540555775,SE
1540555776,1540556799,UZ
1540556800,1540557823,DE
1540557824,1540558848,UA
@@ -34665,7 +35924,7 @@
1540584448,1540586495,UA
1540586496,1540588543,RU
1540588544,1540589567,UA
-1540589568,1540593663,RU
+1540590592,1540593663,RU
1540594688,1540595711,IT
1540596736,1540597759,FR
1540597760,1540598783,SE
@@ -34835,7 +36094,6 @@
1540668416,1540668671,SE
1540668672,1540668927,IL
1540668928,1540669695,RO
-1540669696,1540669951,KZ
1540669952,1540670207,UA
1540670208,1540670463,RU
1540670464,1540670719,CH
@@ -34888,7 +36146,6 @@
1540684800,1540685055,IR
1540685056,1540685311,UA
1540685312,1540685567,RO
-1540685568,1540685823,FR
1540685824,1540686079,SE
1540686080,1540686335,TR
1540686336,1540686591,CH
@@ -34949,7 +36206,7 @@
1540702464,1540702719,PT
1540702720,1540702975,NO
1540702976,1540703231,RU
-1540703232,1540703487,GB
+1540703232,1540703487,DE
1540703488,1540703743,NL
1540703744,1540703999,DK
1540704000,1540704255,PL
@@ -35163,8 +36420,7 @@
1540825088,1540826111,PL
1540826112,1540828159,RU
1540828160,1540829183,PL
-1540829184,1540830207,RU
-1540830208,1540833279,UA
+1540829184,1540833279,UA
1540833280,1540834303,ES
1540834304,1540835327,UA
1540835328,1540836351,DE
@@ -35580,7 +36836,6 @@
1541007616,1541007871,RU
1541007872,1541008127,FR
1541008128,1541008383,NL
-1541008384,1541008639,RU
1541008640,1541008895,GB
1541008896,1541009151,TR
1541009408,1541009663,UA
@@ -35623,7 +36878,8 @@
1541045248,1541046271,NL
1541046272,1541051391,RU
1541051392,1541052415,NL
-1541052416,1541053439,RO
+1541052416,1541052927,PS
+1541052928,1541053439,RO
1541053440,1541054463,PL
1541054464,1541054719,RU
1541054720,1541055231,TJ
@@ -35777,7 +37033,6 @@
1541164544,1541164799,SI
1541164800,1541165055,IR
1541165056,1541165311,UA
-1541165312,1541165567,RU
1541165568,1541165823,NL
1541165824,1541166079,GB
1541166336,1541166591,FR
@@ -35870,7 +37125,7 @@
1541190912,1541191167,RU
1541191168,1541191423,TR
1541191424,1541191679,RO
-1541191680,1541192191,NL
+1541191936,1541192191,NL
1541192448,1541192703,ME
1541192704,1541192959,RU
1541192960,1541193215,BG
@@ -35969,7 +37224,6 @@
1541230592,1541231103,RU
1541231104,1541231615,GB
1541231616,1541232127,UA
-1541232128,1541232639,RU
1541232640,1541233151,PL
1541233152,1541233663,RU
1541234176,1541234687,RO
@@ -36041,7 +37295,6 @@
1541270016,1541270527,UA
1541270528,1541271039,IT
1541271040,1541271551,FI
-1541271552,1541272063,RO
1541272064,1541272575,RU
1541272576,1541273087,FR
1541273088,1541274623,RU
@@ -36098,7 +37351,8 @@
1541332992,1541334015,PL
1541334016,1541335039,RU
1541335040,1541336063,DE
-1541336064,1541338111,RU
+1541336064,1541337087,GB
+1541337088,1541338111,RU
1541338112,1541341183,UA
1541341184,1541341439,TR
1541341440,1541341695,RU
@@ -36346,7 +37600,8 @@
1541409792,1541410303,LV
1541410304,1541410815,RU
1541410816,1541411327,UA
-1541411328,1541412863,RU
+1541411328,1541411839,RU
+1541412352,1541412863,RU
1541412864,1541413375,UA
1541413376,1541413887,GB
1541413888,1541414399,PL
@@ -36512,7 +37767,7 @@
1541545984,1541546495,LV
1541546496,1541547007,UA
1541547008,1541547519,SE
-1541547520,1541548543,PL
+1541547520,1541548031,PL
1541548544,1541549055,UA
1541549056,1541549567,PL
1541549568,1541550079,DE
@@ -36619,7 +37874,8 @@
1541614592,1541615615,RU
1541615616,1541615871,CH
1541615872,1541616127,SE
-1541616128,1541617663,RU
+1541616128,1541617407,RU
+1541617408,1541617663,DE
1541617664,1541619199,PL
1541619200,1541619455,GB
1541619456,1541620735,PL
@@ -36763,7 +38019,7 @@
1541705728,1541705983,DE
1541705984,1541706239,RO
1541706240,1541706751,UA
-1541706752,1541707263,RU
+1541706752,1541707007,RU
1541707264,1541707519,DE
1541707520,1541707775,NL
1541707776,1541708799,DE
@@ -36787,7 +38043,6 @@
1541720064,1541721087,RU
1541721088,1541721343,PL
1541721344,1541721599,RU
-1541721600,1541721855,GB
1541721856,1541722111,SI
1541722112,1541723135,RU
1541723136,1541723647,HU
@@ -36890,7 +38145,6 @@
1541780736,1541780991,GB
1541781248,1541781503,RO
1541781504,1541781759,TR
-1541781760,1541782015,RU
1541782016,1541782271,RO
1541782272,1541782527,GB
1541782528,1541783551,RU
@@ -36949,7 +38203,8 @@
1541810688,1541811199,PL
1541811200,1541811711,SK
1541811712,1541811967,NL
-1541811968,1541812991,RU
+1541811990,1541811991,RU
+1541812224,1541812991,RU
1541812992,1541813247,NL
1541813248,1541813759,LT
1541813760,1541814015,RU
@@ -37106,7 +38361,6 @@
1541901056,1541901311,FR
1541901312,1541901567,PL
1541901568,1541901823,RU
-1541901824,1541902335,UA
1541902336,1541902847,GB
1541902848,1541903103,RU
1541903104,1541903359,DK
@@ -37161,7 +38415,6 @@
1541935104,1541936383,RO
1541936384,1541936639,UA
1541936640,1541936895,DE
-1541936896,1541937151,FR
1541937152,1541937663,NL
1541937664,1541937919,GE
1541937920,1541938175,PL
@@ -37212,7 +38465,9 @@
1541963776,1541964031,UA
1541964288,1541964543,NL
1541964544,1541965823,RU
-1541965824,1541966847,GB
+1541965824,1541966079,GB
+1541966080,1541966335,CA
+1541966336,1541966847,GB
1541966848,1541967871,PL
1541967872,1541968895,RU
1541968896,1541969919,GB
@@ -37236,7 +38491,7 @@
1541978880,1541979135,FR
1541979136,1541979647,RU
1541979648,1541981183,PL
-1541981184,1541981951,RU
+1541981184,1541981695,RU
1541981952,1541982207,UA
1541982208,1541982719,RS
1541982720,1541984255,RU
@@ -37368,7 +38623,7 @@
1542062080,1542064127,UA
1542064128,1542064383,PL
1542064384,1542064639,FR
-1542064640,1542065151,RU
+1542064896,1542065151,RU
1542065152,1542066175,PL
1542066176,1542066431,RU
1542066432,1542066687,NL
@@ -37391,7 +38646,6 @@
1542074624,1542074879,PL
1542074880,1542075391,NL
1542075392,1542075647,CH
-1542075648,1542075903,RU
1542075904,1542076159,IE
1542076160,1542076415,DE
1542076416,1542077439,RO
@@ -37499,7 +38753,7 @@
1542144256,1542144511,GB
1542144512,1542144767,RU
1542144768,1542146047,UA
-1542146048,1542147583,RU
+1542146048,1542147359,RU
1542147584,1542148095,FR
1542148096,1542148607,RU
1542148608,1542148863,SI
@@ -37578,7 +38832,6 @@
1542185984,1542187007,PL
1542187008,1542187263,DK
1542187264,1542187519,RU
-1542187520,1542188031,GB
1542188032,1542188287,DE
1542188288,1542188543,NL
1542188544,1542189055,PL
@@ -37631,7 +38884,7 @@
1542215680,1542216703,RO
1542216704,1542217727,RU
1542217728,1542218751,UA
-1542218752,1542220031,RU
+1542218752,1542219775,RU
1542220032,1542220287,PL
1542220288,1542220799,DE
1542220800,1542222847,RU
@@ -37755,7 +39008,7 @@
1542287872,1542288639,UA
1542288640,1542288895,DE
1542288896,1542289151,PL
-1542289152,1542291967,UA
+1542289152,1542291711,UA
1542291968,1542292479,RO
1542292480,1542293503,SI
1542293504,1542294527,PL
@@ -37844,7 +39097,7 @@
1542350848,1542351359,CZ
1542351360,1542351615,BG
1542351616,1542351871,PL
-1542351872,1542353151,RU
+1542351872,1542352895,RU
1542353152,1542353407,SA
1542353664,1542353919,RU
1542353920,1542354943,IT
@@ -38071,7 +39324,6 @@
1542472704,1542472959,PL
1542472960,1542473215,LB
1542473216,1542473471,PL
-1542473472,1542473727,GB
1542473728,1542473983,FR
1542473984,1542474239,AE
1542474240,1542474751,RU
@@ -38327,7 +39579,8 @@
1542832896,1542833151,GR
1542833152,1542834175,KZ
1542834176,1542836223,ES
-1542836224,1542836735,RO
+1542836224,1542836479,RO
+1542836480,1542836735,PL
1542836736,1542837247,RU
1542837248,1542837503,GB
1542837504,1542837759,UA
@@ -38353,8 +39606,7 @@
1542868992,1542875135,RU
1542875136,1542877183,PL
1542877184,1542881279,RU
-1542881280,1542889471,UA
-1542889472,1542891519,RU
+1542881280,1542891519,UA
1542891520,1542892543,PL
1542892544,1542900223,RO
1542900224,1542900479,DE
@@ -38375,10 +39627,11 @@
1542932736,1542932991,GB
1542932992,1542933247,NO
1542933248,1542933503,FR
-1542933504,1542946815,UA
-1542946816,1542950911,RU
+1542933504,1542938623,UA
+1542938624,1542942719,RU
+1542942720,1542944767,UA
+1542944768,1542950911,RU
1542950912,1542951423,DE
-1542951424,1542951679,RO
1542951680,1542951935,PL
1542951936,1542955007,RU
1542955008,1542963199,UA
@@ -38416,7 +39669,8 @@
1545995520,1545996287,CZ
1545996288,1545998335,RU
1545998336,1545999359,MD
-1545999360,1546001965,CZ
+1545999360,1545999871,RU
+1545999872,1546001965,CZ
1546001966,1546001966,RU
1546001967,1546002431,CZ
1546002432,1546002943,RU
@@ -38447,7 +39701,8 @@
1546029056,1546035711,RU
1546035712,1546036223,LU
1546036224,1546037247,KR
-1546037248,1546059775,RU
+1546037248,1546037759,US
+1546037760,1546059775,RU
1546059776,1546063871,SE
1546063872,1546067967,DE
1546067968,1546072063,SE
@@ -38712,8 +39967,8 @@
1550843904,1550974975,UA
1550974976,1550975231,NL
1550975232,1550975999,RO
-1550976000,1550976255,EG
-1550976256,1550976767,RO
+1550976000,1550976511,ES
+1550976512,1550976767,RO
1550976768,1550977023,US
1550977024,1550979071,RO
1550979072,1550983167,IR
@@ -38727,7 +39982,8 @@
1550987264,1550988287,IR
1550988288,1550988543,RO
1550988544,1550988799,JP
-1550988800,1550989311,RO
+1550988800,1550989055,RO
+1550989056,1550989311,GG
1550989312,1550990335,ES
1550990336,1550991359,AU
1550991360,1550995455,IR
@@ -38768,7 +40024,9 @@
1554971046,1554971046,ES
1554971047,1555038207,FR
1555038208,1555169279,ES
-1555169280,1555628031,FR
+1555169280,1555368189,FR
+1555368190,1555368190,MD
+1555368191,1555628031,FR
1555628032,1555693567,ES
1555693568,1555693823,FR
1555693824,1555693887,ES
@@ -38790,7 +40048,9 @@
1557069824,1557135359,GB
1557135360,1557313279,DE
1557313280,1557313535,US
-1557313536,1557921791,DE
+1557313536,1557807103,DE
+1557807104,1557815295,MT
+1557815296,1557921791,DE
1557921792,1558052863,NO
1558052864,1558053760,FR
1558053761,1558053761,PT
@@ -39027,7 +40287,7 @@
1560117248,1560125439,CZ
1560125440,1560135679,RU
1560135680,1560135807,UA
-1560135808,1560136447,CZ
+1560135808,1560136447,IR
1560136448,1560138239,GB
1560138240,1560140799,RU
1560140800,1560145919,CZ
@@ -39285,7 +40545,9 @@
1567621120,1567686655,SA
1567686656,1567690751,RO
1567690752,1567692799,ES
-1567692800,1567696383,RO
+1567692800,1567693311,RO
+1567693312,1567693823,GB
+1567693824,1567696383,RO
1567696384,1567696639,FR
1567696640,1567696895,ES
1567696896,1567698175,RO
@@ -39339,7 +40601,15 @@
1567751168,1567752191,RO
1567752192,1567756287,BG
1567756288,1567760383,IR
-1567760384,1567765247,RO
+1567760384,1567762431,RO
+1567762432,1567762820,GB
+1567762821,1567762821,RO
+1567762822,1567763521,GB
+1567763522,1567763522,RO
+1567763523,1567763542,GB
+1567763543,1567763543,RO
+1567763544,1567764479,GB
+1567764480,1567765247,RO
1567765248,1567766271,GB
1567766272,1567767039,RO
1567767040,1567767551,GB
@@ -39368,7 +40638,9 @@
1567799296,1567799467,GB
1567799468,1567799468,RO
1567799469,1567799807,GB
-1567799808,1567802367,RO
+1567799808,1567800319,RO
+1567800320,1567800831,GG
+1567800832,1567802367,RO
1567802368,1567803391,GR
1567803392,1567805439,ES
1567805440,1567807487,SY
@@ -39402,7 +40674,9 @@
1567833600,1567834111,IT
1567834112,1567837183,RO
1567837184,1567838207,TR
-1567838208,1567842303,RO
+1567838208,1567838719,GB
+1567838720,1567839743,RO
+1567839744,1567842303,GB
1567842304,1567842815,FR
1567842816,1567843839,RO
1567843840,1567844351,DE
@@ -39474,7 +40748,7 @@
1568062464,1568063487,MD
1568063488,1568083967,RO
1568083968,1568084223,CN
-1568084224,1568084991,RO
+1568084224,1568084991,ES
1568084992,1568086015,CN
1568086016,1568087039,RO
1568087040,1568088063,ES
@@ -39742,7 +41016,9 @@
1571532032,1571532287,RU
1571532288,1571532543,CZ
1571532544,1571532799,RU
-1571532800,1571534079,CZ
+1571532800,1571533055,CZ
+1571533056,1571533823,UA
+1571533824,1571534079,CZ
1571534080,1571534847,RU
1571534848,1571535103,LV
1571535104,1571535359,UA
@@ -39846,7 +41122,12 @@
1572035072,1572035199,CZ
1572035200,1572035327,NG
1572035328,1572035455,US
-1572035456,1572044799,RU
+1572035456,1572036607,RU
+1572036608,1572038655,US
+1572038656,1572040703,RU
+1572040704,1572042751,US
+1572042752,1572043775,RU
+1572043776,1572044799,US
1572044800,1572061183,IT
1572061184,1572077567,PL
1572077568,1572093951,RU
@@ -39890,9 +41171,11 @@
1572393472,1572393983,GB
1572393984,1572394495,DE
1572394496,1572394751,FR
-1572394752,1572395263,US
+1572394877,1572394877,US
+1572394963,1572394963,US
+1572395008,1572395263,US
1572395264,1572395519,NL
-1572395520,1572397055,US
+1572395520,1572396031,US
1572397056,1572401151,AZ
1572401152,1572405247,GB
1572405248,1572409343,CZ
@@ -40115,7 +41398,9 @@
1578590864,1578590879,BE
1578590880,1578590896,FR
1578590897,1578590897,FI
-1578590898,1578592071,FR
+1578590898,1578591935,FR
+1578591936,1578591939,DE
+1578591940,1578592071,FR
1578592072,1578592079,ES
1578592080,1578592175,FR
1578592176,1578592183,CZ
@@ -40140,7 +41425,10 @@
1578605015,1578605015,GB
1578605016,1578605258,FR
1578605259,1578605259,GB
-1578605260,1578606591,FR
+1578605260,1578605823,FR
+1578605824,1578606079,GB
+1578606080,1578606335,FR
+1578606336,1578606591,GB
1578606592,1578608639,DE
1578608640,1578609039,FR
1578609040,1578609040,CZ
@@ -40283,7 +41571,8 @@
1581793280,1581809663,PL
1581809664,1581826047,BG
1581826048,1581842431,GB
-1581842432,1581858815,BG
+1581842432,1581850623,PS
+1581850624,1581858815,BG
1581858816,1581875199,IT
1581875200,1581891583,TR
1581891584,1581907967,RU
@@ -40367,9 +41656,10 @@
1583796224,1583800319,DE
1583800320,1583804415,ME
1583804416,1583808511,GB
-1583808512,1583810559,MD
-1583810560,1583810815,US
-1583810816,1583811583,MD
+1583808512,1583809791,MD
+1583809792,1583810815,US
+1583810816,1583811071,NL
+1583811072,1583811583,MD
1583811584,1583811839,RU
1583811840,1583812607,MD
1583812608,1583816703,NL
@@ -40526,7 +41816,9 @@
1585440768,1585442815,IT
1585442816,1585446911,RU
1585446912,1585577983,KW
-1585577984,1585643519,DE
+1585577984,1585624156,DE
+1585624157,1585624157,PN
+1585624158,1585643519,DE
1585643520,1585709055,UA
1585709056,1585840127,PT
1585840128,1585971199,DE
@@ -40686,8 +41978,12 @@
1588641792,1588642303,BG
1588642304,1588642559,DE
1588642560,1588642815,NL
-1588642816,1588643839,BG
-1588643840,1588649983,RO
+1588642816,1588643071,RO
+1588643072,1588643327,NL
+1588643328,1588643839,BG
+1588643840,1588645887,RO
+1588645888,1588646399,GB
+1588646400,1588649983,RO
1588649984,1588652031,SE
1588652032,1588652159,NL
1588652160,1588654079,LT
@@ -40701,7 +41997,7 @@
1588663296,1588663807,RO
1588663808,1588664063,GB
1588664064,1588664319,RO
-1588664320,1588664575,TH
+1588664320,1588664575,ES
1588664576,1588664831,EE
1588664832,1588665087,RO
1588665088,1588665343,GB
@@ -40719,7 +42015,7 @@
1588680704,1588682751,LU
1588682752,1588683775,RO
1588683776,1588684799,CH
-1588684800,1588685055,TH
+1588684800,1588685055,ES
1588685056,1588685311,NL
1588685312,1588686847,RO
1588686848,1588687103,NO
@@ -40841,7 +42137,11 @@
1590126592,1590128639,RU
1590128640,1590130687,FI
1590130688,1590132735,FR
-1590132736,1590134783,GB
+1590132736,1590134015,GB
+1590134016,1590134023,DE
+1590134024,1590134031,GB
+1590134032,1590134039,DE
+1590134040,1590134783,GB
1590136832,1590138879,GB
1590138880,1590140927,FR
1590140928,1590142975,UA
@@ -40939,7 +42239,8 @@
1592289280,1592291327,RU
1592291328,1592293375,SM
1592293376,1592295423,LT
-1592295424,1592299519,RU
+1592295424,1592297471,UA
+1592297472,1592299519,RU
1592299520,1592303615,PL
1592303616,1592305663,NL
1592305664,1592307711,IR
@@ -40984,20 +42285,11 @@
1593081856,1593098239,UA
1593098240,1593114623,CH
1593114624,1593131007,SE
-1593131008,1593131023,CH
-1593131024,1593131039,SE
-1593131040,1593131263,GB
-1593131264,1593132031,CH
-1593132032,1593132287,GB
+1593131008,1593132287,GB
1593132288,1593132543,AT
-1593132544,1593132799,FR
-1593132800,1593133055,GB
-1593133056,1593133311,FR
-1593133312,1593133567,GB
-1593133568,1593133823,FR
+1593132544,1593133823,GB
1593133824,1593134591,AT
-1593134592,1593135103,SE
-1593135104,1593135359,GB
+1593134592,1593135359,GB
1593135360,1593135615,IE
1593135616,1593136639,GB
1593136640,1593139199,IE
@@ -41026,9 +42318,7 @@
1593260032,1593262079,RU
1593262080,1593264127,KZ
1593264128,1593266175,NL
-1593266176,1593267199,GB
-1593267200,1593267711,BZ
-1593267712,1593268223,GB
+1593266176,1593268223,GB
1593268224,1593270271,HU
1593270272,1593272319,GB
1593272320,1593274367,RU
@@ -41125,7 +42415,8 @@
1596875008,1596875263,RU
1596875264,1596875775,UA
1596875776,1596876799,UZ
-1596876800,1596877311,RU
+1596876800,1596877055,UA
+1596877056,1596877311,RU
1596877312,1596877596,CZ
1596877597,1596877597,UA
1596877598,1596877823,CZ
@@ -41201,7 +42492,9 @@
1596957952,1596958207,CZ
1596958208,1596958463,RU
1596958464,1596958719,UA
-1596958720,1596960767,CZ
+1596958720,1596959231,CZ
+1596959232,1596959743,RU
+1596959744,1596960767,CZ
1596960768,1596961279,RU
1596961280,1596961791,SK
1596961792,1596962815,RU
@@ -41271,7 +42564,12 @@
1599356928,1599373311,BH
1599373312,1599406079,RU
1599406080,1599422463,NL
-1599422464,1599426559,RU
+1599422464,1599423487,RU
+1599423488,1599423743,DE
+1599423744,1599423999,ES
+1599424000,1599424255,CZ
+1599424256,1599424511,FR
+1599424512,1599426559,RU
1599426560,1599426815,GB
1599426816,1599427071,US
1599427072,1599427327,RU
@@ -41434,8 +42732,7 @@
1602459648,1602461695,GB
1602461696,1602465791,ES
1602465792,1602467839,RU
-1602467840,1602468095,GB
-1602468096,1602469887,GI
+1602467840,1602469887,GB
1602469888,1602471935,AT
1602471936,1602473983,SE
1602473984,1602476031,RU
@@ -41622,7 +42919,7 @@
1604886528,1604894719,NL
1604894720,1604902911,CZ
1604902912,1604911103,BG
-1604911104,1604919295,UA
+1604911104,1604919295,US
1604919296,1604927487,NO
1604927488,1604935679,IT
1604935680,1604952063,RU
@@ -41703,7 +43000,9 @@
1605742848,1605743103,PL
1605743104,1605744127,RU
1605744128,1605744383,UA
-1605744384,1605753343,RU
+1605744384,1605745663,RU
+1605745664,1605746687,US
+1605746688,1605753343,RU
1605753344,1605753471,US
1605753472,1605753855,RU
1605753856,1605754879,FR
@@ -41766,9 +43065,11 @@
1607625987,1607625987,PT
1607625988,1607626751,ES
1607626752,1607627519,FR
-1607627520,1607627775,FI
+1607627520,1607627775,NO
1607627776,1607628543,IT
-1607628800,1607640805,IT
+1607628800,1607638527,IT
+1607638528,1607639039,GB
+1607639040,1607640805,IT
1607640806,1607640806,CH
1607640807,1607642388,IT
1607642389,1607642389,NL
@@ -41812,7 +43113,6 @@
1607952384,1607953407,UA
1607953408,1607956479,RU
1607956480,1607957503,ES
-1607957504,1607958527,UA
1607958528,1607959551,PS
1607959552,1607960575,EE
1607960576,1607961599,RU
@@ -41897,7 +43197,7 @@
1613504512,1613529087,CA
1613529088,1613545471,US
1613545472,1613565951,CA
-1613570048,1613584639,US
+1613565952,1613584639,US
1613584640,1613584895,HK
1613584896,1613585407,US
1613585408,1613585663,DE
@@ -41940,16 +43240,24 @@
1634418688,1634447359,US
1634447360,1634451455,CA
1634451456,1634455551,US
-1634455552,1634459647,CA
-1634459648,1634459903,US
-1634459904,1634460671,CA
+1634455552,1634460671,CA
1634460672,1634467839,US
1634467840,1634729983,CA
1634729984,1652293631,US
1652293632,1652310015,CA
1652310016,1652481279,US
1652481280,1652481791,CN
-1652481792,1653501103,US
+1652481792,1652647319,US
+1652647320,1652647327,IL
+1652647328,1652649543,US
+1652649544,1652649551,CA
+1652649552,1652655983,US
+1652655984,1652655999,GB
+1652656000,1652662735,US
+1652662736,1652662751,GB
+1652662752,1652671407,US
+1652671408,1652671415,GB
+1652671416,1653501103,US
1653501104,1653501111,IN
1653501112,1653534719,US
1653534720,1653538815,CA
@@ -42154,17 +43462,38 @@
1710972672,1710972927,TW
1710972928,1711210495,CN
1711210496,1711276031,ID
+1720713216,1721237503,ZM
+1721237504,1721499647,TN
1721761792,1722023935,MU
+1722081280,1722085375,TG
+1722089472,1722114047,ZA
+1722114048,1722118143,ML
+1722120192,1722121215,ZA
+1722121216,1722122239,NG
+1722122240,1722130431,BW
+1722130432,1722135551,ZA
+1722136576,1722137599,NG
+1722137600,1722137855,ZA
+1722137856,1722138111,MA
+1722138368,1722138623,TZ
+1722138624,1722155007,ZA
1722155008,1722286079,KE
1722286080,1722810367,TN
1722810368,1722843135,GH
+1722843136,1722851327,MU
+1722851328,1722855423,GN
+1722856448,1722857471,KE
1722859520,1722871807,ZA
1722871808,1722872831,NG
+1722873856,1722874367,MZ
1722874624,1722874879,ZA
-1722875904,1722896383,ZA
+1722875904,1722894335,ZA
+1722894336,1722895359,ZW
+1722895360,1722896383,ZA
1722896384,1722898431,TZ
1722898432,1722899455,TD
1722899456,1722900479,ZA
+1722900480,1722901503,KE
1722901504,1722902527,GH
1722902528,1722925055,ZA
1722925056,1722941439,ZW
@@ -42210,7 +43539,8 @@
1728152576,1728153599,MY
1728153600,1728154623,SG
1728154624,1728155647,JP
-1728155648,1728158463,MY
+1728155648,1728157695,MY
+1728157696,1728158463,HK
1728158464,1728158719,NL
1728158720,1728159743,HK
1728159744,1728161791,TH
@@ -42432,7 +43762,7 @@
1728433152,1728435199,VN
1728435200,1728435967,AU
1728435968,1728436223,ID
-1728436224,1728437247,IN
+1728436224,1728436479,IN
1728437248,1728438271,HK
1728438272,1728439295,NZ
1728439296,1728439807,NP
@@ -42774,8 +44104,7 @@
1728754688,1728755711,IN
1728755712,1728756735,ID
1728756736,1728757759,IN
-1728758784,1728759039,MY
-1728759040,1728759807,HK
+1728758784,1728759807,HK
1728759808,1728760831,PH
1728760832,1728761855,TW
1728761856,1728762879,IN
@@ -42949,7 +44278,6 @@
1728905216,1728905471,IN
1728905472,1728905727,PK
1728905728,1728906239,IN
-1728906240,1728907263,MY
1728907264,1728908287,NZ
1728908288,1728909311,CN
1728909312,1728912383,JP
@@ -43012,7 +44340,6 @@
1728967424,1728967679,HK
1728967680,1728968703,CN
1728968704,1728970751,JP
-1728970752,1728971007,IN
1728971008,1728971263,AU
1728971264,1728971519,IN
1728971520,1728971775,NZ
@@ -43152,7 +44479,6 @@
1729085440,1729087487,HK
1729087488,1729088511,CN
1729088512,1729090559,AU
-1729090560,1729091583,JP
1729091584,1729092607,HK
1729093632,1729094143,BD
1729094144,1729094399,ID
@@ -43611,11 +44937,11 @@
1729563648,1729564671,JP
1729564672,1729565695,NZ
1729565696,1729566719,ID
-1729566720,1729568255,IN
+1729566720,1729567743,IN
+1729568000,1729568255,IN
1729568256,1729568511,ID
1729568512,1729568767,BD
1729568768,1729569791,ID
-1729569792,1729570815,AF
1729570816,1729571839,BD
1729571840,1729572863,MY
1729572864,1729573887,MN
@@ -43623,7 +44949,6 @@
1729574912,1729575935,CN
1729575936,1729576959,BD
1729576960,1729577983,AU
-1729577984,1729578495,HK
1729578496,1729578751,AU
1729578752,1729579007,NZ
1729579008,1729580031,JP
@@ -43702,7 +45027,7 @@
1729643520,1729644543,JP
1729644544,1729645823,ID
1729645824,1729646079,SG
-1729646592,1729649663,IN
+1729646592,1729648639,IN
1729649664,1729650687,HK
1729650688,1729651711,PK
1729651712,1729652735,TW
@@ -43804,8 +45129,7 @@
1729753088,1729754111,TH
1729754112,1729755135,NZ
1729755136,1729756159,BD
-1729756160,1729756671,HK
-1729756672,1729757183,JP
+1729756160,1729757183,HK
1729757184,1729758207,CN
1729758208,1729759231,ID
1729759232,1729760255,IN
@@ -44100,7 +45424,6 @@
1730033664,1730034687,ID
1730035712,1730036735,IN
1730036736,1730037759,HK
-1730037760,1730038783,JP
1730038784,1730039807,HK
1730039808,1730040831,IN
1730040832,1730043903,ID
@@ -44148,8 +45471,8 @@
1730082816,1730083839,PW
1730083840,1730084863,IN
1730084864,1730085887,CN
-1730085888,1730086399,TW
-1730086400,1730086911,US
+1730085888,1730086143,SG
+1730086144,1730086911,US
1730087936,1730088959,JP
1730088960,1730091007,HK
1730091008,1730091519,SG
@@ -44237,7 +45560,6 @@
1730383360,1730383615,IN
1730383616,1730383871,MY
1730383872,1730385919,HK
-1730385920,1730386943,AU
1730386944,1730387967,BD
1730387968,1730388479,CA
1730388480,1730388735,MX
@@ -44246,7 +45568,6 @@
1730389504,1730390015,AF
1730390016,1730391039,BD
1730391040,1730392063,HK
-1730392064,1730393087,AU
1730393088,1730393599,SG
1730393600,1730394111,CN
1730394112,1730395135,HK
@@ -44281,7 +45602,6 @@
1730426880,1730429951,CN
1730429952,1730430207,ID
1730430208,1730430463,AU
-1730430464,1730430719,HK
1730430720,1730430975,IN
1730430976,1730431999,CN
1730432000,1730435071,IN
@@ -44354,8 +45674,8 @@
1730538496,1730540543,JP
1730540544,1730541567,ID
1730541568,1730544639,CN
-1730544640,1730545919,IN
-1730545920,1730546687,AU
+1730544640,1730545663,IN
+1730545664,1730546687,AU
1730546688,1730547711,IN
1730547712,1730548735,BD
1730548736,1730549759,MY
@@ -44627,7 +45947,7 @@
1730895872,1730898943,CN
1730898944,1730899967,MO
1730899968,1730900991,IN
-1730900992,1730901247,HK
+1730900992,1730901247,AU
1730901248,1730901503,SG
1730901504,1730901759,DE
1730901760,1730902015,AU
@@ -44647,7 +45967,8 @@
1730915328,1730916351,HK
1730916352,1730918399,AU
1730918400,1730919423,CN
-1730919424,1730920447,SG
+1730919424,1730920192,HK
+1730920193,1730920447,SG
1730920448,1730922495,CN
1730922496,1730923519,IN
1730923520,1730924031,NF
@@ -44685,9 +46006,7 @@
1730951168,1730952191,CN
1730952192,1730954239,HK
1730954240,1730955263,SG
-1730955264,1730956031,BD
-1730956032,1730956287,NL
-1730956288,1730957311,BD
+1730955264,1730957311,BD
1730957312,1730958335,CN
1730958336,1730959359,JP
1730959360,1730960383,CN
@@ -44746,7 +46065,6 @@
1731104768,1731105791,TW
1731105792,1731106815,BD
1731106816,1731115007,CN
-1731115008,1731116031,HK
1731116032,1731117055,TW
1731117056,1731118847,IN
1731118848,1731119103,AU
@@ -45285,7 +46603,6 @@
1731717120,1731718143,AU
1731718144,1731720191,CN
1731720192,1731721215,IN
-1731722240,1731723263,IN
1731723264,1731724287,AU
1731724288,1731725311,BD
1731725312,1731726335,CN
@@ -45656,7 +46973,6 @@
1732251648,1732252671,SG
1732252672,1732253695,MM
1732253696,1732280319,CN
-1732280320,1732281343,IN
1732281344,1732282367,JP
1732282368,1732283391,HK
1732283392,1732285439,CN
@@ -45674,7 +46990,6 @@
1732337664,1732338175,ID
1732338176,1732338687,HK
1732338688,1732342783,CN
-1732348928,1732349951,IN
1732349952,1732358143,CN
1732358144,1732359167,MY
1732359168,1732360191,HK
@@ -45683,18 +46998,15 @@
1732362240,1732364287,IN
1732364288,1732364799,NP
1732364800,1732365311,IN
-1732365312,1732366335,GB
1732366336,1732367359,JP
1732367360,1732368383,ID
1732368384,1732369407,HK
-1732369408,1732370431,BS
1732371456,1732372479,IN
1732372480,1732372991,AU
1732372992,1732373503,IN
1732373504,1732374271,ID
1732374272,1732374527,NZ
1732375552,1732376575,AU
-1732376576,1732377599,US
1732377600,1732377855,AU
1732377856,1732378111,NZ
1732378112,1732378623,AU
@@ -45739,7 +47051,7 @@
1732412416,1732413439,AU
1732413440,1732417535,IN
1732417536,1732418559,VN
-1732418560,1732422143,IN
+1732418560,1732421631,IN
1732422144,1732422399,AU
1732422400,1732422655,JP
1732422656,1732423679,IN
@@ -45819,15 +47131,14 @@
1732510720,1732511743,BD
1732511744,1732512767,IN
1732512768,1732513791,JP
-1732513792,1732524543,IN
+1732513792,1732524031,IN
1732524544,1732525055,NZ
1732525056,1732527103,HK
1732527104,1732531199,VN
-1732531200,1732532223,IN
+1732531712,1732532223,IN
1732532224,1732533247,CN
1732533248,1732533759,AU
1732533760,1732534015,SG
-1732534016,1732534271,IN
1732534272,1732535295,KR
1732535296,1732536319,CN
1732536320,1732536575,BD
@@ -45867,7 +47178,6 @@
1732561920,1732562431,AU
1732562432,1732562943,IN
1732562944,1732563967,AU
-1732563968,1732564991,NZ
1732564992,1732566527,IN
1732566528,1732566783,AU
1732566784,1732567039,SG
@@ -45880,8 +47190,7 @@
1732579328,1732580351,CN
1732580352,1732583167,IN
1732583168,1732583423,AU
-1732583424,1732590591,IN
-1732590592,1732591615,GB
+1732583424,1732591615,IN
1732591616,1732592639,SG
1732592640,1732593663,KH
1732593664,1732594687,AU
@@ -45907,7 +47216,6 @@
1732615680,1732615807,FI
1732615808,1732615935,SE
1732615936,1732616191,NO
-1732616192,1732617215,VG
1732617216,1732618239,AU
1732618240,1732619263,IN
1732619264,1732620287,MY
@@ -45931,11 +47239,9 @@
1732638720,1732639743,MM
1732639744,1732640255,AU
1732640256,1732640511,PH
-1732640512,1732640767,AU
1732640768,1732641791,SG
1732641792,1732642815,TH
1732642816,1732643839,CN
-1732643840,1732644863,BD
1732644864,1732645887,ID
1732645888,1732646911,SG
1732646912,1732647935,NZ
@@ -45966,7 +47272,7 @@
1732678656,1732679679,CN
1732679680,1732684287,IN
1732684288,1732684799,BD
-1732684800,1732686847,AU
+1732684800,1732685823,AU
1732686848,1732687871,HK
1732687872,1732688895,CN
1732688896,1732689919,IN
@@ -46019,8 +47325,8 @@
1732744192,1732746239,HK
1732746240,1732747263,JP
1732747264,1732748287,ID
-1732748288,1732750847,IN
-1732750848,1732751359,NL
+1732748288,1732750335,IN
+1732750336,1732751359,NL
1732751360,1732752383,HK
1732752384,1732754431,VN
1732754432,1732754687,AU
@@ -46079,12 +47385,12 @@
1732818944,1732819967,AU
1732819968,1732820991,PH
1732820992,1732821247,SG
-1732821248,1732823039,IN
+1732821248,1732822015,IN
1732823040,1732824063,AU
1732824064,1732825087,IN
1732825088,1732825599,NZ
1732825600,1732826111,AU
-1732826112,1732829183,IN
+1732827136,1732829183,IN
1732829184,1732845567,CN
1732845568,1732846591,IN
1732846592,1732847615,BD
@@ -46123,12 +47429,13 @@
1732881408,1732882431,IN
1732882432,1732883455,CN
1732883456,1732884479,IN
-1732885504,1732887039,IN
+1732885504,1732886527,IN
1732887040,1732887551,HK
1732887552,1732888575,BD
1732888576,1732889599,AU
1732889600,1732891647,CN
-1732891648,1732894719,IN
+1732891648,1732892671,IN
+1732893696,1732894719,IN
1732894720,1732895743,BD
1732895744,1732896767,NZ
1732896768,1732897279,SG
@@ -46141,7 +47448,6 @@
1732903936,1732904191,IN
1732904192,1732904447,AU
1732904448,1732904959,ID
-1732904960,1732905983,IN
1732905984,1732906495,ID
1732906496,1732907007,NP
1732907008,1732908031,IN
@@ -46150,7 +47456,7 @@
1732916224,1732916735,HK
1732916736,1732917247,IN
1732917248,1732919295,CN
-1732919296,1732919807,IN
+1732919296,1732919551,IN
1732919808,1732920319,AU
1732920320,1732922367,IN
1732922368,1732923391,NL
@@ -46188,7 +47494,7 @@
1732957184,1732957695,ID
1732957696,1732958207,IN
1732958208,1732959231,AU
-1732959232,1732960511,IN
+1732959232,1732960255,IN
1732960768,1732961023,AU
1732961024,1732961279,IN
1732961280,1732962303,BD
@@ -46212,7 +47518,8 @@
1732980736,1732981247,NP
1732981248,1732982783,ID
1732982784,1732989951,IN
-1732989952,1732993023,CN
+1732989952,1732990207,CN
+1732990976,1732993023,CN
1732993024,1732995071,ID
1732995072,1732998143,CN
1732998144,1732998399,AU
@@ -46277,14 +47584,11 @@
1733056000,1733056511,CN
1733056512,1733057023,MY
1733057024,1733057279,AU
-1733057280,1733057535,IN
1733057536,1733058559,CN
1733058560,1733060607,IN
1733060608,1733061631,US
-1733061632,1733062655,IN
1733062656,1733063679,HK
1733063680,1733064703,TH
-1733064704,1733065727,IN
1733065728,1733065983,SG
1733065984,1733066751,AU
1733066752,1733067775,IN
@@ -46461,7 +47765,7 @@
1733238784,1733239807,IN
1733239808,1733242879,CN
1733242880,1733243903,JP
-1733243904,1733249023,CN
+1733244928,1733249023,CN
1733249024,1733249279,AU
1733249280,1733249791,IN
1733249792,1733250047,AU
@@ -46481,7 +47785,6 @@
1733261056,1733261311,IN
1733261312,1733262335,CN
1733262336,1733263359,AU
-1733263360,1733264383,TH
1733264384,1733265407,KR
1733265408,1733266431,CN
1733266432,1733268479,VN
@@ -46560,7 +47863,6 @@
1733349376,1733349631,NZ
1733349632,1733349887,AU
1733349888,1733350399,MN
-1733350400,1733351423,CN
1733351424,1733352447,TH
1733352448,1733353471,HK
1733353472,1733354495,BD
@@ -46608,7 +47910,7 @@
1733399552,1733400575,CN
1733400576,1733402879,IN
1733402880,1733403135,AU
-1733403136,1733403391,MY
+1733403136,1733403391,HK
1733403392,1733403647,SG
1733403648,1733405695,CN
1733405696,1733406719,BD
@@ -46750,7 +48052,7 @@
1733538816,1733539839,CN
1733539840,1733540863,IN
1733540864,1733541887,MM
-1733541888,1733542911,IN
+1733541888,1733542911,US
1733542912,1733543167,BD
1733543168,1733543423,PG
1733543424,1733543679,ID
@@ -46909,7 +48211,8 @@
1733704192,1733704703,AU
1733704704,1733705727,CN
1733705728,1733706751,HK
-1733706752,1733707263,CN
+1733706752,1733707007,CN
+1733707008,1733707263,HK
1733707264,1733707775,US
1733707776,1733709823,HK
1733709824,1733712895,CN
@@ -46928,7 +48231,6 @@
1733719040,1733720063,IN
1733720064,1733721087,PH
1733721088,1733722111,AF
-1733722112,1733722367,AU
1733722368,1733722623,CN
1733722624,1733723135,MY
1733723136,1733724159,PK
@@ -47197,14 +48499,14 @@
1734039296,1734039551,ID
1734039552,1734043647,IN
1734043648,1734044159,BD
-1734044160,1734044191,PR
-1734044192,1734044255,CN
-1734044256,1734044287,KR
-1734044288,1734044447,CN
-1734044448,1734044479,US
+1734044160,1734044287,US
+1734044288,1734044351,CN
+1734044352,1734044479,US
1734044480,1734044511,CN
1734044512,1734044543,US
-1734044544,1734045695,CN
+1734044544,1734044607,CN
+1734044608,1734044671,US
+1734044672,1734045695,CN
1734045696,1734046207,PH
1734046208,1734046719,PG
1734046720,1734049023,IN
@@ -47436,7 +48738,9 @@
1734283264,1734284287,NP
1734284288,1734285311,BD
1734285312,1734286335,LA
-1734286336,1734287359,CN
+1734286336,1734286363,CN
+1734286364,1734286364,JP
+1734286365,1734287359,CN
1734287360,1734288383,MY
1734288384,1734288639,IN
1734288640,1734288895,MY
@@ -47554,7 +48858,9 @@
1734421504,1734422015,BD
1734422016,1734422527,IN
1734422528,1734423551,TW
-1734423552,1734424575,AU
+1734423552,1734423807,JP
+1734423808,1734424063,NZ
+1734424064,1734424575,AU
1734424576,1734429695,CN
1734429696,1734430719,ID
1734430720,1734431743,CN
@@ -47853,8 +49159,7 @@
1734716928,1734717439,IN
1734717440,1734718463,JP
1734718464,1734720511,CN
-1734720512,1734720767,KR
-1734720768,1734721535,HK
+1734720512,1734721535,HK
1734721536,1734721791,VU
1734721792,1734722047,AU
1734722048,1734722559,ID
@@ -48038,7 +49343,7 @@
1734880256,1734883583,IN
1734883584,1734883839,ID
1734883840,1734884351,IN
-1734884352,1734885375,AU
+1734884352,1734885375,KH
1734885376,1734886399,CN
1734886400,1734886655,IN
1734886656,1734886911,MY
@@ -48108,8 +49413,7 @@
1734947072,1734947583,US
1734947584,1734947839,GB
1734947840,1734948863,ID
-1734948864,1734949887,HK
-1734949888,1734950911,CN
+1734948864,1734950911,CN
1734950912,1734952959,ID
1734952960,1734953215,IN
1734953216,1734953471,TH
@@ -48130,7 +49434,10 @@
1734965248,1734966271,HK
1734966272,1734967295,IN
1734967296,1734968319,ID
-1734968320,1734969343,CN
+1734968320,1734968575,CN
+1734968576,1734968831,ID
+1734968832,1734969087,CN
+1734969088,1734969343,JP
1734969344,1734969855,IN
1734969856,1734970111,MY
1734970112,1734970367,AU
@@ -48142,8 +49449,7 @@
1734974464,1734976511,KR
1734976512,1734976767,PK
1734976768,1734977023,JP
-1734977024,1734977279,NZ
-1734977280,1734977535,KR
+1734977024,1734977535,PK
1734977536,1734978559,AU
1734978560,1734979583,MM
1734979584,1734980607,IN
@@ -48211,8 +49517,263 @@
1735044096,1735045119,ID
1735045120,1735046655,IN
1735046656,1735046911,AF
+1735046912,1735047167,IN
1735047168,1735048191,BD
1735048192,1735049215,CN
+1735049216,1735050239,IN
+1735050240,1735051263,CN
+1735051264,1735051519,IN
+1735051520,1735051775,BD
+1735051776,1735052287,CN
+1735052288,1735053311,KH
+1735053312,1735054335,HK
+1735054336,1735055359,CN
+1735055360,1735056383,ID
+1735056384,1735058431,VN
+1735058432,1735060479,IN
+1735060480,1735062527,BD
+1735062528,1735062783,CN
+1735062784,1735063551,HK
+1735063552,1735064575,MY
+1735064576,1735066623,CN
+1735066624,1735067647,ID
+1735067648,1735067903,HK
+1735067904,1735068159,IN
+1735068160,1735069695,HK
+1735069696,1735069951,AU
+1735069952,1735070207,IN
+1735070208,1735070719,ID
+1735070720,1735072767,IN
+1735072768,1735074815,CN
+1735074816,1735075327,IN
+1735075328,1735075583,BD
+1735075584,1735075839,AU
+1735075840,1735076351,BD
+1735076352,1735076607,SG
+1735076608,1735076863,AU
+1735076864,1735077887,CN
+1735077888,1735078911,AU
+1735078912,1735079935,IN
+1735079936,1735080191,SG
+1735080192,1735083007,IN
+1735083008,1735083519,ID
+1735083520,1735083775,TH
+1735083776,1735084031,ID
+1735084032,1735085055,CN
+1735085056,1735086079,BD
+1735086080,1735087103,PH
+1735087104,1735087871,ID
+1735087872,1735088127,MY
+1735088128,1735091199,IN
+1735091200,1735092223,ID
+1735092224,1735093247,HK
+1735093248,1735094271,CN
+1735094272,1735095295,IN
+1735095296,1735096319,ID
+1735096320,1735096575,IN
+1735096576,1735096831,ID
+1735096832,1735097343,BD
+1735097344,1735098367,IN
+1735098368,1735099391,AU
+1735099392,1735100415,BD
+1735100416,1735101439,AF
+1735101440,1735101951,ID
+1735101952,1735102463,IN
+1735102464,1735103487,ID
+1735103488,1735103999,AU
+1735104000,1735104255,IN
+1735104256,1735104511,ID
+1735104512,1735105535,PG
+1735105536,1735106559,PH
+1735106560,1735107583,BD
+1735107584,1735109631,CN
+1735109632,1735111679,IN
+1735111680,1735112703,VN
+1735112704,1735112959,BD
+1735112960,1735113215,AU
+1735113216,1735113727,ID
+1735113728,1735115775,CN
+1735115776,1735116799,AU
+1735116800,1735117823,VN
+1735117824,1735118335,ID
+1735118336,1735118591,IN
+1735118592,1735118847,AU
+1735118848,1735122943,CN
+1735122944,1735123967,AU
+1735123968,1735124991,BD
+1735124992,1735126015,PH
+1735126016,1735127039,HK
+1735127040,1735128063,AU
+1735128064,1735128575,ID
+1735128576,1735129087,AU
+1735129088,1735130111,ID
+1735130112,1735131647,IN
+1735131648,1735132159,HK
+1735132160,1735133183,IN
+1735133184,1735133439,HK
+1735133440,1735133695,ID
+1735133696,1735136255,IN
+1735136256,1735141375,ID
+1735141376,1735142399,HK
+1735142400,1735143679,IN
+1735143680,1735143935,TH
+1735143936,1735144191,AU
+1735144192,1735144447,IN
+1735144448,1735145471,CN
+1735145472,1735146495,IN
+1735146496,1735147519,BD
+1735147520,1735148543,HK
+1735148544,1735149567,AU
+1735149568,1735153151,IN
+1735153152,1735153407,AU
+1735153408,1735153663,ID
+1735153664,1735154687,BD
+1735154688,1735155711,NZ
+1735155712,1735156735,IN
+1735156736,1735157759,VN
+1735157760,1735158783,MM
+1735158784,1735159807,KR
+1735159808,1735160831,BD
+1735160832,1735161087,AU
+1735161088,1735161599,IN
+1735161600,1735161855,ID
+1735161856,1735162879,IN
+1735162880,1735163391,AU
+1735163392,1735164927,ID
+1735164928,1735166975,VN
+1735166976,1735167231,BD
+1735167232,1735167487,ID
+1735167488,1735167743,HK
+1735167744,1735167999,IN
+1735168000,1735169023,BD
+1735169024,1735171071,IN
+1735171072,1735172095,ID
+1735172096,1735174143,CN
+1735174144,1735175167,AU
+1735175168,1735175423,BD
+1735175424,1735175679,ID
+1735175680,1735176191,BD
+1735176192,1735176447,NZ
+1735176448,1735176703,AU
+1735176704,1735177215,PK
+1735177216,1735178239,HK
+1735178240,1735178751,CN
+1735178752,1735179007,AU
+1735179008,1735179263,ID
+1735179264,1735179775,CN
+1735179776,1735180287,ID
+1735180288,1735182335,CN
+1735182336,1735182847,ID
+1735182848,1735183359,AU
+1735183360,1735184383,IN
+1735184384,1735186431,CN
+1735186432,1735186943,HK
+1735186944,1735187455,KH
+1735187456,1735187711,IN
+1735187712,1735187967,BD
+1735187968,1735188479,AU
+1735188480,1735189503,CN
+1735189504,1735190527,AU
+1735190528,1735192575,JP
+1735192576,1735193599,ID
+1735193600,1735194623,CN
+1735194624,1735195391,HK
+1735195392,1735195647,CN
+1735195648,1735196159,AU
+1735196160,1735197695,ID
+1735197696,1735198207,HK
+1735198208,1735198719,IN
+1735198720,1735199743,KR
+1735199744,1735200767,IN
+1735200768,1735201791,AU
+1735201792,1735202815,CN
+1735202816,1735203839,ID
+1735203840,1735207935,VN
+1735207936,1735208959,IN
+1735208960,1735209983,CN
+1735209984,1735212031,BD
+1735212032,1735213055,TH
+1735213056,1735214079,KR
+1735214080,1735215103,KH
+1735215104,1735216383,IN
+1735216384,1735216639,AU
+1735216640,1735219199,IN
+1735219200,1735220223,CN
+1735220224,1735222271,BD
+1735222272,1735223551,HK
+1735223808,1735224319,CN
+1735224320,1735225343,IN
+1735225344,1735226367,AU
+1735226368,1735227391,LA
+1735227392,1735227647,ID
+1735227648,1735227903,PK
+1735227904,1735228159,NZ
+1735228160,1735228415,AU
+1735228416,1735229439,ID
+1735229440,1735230975,AU
+1735230976,1735232511,IN
+1735232512,1735233535,AU
+1735233536,1735233791,IN
+1735233792,1735234559,SG
+1735234560,1735234815,IN
+1735234816,1735235071,HK
+1735235072,1735235583,IN
+1735235584,1735241727,ID
+1735241728,1735244799,IN
+1735244800,1735248895,ID
+1735248896,1735249919,NP
+1735249920,1735250175,AU
+1735250176,1735250687,ID
+1735250688,1735250943,IN
+1735250944,1735251967,BD
+1735251968,1735255039,IN
+1735255040,1735256063,NP
+1735256064,1735257087,AU
+1735257088,1735258111,BD
+1735258112,1735259135,JP
+1735259136,1735259391,IN
+1735259392,1735259903,NZ
+1735259904,1735260159,ID
+1735260160,1735261183,CN
+1735261184,1735262207,PH
+1735262208,1735263231,IN
+1735263232,1735263487,ID
+1735263488,1735263743,BD
+1735263744,1735264255,IN
+1735264256,1735265279,ID
+1735265280,1735268351,IN
+1735268352,1735269375,JP
+1735269376,1735269887,AU
+1735269888,1735270399,PG
+1735270400,1735271423,CN
+1735271424,1735272447,IN
+1735272448,1735272703,MV
+1735272704,1735272959,LA
+1735272960,1735273215,IN
+1735273216,1735273471,ID
+1735273472,1735274495,PH
+1735274496,1735275007,IN
+1735275008,1735275519,AU
+1735275520,1735275775,PK
+1735275776,1735276543,AF
+1735276544,1735277567,BD
+1735277568,1735278591,HK
+1735278592,1735279615,BD
+1735279616,1735280639,MY
+1735280640,1735281151,IN
+1735281152,1735281407,ID
+1735281408,1735281663,PH
+1735281664,1735282175,ID
+1735282176,1735282687,BD
+1735282688,1735283199,CN
+1735283200,1735283455,AU
+1735283456,1735283711,IN
+1735283712,1735284735,VN
+1735284736,1735285759,ID
+1735285760,1735286783,CN
+1735286784,1735287807,BD
+1735287808,1735288831,CN
+1735288832,1735289855,IN
1740636160,1740644351,CN
1740644352,1740645375,IN
1740645376,1740647423,HK
@@ -48223,7 +49784,6 @@
1740654592,1740655615,IN
1740655616,1740656639,NP
1740656640,1740656895,NZ
-1740656896,1740657151,AF
1740657152,1740657663,AU
1740657664,1740665855,CN
1740665856,1740666879,IN
@@ -48237,7 +49797,6 @@
1740678144,1740679167,CN
1740679168,1740680447,IN
1740680448,1740680703,AU
-1740680704,1740680959,MM
1740680960,1740681215,AU
1740681216,1740682239,HK
1740682240,1740683263,KH
@@ -48408,7 +49967,7 @@
1740902400,1740903423,VN
1740903424,1740904447,US
1740904448,1740904959,NZ
-1740904960,1740907519,IN
+1740905472,1740907519,IN
1740907520,1740908543,US
1740908544,1740909055,PK
1740909056,1740910591,ID
@@ -48452,7 +50011,8 @@
1740951552,1740957695,IN
1740957696,1740958719,BD
1740958720,1740959743,VN
-1740959744,1740960767,NL
+1740959744,1740960255,NL
+1740960256,1740960767,IN
1740960768,1740962303,VN
1740962304,1740962559,TW
1740962560,1740962815,VN
@@ -48480,7 +50040,6 @@
1740985344,1740986367,PH
1740986368,1740986623,AU
1740986624,1740986879,ID
-1740986880,1740987391,IN
1740987392,1740988415,ID
1740988416,1740989184,AU
1740989185,1740989439,SG
@@ -48488,7 +50047,6 @@
1740990464,1740991487,KH
1740991488,1741000703,IN
1741000704,1741001727,AU
-1741001728,1741002751,HK
1741002752,1741003775,BD
1741004800,1741005823,AU
1741005824,1741006847,MV
@@ -48594,7 +50152,8 @@
1741128704,1741129727,JP
1741129728,1741130751,IN
1741131776,1741132799,IN
-1741132800,1741133823,MY
+1741132800,1741133567,MY
+1741133568,1741133823,TH
1741133824,1741134847,BD
1741134848,1741136895,IN
1741136896,1741137919,CN
@@ -48629,7 +50188,7 @@
1741176832,1741178879,CN
1741178880,1741183999,IN
1741184000,1741185023,BD
-1741185024,1741185279,HK
+1741185024,1741185279,SG
1741185280,1741185535,JP
1741185536,1741186047,HK
1741186048,1741188607,IN
@@ -48710,8 +50269,7 @@
1741411328,1741413375,CN
1741413376,1741413631,HK
1741413632,1741413887,SG
-1741413888,1741414143,JP
-1741414144,1741414399,HK
+1741413888,1741414399,HK
1741414400,1741423615,IN
1741423616,1741425663,MY
1741425664,1741425919,TH
@@ -48732,7 +50290,8 @@
1741445120,1741446143,CN
1741446144,1741446175,US
1741446176,1741447167,SG
-1741447168,1741448191,HK
+1741447168,1741447935,HK
+1741447936,1741448191,PH
1741448192,1741449215,MM
1741449216,1741450239,AU
1741450240,1741451263,HK
@@ -48745,7 +50304,8 @@
1741457408,1741462527,CN
1741462528,1741466623,IN
1741466624,1741466879,JP
-1741466880,1741467391,HK
+1741466880,1741467135,SG
+1741467136,1741467391,HK
1741467392,1741467647,JP
1741467648,1741469695,HK
1741469696,1741472767,IN
@@ -48817,7 +50377,8 @@
1741536256,1741540351,CN
1741540352,1741541375,AU
1741541376,1741542399,MY
-1741542400,1741546495,IN
+1741542400,1741544447,IN
+1741545472,1741546495,IN
1741546496,1741547519,AU
1741547520,1741548543,BD
1741548544,1741549567,CN
@@ -48835,7 +50396,7 @@
1741562880,1741563903,HK
1741563904,1741564927,SG
1741564928,1741565951,CN
-1741565952,1741572607,IN
+1741565952,1741572095,IN
1741572608,1741573119,KR
1741573120,1741574143,JP
1741574144,1741575167,PH
@@ -48953,7 +50514,8 @@
1741724672,1741725695,IN
1741725696,1741726719,ID
1741726720,1741726975,NZ
-1741726976,1741727743,AU
+1741726976,1741727231,US
+1741727232,1741727743,AU
1741727744,1741729791,IN
1741729792,1741730815,SG
1741730816,1741731839,BD
@@ -49136,7 +50698,6 @@
1741919232,1741920255,NP
1741920256,1741921279,IN
1741921280,1741922303,CN
-1741922304,1741923327,US
1741923328,1741923583,TH
1741923584,1741923839,CN
1741923840,1741924095,TH
@@ -49156,8 +50717,8 @@
1741935616,1741936639,VN
1741936640,1741937151,IN
1741937152,1741937663,SC
-1741937664,1741940479,CN
-1741940480,1741940735,HK
+1741937664,1741939711,CN
+1741939712,1741940735,HK
1741940736,1741941759,ID
1741941760,1741942271,HK
1741942272,1741942527,AU
@@ -49250,7 +50811,6 @@
1742065664,1742070783,IN
1742070784,1742071039,MM
1742071040,1742071295,JP
-1742071296,1742071807,MM
1742072832,1742074879,BD
1742074880,1742076927,HK
1742076928,1742077951,CN
@@ -49289,7 +50849,9 @@
1742102272,1742102527,CH
1742103040,1742103295,AU
1742103296,1742104575,ID
-1742104576,1742105599,NZ
+1742104576,1742104831,NZ
+1742104832,1742105087,AU
+1742105088,1742105599,NZ
1742105600,1742106623,US
1742106624,1742107135,ID
1742107136,1742108671,IN
@@ -49346,7 +50908,6 @@
1742166016,1742167039,AU
1742167040,1742169087,IN
1742169088,1742172159,CN
-1742172160,1742173183,IN
1742173184,1742175231,CN
1742175232,1742176255,HK
1742176256,1742177791,AU
@@ -49446,7 +51007,7 @@
1742338048,1742338303,AU
1742338304,1742338559,IN
1742338560,1742339071,AU
-1742339072,1742339327,US
+1742339072,1742339327,HK
1742339328,1742339583,SG
1742339584,1742339839,AU
1742339840,1742340095,US
@@ -49564,7 +51125,6 @@
1742589952,1742590975,IN
1742590976,1742596095,VN
1742596096,1742597119,IN
-1742597120,1742598143,AU
1742598144,1742599167,SG
1742599168,1742599423,IN
1742599424,1742599679,AU
@@ -49591,7 +51151,6 @@
1742734336,1742735359,IN
1742735360,1742736383,JP
1742736384,1742737407,PK
-1742737408,1742738431,CN
1742738432,1742738687,HK
1742738688,1742738943,AU
1742738944,1742739455,AE
@@ -49674,12 +51233,10 @@
1742821376,1742822399,ID
1742822400,1742823423,BD
1742823424,1742823679,AU
-1742823680,1742823935,IN
1742823936,1742824191,ID
1742824192,1742826495,IN
1742826496,1742827519,HK
1742827520,1742828543,IN
-1742828544,1742829567,BS
1742829568,1742830591,JP
1742830592,1742833663,IN
1742833664,1742834687,PH
@@ -49780,7 +51337,6 @@
1742928896,1742929919,NZ
1742929920,1742930431,IN
1742930432,1742930943,PH
-1742930944,1742931967,GB
1742931968,1742932991,JP
1742932992,1742933503,SG
1742933504,1742933759,ID
@@ -49841,7 +51397,6 @@
1742994432,1742995455,ID
1742995456,1742996479,BD
1742996480,1742997503,TH
-1742997504,1742998527,US
1742998528,1742999551,CN
1742999552,1742999807,AU
1742999808,1743000063,ID
@@ -49917,7 +51472,7 @@
1743067136,1743068159,IN
1743068160,1743069183,HK
1743069184,1743070207,MY
-1743070208,1743071231,US
+1743070208,1743071231,IN
1743071232,1743072255,VN
1743072256,1743073279,BD
1743073280,1743073791,AU
@@ -50219,7 +51774,6 @@
1743365120,1743366143,HK
1743366144,1743367167,IN
1743367168,1743368191,SG
-1743368192,1743369215,TH
1743369216,1743369727,MY
1743369728,1743369983,NP
1743369984,1743370239,AF
@@ -50283,7 +51837,8 @@
1743432704,1743433727,CN
1743433728,1743434751,JP
1743434752,1743435775,CN
-1743435776,1743437823,IN
+1743435776,1743436799,IN
+1743437056,1743437567,IN
1743437824,1743438335,BD
1743438336,1743438591,AU
1743438592,1743438847,ID
@@ -50365,7 +51920,7 @@
1743554560,1743555583,HK
1743555584,1743557631,JP
1743557632,1743557887,SG
-1743557888,1743558143,US
+1743557888,1743558143,GB
1743558144,1743558655,ID
1743558656,1743560703,IN
1743560704,1743561215,ID
@@ -50629,9 +52184,7 @@
1743897600,1743899647,AU
1743899648,1743900671,ID
1743900672,1743901695,JP
-1743901696,1743901951,AU
-1743901952,1743902207,US
-1743902208,1743902463,AU
+1743901696,1743902463,AU
1743902464,1743902719,US
1743902720,1743903743,AU
1743903744,1743904767,CN
@@ -50644,7 +52197,6 @@
1743911936,1743912959,AU
1743912960,1743913983,HK
1743913984,1743915007,JP
-1743915008,1743916031,CN
1743916032,1743917055,KH
1743917056,1743918079,MY
1743918080,1743919103,BD
@@ -50757,7 +52309,8 @@
1744032768,1744033791,MY
1744033792,1744034815,VN
1744034816,1744035839,SG
-1744035840,1744039423,IN
+1744035840,1744036863,IN
+1744037888,1744039423,IN
1744039424,1744039679,PH
1744039680,1744039935,AU
1744039936,1744040959,JP
@@ -50778,7 +52331,6 @@
1744054272,1744055295,KR
1744055296,1744056319,JP
1744056320,1744056575,IN
-1744056576,1744056831,MY
1744056832,1744057087,NZ
1744057088,1744057343,ID
1744057344,1744058879,HK
@@ -50796,19 +52348,18 @@
1744077824,1744078847,PK
1744078848,1744079871,VN
1744079872,1744080895,BD
-1744080896,1744081919,AF
+1744080896,1744081151,DE
+1744081152,1744081919,AF
1744081920,1744082943,HK
1744082944,1744083967,IN
1744083968,1744084991,HK
1744084992,1744085503,ID
1744085504,1744085759,BD
-1744085760,1744086015,MY
1744086016,1744087039,CN
1744087040,1744088063,IN
1744088064,1744090111,PK
1744090112,1744091135,NZ
1744091136,1744092159,BD
-1744092160,1744092671,MY
1744092672,1744092927,IN
1744092928,1744093183,MY
1744093184,1744094207,PH
@@ -50838,7 +52389,6 @@
1744119808,1744120831,JP
1744120832,1744122879,IN
1744122880,1744123903,CN
-1744123904,1744124927,JP
1744124928,1744125951,CN
1744125952,1744127999,IN
1744128000,1744128511,ID
@@ -50864,7 +52414,6 @@
1744147200,1744147455,IN
1744147456,1744148479,VN
1744148480,1744149503,AU
-1744149504,1744150527,IN
1744150528,1744151551,TO
1744151552,1744152319,LA
1744152320,1744152575,TH
@@ -50979,7 +52528,6 @@
1744256000,1744257023,TH
1744257024,1744257535,AU
1744257536,1744257791,PK
-1744257792,1744258047,AU
1744258048,1744259071,JP
1744259072,1744260095,NZ
1744260096,1744261119,AU
@@ -51253,7 +52801,8 @@
1744543744,1744544767,CN
1744544768,1744545791,NL
1744545792,1744546047,NZ
-1744546048,1744547839,AU
+1744546048,1744546303,AU
+1744546560,1744547839,AU
1744547840,1744548863,AF
1744548864,1744549887,ID
1744549888,1744551935,IN
@@ -51287,7 +52836,7 @@
1744583680,1744584703,IN
1744584704,1744585727,CN
1744585728,1744586751,TW
-1744586752,1744588799,HK
+1744587776,1744588799,HK
1744588800,1744589823,PK
1744589824,1744590079,BT
1744590080,1744590335,ID
@@ -51385,7 +52934,6 @@
1744674816,1744675839,BD
1744675840,1744676351,SG
1744676352,1744678911,IN
-1744678912,1744679935,JP
1744679936,1744680959,KH
1744680960,1744681983,TW
1744681984,1744683007,JP
@@ -51569,13 +53117,7 @@
1747648512,1747681279,SG
1747681280,1747716671,US
1747716672,1747716683,NL
-1747716684,1747734535,US
-1747734536,1747734539,SE
-1747734540,1747734543,US
-1747734544,1747734547,SE
-1747734548,1747734551,US
-1747734552,1747734555,SE
-1747734556,1747735679,US
+1747716684,1747735679,US
1747735680,1747735743,SG
1747735744,1747736063,US
1747736064,1747736319,IE
@@ -51729,7 +53271,8 @@
1747911424,1747911679,US
1747911680,1747911935,NL
1747911936,1747912191,FI
-1747912192,1747912703,US
+1747912192,1747912447,AT
+1747912448,1747912703,US
1747912704,1747912959,NL
1747912960,1747913215,AT
1747913216,1747913471,IE
@@ -51840,7 +53383,9 @@
1749865728,1749865983,US
1749865984,1749866495,NL
1749866496,1749867263,US
-1749867264,1749868287,NL
+1749867264,1749867519,NL
+1749867520,1749867775,US
+1749867776,1749868287,NL
1749868288,1749901311,US
1749901312,1749901567,NL
1749901568,1749925887,US
@@ -51904,8 +53449,8 @@
1750503424,1750515199,US
1750515200,1750515711,NL
1750515712,1750523903,US
-1750523904,1750534655,NL
-1750534656,1750536191,US
+1750523904,1750533119,NL
+1750533120,1750536191,US
1750536192,1750544383,NL
1750544384,1750573055,US
1750573056,1750581247,NL
@@ -52007,8 +53552,10 @@
1751947264,1751949311,US
1751949312,1751957503,NL
1751957504,1751987711,US
-1751987712,1752007167,NL
-1752007168,1752037887,US
+1751987712,1751989247,NL
+1751989248,1751990271,US
+1751990272,1752006655,NL
+1752006656,1752037887,US
1752037888,1752038143,NL
1752038144,1752087807,US
1752087808,1752088063,NL
@@ -52021,7 +53568,9 @@
1752300288,1752300543,AE
1752300544,1752330239,US
1752330240,1752338431,NL
-1752338432,1752458239,US
+1752338432,1752344831,US
+1752344832,1752345087,NL
+1752345088,1752458239,US
1752458240,1752458495,NL
1752458496,1752495103,US
1752495104,1752495359,NL
@@ -52106,13 +53655,12 @@
1753253120,1753253375,LK
1753253376,1753253631,ID
1753253632,1753253887,LB
-1753253888,1753254143,OM
+1753253888,1753254143,US
1753254144,1753254399,MT
1753254400,1753254655,MK
1753254656,1753254911,MY
1753254912,1753255167,AL
-1753255168,1753255423,US
-1753255424,1753255679,DZ
+1753255168,1753255679,US
1753255680,1753255935,KZ
1753255936,1753260031,CA
1753260032,1753280511,US
@@ -52164,7 +53712,9 @@
1753500160,1753500415,SK
1753500416,1753500991,US
1753500992,1753501039,CA
-1753501040,1753507391,US
+1753501040,1753502975,US
+1753502976,1753503231,AU
+1753503232,1753507391,US
1753507392,1753507439,KR
1753507440,1753512703,US
1753512704,1753512959,SG
@@ -52195,7 +53745,9 @@
1753539584,1753539839,CH
1753539840,1753541631,US
1753541632,1753541887,DE
-1753541888,1753735167,US
+1753541888,1753549823,US
+1753549824,1753550079,IE
+1753550080,1753735167,US
1753735168,1753743359,IE
1753743360,1754136575,US
1754136576,1754169343,CA
@@ -52271,69 +53823,56 @@
1754268160,1754269055,CA
1754269056,1754269087,US
1754269088,1754269103,CA
-1754269104,1754269119,US
-1754269120,1754269151,CA
-1754269152,1754269183,US
+1754269104,1754269183,US
1754269184,1754269247,CA
-1754269248,1754269311,US
-1754269312,1754269327,CA
-1754269328,1754269343,US
-1754269344,1754269359,CA
-1754269360,1754269423,US
-1754269424,1754269567,CA
+1754269248,1754269423,US
+1754269424,1754269455,CA
+1754269456,1754269471,US
+1754269472,1754269503,CA
+1754269504,1754269567,CN
1754269568,1754269599,US
1754269600,1754269615,CA
-1754269616,1754269631,US
-1754269632,1754269647,CA
-1754269648,1754269663,US
-1754269664,1754271135,CA
+1754269616,1754269695,US
+1754269696,1754271039,CA
+1754271040,1754271103,CN
+1754271104,1754271135,CA
1754271136,1754271167,US
1754271168,1754271231,CA
1754271232,1754271743,US
1754271744,1754271999,CA
-1754272000,1754272127,US
-1754272128,1754272143,CA
-1754272144,1754272159,US
+1754272000,1754272159,US
1754272160,1754272191,CA
1754272192,1754272207,US
1754272208,1754272223,CA
1754272224,1754272255,US
1754272256,1754272383,CA
-1754272384,1754272415,US
-1754272416,1754272431,CA
-1754272432,1754272479,US
+1754272384,1754272479,US
1754272480,1754272495,CA
1754272496,1754272511,US
-1754272512,1754272655,CA
-1754272656,1754272671,US
+1754272512,1754272639,CA
+1754272640,1754272671,US
1754272672,1754272703,CA
1754272704,1754272719,US
1754272720,1754272735,CA
-1754272736,1754272895,US
-1754272896,1754272927,CA
-1754272928,1754272975,US
+1754272736,1754272975,US
1754272976,1754272991,CA
1754272992,1754273023,US
1754273024,1754273151,CA
1754273152,1754273183,US
1754273184,1754273199,CA
-1754273200,1754273247,US
-1754273248,1754273263,CA
-1754273264,1754273279,US
+1754273200,1754273279,US
1754273280,1754273407,CA
1754273408,1754273439,US
1754273440,1754273455,CA
-1754273456,1754273487,US
-1754273488,1754273839,CA
-1754273840,1754273871,US
+1754273456,1754273535,US
+1754273536,1754273791,CA
+1754273792,1754273871,US
1754273872,1754273887,CA
1754273888,1754274175,US
1754274176,1754274559,CA
1754274560,1754274815,US
-1754274816,1754274959,CA
-1754274960,1754274991,US
-1754274992,1754275007,CA
-1754275008,1754275023,US
+1754274816,1754274943,CA
+1754274944,1754275023,US
1754275024,1754275039,CA
1754275040,1754275199,US
1754275200,1754276127,CA
@@ -52342,20 +53881,24 @@
1754276224,1754276287,US
1754276288,1754276863,CA
1754276864,1754277119,US
-1754277120,1754281223,CA
+1754277120,1754279327,CA
+1754279328,1754279359,US
+1754279360,1754279679,CA
+1754279680,1754279935,US
+1754279936,1754281223,CA
1754281224,1754281231,NO
1754281232,1754281279,CA
1754281280,1754281343,US
1754281344,1754281407,CA
-1754281408,1754281455,US
-1754281456,1754281535,CA
+1754281408,1754281471,US
+1754281472,1754281535,CA
1754281536,1754281663,US
1754281664,1754281727,CA
1754281728,1754281983,US
1754281984,1754282495,CA
1754282496,1754282751,US
-1754282752,1754282895,CA
-1754282896,1754282927,US
+1754282752,1754282879,CA
+1754282880,1754282927,US
1754282928,1754282943,CA
1754282944,1754282959,US
1754282960,1754282967,CA
@@ -52369,55 +53912,39 @@
1754284704,1754284735,US
1754284736,1754285151,CA
1754285152,1754285167,US
-1754285168,1754285951,CA
+1754285168,1754285311,CA
+1754285312,1754285567,CN
+1754285568,1754285951,CA
1754285952,1754286015,US
1754286016,1754286591,CA
1754286592,1754286847,US
-1754286848,1754288143,CA
-1754288144,1754288159,US
+1754286848,1754288127,CA
+1754288128,1754288159,US
1754288160,1754288191,CA
1754288192,1754288207,US
1754288208,1754288223,CA
-1754288224,1754288239,US
-1754288240,1754288255,CA
-1754288256,1754288383,US
+1754288224,1754288383,US
1754288384,1754288447,CA
1754288448,1754288575,US
-1754288576,1754288911,CA
-1754288912,1754288927,US
-1754288928,1754288943,CA
-1754288944,1754288991,US
-1754288992,1754289007,CA
-1754289008,1754289055,US
+1754288576,1754288895,CA
+1754288896,1754289055,US
1754289056,1754289071,CA
1754289072,1754289087,US
1754289088,1754289471,CA
1754289472,1754289487,US
1754289488,1754289495,CA
1754289496,1754289503,NO
-1754289504,1754289519,US
-1754289520,1754289535,CA
-1754289536,1754289663,US
+1754289504,1754289663,US
1754289664,1754290431,CA
-1754290432,1754290447,US
-1754290448,1754290479,CA
-1754290480,1754290511,US
-1754290512,1754290527,CA
-1754290528,1754290543,US
-1754290544,1754290559,CA
-1754290560,1754290591,US
+1754290432,1754290591,US
1754290592,1754290607,CA
1754290608,1754290623,US
1754290624,1754290943,CA
-1754290944,1754290975,US
-1754290976,1754290991,CA
-1754290992,1754291023,US
+1754290944,1754291023,US
1754291024,1754291039,CA
-1754291040,1754291103,US
-1754291104,1754291119,CA
-1754291120,1754291135,US
-1754291136,1754291471,CA
-1754291472,1754291503,US
+1754291040,1754291135,US
+1754291136,1754291455,CA
+1754291456,1754291503,US
1754291504,1754291519,CA
1754291520,1754291535,US
1754291536,1754291551,CA
@@ -52431,21 +53958,15 @@
1754292672,1754293343,CA
1754293344,1754293439,US
1754293440,1754294015,CA
-1754294016,1754294063,US
-1754294064,1754294079,CA
-1754294080,1754294095,US
+1754294016,1754294095,US
1754294096,1754294111,CA
-1754294112,1754294127,US
-1754294128,1754294143,CA
-1754294144,1754294271,US
-1754294272,1754294527,CA
-1754294528,1754294655,US
+1754294112,1754294655,US
1754294656,1754294943,CA
1754294944,1754294959,US
1754294960,1754294967,CA
1754294968,1754294975,US
-1754294976,1754295951,CA
-1754295952,1754295983,US
+1754294976,1754295935,CA
+1754295936,1754295983,US
1754295984,1754295999,CA
1754296000,1754296015,US
1754296016,1754296031,CA
@@ -52453,41 +53974,33 @@
1754296064,1754296383,CA
1754296384,1754296407,US
1754296408,1754296415,CA
-1754296416,1754296527,US
-1754296528,1754296543,CA
-1754296544,1754296575,US
+1754296416,1754296575,US
1754296576,1754297471,CA
1754297472,1754297487,US
1754297488,1754297503,CA
-1754297504,1754297535,US
-1754297536,1754297551,CA
-1754297552,1754297583,US
+1754297504,1754297583,US
1754297584,1754298623,CA
1754298624,1754299135,US
1754299136,1754299647,CA
-1754299648,1754299695,US
-1754299696,1754299775,CA
+1754299648,1754299711,US
+1754299712,1754299775,CA
1754299776,1754299791,US
1754299792,1754299839,CA
1754299840,1754299903,US
1754299904,1754300543,CA
1754300544,1754300575,US
1754300576,1754300591,CA
-1754300592,1754300639,US
-1754300640,1754300671,CA
+1754300592,1754300655,US
+1754300656,1754300671,CA
1754300672,1754300751,US
1754300752,1754300767,CA
-1754300768,1754300783,US
-1754300784,1754300799,CA
-1754300800,1754300879,US
-1754300880,1754300895,CA
-1754300896,1754300927,US
+1754300768,1754300927,US
1754300928,1754303231,CA
1754303232,1754303247,US
-1754303248,1754303359,CA
-1754303360,1754303375,US
-1754303376,1754303391,CA
-1754303392,1754303487,US
+1754303248,1754303263,CA
+1754303264,1754303295,US
+1754303296,1754303359,CA
+1754303360,1754303487,US
1754303488,1754303551,CA
1754303552,1754303567,US
1754303568,1754303575,CA
@@ -52497,20 +54010,16 @@
1754304552,1754304767,CA
1754304768,1754304783,US
1754304784,1754304799,CA
-1754304800,1754304895,US
-1754304896,1754304911,CA
-1754304912,1754304943,US
-1754304944,1754304959,CA
-1754304960,1754304991,US
+1754304800,1754304991,US
1754304992,1754305663,CA
-1754305664,1754305695,US
-1754305696,1754305711,CA
-1754305712,1754305743,US
-1754305744,1754305767,CA
+1754305664,1754305759,US
+1754305760,1754305767,CA
1754305768,1754305791,US
1754305792,1754306047,CA
1754306048,1754306559,US
-1754306560,1754306975,CA
+1754306560,1754306943,CA
+1754306944,1754306959,US
+1754306960,1754306975,CA
1754306976,1754307031,US
1754307032,1754307039,CA
1754307040,1754307071,US
@@ -52519,329 +54028,240 @@
1754307392,1754307423,CA
1754307424,1754307439,US
1754307440,1754307455,CA
-1754307456,1754307487,US
-1754307488,1754307503,CA
-1754307504,1754307583,US
-1754307584,1754307895,CA
+1754307456,1754307583,US
+1754307584,1754307855,CA
+1754307856,1754307871,US
+1754307872,1754307895,CA
1754307896,1754307903,SE
-1754307904,1754308015,US
-1754308016,1754308103,CA
+1754307904,1754308031,US
+1754308032,1754308103,CA
1754308104,1754308111,US
1754308112,1754308127,CA
-1754308128,1754308143,US
-1754308144,1754308159,CA
-1754308160,1754308191,US
-1754308192,1754308239,CA
-1754308240,1754308255,US
-1754308256,1754308271,CA
-1754308272,1754308303,US
+1754308128,1754308191,US
+1754308192,1754308223,CA
+1754308224,1754308303,US
1754308304,1754308311,CA
1754308312,1754308319,US
1754308320,1754308351,CA
1754308352,1754308367,US
1754308368,1754308383,CA
-1754308384,1754308415,US
-1754308416,1754308431,CA
-1754308432,1754308447,US
+1754308384,1754308447,US
1754308448,1754308455,CA
-1754308456,1754308463,US
-1754308464,1754308479,CA
-1754308480,1754308543,US
-1754308544,1754308559,CA
-1754308560,1754308575,US
+1754308456,1754308575,US
1754308576,1754308863,CA
-1754308864,1754308879,US
-1754308880,1754308895,CA
-1754308896,1754308943,US
+1754308864,1754308943,US
1754308944,1754308951,CA
1754308952,1754308959,SE
-1754308960,1754308975,CA
-1754308976,1754308991,US
-1754308992,1754309023,CA
-1754309024,1754309055,US
+1754308960,1754308991,US
+1754308992,1754309007,CA
+1754309008,1754309055,US
1754309056,1754309439,CA
1754309440,1754309471,US
1754309472,1754309479,CA
-1754309480,1754309487,US
-1754309488,1754309503,CA
-1754309504,1754309583,US
-1754309584,1754309615,CA
-1754309616,1754309631,US
+1754309480,1754309631,US
1754309632,1754309887,CA
-1754309888,1754309903,US
-1754309904,1754309935,CA
+1754309888,1754309919,US
+1754309920,1754309935,CA
1754309936,1754309951,US
1754309952,1754309983,CA
-1754309984,1754309999,US
-1754310000,1754310079,CA
-1754310080,1754310111,US
-1754310112,1754310127,CA
-1754310128,1754310143,US
-1754310144,1754310415,CA
-1754310416,1754310431,US
-1754310432,1754310463,CA
-1754310464,1754310479,US
+1754309984,1754310015,US
+1754310016,1754310079,CA
+1754310080,1754310143,US
+1754310144,1754310399,CA
+1754310400,1754310479,US
1754310480,1754310495,CA
1754310496,1754310527,US
1754310528,1754310911,CA
1754310912,1754310943,US
1754310944,1754310975,CA
-1754310976,1754310991,US
-1754310992,1754311055,CA
-1754311056,1754311119,US
-1754311120,1754311151,CA
-1754311152,1754311167,US
+1754310976,1754311007,US
+1754311008,1754311055,CA
+1754311056,1754311167,US
1754311168,1754311423,CA
-1754311424,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
+1754311424,1754311519,US
+1754311520,1754311567,CA
+1754311568,1754311583,US
+1754311584,1754311615,CA
+1754311616,1754311759,US
+1754311760,1754311775,CA
+1754311776,1754311967,US
1754311968,1754311975,CA
-1754311976,1754311983,US
-1754311984,1754311999,CA
-1754312000,1754312191,US
+1754311976,1754312191,US
1754312192,1754312447,CA
1754312448,1754312463,US
-1754312464,1754312495,CA
-1754312496,1754312575,US
+1754312464,1754312479,CA
+1754312480,1754312575,US
1754312576,1754312639,CA
-1754312640,1754312655,US
-1754312656,1754312671,CA
-1754312672,1754312703,US
+1754312640,1754312703,US
1754312704,1754312719,CA
1754312720,1754312735,US
1754312736,1754312767,CA
1754312768,1754312783,US
-1754312784,1754312815,CA
-1754312816,1754312831,US
-1754312832,1754312847,CA
-1754312848,1754312863,US
-1754312864,1754312879,CA
-1754312880,1754312959,US
+1754312784,1754312799,CA
+1754312800,1754312959,US
1754312960,1754313023,CA
-1754313024,1754313055,US
-1754313056,1754313071,CA
-1754313072,1754313119,US
-1754313120,1754313135,CA
-1754313136,1754313151,US
+1754313024,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
+1754313248,1754313391,US
+1754313392,1754313455,CA
+1754313456,1754313471,US
+1754313472,1754313487,CA
+1754313488,1754313503,US
+1754313504,1754313535,CA
+1754313536,1754313615,US
1754313616,1754313663,CA
-1754313664,1754313679,US
-1754313680,1754313791,CA
-1754313792,1754313807,US
-1754313808,1754313823,CA
-1754313824,1754313839,US
+1754313664,1754313695,US
+1754313696,1754313791,CA
+1754313792,1754313839,US
1754313840,1754313847,CA
-1754313848,1754313903,US
-1754313904,1754314031,CA
-1754314032,1754314079,US
-1754314080,1754314127,CA
-1754314128,1754314143,US
+1754313848,1754313951,US
+1754313952,1754314015,CA
+1754314016,1754314079,US
+1754314080,1754314111,CA
+1754314112,1754314143,US
1754314144,1754314175,CA
-1754314176,1754314191,US
-1754314192,1754314207,CA
-1754314208,1754314239,US
+1754314176,1754314239,US
1754314240,1754314255,CA
-1754314256,1754314415,US
-1754314416,1754314431,CA
-1754314432,1754314463,US
-1754314464,1754314511,CA
-1754314512,1754314527,US
+1754314256,1754314463,US
+1754314464,1754314495,CA
+1754314496,1754314527,US
1754314528,1754314559,CA
1754314560,1754314575,US
-1754314576,1754314623,CA
-1754314624,1754314719,US
+1754314576,1754314591,CA
+1754314592,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
+1754314736,1754314783,US
+1754314784,1754314815,CA
+1754314816,1754314991,US
+1754314992,1754315007,CA
+1754315008,1754315039,US
+1754315040,1754315071,CA
+1754315072,1754315135,US
1754315136,1754315199,CA
1754315200,1754315215,US
1754315216,1754315223,CA
-1754315224,1754315263,US
-1754315264,1754315311,CA
+1754315224,1754315295,US
+1754315296,1754315311,CA
1754315312,1754315343,US
-1754315344,1754315407,CA
-1754315408,1754315423,US
+1754315344,1754315391,CA
+1754315392,1754315423,US
1754315424,1754315471,CA
-1754315472,1754315519,US
-1754315520,1754315535,CA
-1754315536,1754315551,US
+1754315472,1754315551,US
1754315552,1754315559,CA
1754315560,1754315615,US
1754315616,1754315623,CA
-1754315624,1754315631,US
-1754315632,1754315647,CA
-1754315648,1754316287,US
-1754316288,1754317839,CA
-1754317840,1754317903,US
+1754315624,1754316287,US
+1754316288,1754317823,CA
+1754317824,1754317903,US
1754317904,1754317919,CA
1754317920,1754317935,US
1754317936,1754317943,CA
1754317944,1754318111,US
1754318112,1754318119,CA
-1754318120,1754318143,US
-1754318144,1754318159,CA
-1754318160,1754318175,US
+1754318120,1754318175,US
1754318176,1754318207,CA
1754318208,1754318335,US
1754318336,1754319103,CA
1754319104,1754319119,US
1754319120,1754319135,CA
-1754319136,1754319167,US
-1754319168,1754319207,CA
+1754319136,1754319199,US
+1754319200,1754319207,CA
1754319208,1754319215,US
-1754319216,1754319247,CA
-1754319248,1754319263,US
+1754319216,1754319231,CA
+1754319232,1754319263,US
1754319264,1754319295,CA
-1754319296,1754319311,US
-1754319312,1754319327,CA
-1754319328,1754319391,US
+1754319296,1754319391,US
1754319392,1754319479,CA
-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
+1754319480,1754319519,US
+1754319520,1754319551,CA
+1754319552,1754319647,US
+1754319648,1754319663,CA
+1754319664,1754319743,US
+1754319744,1754319935,CA
+1754319936,1754319999,US
1754320000,1754320063,CA
-1754320064,1754320095,US
-1754320096,1754320111,CA
-1754320112,1754320127,US
+1754320064,1754320127,US
1754320128,1754320167,CA
1754320168,1754320223,US
1754320224,1754320231,CA
-1754320232,1754320255,US
-1754320256,1754320319,CA
+1754320232,1754320287,US
+1754320288,1754320319,CA
1754320320,1754320415,US
1754320416,1754320447,CA
-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
+1754320448,1754320575,US
+1754320576,1754320623,CA
+1754320624,1754320671,US
+1754320672,1754320687,CA
+1754320688,1754320719,US
1754320720,1754320767,CA
-1754320768,1754320799,US
-1754320800,1754320815,CA
-1754320816,1754320927,US
+1754320768,1754320927,US
1754320928,1754320951,CA
-1754320952,1754320975,US
-1754320976,1754321023,CA
-1754321024,1754321055,US
+1754320952,1754321055,US
1754321056,1754321103,CA
1754321104,1754321119,US
1754321120,1754321151,CA
1754321152,1754321167,US
-1754321168,1754321199,CA
-1754321200,1754321231,US
+1754321168,1754321183,CA
+1754321184,1754321231,US
1754321232,1754321239,CA
1754321240,1754321439,US
1754321440,1754321447,CA
1754321448,1754321487,US
1754321488,1754321511,CA
-1754321512,1754321519,US
-1754321520,1754321535,CA
-1754321536,1754321551,US
-1754321552,1754321567,CA
-1754321568,1754321615,US
-1754321616,1754322695,CA
+1754321512,1754321615,US
+1754321616,1754321631,CA
+1754321632,1754321663,US
+1754321664,1754322695,CA
1754322696,1754322703,US
1754322704,1754322719,CA
-1754322720,1754322767,US
-1754322768,1754322783,CA
-1754322784,1754322847,US
-1754322848,1754322863,CA
-1754322864,1754322879,US
+1754322720,1754322879,US
1754322880,1754323207,CA
-1754323208,1754323215,US
-1754323216,1754323231,CA
-1754323232,1754323247,US
-1754323248,1754323263,CA
-1754323264,1754323279,US
+1754323208,1754323279,US
1754323280,1754323287,CA
-1754323288,1754323327,US
-1754323328,1754323391,CA
+1754323288,1754323359,US
+1754323360,1754323391,CA
1754323392,1754323455,US
1754323456,1754324095,CA
1754324096,1754324735,US
1754324736,1754324999,CA
1754325000,1754325007,US
-1754325008,1754325039,CA
-1754325040,1754325071,US
+1754325008,1754325023,CA
+1754325024,1754325071,US
1754325072,1754325079,CA
-1754325080,1754325087,US
-1754325088,1754325103,CA
-1754325104,1754325247,US
-1754325248,1754325279,CA
-1754325280,1754325343,US
-1754325344,1754325391,CA
-1754325392,1754325407,US
+1754325080,1754325247,US
+1754325248,1754325263,CA
+1754325264,1754325343,US
+1754325344,1754325375,CA
+1754325376,1754325407,US
1754325408,1754325439,CA
-1754325440,1754325487,US
-1754325488,1754325599,CA
-1754325600,1754325631,US
+1754325440,1754325503,US
+1754325504,1754325567,CA
+1754325568,1754325631,US
1754325632,1754325695,CA
1754325696,1754325759,US
1754325760,1754325767,CA
-1754325768,1754325775,US
-1754325776,1754325839,CA
-1754325840,1754325855,US
+1754325768,1754325791,US
+1754325792,1754325823,CA
+1754325824,1754325855,US
1754325856,1754325887,CA
1754325888,1754325919,US
1754325920,1754325927,CA
-1754325928,1754325935,US
-1754325936,1754326079,CA
-1754326080,1754326127,US
-1754326128,1754326207,CA
-1754326208,1754326239,US
-1754326240,1754326255,CA
-1754326256,1754326271,US
+1754325928,1754325951,US
+1754325952,1754326031,CA
+1754326032,1754326047,US
+1754326048,1754326079,CA
+1754326080,1754326143,US
+1754326144,1754326207,CA
+1754326208,1754326271,US
1754326272,1754326335,CA
-1754326336,1754326399,US
-1754326400,1754326415,CA
-1754326416,1754326431,US
+1754326336,1754326431,US
1754326432,1754326463,CA
-1754326464,1754326495,US
-1754326496,1754326511,CA
-1754326512,1754326527,US
+1754326464,1754326527,US
1754326528,1754326535,CA
-1754326536,1754326543,US
-1754326544,1754326591,CA
-1754326592,1754326655,US
-1754326656,1754326719,CA
+1754326536,1754326559,US
+1754326560,1754326591,CA
+1754326592,1754326687,US
+1754326688,1754326719,CA
1754326720,1754326751,US
1754326752,1754326759,CA
1754326760,1754326783,US
@@ -52852,39 +54272,33 @@
1754327040,1754327103,CA
1754327104,1754327231,US
1754327232,1754327551,CA
-1754327552,1754328063,US
-1754328064,1754328079,CA
-1754328080,1754328111,US
-1754328112,1754328127,CA
-1754328128,1754328143,US
+1754327552,1754328143,US
1754328144,1754328151,CA
1754328152,1754328319,US
1754328320,1754328575,CA
1754328576,1754329087,US
-1754329088,1754329151,CA
+1754329088,1754329103,CA
+1754329104,1754329119,US
+1754329120,1754329151,CA
1754329152,1754329183,US
1754329184,1754329215,CA
1754329216,1754329247,US
1754329248,1754329279,CA
-1754329280,1754329311,US
-1754329312,1754329335,CA
+1754329280,1754329327,US
+1754329328,1754329335,CA
1754329336,1754329343,US
-1754329344,1754329407,CA
-1754329408,1754329455,US
-1754329456,1754329471,CA
-1754329472,1754329599,US
+1754329344,1754329359,CA
+1754329360,1754329375,US
+1754329376,1754329407,CA
+1754329408,1754329599,US
1754329600,1754329607,CA
1754329608,1754329631,US
1754329632,1754329663,CA
1754329664,1754329679,US
1754329680,1754329695,CA
-1754329696,1754329711,US
-1754329712,1754329743,CA
-1754329744,1754329759,US
+1754329696,1754329759,US
1754329760,1754329791,CA
-1754329792,1754329839,US
-1754329840,1754329871,CA
-1754329872,1754329887,US
+1754329792,1754329887,US
1754329888,1754329919,CA
1754329920,1754329935,US
1754329936,1754329951,CA
@@ -52895,26 +54309,22 @@
1754331264,1754331295,US
1754331296,1754331303,CA
1754331304,1754331375,US
-1754331376,1754331407,CA
-1754331408,1754331423,US
+1754331376,1754331391,CA
+1754331392,1754331423,US
1754331424,1754331455,CA
1754331456,1754331487,US
1754331488,1754331495,CA
1754331496,1754331647,US
-1754331648,1754331791,CA
-1754331792,1754331823,US
+1754331648,1754331775,CA
+1754331776,1754331823,US
1754331824,1754331839,CA
1754331840,1754331855,US
1754331856,1754331871,CA
1754331872,1754332191,US
1754332192,1754332199,CA
-1754332200,1754332223,US
-1754332224,1754332239,CA
-1754332240,1754332271,US
+1754332200,1754332271,US
1754332272,1754332287,CA
-1754332288,1754332671,US
-1754332672,1754332687,CA
-1754332688,1754332703,US
+1754332288,1754332703,US
1754332704,1754332735,CA
1754332736,1754332751,US
1754332752,1754332767,CA
@@ -53619,9 +55029,7 @@
1759711704,1759711711,CA
1759711712,1759711727,US
1759711728,1759711743,CA
-1759711744,1759712255,US
-1759712256,1759712271,CA
-1759712272,1759712287,US
+1759711744,1759712287,US
1759712288,1759712319,CA
1759712320,1759712335,US
1759712336,1759712351,CA
@@ -53635,8 +55043,8 @@
1759715072,1759715327,CA
1759715328,1759715375,US
1759715376,1759715391,CA
-1759715392,1759715407,US
-1759715408,1759715439,CA
+1759715392,1759715423,US
+1759715424,1759715439,CA
1759715440,1759715839,US
1759715840,1759715903,CA
1759715904,1759715967,US
@@ -53647,9 +55055,7 @@
1759716288,1759716991,CA
1759716992,1759717023,US
1759717024,1759717039,CA
-1759717040,1759717055,US
-1759717056,1759717071,CA
-1759717072,1759717119,US
+1759717040,1759717119,US
1759717120,1759718399,CA
1759718400,1759718655,US
1759718656,1759719519,CA
@@ -53657,43 +55063,29 @@
1759719616,1759719807,CA
1759719808,1759719839,US
1759719840,1759719855,CA
-1759719856,1759719919,US
-1759719920,1759719935,CA
-1759719936,1759719967,US
+1759719856,1759719967,US
1759719968,1759719999,CA
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
+1759720016,1759720031,CA
+1759720032,1759720047,US
+1759720048,1759720063,CA
+1759720064,1759720191,US
+1759720192,1759720207,CA
+1759720208,1759720271,US
1759720272,1759720287,CA
1759720288,1759720319,US
1759720320,1759720383,CA
-1759720384,1759720415,US
-1759720416,1759720431,CA
-1759720432,1759720543,US
-1759720544,1759720575,CA
-1759720576,1759720703,US
+1759720384,1759720703,US
1759720704,1759720767,CA
1759720768,1759720783,US
1759720784,1759720791,CA
-1759720792,1759720815,US
-1759720816,1759720831,CA
-1759720832,1759721183,US
-1759721184,1759721215,CA
-1759721216,1759721375,US
+1759720792,1759721375,US
1759721376,1759721391,CA
1759721392,1759721423,US
1759721424,1759721439,CA
-1759721440,1759721471,US
-1759721472,1759721535,CA
-1759721536,1759721647,US
-1759721648,1759721663,CA
-1759721664,1759721695,US
+1759721440,1759721503,US
+1759721504,1759721535,CA
+1759721536,1759721695,US
1759721696,1759721727,CA
1759721728,1759721743,US
1759721744,1759721759,CA
@@ -53702,19 +55094,15 @@
1759721832,1759721839,NO
1759721840,1759722047,US
1759722048,1759722079,CA
-1759722080,1759722271,US
-1759722272,1759722367,CA
+1759722080,1759722303,US
+1759722304,1759722367,CA
1759722368,1759722383,US
1759722384,1759722431,CA
-1759722432,1759722479,US
-1759722480,1759722495,CA
-1759722496,1759722511,US
+1759722432,1759722511,US
1759722512,1759722527,CA
1759722528,1759722559,US
-1759722560,1759722607,CA
-1759722608,1759722655,US
-1759722656,1759722687,CA
-1759722688,1759722895,US
+1759722560,1759722591,CA
+1759722592,1759722895,US
1759722896,1759722911,CA
1759722912,1759722975,US
1759722976,1759722991,CA
@@ -53723,32 +55111,30 @@
1759723072,1759723151,US
1759723152,1759723167,CA
1759723168,1759723199,US
-1759723200,1759723231,CA
-1759723232,1759723247,US
-1759723248,1759723279,CA
-1759723280,1759723343,US
+1759723200,1759723215,CA
+1759723216,1759723247,US
+1759723248,1759723263,CA
+1759723264,1759723343,US
1759723344,1759723359,CA
1759723360,1759723551,US
1759723552,1759723583,CA
1759723584,1759723599,US
1759723600,1759723615,CA
-1759723616,1759723631,US
-1759723632,1759723647,CA
-1759723648,1759723823,US
+1759723616,1759723823,US
1759723824,1759723831,CA
1759723832,1759723839,US
1759723840,1759723887,CA
1759723888,1759723999,US
1759724000,1759724159,CA
-1759724160,1759724223,US
-1759724224,1759724239,CA
-1759724240,1759724255,US
-1759724256,1759725055,CA
-1759725056,1759726079,US
+1759724160,1759724287,US
+1759724288,1759725183,CA
+1759725184,1759725247,US
+1759725248,1759725311,CA
+1759725312,1759725567,US
+1759725568,1759725823,CA
+1759725824,1759726079,US
1759726080,1759726975,CA
-1759726976,1759727007,US
-1759727008,1759727023,CA
-1759727024,1759727087,US
+1759726976,1759727087,US
1759727088,1759727095,CA
1759727096,1759727103,US
1759727104,1759727359,CA
@@ -53772,19 +55158,19 @@
1759729744,1759729751,CA
1759729752,1759729967,US
1759729968,1759730015,CA
-1759730016,1759730175,US
-1759730176,1759730191,CA
-1759730192,1759730207,US
+1759730016,1759730207,US
1759730208,1759730239,CA
1759730240,1759730303,US
-1759730304,1759730367,CA
+1759730304,1759730319,CA
+1759730320,1759730335,US
+1759730336,1759730367,CA
1759730368,1759730399,US
1759730400,1759730415,CA
1759730416,1759730463,US
1759730464,1759730495,CA
1759730496,1759730519,US
-1759730520,1759730543,CA
-1759730544,1759730559,US
+1759730520,1759730527,CA
+1759730528,1759730559,US
1759730560,1759730623,CA
1759730624,1759730839,US
1759730840,1759730847,CA
@@ -53802,16 +55188,12 @@
1759734280,1759734303,CA
1759734304,1759734351,US
1759734352,1759734367,CA
-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
+1759734368,1759734623,US
+1759734624,1759734639,CA
+1759734640,1759734783,US
+1759734784,1759735935,CA
+1759735936,1759735951,US
+1759735952,1759735967,CA
1759735968,1759736015,US
1759736016,1759736031,CA
1759736032,1759736063,US
@@ -53820,16 +55202,16 @@
1759736448,1759736575,CA
1759736576,1759737007,US
1759737008,1759737015,CA
-1759737016,1759737071,US
-1759737072,1759737087,CA
-1759737088,1759737343,US
+1759737016,1759737343,US
1759737344,1759737407,CA
1759737408,1759737423,US
1759737424,1759737431,CA
1759737432,1759737535,US
-1759737536,1759738879,CA
-1759738880,1759739023,US
-1759739024,1759739055,CA
+1759737536,1759737855,CA
+1759737856,1759738111,CN
+1759738112,1759738879,CA
+1759738880,1759739039,US
+1759739040,1759739055,CA
1759739056,1759739103,US
1759739104,1759739455,CA
1759739456,1759739519,US
@@ -53847,7 +55229,8 @@
1759744000,1759744255,US
1759744256,1759746047,CA
1759746048,1759746303,US
-1759746304,1759747135,CA
+1759746304,1759746559,CN
+1759746560,1759747135,CA
1759747136,1759747151,US
1759747152,1759747159,CA
1759747160,1759747263,US
@@ -53872,12 +55255,19 @@
1759748432,1759748439,CA
1759748440,1759748479,US
1759748480,1759748607,CA
-1759748608,1759748647,US
+1759748608,1759748639,US
+1759748640,1759748647,CA
1759748648,1759748655,SE
-1759748656,1759748863,US
+1759748656,1759748671,US
+1759748672,1759748687,CA
+1759748688,1759748719,US
+1759748720,1759748735,CA
+1759748736,1759748863,US
1759748864,1759749119,CA
1759749120,1759749631,US
-1759749632,1759749903,CA
+1759749632,1759749759,CA
+1759749760,1759749887,CN
+1759749888,1759749903,CA
1759749904,1759749919,US
1759749920,1759749935,CA
1759749936,1759749975,US
@@ -53896,7 +55286,13 @@
1759750464,1759750479,CA
1759750480,1759750495,US
1759750496,1759750511,CA
-1759750512,1759751167,US
+1759750512,1759750655,US
+1759750656,1759750719,CA
+1759750720,1759750799,US
+1759750800,1759750807,CA
+1759750808,1759750847,US
+1759750848,1759750911,CA
+1759750912,1759751167,US
1759751168,1759751823,CA
1759751824,1759751839,US
1759751840,1759752191,CA
@@ -53906,32 +55302,27 @@
1759752640,1759753023,CA
1759753024,1759753047,US
1759753048,1759753055,CA
-1759753056,1759753087,US
-1759753088,1759753103,CA
-1759753104,1759753135,US
+1759753056,1759753135,US
1759753136,1759753151,CA
1759753152,1759753215,US
1759753216,1759754239,CA
1759754240,1759754495,US
-1759754496,1759754639,CA
-1759754640,1759754719,US
+1759754496,1759754623,CN
+1759754624,1759754719,US
1759754720,1759754735,CA
1759754736,1759754751,US
1759754752,1759754879,CA
1759754880,1759755007,US
-1759755008,1759755151,CA
-1759755152,1759755167,US
-1759755168,1759755199,CA
-1759755200,1759755263,US
-1759755264,1759755663,CA
-1759755664,1759755775,US
-1759755776,1759755903,CA
+1759755008,1759755135,CA
+1759755136,1759755263,US
+1759755264,1759755519,CA
+1759755520,1759755647,CN
+1759755648,1759755775,US
+1759755776,1759755903,CN
1759755904,1759755935,US
1759755936,1759755943,CA
-1759755944,1759755967,US
-1759755968,1759755983,CA
-1759755984,1759755999,US
-1759756000,1759756159,CA
+1759755944,1759756031,US
+1759756032,1759756159,CN
1759756160,1759756239,US
1759756240,1759756247,CA
1759756248,1759764479,US
@@ -53941,8 +55332,7 @@
1759772672,1760034815,US
1760038912,1760047103,US
1760047104,1760051199,CA
-1760051200,1760083967,US
-1760083968,1760086015,SE
+1760051200,1760086015,US
1760086016,1760088063,GB
1760088064,1760116735,US
1760116736,1760133119,CA
@@ -54006,7 +55396,9 @@
1760823296,1760824319,PT
1760824320,1760837631,US
1760837632,1760839679,CA
-1760839680,1760841727,LU
+1760839680,1760840735,LU
+1760840736,1760840736,UM
+1760840737,1760841727,LU
1760841728,1760867327,US
1760867328,1760868351,PR
1760868352,1760869375,US
@@ -54050,9 +55442,11 @@
1761019648,1761019903,VE
1761019904,1761023231,US
1761023232,1761023487,JP
-1761023488,1761035263,US
-1761035264,1761035519,CA
-1761035520,1761038335,US
+1761023488,1761034239,US
+1761034240,1761035519,CA
+1761035520,1761035775,US
+1761035776,1761036031,PR
+1761036032,1761038335,US
1761038336,1761039871,CA
1761039872,1761043711,US
1761043712,1761043967,PH
@@ -54117,7 +55511,7 @@
1761256192,1761256447,HR
1761256448,1761256703,LI
1761256704,1761256959,ME
-1761256960,1761257215,AM
+1761256960,1761257215,RS
1761257216,1761257471,GE
1761257472,1761257727,MC
1761257728,1761257983,BA
@@ -54499,33 +55893,25 @@
1805160416,1805160423,CA
1805160424,1805160439,US
1805160440,1805160447,CA
-1805160448,1805160703,US
-1805160704,1805160719,CA
-1805160720,1805160735,US
+1805160448,1805160735,US
1805160736,1805160767,CA
1805160768,1805160783,US
1805160784,1805160799,CA
1805160800,1805160895,US
1805160896,1805160911,CA
1805160912,1805160943,US
-1805160944,1805162255,CA
-1805162256,1805162495,US
+1805160944,1805162239,CA
+1805162240,1805162495,US
1805162496,1805164111,CA
1805164112,1805164127,US
1805164128,1805164159,CA
-1805164160,1805164223,US
-1805164224,1805164239,CA
-1805164240,1805164287,US
+1805164160,1805164287,US
1805164288,1805164351,CA
-1805164352,1805164367,US
-1805164368,1805164383,CA
-1805164384,1805164799,US
+1805164352,1805164799,US
1805164800,1805164839,CA
1805164840,1805164847,FI
1805164848,1805164863,CA
-1805164864,1805164879,US
-1805164880,1805164895,CA
-1805164896,1805164975,US
+1805164864,1805164975,US
1805164976,1805164991,CA
1805164992,1805165055,US
1805165056,1805165311,CA
@@ -54540,33 +55926,26 @@
1805166752,1805166783,US
1805166784,1805167103,CA
1805167104,1805167359,FR
-1805167360,1805167439,CA
-1805167440,1805167455,US
-1805167456,1805167519,CA
-1805167520,1805167583,US
-1805167584,1805167823,CA
-1805167824,1805167839,US
+1805167360,1805167423,CA
+1805167424,1805167455,US
+1805167456,1805167487,CA
+1805167488,1805167583,US
+1805167584,1805167743,CA
+1805167744,1805167839,US
1805167840,1805167887,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
+1805167888,1805168767,US
+1805168768,1805168783,CA
1805168784,1805168847,US
1805168848,1805168855,CA
1805168856,1805168863,SE
-1805168864,1805169183,CA
-1805169184,1805169199,US
+1805168864,1805169151,CA
+1805169152,1805169199,US
1805169200,1805169215,CA
1805169216,1805169663,US
1805169664,1805169919,CA
1805169920,1805170047,CN
-1805170048,1805170063,CA
-1805170064,1805170079,US
-1805170080,1805170303,CA
+1805170048,1805170111,US
+1805170112,1805170303,CA
1805170304,1805170311,US
1805170312,1805170403,CA
1805170404,1805170407,US
@@ -54591,31 +55970,25 @@
1805171664,1805171687,CA
1805171688,1805171703,US
1805171704,1805171711,CA
-1805171712,1805171759,US
-1805171760,1805171839,CA
-1805171840,1805171887,US
-1805171888,1805171903,CA
-1805171904,1805171951,US
+1805171712,1805171775,US
+1805171776,1805171839,CA
+1805171840,1805171951,US
1805171952,1805171967,CA
1805171968,1805172047,US
-1805172048,1805172095,CA
-1805172096,1805172159,US
-1805172160,1805172175,CA
-1805172176,1805172191,US
-1805172192,1805173007,CA
-1805173008,1805173039,US
+1805172048,1805172063,CA
+1805172064,1805172191,US
+1805172192,1805172991,CA
+1805172992,1805173039,US
1805173040,1805173055,CA
1805173056,1805173079,US
1805173080,1805173087,CA
1805173088,1805173247,US
-1805173248,1805173567,CA
-1805173568,1805173599,US
-1805173600,1805173615,CA
-1805173616,1805173759,US
+1805173248,1805173503,CA
+1805173504,1805173535,US
+1805173536,1805173567,CA
+1805173568,1805173759,US
1805173760,1805173791,CA
-1805173792,1805174271,US
-1805174272,1805174287,CA
-1805174288,1805174303,US
+1805173792,1805174303,US
1805174304,1805174335,CA
1805174336,1805174527,US
1805174528,1805174655,CN
@@ -54623,8 +55996,8 @@
1805174784,1805174815,US
1805174816,1805174823,CA
1805174824,1805174831,US
-1805174832,1805174863,CA
-1805174864,1805174911,US
+1805174832,1805174847,CA
+1805174848,1805174911,US
1805174912,1805174943,CA
1805174944,1805175103,US
1805175104,1805175119,CA
@@ -54633,24 +56006,18 @@
1805175168,1805175807,US
1805175808,1805177343,CA
1805177344,1805177375,US
-1805177376,1805177423,CA
-1805177424,1805177439,US
-1805177440,1805177455,CA
-1805177456,1805177471,US
+1805177376,1805177407,CA
+1805177408,1805177471,US
1805177472,1805177599,CA
1805177600,1805177855,US
1805177856,1805178111,CN
1805178112,1805181951,CA
1805181952,1805182207,US
-1805182208,1805182463,CN
+1805182208,1805182463,GB
1805182464,1805182719,CA
-1805182720,1805183039,US
-1805183040,1805183071,CA
-1805183072,1805183135,US
-1805183136,1805183167,CA
-1805183168,1805183199,US
-1805183200,1805183231,CA
-1805183232,1805183743,US
+1805182720,1805183135,US
+1805183136,1805183151,CA
+1805183152,1805183743,US
1805183744,1805184063,CA
1805184064,1805184127,US
1805184128,1805184159,CA
@@ -54658,21 +56025,15 @@
1805184192,1805184511,CA
1805184512,1805184527,US
1805184528,1805184535,CA
-1805184536,1805184543,US
-1805184544,1805184575,CA
-1805184576,1805184607,US
+1805184536,1805184607,US
1805184608,1805184639,CA
1805184640,1805184687,US
1805184688,1805184703,CA
1805184704,1805184735,US
1805184736,1805184783,CA
-1805184784,1805184799,US
-1805184800,1805184831,CA
-1805184832,1805184863,US
+1805184784,1805184863,US
1805184864,1805184895,CA
-1805184896,1805184927,US
-1805184928,1805184943,CA
-1805184944,1805185023,US
+1805184896,1805185023,US
1805185024,1805185071,CA
1805185072,1805185103,US
1805185104,1805185119,CA
@@ -54680,48 +56041,30 @@
1805185152,1805185159,CA
1805185160,1805185167,FI
1805185168,1805185215,CA
-1805185216,1805185231,US
-1805185232,1805185247,CA
-1805185248,1805185279,US
-1805185280,1805185343,CA
-1805185344,1805185359,US
-1805185360,1805185375,CA
-1805185376,1805185407,US
+1805185216,1805185279,US
+1805185280,1805185311,CA
+1805185312,1805185327,US
+1805185328,1805185343,CA
+1805185344,1805185407,US
1805185408,1805185423,CA
-1805185424,1805185439,US
-1805185440,1805185471,CA
-1805185472,1805185519,US
-1805185520,1805185535,CA
-1805185536,1805185599,US
-1805185600,1805185615,CA
-1805185616,1805185647,US
+1805185424,1805185647,US
1805185648,1805185655,CA
1805185656,1805185663,US
1805185664,1805185679,CA
-1805185680,1805185759,US
-1805185760,1805185775,CA
-1805185776,1805185919,US
-1805185920,1805185959,CA
+1805185680,1805185919,US
+1805185920,1805185935,CA
+1805185936,1805185951,US
+1805185952,1805185959,CA
1805185960,1805185967,NO
-1805185968,1805185999,US
-1805186000,1805186063,CA
-1805186064,1805186095,US
+1805185968,1805186095,US
1805186096,1805186127,CA
1805186128,1805186143,US
1805186144,1805186239,CA
-1805186240,1805186287,US
-1805186288,1805186319,CA
-1805186320,1805186335,US
+1805186240,1805186335,US
1805186336,1805186351,CA
-1805186352,1805186495,US
-1805186496,1805186511,CA
-1805186512,1805186551,US
+1805186352,1805186551,US
1805186552,1805186575,CA
-1805186576,1805186687,US
-1805186688,1805186719,CA
-1805186720,1805186783,US
-1805186784,1805186799,CA
-1805186800,1805186879,US
+1805186576,1805186879,US
1805186880,1805186911,CA
1805186912,1805186943,US
1805186944,1805186959,CA
@@ -54729,21 +56072,21 @@
1805186976,1805186991,CA
1805186992,1805186999,US
1805187000,1805187023,CA
-1805187024,1805187071,US
-1805187072,1805187111,CA
+1805187024,1805187103,US
+1805187104,1805187111,CA
1805187112,1805187119,NO
1805187120,1805187127,CA
1805187128,1805187327,US
1805187328,1805187391,CA
1805187392,1805187455,US
-1805187456,1805187503,CA
-1805187504,1805187551,US
+1805187456,1805187487,CA
+1805187488,1805187551,US
1805187552,1805187567,CA
1805187568,1805187871,US
1805187872,1805187887,CA
1805187888,1805188175,US
-1805188176,1805188255,CA
-1805188256,1805188287,US
+1805188176,1805188223,CA
+1805188224,1805188287,US
1805188288,1805188295,CA
1805188296,1805188367,US
1805188368,1805188375,CA
@@ -54751,23 +56094,17 @@
1805188384,1805188447,CA
1805188448,1805188479,US
1805188480,1805188511,CA
-1805188512,1805188591,US
-1805188592,1805188647,CA
-1805188648,1805188671,US
-1805188672,1805188735,CA
+1805188512,1805188607,US
+1805188608,1805188647,CA
+1805188648,1805188703,US
+1805188704,1805188735,CA
1805188736,1805188751,US
1805188752,1805188767,CA
1805188768,1805188863,US
1805188864,1805188879,CA
1805188880,1805188911,US
1805188912,1805188927,CA
-1805188928,1805189039,US
-1805189040,1805189055,CA
-1805189056,1805189071,US
-1805189072,1805189087,CA
-1805189088,1805189103,US
-1805189104,1805189119,CA
-1805189120,1805190399,US
+1805188928,1805190399,US
1805190400,1805190655,ES
1805190656,1805190911,DE
1805190912,1805194239,US
@@ -54818,19 +56155,21 @@
1805283328,1805283583,GB
1805283584,1805284863,US
1805284864,1805285119,ES
-1805285120,1805321727,US
+1805285120,1805321215,US
+1805321216,1805321471,DE
+1805321472,1805321727,US
1805321728,1805321983,VN
1805321984,1805322751,US
1805322752,1805323007,RU
1805323008,1805323263,JP
-1805323264,1805324287,US
+1805323264,1805324031,US
+1805324032,1805324287,JP
1805324288,1805324543,DE
1805324544,1805325055,US
1805325056,1805325311,ES
1805325312,1805325567,AE
1805325568,1805325823,ID
-1805325824,1805326079,FR
-1805326080,1805326335,US
+1805325824,1805326335,US
1805326336,1805326591,SG
1805326592,1805326847,US
1805326848,1805327103,MY
@@ -54844,16 +56183,17 @@
1805328896,1805329663,US
1805329664,1805329919,SG
1805329920,1805330431,TH
-1805330432,1805331199,US
+1805330432,1805330943,IN
+1805330944,1805331199,TH
1805331200,1805331455,KR
1805331456,1805331711,US
1805331712,1805331967,KR
-1805331968,1805332479,US
+1805331968,1805332479,IN
1805332480,1805332735,DE
1805332736,1805332991,FR
1805332992,1805333247,TH
-1805333248,1805333503,ES
-1805333504,1805334271,US
+1805333248,1805334015,RU
+1805334016,1805334271,US
1805334272,1805334783,SG
1805334784,1805335039,TW
1805335040,1805335295,MY
@@ -54967,7 +56307,9 @@
1807707312,1807707312,JP
1807707313,1807732735,US
1807732736,1807736831,GP
-1807736832,1815822335,US
+1807736832,1811366911,US
+1811366912,1811367167,CA
+1811367168,1815822335,US
1815822336,1815826431,CA
1815826432,1815871487,US
1815871488,1815879679,CA
@@ -55077,10 +56419,26 @@
1822621184,1822621439,US
1822621440,1822621695,AU
1822621696,1822654463,US
-1822654464,1822662143,CA
+1822654464,1822656255,CA
+1822656256,1822656511,US
+1822656512,1822660071,CA
+1822660072,1822660079,US
+1822660080,1822662143,CA
1822662144,1822662399,US
-1822662400,1822670847,CA
-1822670848,1822877695,US
+1822662400,1822663127,CA
+1822663128,1822663135,IN
+1822663136,1822663951,CA
+1822663952,1822663959,FI
+1822663960,1822665703,CA
+1822665704,1822665711,IL
+1822665712,1822668055,CA
+1822668056,1822668063,IN
+1822668064,1822668719,CA
+1822668720,1822668727,IN
+1822668728,1822670847,CA
+1822670848,1822828119,US
+1822828120,1822828127,AU
+1822828128,1822877695,US
1822877696,1822881791,HK
1822881792,1822882815,ID
1822882816,1822949375,US
@@ -55112,9 +56470,7 @@
1823211520,1823342591,CA
1823342592,1823346687,US
1823346688,1823350783,CA
-1823350784,1823356159,US
-1823356160,1823356415,NL
-1823356416,1823358799,US
+1823350784,1823358799,US
1823358800,1823358807,GB
1823358808,1823361791,US
1823361792,1823362303,CA
@@ -55407,7 +56763,6 @@
1834905344,1834909695,RS
1834909696,1834913791,GB
1834913792,1834917887,US
-1834917888,1834921983,UA
1834921984,1834930175,RU
1834934272,1834938367,RS
1834938368,1834944511,PL
@@ -55757,8 +57112,8 @@
1837502932,1837502932,CN
1837502933,1837503116,BE
1837503117,1837503117,CN
-1837503118,1837503125,BE
-1837503126,1837503127,CN
+1837503118,1837503126,BE
+1837503127,1837503127,CN
1837503128,1837503129,BE
1837503130,1837503131,CN
1837503132,1837503136,BE
@@ -55891,7 +57246,9 @@
1841758208,1841766399,PL
1841766400,1841774591,HU
1841774592,1841782783,PL
-1841782784,1841799167,BG
+1841782784,1841784287,BG
+1841784288,1841784289,US
+1841784290,1841799167,BG
1841799168,1841807359,DE
1841807360,1841815551,NO
1841815552,1841823743,BG
@@ -56242,7 +57599,7 @@
1844396032,1844400127,CZ
1844400128,1844408319,GB
1844408320,1844412415,FR
-1844412416,1844416511,RU
+1844412416,1844416511,NL
1844416512,1844420607,FR
1844420608,1844424703,DE
1844424704,1844428799,SI
@@ -56421,8 +57778,8 @@
1855979520,1856241663,JP
1856241664,1856307199,TH
1856307200,1856315391,KR
-1856315392,1856316415,CN
-1856316416,1856323327,HK
+1856315392,1856319487,CN
+1856319488,1856323327,HK
1856323328,1856323583,CN
1856323584,1856339967,KR
1856339968,1856372735,JP
@@ -56469,7 +57826,8 @@
1860759552,1860761599,AU
1860761600,1860763647,IN
1860763648,1860829183,JP
-1860829184,1860960255,IN
+1860829184,1860956159,IN
+1860956160,1860960255,KH
1860960256,1861091327,CN
1861091328,1861222399,AU
1861222400,1866465279,CN
@@ -56800,7 +58158,9 @@
1897736000,1897736031,HK
1897736032,1897736223,CN
1897736224,1897736255,US
-1897736256,1897736351,CN
+1897736256,1897736303,CN
+1897736304,1897736319,HK
+1897736320,1897736351,CN
1897736352,1897736415,HK
1897736416,1897737984,CN
1897737985,1897742335,US
@@ -56995,9 +58355,7 @@
1919909888,1919918079,AU
1919918080,1919926271,CN
1919926272,1919942655,KR
-1919942656,1919975935,CN
-1919975936,1919976191,JP
-1919976192,1919999999,CN
+1919942656,1919999999,CN
1920000000,1920002047,HK
1920002048,1920003071,CN
1920003072,1920008191,HK
@@ -57006,7 +58364,9 @@
1920058112,1920069631,CN
1920069632,1920071167,HK
1920071168,1920072703,CN
-1920072704,1920073727,HK
+1920072704,1920072959,HK
+1920072960,1920073215,JP
+1920073216,1920073727,HK
1920073728,1920466943,CN
1920466944,1920991231,ID
1920991232,1921056767,TH
@@ -57446,7 +58806,6 @@
1959102464,1959104511,JP
1959104512,1959106559,AU
1959106560,1959107583,IN
-1959107584,1959108607,NZ
1959108608,1959110655,CN
1959110656,1959112703,JP
1959112704,1959113215,HK
@@ -57714,9 +59073,9 @@
1969795072,1969797119,NZ
1969797120,1969797631,SG
1969797632,1969798143,BD
-1969798144,1969798399,CN
+1969798144,1969798399,JP
1969798400,1969798655,HK
-1969798656,1969798911,KR
+1969798656,1969798911,IN
1969798912,1969799167,HK
1969799168,1969807359,ID
1969807360,1969809407,AF
@@ -57752,8 +59111,7 @@
1970926080,1970926335,AU
1970926336,1970926591,US
1970926592,1970926847,SG
-1970926848,1970927103,FR
-1970927104,1970927359,SG
+1970926848,1970927359,FR
1970927360,1970927615,US
1970927616,1970929663,AU
1970929664,1970962431,VN
@@ -57917,7 +59275,9 @@
1997116312,1997116319,AU
1997116320,1997116335,HK
1997116336,1997116343,AU
-1997116344,1997116975,HK
+1997116344,1997116400,HK
+1997116401,1997116401,AU
+1997116402,1997116975,HK
1997116976,1997116979,AU
1997116980,1997117099,HK
1997117100,1997117103,AU
@@ -57974,7 +59334,13 @@
1998271273,1998274047,JP
1998274048,1998274303,US
1998274304,1998274559,JP
-1998274560,1998454783,CN
+1998274560,1998332415,CN
+1998332416,1998332927,HK
+1998332928,1998350847,CN
+1998350848,1998351359,SG
+1998351360,1998361087,CN
+1998361088,1998361599,KR
+1998361600,1998454783,CN
1998454784,1998456831,AU
1998456832,1998458879,JP
1998458880,1998462975,TW
@@ -58011,7 +59377,6 @@
1999249408,1999250431,AU
1999250432,1999250943,BR
1999250944,1999251455,AR
-1999251456,1999252479,VG
1999252480,1999253503,GB
1999253504,1999254527,MY
1999254528,1999255551,CN
@@ -58067,9 +59432,7 @@
2001559552,2001567743,KR
2001567744,2001600511,TW
2001600512,2001797119,CN
-2001797120,2001798849,SG
-2001798850,2001798850,KR
-2001798851,2001817673,SG
+2001797120,2001817673,SG
2001817674,2001817674,US
2001817675,2001829887,SG
2001829888,2001841247,HK
@@ -58107,7 +59470,6 @@
2003828736,2006188031,CN
2006188032,2006204415,BD
2006204416,2006212607,AU
-2006212608,2006214655,TH
2006214656,2006216703,JP
2006216704,2006228991,KR
2006228992,2006237183,CN
@@ -58495,7 +59857,8 @@
2053532672,2053533183,NZ
2053533184,2053533695,AU
2053533696,2053534719,VN
-2053534720,2053537791,IN
+2053535168,2053535199,IN
+2053535232,2053537791,IN
2053537792,2053636095,JP
2053636096,2054160383,AU
2054160384,2054376447,CN
@@ -58716,12 +60079,15 @@
2070183936,2070192127,AU
2070192128,2070200319,KR
2070200320,2070208511,JP
-2070208512,2070209279,MY
+2070208512,2070208767,MY
+2070208768,2070209023,SG
+2070209024,2070209279,MY
2070209280,2070209535,SG
2070209536,2070210559,AU
2070210560,2070210815,SG
2070210816,2070211071,AU
-2070211072,2070216703,SG
+2070211072,2070211327,IN
+2070211328,2070216703,SG
2070216704,2070282239,CN
2070282240,2070347775,AU
2070347776,2070380543,CN
@@ -58850,7 +60216,9 @@
2080780288,2080780799,ID
2080780800,2080781311,MY
2080781312,2080781823,JP
-2080781824,2080784383,SG
+2080781824,2080782079,VN
+2080782080,2080782335,PH
+2080782336,2080784383,SG
2080784384,2080800767,CN
2080800768,2080817151,PH
2080817152,2080825343,NZ
@@ -58959,6 +60327,7 @@
2090041344,2090074111,CN
2090074112,2090237951,AU
2090237952,2090239999,TW
+2090240000,2090240255,IN
2090240256,2090240511,CN
2090240512,2090240767,AU
2090240768,2090241023,NZ
@@ -59176,7 +60545,8 @@
2147485696,2147487743,DK
2147487744,2147489791,NO
2147489792,2147491839,RU
-2147491840,2147494911,DE
+2147491840,2147493887,RO
+2147493888,2147494911,DE
2147494912,2147495167,RO
2147495168,2147495423,DE
2147495424,2147496959,RO
@@ -59230,7 +60600,9 @@
2147564544,2147564799,US
2147564800,2147565055,SG
2147565056,2147565311,HK
-2147565312,2147566079,TW
+2147565312,2147565999,TW
+2147566000,2147566047,JP
+2147566048,2147566079,TW
2147566080,2147569407,US
2147569408,2147569663,TH
2147569664,2147570431,US
@@ -59243,7 +60615,7 @@
2147575040,2147575551,TW
2147575552,2147575807,SG
2147575808,2147576575,US
-2147576576,2147576831,HK
+2147576576,2147576831,TW
2147576832,2147577087,TH
2147577088,2147577599,ID
2147577600,2147579647,US
@@ -59255,13 +60627,17 @@
2147592704,2147592959,HK
2147592960,2147600127,US
2147600128,2147600383,SG
-2147600384,2147942399,US
+2147600384,2147603711,US
+2147603712,2147603967,IN
+2147603968,2147942399,US
2147942400,2148007935,DE
2148007936,2148220515,US
2148220516,2148220535,AU
2148220536,2148229151,US
2148229152,2148229183,CA
-2148229184,2148532223,US
+2148229184,2148459007,US
+2148459008,2148459519,TW
+2148459520,2148532223,US
2148532224,2148597759,GB
2148597760,2148925439,US
2148925440,2148990975,JP
@@ -59303,7 +60679,8 @@
2153381888,2153382143,JP
2153382144,2153383679,US
2153383680,2153383935,HK
-2153383936,2153384447,US
+2153383936,2153384191,US
+2153384192,2153384447,JP
2153384448,2153385471,GB
2153385472,2153385599,AT
2153385600,2153385663,CZ
@@ -59319,9 +60696,13 @@
2153387776,2153388031,CH
2153388032,2153388287,ES
2153388288,2153388543,PL
-2153388544,2153391615,US
+2153388544,2153389567,US
+2153389568,2153389823,JP
+2153389824,2153391615,US
2153391616,2153391871,HK
-2153391872,2153394431,US
+2153391872,2153393151,US
+2153393152,2153393407,JP
+2153393408,2153394431,US
2153394432,2153394943,SG
2153394944,2153395455,US
2153395456,2153395711,VN
@@ -59339,8 +60720,8 @@
2153401088,2153401599,MO
2153401600,2153402111,VN
2153402112,2153402367,PH
-2153402368,2153402623,KR
-2153402624,2153406463,US
+2153402368,2153403135,KR
+2153403136,2153406463,US
2153406464,2153407487,JP
2153407488,2153407743,HK
2153407744,2153407999,AE
@@ -59380,7 +60761,8 @@
2155810816,2155812863,FR
2155812864,2155814911,GB
2155814912,2155819007,NL
-2155819008,2155821055,DE
+2155819008,2155819519,DE
+2155819520,2155821055,CH
2155821056,2155823103,IT
2155823104,2155825151,DE
2155825152,2155827199,AE
@@ -59586,7 +60968,8 @@
2176974848,2177105919,CH
2177105920,2177302527,US
2177302528,2177368063,FR
-2177368064,2177695743,US
+2177368064,2177630207,US
+2177630208,2177695743,CN
2177695744,2177703935,UG
2177703936,2177720319,ZA
2177720320,2177728511,NG
@@ -59595,7 +60978,9 @@
2177761280,2177826815,DE
2177826816,2177892351,US
2177892352,2177957887,SA
-2177957888,2178285567,US
+2177957888,2178088959,US
+2178088960,2178154495,CN
+2178154496,2178285567,US
2178285568,2178351103,DE
2178351104,2178416639,GB
2178416640,2178482175,US
@@ -59757,7 +61142,8 @@
2189099008,2189164543,NZ
2189164544,2189230079,US
2189230080,2189295615,CH
-2189295616,2189557759,US
+2189295616,2189492223,US
+2189492224,2189557759,GB
2189557760,2189623295,AU
2189623296,2189754367,US
2189754368,2189819903,DE
@@ -59893,7 +61279,10 @@
2197798912,2197815295,IR
2197815296,2197816319,BO
2197816320,2197828607,BR
-2197828608,2197829631,CL
+2197828608,2197828959,AR
+2197828960,2197828967,CL
+2197828968,2197829119,AR
+2197829120,2197829631,CL
2197829632,2197833727,BR
2197833728,2197834751,CR
2197834752,2197841919,BR
@@ -59928,7 +61317,7 @@
2202553344,2202554367,TT
2202554368,2202562559,BR
2202562560,2202563583,CW
-2202563584,2202567679,BR
+2202565632,2202567679,BR
2202567680,2202568703,AR
2202568704,2202569727,NL
2202569728,2202573823,BR
@@ -59937,11 +61326,7 @@
2202576896,2202577919,VE
2202577920,2202586111,BR
2202586112,2202587135,AR
-2202587136,2202587231,HN
-2202587232,2202587239,NL
-2202587240,2202587647,HN
-2202587648,2202587903,US
-2202587904,2202588159,HN
+2202587136,2202588159,HN
2202588160,2202589183,MX
2202589184,2202591231,BR
2202591232,2202592255,PA
@@ -59986,12 +61371,8 @@
2204893184,2204894207,AR
2204894208,2204895231,PA
2204895232,2204897279,BR
-2204897280,2204897447,HN
-2204897448,2204897455,CA
-2204897456,2204897791,HN
-2204897792,2204898095,US
-2204898096,2204898111,CR
-2204898112,2204898303,US
+2204897280,2204897791,HN
+2204897792,2204898303,US
2204898304,2204899327,PA
2204899328,2204902399,BR
2204902400,2204903423,CR
@@ -60006,12 +61387,10 @@
2204936192,2204937215,CO
2204937216,2204942335,BR
2204942336,2204943359,PY
-2204943360,2204946431,BR
+2204944384,2204946431,BR
2204946432,2204947455,CL
2204947456,2204952575,BR
-2204952576,2204952767,HN
-2204952768,2204952775,US
-2204952776,2204953599,HN
+2204952576,2204953599,HN
2204954624,2204958719,BR
2204958720,2205089791,US
2205089792,2205155327,GB
@@ -60037,23 +61416,7 @@
2206466048,2207121407,CA
2207121408,2207449087,US
2207449088,2207514623,JP
-2207514624,2207645695,US
-2207645696,2207647487,CA
-2207647488,2207647743,US
-2207647744,2207648511,CA
-2207648512,2207649791,US
-2207649792,2207653631,CA
-2207653632,2207653887,US
-2207653888,2207659775,CA
-2207659776,2207660031,US
-2207660032,2207661567,CA
-2207661568,2207661823,US
-2207661824,2207666175,CA
-2207666176,2207667199,US
-2207667200,2207678975,CA
-2207678976,2207694591,US
-2207694592,2207711231,CA
-2207711232,2207776767,US
+2207514624,2207776767,US
2207776768,2207842303,CH
2207842304,2207846399,US
2207846400,2207848447,NL
@@ -60172,7 +61535,8 @@
2212308992,2212310015,CO
2212310016,2212315135,BR
2212315136,2212316159,AR
-2212316160,2212327423,BR
+2212316160,2212318207,BR
+2212319232,2212327423,BR
2212327424,2212328447,VE
2212328448,2212335615,BR
2212335616,2212336639,CW
@@ -60193,7 +61557,13 @@
2212769792,2212773887,US
2212773888,2212796415,FI
2212796416,2212798463,NL
-2212798464,2212804095,FI
+2212798464,2212803971,FI
+2212803972,2212803975,DE
+2212803976,2212803987,FI
+2212803988,2212803991,NL
+2212803992,2212803999,FI
+2212804000,2212804003,FR
+2212804004,2212804095,FI
2212804096,2212804351,NL
2212804352,2212806655,FI
2212806656,2212808703,US
@@ -60221,15 +61591,11 @@
2214068224,2214133759,JP
2214133760,2214264831,US
2214264832,2214330367,GB
-2214330368,2214398975,US
-2214398976,2214398983,CN
-2214398984,2214399047,US
+2214330368,2214399047,US
2214399048,2214399055,IE
-2214399056,2214399071,CN
+2214399056,2214399071,US
2214399072,2214399135,SG
-2214399136,2214399215,US
-2214399216,2214399223,CN
-2214399224,2214399295,US
+2214399136,2214399295,US
2214399296,2214399303,SG
2214399304,2214399331,US
2214399332,2214399339,HK
@@ -60300,7 +61666,13 @@
2214589440,2214590463,BR
2214590464,2214591487,AR
2214591488,2214592511,BR
-2214592512,2214795597,US
+2214592512,2214791423,US
+2214791424,2214791679,JP
+2214791680,2214792526,US
+2214792527,2214792527,KR
+2214792528,2214794574,US
+2214794575,2214794576,GB
+2214794577,2214795597,US
2214795598,2214795599,DE
2214795600,2216231118,US
2216231119,2216231119,DE
@@ -60308,7 +61680,9 @@
2218786816,2219769855,IL
2219769856,2220613631,US
2220613632,2220621823,GU
-2220621824,2224160767,US
+2220621824,2223075327,US
+2223075328,2223079423,VI
+2223079424,2224160767,US
2224160768,2224226303,GB
2224226304,2224242687,US
2224242688,2224259071,SG
@@ -60490,12 +61864,9 @@
2230685856,2230685871,HK
2230685872,2230688255,US
2230688256,2230688767,SG
-2230688768,2230688991,BR
-2230688992,2230689039,US
-2230689040,2230689071,BR
-2230689072,2230689199,US
-2230689200,2230689247,BR
-2230689248,2230689839,US
+2230688768,2230688943,US
+2230688944,2230688975,BR
+2230688976,2230689839,US
2230689840,2230689863,SG
2230689864,2230689871,US
2230689872,2230689895,SG
@@ -60514,15 +61885,16 @@
2230690976,2230691007,SG
2230691008,2230691039,MY
2230691040,2230691071,AU
-2230691072,2230691199,SG
-2230691200,2230691215,AU
-2230691216,2230693887,US
+2230691072,2230691199,US
+2230691200,2230691231,AU
+2230691232,2230693887,US
2230693888,2230693919,NL
2230693920,2230693951,US
2230693952,2230693967,IE
2230693968,2230694063,US
2230694064,2230694095,NL
-2230694096,2230698903,US
+2230694096,2230698807,US
+2230698808,2230698903,NL
2230698904,2230698999,FI
2230699000,2230699007,US
2230699008,2230699055,FI
@@ -60534,8 +61906,7 @@
2230710440,2230710511,AT
2230710512,2230710559,US
2230710560,2230710671,JP
-2230710672,2230710719,BR
-2230710720,2230710735,US
+2230710672,2230710735,US
2230710736,2230710751,BR
2230710752,2230710783,KR
2230710784,2230710799,US
@@ -60548,9 +61919,8 @@
2230711168,2230711727,IN
2230711728,2230711903,US
2230711904,2230711935,IE
-2230711936,2230712007,US
-2230712008,2230712183,BR
-2230712184,2230712191,US
+2230711936,2230711967,IN
+2230711968,2230712191,US
2230712192,2230712239,IE
2230712240,2230713135,US
2230713136,2230713311,AT
@@ -60565,14 +61935,14 @@
2230713920,2230713935,US
2230713936,2230713983,SG
2230713984,2230714047,KR
-2230714048,2230714079,BR
+2230714048,2230714079,US
2230714080,2230714119,MY
2230714120,2230714127,US
2230714128,2230714255,MY
2230714256,2230714287,BR
2230714288,2230714303,US
2230714304,2230714311,CL
-2230714312,2230714367,BR
+2230714312,2230714367,US
2230714368,2230779903,CA
2230779904,2230910975,MX
2230910976,2231042047,US
@@ -60591,14 +61961,19 @@
2231332864,2231333887,AR
2231333888,2231335935,BR
2231335936,2231336959,MX
-2231337984,2231338639,HN
-2231338640,2231338647,US
-2231338648,2231338695,HN
-2231338696,2231338703,US
-2231338704,2231339007,HN
+2231337984,2231338495,US
+2231338496,2231339007,HN
2231339008,2231346175,BR
2231346176,2231347199,PY
-2231347200,2231349765,BR
+2231347200,2231349257,BR
+2231349258,2231349258,US
+2231349259,2231349261,BR
+2231349262,2231349262,US
+2231349263,2231349265,BR
+2231349266,2231349266,US
+2231349267,2231349268,BR
+2231349269,2231349270,US
+2231349271,2231349765,BR
2231349766,2231349766,US
2231349767,2231355391,BR
2231355392,2231356415,AR
@@ -60619,7 +61994,7 @@
2248155136,2248163327,AL
2248163328,2248163839,US
2248163840,2248165375,GB
-2248165376,2248167423,US
+2248165376,2248166399,US
2248167424,2248169471,IE
2248169472,2248171519,NL
2248171520,2248177663,RU
@@ -60645,9 +62020,7 @@
2249457664,2249523199,US
2249523200,2249588735,CH
2249588736,2249654271,CA
-2249654272,2249724671,US
-2249724672,2249724927,CA
-2249724928,2249785343,US
+2249654272,2249785343,US
2249785344,2249850879,SE
2249850880,2249916415,US
2249916416,2249981951,NL
@@ -60779,8 +62152,8 @@
2258593536,2258593983,AU
2258593984,2258593991,NZ
2258593992,2258594047,AU
-2258594048,2258594175,HK
-2258594176,2258594303,AU
+2258594048,2258594207,HK
+2258594208,2258594303,AU
2258594304,2258594607,HK
2258594608,2258594623,AU
2258594624,2258594751,HK
@@ -60927,18 +62300,21 @@
2258615056,2258620415,AU
2258620416,2258621951,HK
2258621952,2258622207,NZ
-2258622208,2258622719,AU
+2258622208,2258622463,AU
+2258622464,2258622719,US
2258622720,2258623231,NZ
2258623232,2258623487,KR
-2258623488,2258632703,AU
+2258623488,2258626047,AU
+2258626048,2258626048,VN
+2258626049,2258626303,AU
+2258626304,2258626559,VN
+2258626560,2258632703,AU
2258632704,2258698239,JP
2258698240,2259222527,US
2259222528,2259288063,DE
2259288064,2259304447,US
2259304448,2259304959,NL
-2259304960,2259304967,US
-2259304968,2259304975,NL
-2259304976,2259304991,US
+2259304960,2259304991,US
2259304992,2259305407,NL
2259305408,2259305439,US
2259305440,2259306239,NL
@@ -61122,8 +62498,7 @@
2291144704,2291144959,ES
2291144960,2291145215,IE
2291145216,2291145471,FR
-2291145472,2291145727,IE
-2291145728,2291146751,NL
+2291145472,2291146751,NL
2291146752,2291147775,CN
2291147776,2291148799,CH
2291148800,2291150847,NL
@@ -61156,8 +62531,7 @@
2293080832,2293085183,LU
2293085184,2293085439,BE
2293085440,2293104639,LU
-2293104640,2293170175,US
-2293235712,2293825535,US
+2293104640,2293825535,US
2293825536,2293891071,IN
2293891072,2293956607,AU
2293956608,2294022143,JP
@@ -61236,7 +62610,7 @@
2302388224,2302389247,AU
2302389248,2302391295,IN
2302391296,2302392319,BD
-2302392320,2302393343,HK
+2302392320,2302393343,SG
2302393344,2302394367,AU
2302394368,2302395391,PK
2302395392,2302396415,AU
@@ -61289,7 +62663,9 @@
2304507904,2304573439,AU
2304573440,2304638975,NO
2304638976,2304704511,CA
-2304704512,2304770047,US
+2304704512,2304704778,US
+2304704779,2304704779,DE
+2304704780,2304770047,US
2304770048,2304835583,FI
2304835584,2304901119,IN
2304901120,2304966655,CZ
@@ -61469,14 +62845,11 @@
2317632512,2317634559,BR
2317634560,2317635583,BO
2317635584,2317638655,BR
-2317638656,2317638863,HN
-2317638864,2317638871,BR
-2317638872,2317639679,HN
+2317638656,2317639679,US
2317639680,2317640703,AR
2317640704,2317649919,BR
-2317649920,2317649991,HN
-2317649992,2317649999,US
-2317650000,2317650943,HN
+2317649920,2317650431,US
+2317650432,2317650943,HN
2317650944,2317651967,BR
2317651968,2317652991,PE
2317652992,2317654015,AR
@@ -61499,9 +62872,7 @@
2318598144,2318663679,CA
2318663680,2319122431,US
2319122432,2319123455,AR
-2319123456,2319123999,HN
-2319124000,2319124007,US
-2319124008,2319124479,HN
+2319123456,2319124479,HN
2319124480,2319125503,VE
2319125504,2319126527,UY
2319126528,2319127551,CR
@@ -61515,7 +62886,6 @@
2319152128,2319153151,VE
2319153152,2319156223,BR
2319156224,2319157247,CR
-2319157248,2319158271,BR
2319158272,2319159295,AR
2319159296,2319160319,BR
2319160320,2319161343,PA
@@ -61523,12 +62893,11 @@
2319164416,2319165439,PY
2319165440,2319167487,AR
2319167488,2319168511,HN
-2319169536,2319174655,BR
+2319169536,2319171583,BR
+2319172608,2319174655,BR
2319174656,2319175583,HN
2319175584,2319175591,BR
-2319175592,2319175647,HN
-2319175648,2319175663,BR
-2319175664,2319175679,HN
+2319175592,2319175679,HN
2319175680,2319184895,BR
2319184896,2319185919,AR
2319185920,2319187967,BR
@@ -61537,11 +62906,13 @@
2319384576,2319450111,FR
2319450112,2319581183,US
2319581184,2319646719,IT
-2319646720,2319747251,US
-2319747252,2319747252,GB
-2319747253,2319751172,US
-2319751173,2319751173,GB
-2319751174,2319764479,US
+2319646720,2319728639,US
+2319728640,2319741951,DE
+2319741952,2319742975,GB
+2319742976,2319743999,NL
+2319744000,2319745023,DE
+2319745024,2319761407,GB
+2319761408,2319764479,US
2319764480,2319765503,NL
2319765504,2319843327,US
2319843328,2319908863,IT
@@ -61569,22 +62940,17 @@
2321431552,2321446911,BR
2321446912,2321447263,HN
2321447264,2321447279,NL
-2321447280,2321447647,HN
-2321447648,2321447679,NL
-2321447680,2321447727,HN
-2321447728,2321447743,NL
-2321447744,2321447935,HN
+2321447280,2321447935,HN
2321447936,2321452031,BR
2321452032,2321453055,MX
2321453056,2321453359,HN
2321453360,2321453367,NL
-2321453368,2321453487,HN
-2321453488,2321453495,CA
-2321453496,2321454079,HN
+2321453368,2321454079,HN
2321454080,2321467136,BR
2321467137,2321467137,US
2321467138,2321471487,BR
-2321471488,2321472039,HN
+2321471488,2321471999,US
+2321472000,2321472039,HN
2321472040,2321472047,CA
2321472048,2321472391,HN
2321472392,2321472399,UY
@@ -61622,15 +62988,10 @@
2321743872,2321744895,SV
2321744896,2321745919,AR
2321745920,2321753087,BR
-2321753088,2321753359,HN
-2321753360,2321753375,NL
-2321753376,2321753599,HN
-2321753600,2321753607,NL
-2321753608,2321753727,HN
+2321753088,2321753599,US
+2321753600,2321753727,HN
2321753728,2321753735,NL
-2321753736,2321753927,HN
-2321753928,2321753935,NL
-2321753936,2321754111,HN
+2321753736,2321754111,HN
2321754112,2321755135,BR
2321755136,2321756159,UY
2321756160,2321769471,BR
@@ -61659,7 +63020,7 @@
2321789952,2321790975,SV
2321790976,2321791999,AR
2321792000,2321797119,BR
-2321797120,2321797375,NO
+2321797120,2321797375,US
2321797376,2321797631,GR
2321797632,2321797887,SE
2321797888,2321798143,NL
@@ -61787,7 +63148,8 @@
2323293184,2323298303,BR
2323298304,2323299327,PY
2323299328,2323300351,AR
-2323300352,2323301375,HN
+2323300352,2323300359,US
+2323300360,2323301375,HN
2323301376,2323302399,BR
2323302400,2323303423,CO
2323303424,2323308543,BR
@@ -61799,21 +63161,17 @@
2323315712,2323316735,MX
2323316736,2323382271,US
2323382272,2323447807,NO
-2323447808,2323644431,US
-2323644432,2323644495,CA
+2323447808,2323644447,US
+2323644448,2323644495,CA
2323644496,2323644511,US
2323644512,2323644543,CA
-2323644544,2323644575,US
-2323644576,2323644607,CA
-2323644608,2323644631,US
+2323644544,2323644631,US
2323644632,2323644639,CA
-2323644640,2323644719,US
+2323644640,2323644655,US
+2323644656,2323644671,CA
+2323644672,2323644719,US
2323644720,2323644799,CA
-2323644800,2323644895,US
-2323644896,2323644927,CA
-2323644928,2323645071,US
-2323645072,2323645087,CA
-2323645088,2323645119,US
+2323644800,2323645119,US
2323645120,2323645135,CA
2323645136,2323645151,US
2323645152,2323645191,CA
@@ -61822,12 +63180,8 @@
2323645264,2323645279,CA
2323645280,2323645471,US
2323645472,2323645503,CA
-2323645504,2323645535,US
-2323645536,2323645567,CA
-2323645568,2323645663,US
-2323645664,2323645695,CA
-2323645696,2323645951,US
-2323645952,2323645983,CA
+2323645504,2323645967,US
+2323645968,2323645983,CA
2323645984,2323645999,US
2323646000,2323646015,CA
2323646016,2323646079,US
@@ -61841,42 +63195,30 @@
2323646464,2323646479,CA
2323646480,2323646495,US
2323646496,2323646527,CA
-2323646528,2323646783,US
-2323646784,2323646799,CA
-2323646800,2323646815,US
+2323646528,2323646815,US
2323646816,2323646831,CA
2323646832,2323646911,US
2323646912,2323646975,CA
-2323646976,2323647119,US
-2323647120,2323647135,CA
-2323647136,2323647199,US
+2323646976,2323647199,US
2323647200,2323647215,CA
-2323647216,2323647311,US
-2323647312,2323647407,CA
-2323647408,2323647487,US
-2323647488,2323647519,CA
-2323647520,2323647535,US
+2323647216,2323647327,US
+2323647328,2323647359,CA
+2323647360,2323647391,US
+2323647392,2323647407,CA
+2323647408,2323647535,US
2323647536,2323647583,CA
-2323647584,2323647743,US
-2323647744,2323647775,CA
-2323647776,2323647791,US
-2323647792,2323647807,CA
-2323647808,2323647871,US
+2323647584,2323647759,US
+2323647760,2323647775,CA
+2323647776,2323647871,US
2323647872,2323647903,CA
2323647904,2323647999,US
2323648000,2323648007,CA
2323648008,2323648015,FI
-2323648016,2323648031,US
-2323648032,2323648063,CA
-2323648064,2323648319,US
+2323648016,2323648319,US
2323648320,2323648335,CA
-2323648336,2323648351,US
-2323648352,2323648367,CA
-2323648368,2323648639,US
+2323648336,2323648639,US
2323648640,2323648655,CA
-2323648656,2323648671,US
-2323648672,2323648703,CA
-2323648704,2323648767,US
+2323648656,2323648767,US
2323648768,2323648943,CA
2323648944,2323648951,US
2323648952,2323649023,CA
@@ -61893,8 +63235,8 @@
2323649920,2323649935,US
2323649936,2323649951,CA
2323649952,2323649959,US
-2323649960,2323649999,CA
-2323650000,2323650007,US
+2323649960,2323649983,CA
+2323649984,2323650007,US
2323650008,2323650015,RO
2323650016,2323650023,CA
2323650024,2323650031,US
@@ -61914,11 +63256,17 @@
2323650240,2323650255,US
2323650256,2323650263,CA
2323650264,2323650271,US
-2323650272,2323651327,CA
+2323650272,2323650367,CA
+2323650368,2323650375,SE
+2323650376,2323650527,CA
+2323650528,2323650559,US
+2323650560,2323651327,CA
2323651328,2323651583,US
-2323651584,2323652287,CA
-2323652288,2323652335,US
-2323652336,2323653119,CA
+2323651584,2323652223,CA
+2323652224,2323652255,US
+2323652256,2323652287,CA
+2323652288,2323652351,US
+2323652352,2323653119,CA
2323653120,2323653135,US
2323653136,2323653151,CA
2323653152,2323653375,US
@@ -61927,11 +63275,9 @@
2323653888,2323655423,CA
2323655424,2323655503,US
2323655504,2323655511,CA
-2323655512,2323655519,US
-2323655520,2323655551,CA
-2323655552,2323655823,US
-2323655824,2323655871,CA
-2323655872,2323655935,US
+2323655512,2323655823,US
+2323655824,2323655839,CA
+2323655840,2323655935,US
2323655936,2323655967,CA
2323655968,2323655983,US
2323655984,2323655991,CA
@@ -61939,13 +63285,11 @@
2323656000,2323656031,CA
2323656032,2323656207,US
2323656208,2323656255,CA
-2323656256,2323656271,US
-2323656272,2323656287,CA
-2323656288,2323656447,US
+2323656256,2323656447,US
2323656448,2323656607,CA
2323656608,2323656639,US
-2323656640,2323656719,CA
-2323656720,2323656735,US
+2323656640,2323656703,CA
+2323656704,2323656735,US
2323656736,2323656767,CA
2323656768,2323656815,US
2323656816,2323656831,CA
@@ -61953,26 +63297,22 @@
2323656896,2323656927,CA
2323656928,2323656959,US
2323656960,2323657215,CA
-2323657216,2323657263,US
-2323657264,2323657279,CA
-2323657280,2323657311,US
+2323657216,2323657311,US
2323657312,2323657343,CA
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
+2323657664,2323657839,US
2323657840,2323657919,CA
2323657920,2323658495,US
2323658496,2323658751,CA
2323658752,2323659263,US
2323659264,2323659775,CA
-2323659776,2323660191,US
-2323660192,2323661143,CA
+2323659776,2323660223,US
+2323660224,2323660799,CA
+2323660800,2323661055,US
+2323661056,2323661143,CA
2323661144,2323661151,US
2323661152,2323661199,CA
2323661200,2323661223,US
@@ -62002,7 +63342,7 @@
2323663840,2323663871,US
2323663872,2323664959,CA
2323664960,2323665039,US
-2323665040,2323665047,CA
+2323665040,2323665047,SE
2323665048,2323665087,US
2323665088,2323665919,CA
2323665920,2323666687,US
@@ -62018,7 +63358,8 @@
2323672064,2323672127,US
2323672128,2323672191,CA
2323672192,2323672383,US
-2323672384,2323672463,CA
+2323672384,2323672455,CA
+2323672456,2323672463,SE
2323672464,2323672479,US
2323672480,2323672511,CA
2323672512,2323672575,US
@@ -62032,8 +63373,8 @@
2323672848,2323672863,US
2323672864,2323672895,CA
2323672896,2323672959,US
-2323672960,2323673055,CA
-2323673056,2323673351,US
+2323672960,2323673023,CA
+2323673024,2323673351,US
2323673352,2323673359,CA
2323673360,2323673375,US
2323673376,2323673391,CA
@@ -62046,7 +63387,9 @@
2323674112,2323674175,US
2323674176,2323674575,CA
2323674576,2323674591,US
-2323674592,2323674767,CA
+2323674592,2323674639,CA
+2323674640,2323674647,CN
+2323674648,2323674767,CA
2323674768,2323674775,US
2323674776,2323674799,CA
2323674800,2323674879,US
@@ -62055,9 +63398,7 @@
2323675520,2323675647,CA
2323675648,2323675839,US
2323675840,2323675903,CA
-2323675904,2323676927,US
-2323676928,2323676991,CA
-2323676992,2323690495,US
+2323675904,2323690495,US
2323690496,2323690751,IN
2323690752,2323699711,US
2323699712,2323700735,NL
@@ -62071,7 +63412,14 @@
2324021248,2324021503,MY
2324021504,2324037631,US
2324037632,2324103167,IL
-2324103168,2327379967,US
+2324103168,2325979135,US
+2325979136,2325979176,JP
+2325979177,2325979177,US
+2325979178,2325979391,JP
+2325979392,2327101953,US
+2327101954,2327101955,ES
+2327101956,2327101956,IT
+2327101957,2327379967,US
2327379968,2327380991,MX
2327380992,2327383039,BR
2327383040,2327384063,CL
@@ -62118,11 +63466,7 @@
2327477248,2327480319,BR
2327480320,2327481007,HN
2327481008,2327481023,US
-2327481024,2327481055,HN
-2327481056,2327481071,US
-2327481072,2327481135,HN
-2327481136,2327481143,US
-2327481144,2327481343,HN
+2327481024,2327481343,HN
2327481344,2327481599,MX
2327481600,2327482367,AR
2327482368,2327483391,BR
@@ -62138,9 +63482,7 @@
2327497728,2327498751,BR
2327498752,2327499055,HN
2327499056,2327499063,CL
-2327499064,2327499343,HN
-2327499344,2327499351,CL
-2327499352,2327499623,HN
+2327499064,2327499623,HN
2327499624,2327499631,CL
2327499632,2327499639,HN
2327499640,2327499647,CL
@@ -62157,11 +63499,15 @@
2327969792,2328035327,AU
2328035328,2328100863,FR
2328100864,2328199167,US
-2328199168,2328215657,CA
-2328215658,2328215658,US
-2328215659,2328231935,CA
+2328199168,2328211455,CA
+2328211456,2328215551,DE
+2328215552,2328228863,US
+2328228864,2328230911,CA
+2328230912,2328231935,US
2328231936,2328297471,GB
-2328313856,2328317951,NL
+2328313856,2328317183,NL
+2328317184,2328317184,DE
+2328317185,2328317951,NL
2328342528,2328342783,DE
2328362752,2328485437,DE
2328485438,2328485438,NL
@@ -62226,17 +63572,14 @@
2329629696,2329638911,BR
2329638912,2329639071,HN
2329639072,2329639087,NL
-2329639088,2329639367,HN
-2329639368,2329639375,NL
-2329639376,2329639935,HN
+2329639088,2329639935,HN
2329639936,2329644031,BR
2329644032,2329645055,CW
2329645056,2329648127,BR
2329648128,2329649151,SV
2329649152,2329650175,AR
2329650176,2329652223,BR
-2329652224,2329652735,US
-2329652736,2329653247,HN
+2329652224,2329653247,HN
2329653248,2329662463,BR
2329662464,2329664511,AR
2329664512,2329666559,BR
@@ -62308,7 +63651,7 @@
2332378112,2332380159,NP
2332380160,2332381183,AU
2332381184,2332382207,CN
-2332382208,2332383231,US
+2332382208,2332383231,CA
2332383232,2332384255,JP
2332384256,2332385279,CN
2332385280,2332387327,IN
@@ -62362,20 +63705,14 @@
2335637504,2335768575,US
2335768576,2335834111,CA
2335834112,2335899647,SE
-2335899648,2335926749,IN
-2335926750,2335926750,SG
-2335926751,2335932415,IN
-2335932416,2335945846,SG
-2335945847,2335945847,GB
-2335945848,2335945863,SG
-2335945864,2335945864,GB
-2335945865,2335946186,SG
-2335946187,2335946187,GB
-2335946188,2335948499,SG
-2335948500,2335948500,GB
-2335948501,2335951266,SG
-2335951267,2335951267,GB
-2335951268,2335965183,SG
+2335899648,2335924223,IN
+2335924224,2335932415,SG
+2335932416,2335940607,DE
+2335940608,2335948799,GB
+2335948800,2335949823,SG
+2335949824,2335951871,GB
+2335951872,2335954943,DE
+2335954944,2335965183,SG
2335965184,2335970303,US
2335970304,2335971327,CA
2335971328,2335994879,US
@@ -62388,7 +63725,7 @@
2336161792,2336227327,NL
2336227328,2336260095,CA
2336260096,2336358399,US
-2336358400,2336423935,FI
+2336358400,2336423935,DE
2336423936,2336882687,US
2336882688,2336948223,FI
2336948224,2337013759,DE
@@ -62465,13 +63802,17 @@
2338324480,2338390015,SE
2338390016,2338455551,FI
2338455552,2338521087,NO
-2338521088,2338553855,SG
+2338521088,2338521727,SG
+2338521728,2338521791,GB
+2338521792,2338553855,SG
2338553856,2338586623,AU
2338586624,2338652159,FR
2338652160,2338717695,JP
2338717696,2338783231,US
2338783232,2338848767,CA
-2338848768,2338914303,US
+2338848768,2338904063,US
+2338904064,2338905087,NL
+2338905088,2338914303,US
2338914304,2339962879,NO
2339962880,2340028415,US
2340028416,2340093951,NL
@@ -62494,7 +63835,11 @@
2341135360,2341135615,SG
2341135616,2341135871,JP
2341135872,2341136127,CN
-2341136128,2341273599,US
+2341136128,2341143362,US
+2341143363,2341143363,DE
+2341143364,2341147459,US
+2341147460,2341147460,DE
+2341147461,2341273599,US
2341273600,2341339135,KW
2341339136,2341404671,CA
2341404672,2341470207,GB
@@ -62584,7 +63929,9 @@
2355437552,2355437567,GB
2355437568,2355470319,US
2355470320,2355470335,SG
-2355470336,2355482607,US
+2355470336,2355470575,US
+2355470576,2355470591,PL
+2355470592,2355482607,US
2355482608,2355482623,HK
2355482624,2355491311,US
2355491312,2355491327,AU
@@ -62608,7 +63955,8 @@
2359623680,2359689215,US
2359689216,2359754751,SE
2359754752,2359820287,CA
-2359820288,2359885823,AU
+2359820288,2359884799,AU
+2359884800,2359885823,NZ
2359885824,2360672255,US
2360672256,2360737791,DE
2360737792,2360868863,US
@@ -62732,12 +64080,9 @@
2372224512,2372225023,GB
2372225024,2372225791,US
2372225792,2372226559,NL
-2372226560,2372227071,US
2372227072,2372227583,RU
2372227584,2372228607,KR
-2372228608,2372229119,US
2372229120,2372229375,FR
-2372229376,2372230655,US
2372230656,2372231679,CZ
2372231680,2372232191,GB
2372232192,2372233215,CL
@@ -62814,9 +64159,7 @@
2372993024,2373025791,DE
2373025792,2373026047,SG
2373026048,2373029887,DE
-2373029888,2373033983,US
-2373033984,2373036031,DE
-2373036032,2373038079,US
+2373029888,2373038079,US
2373038080,2373058559,DE
2373058560,2373124095,US
2373124096,2373189631,FR
@@ -62909,17 +64252,21 @@
2378210560,2378211071,NO
2378211072,2378235903,FI
2378235904,2378236415,CA
-2378236416,2378237951,ES
+2378236416,2378237183,ES
+2378237184,2378237439,US
+2378237440,2378237951,ES
2378237952,2378238975,US
2378238976,2378239487,CA
2378239488,2378240511,US
2378240512,2378242047,ES
-2378242048,2378242559,US
-2378242560,2378248191,ES
+2378242048,2378242815,US
+2378242816,2378248191,ES
2378248192,2378250751,US
2378250752,2378251263,ES
-2378251264,2378252287,US
-2378252288,2378301439,ES
+2378251264,2378252543,US
+2378252544,2378254335,ES
+2378254336,2378254591,US
+2378254592,2378301439,ES
2378301440,2378366975,FR
2378366976,2378432511,US
2378432512,2378498047,TR
@@ -63118,7 +64465,9 @@
2394947584,2395013119,US
2395013120,2395209727,CA
2395209728,2395340799,US
-2395340800,2395807743,CA
+2395340800,2395804415,CA
+2395804416,2395804671,US
+2395804672,2395807743,CA
2395807744,2395815935,US
2395815936,2395841023,CA
2395841024,2395841535,GB
@@ -63164,7 +64513,9 @@
2399206400,2399207423,BR
2399207424,2401828863,US
2401828864,2401894399,GB
-2401894400,2402222079,US
+2401894400,2402157055,US
+2402157056,2402157311,JP
+2402157312,2402222079,US
2402222080,2402287615,IE
2402287616,2402418687,US
2402418688,2402484223,AT
@@ -63226,10 +64577,7 @@
2408165376,2408169471,BR
2408169472,2408170495,TT
2408170496,2408178687,BR
-2408178688,2408178695,IT
-2408178696,2408179375,HN
-2408179376,2408179391,IT
-2408179392,2408179423,HN
+2408178688,2408179423,HN
2408179424,2408179431,IT
2408179432,2408179711,HN
2408179712,2408182783,BR
@@ -63268,7 +64616,16 @@
2411363840,2411462655,US
2411462656,2411528191,AU
2411528192,2411593727,JP
-2411593728,2411749375,US
+2411593728,2411675647,US
+2411675648,2411685887,CN
+2411685888,2411707391,US
+2411707392,2411708415,CN
+2411708416,2411710463,NL
+2411710464,2411715583,JP
+2411715584,2411716607,FR
+2411716608,2411723775,US
+2411723776,2411724287,DK
+2411724288,2411749375,US
2411749376,2411753471,MY
2411753472,2411757567,SG
2411757568,2411986943,US
@@ -63548,7 +64905,7 @@
2419064832,2419065855,BD
2419065856,2419067903,HK
2419067904,2419068927,CN
-2419068928,2419069951,NL
+2419068928,2419069951,AU
2419069952,2419071999,VN
2419072000,2419073023,PH
2419073024,2419074047,HK
@@ -63577,7 +64934,7 @@
2419095552,2419096575,PK
2419096576,2419098623,HK
2419098624,2419099647,PK
-2419099648,2419100671,SG
+2419099648,2419100671,KH
2419100672,2419101695,HK
2419101696,2419102719,MY
2419102720,2419103743,BD
@@ -63595,7 +64952,7 @@
2419120128,2419121151,HK
2419121152,2419122175,CN
2419122176,2419123199,IN
-2419123200,2419124223,SG
+2419123200,2419124223,KH
2419124224,2419125247,AU
2419125248,2419127295,HK
2419127296,2419128319,AU
@@ -63663,7 +65020,9 @@
2426962528,2426962543,US
2426962544,2426962551,CA
2426962552,2426962623,US
-2426962624,2426994687,CA
+2426962624,2426978303,CA
+2426978304,2426978815,NL
+2426978816,2426994687,CA
2426994688,2427224063,US
2427224064,2427256831,CA
2427256832,2427322367,GB
@@ -63689,10 +65048,9 @@
2427585680,2427585683,TR
2427585684,2427585695,US
2427585696,2427585711,AE
-2427585712,2427585791,US
-2427585792,2427585799,NL
-2427585800,2427585863,IT
-2427585864,2427585887,US
+2427585712,2427585792,US
+2427585793,2427585799,NL
+2427585800,2427585887,US
2427585888,2427585917,DE
2427585918,2427585919,US
2427585920,2427585959,FR
@@ -63702,8 +65060,8 @@
2427586000,2427586007,CH
2427586008,2427586015,US
2427586016,2427586017,BE
-2427586018,2427586047,US
-2427586048,2427586057,JP
+2427586018,2427586048,US
+2427586049,2427586057,JP
2427586058,2427586059,US
2427586060,2427586061,JP
2427586062,2427586063,US
@@ -63720,17 +65078,68 @@
2427586176,2427586217,AU
2427586218,2427586219,US
2427586220,2427586221,AU
-2427586222,2427586303,US
-2427586304,2427586309,AU
-2427586310,2427586311,US
-2427586312,2427586337,AU
-2427586338,2427586339,US
-2427586340,2427586341,AU
-2427586342,2427586343,US
-2427586344,2427586345,AU
-2427586346,2427586347,US
-2427586348,2427586349,AU
-2427586350,2427591936,US
+2427586222,2427586304,US
+2427586305,2427586309,AU
+2427586310,2427586559,US
+2427586560,2427586560,GB
+2427586561,2427586567,US
+2427586568,2427586647,GB
+2427586648,2427586649,US
+2427586650,2427586651,GB
+2427586652,2427586687,US
+2427586688,2427586709,ES
+2427586710,2427586719,US
+2427586720,2427586729,SE
+2427586730,2427586731,NO
+2427586732,2427586735,US
+2427586736,2427586741,TR
+2427586742,2427586751,US
+2427586752,2427586763,AE
+2427586764,2427586815,US
+2427586816,2427586816,NL
+2427586817,2427586823,US
+2427586824,2427586861,IT
+2427586862,2427586879,US
+2427586880,2427586913,DE
+2427586914,2427586943,US
+2427586944,2427586945,BE
+2427586946,2427586959,US
+2427586960,2427586965,NL
+2427586966,2427586967,DK
+2427586968,2427586975,US
+2427586976,2427586983,CH
+2427586984,2427586991,US
+2427586992,2427586993,AT
+2427586994,2427587007,US
+2427587008,2427587047,FR
+2427587048,2427587049,US
+2427587050,2427587051,FR
+2427587052,2427587071,US
+2427587072,2427587072,FR
+2427587073,2427587583,US
+2427587584,2427587584,JP
+2427587585,2427587591,US
+2427587592,2427587617,JP
+2427587618,2427587711,US
+2427587712,2427587712,KR
+2427587713,2427587839,US
+2427587840,2427587840,AU
+2427587841,2427587847,US
+2427587848,2427587897,AU
+2427587898,2427588095,US
+2427588096,2427588096,HK
+2427588097,2427588103,US
+2427588104,2427588115,HK
+2427588116,2427588159,US
+2427588160,2427588163,TW
+2427588164,2427588175,US
+2427588176,2427588179,MN
+2427588180,2427588351,US
+2427588352,2427588352,SG
+2427588353,2427588359,US
+2427588360,2427588365,SG
+2427588366,2427588369,TH
+2427588370,2427591936,US
2427591937,2427591937,GB
2427591938,2427591945,US
2427591946,2427591946,AT
@@ -63763,11 +65172,14 @@
2427592224,2427592239,AU
2427592240,2427592255,CN
2427592256,2427600895,US
-2427600896,2427617279,GB
+2427600896,2427609087,NL
+2427609088,2427617279,GB
2427617280,2427620095,ES
2427620096,2427620351,GB
2427620352,2427621375,ES
-2427621376,2427650047,GB
+2427621376,2427633663,GB
+2427633664,2427641855,NL
+2427641856,2427650047,GB
2427650048,2427846655,NO
2427846656,2428567551,US
2428567552,2428633087,NO
@@ -63802,9 +65214,11 @@
2430009344,2430140415,US
2430140416,2430152552,CA
2430152553,2430152553,US
-2430152554,2430168575,CA
-2430168576,2430168591,US
-2430168592,2430205951,CA
+2430152554,2430168319,CA
+2430168320,2430168591,US
+2430168592,2430169855,CA
+2430169856,2430170111,US
+2430170112,2430205951,CA
2430271488,2430918655,US
2430918656,2430922751,BR
2430922752,2431845631,US
@@ -63834,7 +65248,9 @@
2433675264,2433677311,PL
2433677312,2435115778,NL
2435115779,2435115779,GB
-2435115780,2436300799,NL
+2435115780,2435578879,NL
+2435578880,2435579903,GB
+2435579904,2436300799,NL
2436300800,2436366335,GB
2436366336,2436775935,NL
2436775936,2436775936,DE
@@ -63874,7 +65290,9 @@
2448394768,2448394771,DE
2448394772,2448394775,FR
2448394776,2448394783,DE
-2448394784,2448411183,FR
+2448394784,2448410927,FR
+2448410928,2448410943,GB
+2448410944,2448411183,FR
2448411184,2448411199,GB
2448411200,2448411439,FR
2448411440,2448411455,GB
@@ -63973,7 +65391,9 @@
2453803008,2453805055,KZ
2453805056,2453807103,FI
2453807104,2453815295,GB
-2453815296,2453831679,BG
+2453815296,2453817087,BG
+2453817088,2453817343,US
+2453817344,2453831679,BG
2453831680,2453833727,IR
2453833728,2453835775,ES
2453835776,2453837823,DE
@@ -64026,7 +65446,6 @@
2455248128,2455248895,US
2455248896,2455257087,TH
2455257088,2455261183,PH
-2455261184,2455262207,MY
2455262208,2455263231,KR
2455263232,2455265279,PH
2455265280,2455273471,US
@@ -64066,7 +65485,13 @@
2456829466,2456846335,AT
2456846336,2456846591,FR
2456846592,2456846847,CZ
-2456846848,2456862719,AT
+2456846848,2456847103,IE
+2456847104,2456847359,AT
+2456847360,2456847615,AU
+2456847616,2456847871,BR
+2456847872,2456848127,IN
+2456848128,2456848383,DK
+2456848384,2456862719,AT
2456862720,2456862975,NL
2456862976,2456863743,US
2456863744,2456863999,DE
@@ -64078,7 +65503,22 @@
2456866048,2456866559,CA
2456866560,2456866815,ZA
2456866816,2456867071,JP
-2456867072,2456875263,AT
+2456867072,2456867327,AE
+2456867328,2456867583,AU
+2456867584,2456867839,BR
+2456867840,2456868095,IN
+2456868096,2456868351,DK
+2456868352,2456868607,IE
+2456868608,2456871935,AT
+2456871936,2456872191,RO
+2456872192,2456872447,FR
+2456872448,2456872703,IE
+2456872704,2456872959,AE
+2456872960,2456873215,AU
+2456873216,2456873471,BR
+2456873472,2456873727,IN
+2456873728,2456873983,DK
+2456873984,2456875263,AT
2456875264,2456875775,CA
2456875776,2456876031,JP
2456876032,2456876287,NL
@@ -64107,7 +65547,7 @@
2457361152,2457361407,CZ
2457361408,2457362175,RU
2457362176,2457362431,UA
-2457362432,2457362687,GB
+2457362432,2457362687,RU
2457362688,2457362943,UA
2457362944,2457363455,RU
2457363456,2457363967,UA
@@ -64131,8 +65571,8 @@
2457384960,2457387007,RU
2457387008,2457388031,CZ
2457388032,2457388543,RU
-2457388544,2457388799,UA
-2457388800,2457390591,CZ
+2457388544,2457389055,UA
+2457389056,2457390591,CZ
2457390592,2457392127,RU
2457392128,2457392639,KG
2457392640,2457392895,PL
@@ -64236,8 +65676,8 @@
2462332928,2462333951,CN
2462333952,2462334975,IN
2462334976,2462335999,VN
-2462336000,2462339071,CN
-2462339072,2462342143,HK
+2462336000,2462338047,CN
+2462338048,2462342143,HK
2462342144,2462343167,CN
2462343168,2462344191,ID
2462344192,2462345215,US
@@ -64289,24 +65729,14 @@
2462572544,2462576639,US
2462576640,2462578687,GB
2462578688,2462580735,US
-2462580736,2462580736,GB
-2462580737,2462584033,US
-2462584034,2462584034,GB
-2462584035,2462589429,US
-2462589430,2462589430,GB
-2462589431,2462589752,US
-2462589753,2462589753,GB
-2462589754,2462591105,US
-2462591106,2462591106,GB
-2462591107,2462593320,US
-2462593321,2462593321,GB
-2462593322,2462597266,US
-2462597267,2462597267,GB
-2462597268,2462614527,US
-2462614528,2462614783,GB
-2462614784,2462616574,US
-2462616575,2462616575,GB
-2462616576,2463236095,US
+2462580736,2462646271,GB
+2462646272,2462717439,US
+2462717440,2462717951,DE
+2462717952,2462723071,US
+2462723072,2462723583,GB
+2462723584,2462727167,US
+2462727168,2462728191,CA
+2462728192,2463236095,US
2463236096,2463301631,AT
2463301632,2463367167,FI
2463367168,2463432703,SI
@@ -64360,7 +65790,17 @@
2465792000,2465857535,FR
2465857536,2465923071,US
2465923072,2465988607,SA
-2465988608,2466054143,US
+2465988608,2466004479,US
+2466004480,2466004991,DE
+2466004992,2466006015,US
+2466006016,2466006527,GB
+2466006528,2466007039,US
+2466007040,2466009087,GB
+2466009088,2466010623,US
+2466010624,2466011135,CA
+2466011136,2466013183,US
+2466013184,2466015231,DE
+2466015232,2466054143,US
2466054144,2466119679,SE
2466119680,2466185215,DE
2466185216,2466189311,GB
@@ -64421,7 +65861,10 @@
2470182912,2470248447,CH
2470248448,2470510591,US
2470510592,2470576127,BR
-2470576128,2470641663,AU
+2470576128,2470576383,AU
+2470576384,2470577151,AQ
+2470577152,2470577919,HM
+2470577920,2470641663,AU
2470641664,2470649855,BE
2470649856,2470707199,LU
2470707200,2470772735,GB
@@ -64610,15 +66053,21 @@
2486956544,2486957055,CA
2486957056,2486960127,US
2486960128,2487025663,FR
-2487025664,2487156735,US
+2487025664,2487103155,US
+2487103156,2487103157,MX
+2487103158,2487156735,US
2487156736,2487222271,PT
2487222272,2487222527,HK
2487222528,2487222783,JP
2487222784,2487223039,AU
2487223040,2487223295,SG
-2487223296,2487224319,US
+2487223296,2487223807,IN
+2487223808,2487224319,US
2487224320,2487224831,GB
-2487224832,2487227391,US
+2487224832,2487225087,IT
+2487225088,2487225343,US
+2487225344,2487225855,NL
+2487225856,2487227391,US
2487227392,2487227647,MX
2487227648,2487236607,US
2487236608,2487237631,GB
@@ -64814,17 +66263,35 @@
2500212992,2500213247,ES
2500213248,2500213279,US
2500213280,2500213287,FI
-2500213288,2500221455,US
+2500213288,2500213819,US
+2500213820,2500213823,NL
+2500213824,2500221455,US
2500221456,2500221459,FR
2500221460,2500222975,US
2500222976,2500225551,FR
2500225552,2500225559,ES
2500225560,2500226615,FR
2500226616,2500226623,NL
-2500226624,2500230041,FR
+2500226624,2500228351,FR
+2500228352,2500228359,NO
+2500228360,2500230041,FR
2500230042,2500230042,GB
2500230043,2500231167,FR
-2500231168,2500235775,DK
+2500231168,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,2500235775,DK
2500235776,2500236031,ES
2500236032,2500236837,DK
2500236838,2500236838,ES
@@ -64947,8 +66414,8 @@
2500702464,2500702471,GB
2500702472,2500702719,US
2500702720,2500702975,NL
-2500702976,2500719103,US
-2500719104,2500721151,IE
+2500702976,2500719615,US
+2500719616,2500721151,IE
2500721152,2500723799,US
2500723800,2500723807,ES
2500723808,2500726783,US
@@ -64970,14 +66437,20 @@
2500748800,2500755455,US
2500755456,2500756647,GB
2500756648,2500756655,IT
-2500756656,2500759159,GB
+2500756656,2500756879,GB
+2500756880,2500756887,IT
+2500756888,2500759159,GB
2500759160,2500759167,NL
-2500759168,2500761631,GB
+2500759168,2500761599,GB
+2500761600,2500761603,FR
+2500761604,2500761631,GB
2500761632,2500761639,FR
2500761640,2500761879,GB
2500761880,2500761887,FR
2500761888,2500763647,GB
-2500763648,2500777983,US
+2500763648,2500773023,US
+2500773024,2500773031,GB
+2500773032,2500777983,US
2500777984,2500777991,FR
2500777992,2500984831,US
2500984832,2500993023,GB
@@ -64989,7 +66462,9 @@
2501321472,2501321727,CZ
2501321728,2501574655,US
2501574656,2501640191,KZ
-2501640192,2502033407,US
+2501640192,2501705791,US
+2501705792,2501705799,NL
+2501705800,2502033407,US
2502033408,2502037503,LU
2502037504,2502041599,US
2502041600,2502045695,ES
@@ -65142,9 +66617,7 @@
2507173888,2507174143,US
2507175936,2507177983,CA
2507183360,2507183615,US
-2507210752,2507350015,US
-2507350016,2507354111,CA
-2507354112,2508062719,US
+2507210752,2508062719,US
2508062720,2508064767,CH
2508064768,2508066815,ES
2508066816,2508068863,RU
@@ -65271,7 +66744,9 @@
2513081936,2513081939,DE
2513081940,2513082561,FR
2513082562,2513082562,GB
-2513082563,2513102047,FR
+2513082563,2513084127,FR
+2513084128,2513084131,DE
+2513084132,2513102047,FR
2513102048,2513102063,ES
2513102064,2513102899,FR
2513102900,2513102903,CZ
@@ -65318,7 +66793,6 @@
2516541440,2516545535,GB
2516545536,2516547583,RU
2516547584,2516549631,GB
-2516549632,2516551679,RU
2516551680,2516553727,FR
2516553728,2516557823,AZ
2516557824,2516559871,RU
@@ -65680,9 +67154,10 @@
2540038144,2540240895,US
2540240896,2540306431,FI
2540306432,2540339199,DE
-2540339200,2540355583,US
+2540339200,2540347391,GB
+2540347392,2540355583,US
2540355584,2540363775,GB
-2540363776,2540896255,US
+2540367872,2540896255,US
2540896256,2540961791,FR
2540961792,2541223935,US
2541223936,2541289471,CH
@@ -65696,13 +67171,17 @@
2542141440,2542206975,US
2542206976,2542272511,TR
2542272512,2542338047,DE
-2542338048,2543583231,US
+2542338048,2542927871,US
+2542927872,2542993407,SG
+2542993408,2543583231,US
2543583232,2543648767,SE
2543648768,2543714303,NO
2543779840,2544500735,US
2544500736,2544566271,GB
2544566272,2544631807,US
-2544697344,2544828415,US
+2544697344,2544705535,US
+2544705536,2544762879,SA
+2544762880,2544828415,US
2544893952,2544959487,GB
2544959488,2545025023,SE
2545025024,2545090559,AU
@@ -65723,9 +67202,9 @@
2547515392,2547515903,RU
2547523584,2547524607,DE
2547524608,2547525631,IR
-2547525632,2547535871,GB
+2547525632,2547527679,DE
+2547527680,2547535871,GB
2547548160,2547580927,NO
-2547580928,2547646463,DE
2548039680,2548072320,GB
2548072321,2548072321,US
2548072322,2548563967,GB
@@ -65914,7 +67393,9 @@
2558658500,2558658500,PR
2558658501,2558918655,US
2558918656,2558984191,GB
-2558984192,2559246335,US
+2558984192,2559049727,US
+2559049728,2559115263,CN
+2559115264,2559246335,US
2559246336,2559311871,CL
2559311872,2559508479,US
2559508480,2559574015,DE
@@ -66005,9 +67486,7 @@
2572961280,2572961535,IT
2572961536,2572961791,ES
2572961792,2572967935,DE
-2572967936,2572968447,FR
-2572968448,2572968959,CZ
-2572968960,2572972031,FR
+2572967936,2572972031,FR
2572972032,2572974079,AT
2572974080,2572975103,ES
2572975104,2572975615,DE
@@ -66252,15 +67731,16 @@
2584766976,2584767231,NL
2584767232,2584767487,TR
2584767488,2584768511,US
-2584768512,2584770559,IL
+2584768512,2584769023,IL
+2584769024,2584769535,US
+2584769536,2584770559,IL
2584770560,2584772448,US
2584772449,2584772449,GB
2584772450,2584773631,US
2584773632,2584773887,GB
2584773888,2584775423,US
2584775424,2584775679,KE
-2584775680,2584776703,MA
-2584776704,2584778751,US
+2584775680,2584778751,US
2584778752,2584779775,DE
2584779776,2584780031,NL
2584780032,2584780287,US
@@ -66411,7 +67891,8 @@
2587287552,2587361791,US
2587361792,2587362047,MD
2587362048,2587377663,US
-2587377664,2587385855,FR
+2587377664,2587379711,IT
+2587379712,2587385855,FR
2587385856,2587394047,US
2587394048,2587399423,ES
2587399424,2587399679,US
@@ -66442,13 +67923,15 @@
2587545600,2587549695,ES
2587549696,2587582463,US
2587582464,2587587071,NL
-2587587072,2587592703,US
+2587587072,2587589631,US
+2587589632,2587589887,NL
+2587589888,2587592703,US
2587592704,2587594751,GB
2587594752,2587596799,US
2587596800,2587598847,GB
2587598848,2587607295,US
-2587607296,2587607551,DE
-2587607552,2587623423,US
+2587607296,2587607807,DE
+2587607808,2587623423,US
2587623424,2587631615,BG
2587631616,2587631871,US
2587631872,2587632127,ES
@@ -66461,8 +67944,8 @@
2587651072,2587674623,US
2587674624,2587676671,IT
2587676672,2587680767,US
-2587680768,2587684863,ES
-2587684864,2587686911,US
+2587680768,2587685375,ES
+2587685376,2587686911,US
2587686912,2587688959,ES
2587688960,2587697151,US
2587697152,2587697407,GB
@@ -66470,11 +67953,22 @@
2587698176,2587699199,GB
2587699200,2587700223,US
2587700224,2587700735,GB
-2587700736,2587713535,US
+2587700736,2587709695,US
+2587709696,2587709759,NL
+2587709760,2587709823,US
+2587709824,2587709887,IT
+2587709888,2587710975,US
+2587710976,2587711231,NL
+2587711232,2587711295,NO
+2587711296,2587711359,DE
+2587711360,2587711487,NL
+2587711488,2587713535,US
2587713536,2587714559,ES
2587714560,2587717631,US
2587717632,2587721727,ES
-2587721728,2587738111,US
+2587721728,2587722751,US
+2587722752,2587723007,GB
+2587723008,2587738111,US
2587738112,2587738623,RS
2587738624,2587740159,US
2587740160,2587742207,RS
@@ -66491,7 +67985,8 @@
2587952128,2587953151,NG
2587953152,2587954175,MU
2587954176,2587955199,ZA
-2587955200,2587959295,KE
+2587957248,2587958271,LR
+2587958272,2587959295,BJ
2587959296,2587961343,SN
2587961344,2587962367,ZA
2587962368,2587963391,SS
@@ -66861,7 +68356,6 @@
2612723712,2612789247,AU
2612789248,2613051391,US
2613051392,2613116927,GB
-2613116928,2613182463,US
2613182464,2613247999,CA
2613248000,2613313535,US
2613313536,2613379071,SD
@@ -67011,6 +68505,7 @@
2617245696,2617262079,LS
2617262080,2617266175,ZA
2617266176,2617267199,GH
+2617267200,2617268223,ZA
2617268224,2617269247,CD
2617269248,2617278463,ZA
2617278464,2617286655,GH
@@ -67070,9 +68565,7 @@
2620078592,2620078847,US
2620078848,2620129279,GB
2620129280,2620194815,CA
-2620194816,2620315039,US
-2620315040,2620315063,DE
-2620315064,2620391423,US
+2620194816,2620391423,US
2620391424,2620456959,GB
2620456960,2620522495,SE
2620522496,2620588031,AU
@@ -67108,17 +68601,7 @@
2621651968,2621652991,ES
2621652992,2621669375,PL
2621669376,2621685759,DE
-2621685760,2621685887,NO
-2621685888,2621686015,DK
-2621686016,2621686271,GB
-2621686272,2621686527,AU
-2621686528,2621686783,GB
-2621686784,2621687039,AU
-2621687040,2621687295,GB
-2621687296,2621687423,CZ
-2621687424,2621687551,PL
-2621687552,2621687807,GB
-2621687808,2621687935,AT
+2621685760,2621687935,AT
2621687936,2621688063,IE
2621688064,2621688319,AU
2621688320,2621688575,MX
@@ -67362,8 +68845,8 @@
2637630848,2637631487,IE
2637631488,2637637887,US
2637637888,2637638143,IE
-2637638144,2637638399,US
-2637638400,2637638463,IE
+2637638144,2637638431,US
+2637638432,2637638463,IE
2637638464,2637638503,US
2637638504,2637638511,IE
2637638512,2637638671,US
@@ -67371,10 +68854,10 @@
2637638816,2637638879,US
2637638880,2637638911,IE
2637638912,2637638943,US
-2637638944,2637639039,IE
-2637639040,2637639359,US
-2637639360,2637639423,IE
-2637639424,2637639551,US
+2637638944,2637639167,IE
+2637639168,2637639359,US
+2637639360,2637639391,IE
+2637639392,2637639551,US
2637639552,2637639679,IE
2637639680,2637641535,US
2637641536,2637641567,IE
@@ -67398,18 +68881,15 @@
2637686272,2637686463,IE
2637686464,2637686495,US
2637686496,2637686503,IE
-2637686504,2637686511,NL
-2637686512,2637686655,US
-2637686656,2637686783,IE
-2637686784,2637686855,US
+2637686504,2637686855,US
2637686856,2637686975,IE
2637686976,2637687215,US
2637687216,2637687615,IE
2637687616,2637687679,US
2637687680,2637688319,IE
2637688320,2637688479,US
-2637688480,2637688831,IE
-2637688832,2637722143,US
+2637688480,2637688575,IE
+2637688576,2637722143,US
2637722144,2637722175,IE
2637722176,2637722943,US
2637722944,2637722975,NL
@@ -67432,9 +68912,13 @@
2637746248,2637746255,FI
2637746256,2637746263,AT
2637746264,2637746279,NL
-2637746280,2637746287,US
+2637746280,2637746287,FI
2637746288,2637746295,FR
-2637746296,2637746687,US
+2637746296,2637746303,NL
+2637746304,2637746311,US
+2637746312,2637746319,FI
+2637746320,2637746327,FR
+2637746328,2637746687,US
2637746688,2637746703,KR
2637746704,2637746743,US
2637746744,2637746751,HK
@@ -67476,13 +68960,18 @@
2640392192,2640396287,NL
2640396288,2640397311,DE
2640397312,2640398335,AT
-2640398336,2640400383,DE
+2640398336,2640398367,DE
+2640398368,2640398399,BE
+2640398400,2640398431,NL
+2640398432,2640400383,DE
2640400384,2640404479,ES
2640404480,2640404735,NL
2640404736,2640404991,US
2640404992,2640405503,NL
2640405504,2640406527,US
-2640406528,2640408575,DE
+2640406528,2640406783,DE
+2640406784,2640407039,US
+2640407040,2640408575,DE
2640408576,2640410623,NL
2640410624,2640411135,US
2640411136,2640411391,MX
@@ -67528,7 +69017,7 @@
2641841152,2641842175,MM
2641842176,2641845247,IN
2641845248,2641846271,HK
-2641846272,2641847295,NL
+2641846272,2641847295,KH
2641847296,2641848319,IR
2641848320,2641850367,IN
2641850368,2641851391,HK
@@ -67584,7 +69073,8 @@
2643197952,2643263487,GB
2643263488,2643460095,US
2643460096,2643525631,FI
-2643525632,2643722239,US
+2643525632,2643656703,US
+2643656704,2643722239,JP
2643722240,2643787775,CN
2643787776,2644180991,US
2644180992,2644246527,AU
@@ -67879,7 +69369,16 @@
2653847552,2653849599,IN
2653849600,2653851647,FR
2653851648,2653855743,GB
-2653855744,2653880319,RU
+2653855744,2653856767,KR
+2653856768,2653859839,TH
+2653859840,2653861119,RU
+2653861120,2653861375,IL
+2653861376,2653861887,AM
+2653861888,2653862399,TJ
+2653862400,2653862911,LT
+2653862912,2653863935,TR
+2653863936,2653872127,IN
+2653872128,2653880319,RU
2653880320,2653945855,IT
2653945856,2654011391,US
2654011392,2654076927,ES
@@ -67924,12 +69423,18 @@
2655360144,2655360151,US
2655360152,2655369863,CA
2655369864,2655369871,US
-2655369872,2655387647,CA
+2655369872,2655382783,CA
+2655382784,2655383039,US
+2655383040,2655387647,CA
2655387648,2655715327,US
2655715328,2655780863,PL
2655780864,2656387071,US
2656387072,2656403455,CA
-2656403456,2656632831,US
+2656403456,2656433399,US
+2656433400,2656433400,NL
+2656433401,2656434135,US
+2656434136,2656434143,BR
+2656434144,2656632831,US
2656632832,2656698367,AU
2656698368,2656763903,FI
2656763904,2656829439,US
@@ -67954,7 +69459,9 @@
2658009088,2658074623,IT
2658074624,2658140159,US
2658140160,2658205695,NO
-2658205696,2658454491,US
+2658205696,2658439367,US
+2658439368,2658439368,BR
+2658439369,2658454491,US
2658454492,2658454492,IN
2658454493,2658459355,US
2658459356,2658459356,IN
@@ -68079,7 +69586,9 @@
2666133891,2666135551,SE
2666135552,2666201087,GB
2666201088,2667053055,US
-2667053056,2667102207,NO
+2667053056,2667089919,NO
+2667089920,2667094015,DK
+2667094016,2667102207,NO
2667102208,2667110399,DK
2667110400,2667118591,NO
2667118592,2667184127,HU
@@ -68191,30 +69700,58 @@
2671712148,2671712151,GB
2671712152,2671718827,US
2671718828,2671718831,GB
-2671718832,2671720289,US
+2671718832,2671718877,US
+2671718878,2671718878,HK
+2671718879,2671720289,US
2671720290,2671720290,GB
2671720291,2671749119,US
2671749120,2671750143,CA
-2671750144,2672295935,US
+2671750144,2671837183,US
+2671837184,2671841279,SG
+2671841280,2671845375,GB
+2671845376,2671849471,US
+2671849472,2671853567,GB
+2671853568,2671857663,US
+2671857664,2671861759,GB
+2671861760,2671865855,US
+2671865856,2671869951,DE
+2671869952,2671874047,SG
+2671874048,2671878143,IN
+2671878144,2671886335,US
+2671886336,2671890431,NL
+2671890432,2671891455,GB
+2671891456,2672295935,US
2672295936,2672296959,ES
2672296960,2672361471,SE
2672361472,2672427007,AU
-2672427008,2672820223,US
+2672427008,2672492543,US
+2672492544,2672558079,CN
+2672558080,2672820223,US
2672820224,2672885759,JP
2672885760,2672951295,NO
2672951296,2673082367,US
2673082368,2673147903,FR
2673147904,2673213439,US
2673213440,2673278975,GB
-2673278976,2673410485,US
-2673410486,2673410486,DE
-2673410487,2673434623,US
+2673278976,2673410047,US
+2673410048,2673418239,DE
+2673418240,2673425151,US
+2673425152,2673425407,DE
+2673425408,2673425663,US
+2673425664,2673425919,GB
+2673425920,2673426175,IN
+2673426176,2673426431,CA
+2673426432,2673434623,US
2673434624,2673438719,DE
-2673438720,2673451007,US
+2673438720,2673442815,CA
+2673442816,2673451007,US
2673451008,2673455103,IN
-2673455104,2673463295,US
-2673463296,2673464319,SG
-2673464320,2673475583,US
+2673455104,2673459199,US
+2673459200,2673464319,SG
+2673464320,2673465343,DE
+2673465344,2673473535,US
+2673473536,2673474559,GB
+2673474560,2673475583,US
2673475584,2673541119,VE
2673541120,2673606655,US
2673606656,2673672191,GB
@@ -68312,7 +69849,11 @@
2675606976,2675607039,IT
2675607040,2675608735,US
2675608736,2675608739,IT
-2675608740,2675611295,US
+2675608740,2675610623,US
+2675610624,2675610655,IT
+2675610656,2675611227,US
+2675611228,2675611228,IT
+2675611229,2675611295,US
2675611296,2675611359,IT
2675611360,2675612715,US
2675612716,2675612719,IT
@@ -68345,8 +69886,8 @@
2675628448,2675630095,US
2675630096,2675630111,GB
2675630112,2675631327,US
-2675631328,2675631343,GB
-2675631344,2675633183,US
+2675631328,2675631359,GB
+2675631360,2675633183,US
2675633184,2675633215,GB
2675633216,2675636170,US
2675636171,2675636171,GB
@@ -68374,7 +69915,9 @@
2677538816,2677604351,FI
2677604352,2677635071,US
2677635072,2677636095,CN
-2677636096,2677640959,US
+2677636096,2677639167,US
+2677639168,2677639679,CA
+2677639680,2677640959,US
2677640960,2677641471,CA
2677641472,2677642239,US
2677642240,2677642495,ES
@@ -68543,7 +70086,9 @@
2680487936,2680553471,GB
2680553472,2680684543,US
2680684544,2680750079,SE
-2680750080,2681012223,US
+2680750080,2680881151,US
+2680881152,2680897535,CA
+2680897536,2681012223,US
2681012224,2681077759,PL
2681077760,2681143295,CA
2681143296,2681208831,AU
@@ -68621,7 +70166,9 @@
2684190720,2684198911,NL
2684198912,2684200959,GB
2684200960,2684203007,RU
-2684203008,2684205055,GB
+2684203008,2684204031,GB
+2684204032,2684204543,US
+2684204544,2684205055,GB
2684205056,2684207103,IT
2684207104,2684213247,GB
2684213248,2684215295,SE
@@ -68739,23 +70286,13 @@
2689335296,2689400831,US
2689400832,2689466367,MA
2689466368,2689531903,IT
-2689531904,2689535999,US
-2689536000,2689536511,GB
-2689536512,2689541631,US
-2689541632,2689541887,GB
-2689541888,2689545727,US
-2689545728,2689546239,GB
-2689546240,2689566207,US
-2689566208,2689566719,GB
-2689566720,2689568255,US
-2689568256,2689568767,GB
-2689568768,2689586687,US
-2689586688,2689587199,GB
-2689587200,2689593343,US
-2689593344,2689593855,GB
-2689593856,2689594111,US
-2689594112,2689594879,GB
-2689594880,2689597439,US
+2689531904,2689536255,US
+2689536256,2689536511,GB
+2689536512,2689586687,US
+2689586688,2689586943,GB
+2689586944,2689593343,US
+2689593344,2689593599,GB
+2689593600,2689597439,US
2689597440,2689662975,IT
2689662976,2689801904,US
2689801905,2689801905,DE
@@ -68819,7 +70356,8 @@
2692216320,2692216831,NG
2692216832,2692218879,ZA
2692218880,2692284415,CI
-2692284416,2692546559,ZA
+2692284416,2692349951,US
+2692349952,2692546559,ZA
2692546560,2694316031,US
2694316032,2694381567,NG
2694381568,2694447103,US
@@ -68829,7 +70367,7 @@
2695920284,2695920284,EH
2695920285,2696151039,MA
2696151040,2696216575,IT
-2696216576,2696282111,BG
+2696216576,2696282111,ZA
2696282112,2696413183,GM
2696413184,2696478719,US
2696478720,2696609791,JP
@@ -68885,7 +70423,6 @@
2699034624,2699165695,AO
2699165696,2699198463,NG
2699198464,2699211263,ZA
-2699211264,2699211519,KE
2699211520,2699211775,GH
2699211776,2699212799,ZA
2699212800,2699213823,BF
@@ -68903,13 +70440,15 @@
2699957248,2699957503,JP
2699957760,2699958271,US
2699959808,2699960063,JP
-2699960320,2699960831,JP
+2699960320,2699960575,JP
2699960832,2699961343,HK
-2699961344,2699962879,JP
+2699962368,2699962623,JP
2699962880,2699964415,US
-2699964416,2699966975,JP
+2699964416,2699964927,ZA
+2699965184,2699965439,JP
+2699966464,2699966719,JP
2699966976,2699967487,HK
-2699967488,2699968511,JP
+2699968000,2699968255,JP
2699968512,2699969535,CN
2699969536,2699972607,IN
2699972608,2699973631,NZ
@@ -68938,33 +70477,22 @@
2700263424,2700279807,TG
2700279808,2700935167,JP
2700935168,2701066239,US
-2701066240,2701131775,BG
-2701131776,2701131807,HN
-2701131808,2701131823,CA
-2701131824,2701132159,HN
-2701132160,2701132175,CR
-2701132176,2701132391,HN
-2701132392,2701132399,CR
-2701132400,2701133631,HN
+2701066240,2701131775,ZA
+2701131776,2701133631,HN
2701133632,2701133647,ES
-2701133648,2701134447,HN
-2701134448,2701134463,US
-2701134464,2701135583,HN
-2701135584,2701135599,US
-2701135600,2701136095,HN
+2701133648,2701136095,HN
2701136096,2701136111,US
2701136112,2701137903,HN
2701137904,2701137911,BR
2701137912,2701138607,HN
2701138608,2701138615,UY
-2701138616,2701139135,HN
-2701139136,2701139151,UY
-2701139152,2701139479,HN
+2701138616,2701139479,HN
2701139480,2701139487,NL
2701139488,2701139967,HN
2701139968,2701148159,NI
2701148160,2701149183,AR
-2701149184,2701150207,HN
+2701149184,2701149695,US
+2701149696,2701150207,HN
2701150208,2701152255,AR
2701152256,2701156351,BQ
2701156352,2701160447,CW
@@ -68983,9 +70511,9 @@
2701393920,2701459455,NO
2701459456,2701524991,AT
2701524992,2701656063,US
-2701656064,2701688831,RU
+2701656064,2701688831,GB
2701688832,2701721087,US
-2701721088,2701721599,RU
+2701721088,2701721599,GB
2701721600,2701787135,TR
2701787136,2701852671,CO
2701852672,2701918207,US
@@ -68999,8 +70527,8 @@
2702573568,2702581759,AR
2702581760,2702583807,VE
2702583808,2702585855,MX
-2702585856,2702586111,PA
-2702586112,2702587903,CW
+2702585856,2702586367,PA
+2702586368,2702587903,CW
2702587904,2702589951,BR
2702589952,2702606335,GF
2702606336,2702639103,BO
@@ -69010,12 +70538,14 @@
2702835712,2702901247,US
2702901248,2702966783,IT
2702966784,2703032319,US
-2703032320,2703097855,AU
+2703032320,2703097855,NZ
2703097856,2703105023,GB
2703105024,2703105535,US
2703105536,2703127039,GB
2703127040,2703127295,US
-2703127296,2703163391,GB
+2703127296,2703149831,GB
+2703149832,2703149835,NZ
+2703149836,2703163391,GB
2703163392,2703359999,US
2703360000,2703425535,JP
2703425536,2703556607,US
@@ -69048,12 +70578,7 @@
2705195008,2705260543,CH
2705260544,2705326079,US
2705326080,2705391615,MO
-2705391616,2705399807,AU
-2705399808,2705407999,NZ
-2705408000,2705432575,AU
-2705432576,2705440767,NZ
-2705440768,2705457151,AU
-2705457152,2705522687,NZ
+2705391616,2705522687,NZ
2705522688,2705588223,ES
2705588224,2705596159,US
2705596160,2705596415,CA
@@ -69061,7 +70586,9 @@
2705688320,2705688575,DE
2705688576,2705691647,US
2705691648,2705692671,GB
-2705692672,2705710079,US
+2705692672,2705695503,US
+2705695504,2705695519,GB
+2705695520,2705710079,US
2705710080,2705711103,IN
2705711104,2705850367,US
2705850368,2705915903,ES
@@ -69219,7 +70746,9 @@
2714381312,2714381567,HK
2714381568,2714382530,US
2714382531,2714382531,HK
-2714382532,2714382580,US
+2714382532,2714382536,US
+2714382537,2714382537,HK
+2714382538,2714382580,US
2714382581,2714382581,HK
2714382582,2714384907,US
2714384908,2714384911,HK
@@ -69274,10 +70803,11 @@
2718751232,2718752767,US
2718752768,2718754815,PR
2718754816,2718756863,US
-2718756864,2718758911,IN
+2718757888,2718758911,IN
2718758912,2718760959,US
2718760960,2718826495,GB
-2718826496,2719285247,US
+2718826496,2718892031,CN
+2718892032,2719285247,US
2719285248,2719350783,CH
2719350784,2719416319,US
2719416320,2719481855,CH
@@ -69399,7 +70929,8 @@
2728316928,2728317951,BG
2728317952,2728319999,US
2728320000,2728321023,NO
-2728321024,2728322047,US
+2728321024,2728321279,TW
+2728321280,2728322047,US
2728322048,2728323071,PH
2728323072,2728324095,BE
2728324096,2728325119,FI
@@ -69417,7 +70948,7 @@
2731560960,2731561983,CA
2731561984,2731563007,US
2731563008,2731564031,CA
-2731564032,2731566079,US
+2731564032,2731565055,US
2731566080,2731567103,CA
2731567104,2731573247,US
2731573248,2731606015,CA
@@ -69514,9 +71045,10 @@
2732128768,2732129023,NL
2732129024,2732131327,US
2732131328,2732132351,CA
-2732132352,2732137215,US
+2732132352,2732136447,US
+2732136448,2732137215,CA
2732137216,2732137471,DE
-2732137472,2732138239,US
+2732137472,2732138239,CA
2732138240,2732138495,DE
2732138496,2732145663,US
2732145664,2732146687,CA
@@ -69568,7 +71100,8 @@
2732390400,2732391423,CA
2732391424,2732395519,US
2732395520,2732396543,CA
-2732396544,2732411903,US
+2732396544,2732408831,US
+2732410880,2732411903,US
2732411904,2732412927,AU
2732412928,2732423167,US
2732423168,2732425215,CA
@@ -69741,9 +71274,7 @@
2734362624,2734363647,CA
2734363648,2734366719,US
2734366720,2734368767,NL
-2734368768,2734374143,US
-2734374144,2734374911,CA
-2734374912,2734376959,US
+2734368768,2734376959,US
2734376960,2734379007,CA
2734379008,2734380799,US
2734380800,2734381055,VG
@@ -69799,7 +71330,8 @@
2734491648,2734492671,CA
2734492672,2734493695,US
2734493696,2734494719,MY
-2734494720,2734502911,US
+2734494720,2734495231,CA
+2734495232,2734502911,US
2734502912,2734503935,CA
2734503936,2734515199,US
2734515200,2734516223,DM
@@ -69809,7 +71341,9 @@
2734524416,2734526463,CA
2734526464,2734532607,US
2734532608,2734533631,VI
-2734533632,2734553087,US
+2734533632,2734540799,US
+2734540800,2734541823,CA
+2734541824,2734553087,US
2734553088,2734555135,CA
2734555136,2734565375,US
2734565376,2734566399,CA
@@ -69837,7 +71371,10 @@
2734659584,2734665727,US
2734665728,2734666751,CA
2734666752,2734672895,US
-2734672896,2734675967,CA
+2734672896,2734674431,CA
+2734674432,2734674943,US
+2734674944,2734675455,NL
+2734675456,2734675967,CA
2734675968,2734678015,BM
2734678016,2734679039,US
2734679040,2734680063,CA
@@ -69948,7 +71485,7 @@
2738215936,2738216959,CN
2738216960,2738217983,MY
2738217984,2738220031,AU
-2738220032,2738222079,CN
+2738221056,2738222079,CN
2738222080,2738223103,MO
2738223104,2738224127,AU
2738224128,2738225151,IN
@@ -70100,9 +71637,7 @@
2756313088,2756378623,US
2756378624,2756444159,AU
2756444160,2756509695,US
-2756509696,2756556543,CL
-2756556544,2756556799,PE
-2756556800,2756575231,CL
+2756509696,2756575231,CL
2756575232,2756640767,SG
2756640768,2756706303,US
2756706304,2756771839,AU
@@ -70197,7 +71732,9 @@
2760162682,2760162682,PL
2760162683,2760166682,FR
2760166683,2760166683,DE
-2760166684,2760175522,FR
+2760166684,2760166701,FR
+2760166702,2760166702,IT
+2760166703,2760175522,FR
2760175523,2760175523,GB
2760175524,2760178162,FR
2760178163,2760178163,ES
@@ -70355,11 +71892,7 @@
2769346560,2769354751,ZA
2769485824,2769616895,US
2769616896,2769682431,SG
-2769682432,2769747967,US
-2769747968,2769813503,CA
-2769813504,2769879039,US
-2769879040,2769944575,ZA
-2769944576,2770272255,US
+2769682432,2770272255,US
2770272256,2770337791,AU
2770337792,2770993151,US
2770993152,2771124223,IN
@@ -70375,7 +71908,9 @@
2773024768,2773058559,ZA
2773058560,2773059583,SZ
2773059584,2773061631,ZA
-2773061632,2773065727,CM
+2773061632,2773062143,CM
+2773062144,2773062399,US
+2773062400,2773065727,CM
2773065728,2773073919,ZA
2773073920,2773082111,NG
2773082112,2773085183,ZA
@@ -70427,9 +71962,13 @@
2776104960,2776170495,GB
2776170496,2776478975,US
2776478976,2776479231,AU
-2776479232,2776891391,US
+2776479232,2776479999,US
+2776480000,2776480511,NL
+2776480512,2776480767,US
+2776480768,2776481535,GB
+2776481536,2776891391,US
2776891392,2777022463,KR
-2777022464,2777481215,US
+2777022464,2777415679,US
2777481216,2777546751,KR
2777546752,2777612287,AU
2777612288,2778071039,ZA
@@ -70444,7 +71983,9 @@
2779971584,2780037119,US
2780037120,2780039167,ZA
2780039168,2780043263,US
-2780043264,2780073471,ZA
+2780043264,2780071935,ZA
+2780071936,2780072191,US
+2780072192,2780073471,ZA
2780073472,2780073727,AU
2780073728,2780075007,ZA
2780075008,2780075519,US
@@ -70524,7 +72065,9 @@
2782990336,2782990847,GB
2782990848,2782992383,US
2782992384,2782992895,DE
-2782992896,2782995455,US
+2782992896,2782993407,US
+2782993408,2782993919,NL
+2782993920,2782995455,US
2782995456,2782995519,CA
2782995520,2782995527,US
2782995528,2782995531,CA
@@ -70539,8 +72082,8 @@
2783004160,2783004671,CH
2783004672,2783004927,US
2783004928,2783005695,DE
-2783005696,2783005951,FR
-2783005952,2783006719,US
+2783005696,2783006463,FR
+2783006464,2783006719,US
2783006720,2783007487,GB
2783007488,2783007743,US
2783007744,2783008255,PL
@@ -70556,57 +72099,15 @@
2783012352,2783012607,TW
2783012608,2783012863,US
2783012864,2783013887,IN
-2783013888,2783125729,US
-2783125730,2783125730,CA
-2783125731,2783126051,US
-2783126052,2783126052,CA
-2783126053,2783126581,US
-2783126582,2783126582,CA
-2783126583,2783126603,US
-2783126604,2783126604,CA
-2783126605,2783126647,US
-2783126648,2783126648,CA
-2783126649,2783126649,US
-2783126650,2783126650,CA
-2783126651,2783126682,US
-2783126683,2783126683,CA
-2783126684,2783126684,US
-2783126685,2783126685,CA
-2783126686,2783126692,US
-2783126693,2783126693,CA
-2783126694,2783126701,US
-2783126702,2783126702,CA
-2783126703,2783126760,US
-2783126761,2783126761,CA
-2783126762,2783126771,US
-2783126772,2783126772,CA
-2783126773,2783127050,US
-2783127051,2783127051,CA
-2783127052,2783127578,US
-2783127579,2783127579,CA
-2783127580,2783128073,US
-2783128074,2783128074,CA
-2783128075,2783128142,US
-2783128143,2783128143,CA
-2783128144,2783128616,US
-2783128617,2783128617,CA
-2783128618,2783128622,US
-2783128623,2783128623,CA
-2783128624,2783128647,US
-2783128648,2783128648,CA
-2783128649,2783128728,US
-2783128729,2783128729,CA
-2783128730,2783158802,US
-2783158803,2783158803,DE
-2783158804,2783159015,US
-2783159016,2783159016,DE
-2783159017,2783160412,US
-2783160413,2783160413,DE
-2783160414,2783162286,US
-2783162287,2783162287,DE
-2783162288,2783175911,US
-2783175912,2783175912,GB
-2783175913,2783182847,US
+2783013888,2783125503,US
+2783125504,2783129599,CA
+2783129600,2783150079,US
+2783150080,2783162367,DE
+2783162368,2783174655,US
+2783174656,2783178751,GB
+2783178752,2783179775,US
+2783179776,2783180799,DE
+2783180800,2783182847,US
2783182848,2783248383,AU
2783248384,2783313919,KR
2783313920,2783379455,US
@@ -70726,19 +72227,23 @@
2807589120,2807589375,RO
2807589376,2807589631,FR
2807589632,2807589887,PT
-2807589888,2807590143,AT
+2807589888,2807590143,NL
2807590144,2807590399,MT
2807590400,2807590655,GR
2807590656,2807590911,SA
2807590912,2807595007,US
2807595008,2807599103,CA
-2807599104,2807607295,US
+2807599104,2807606204,US
+2807606205,2807606205,GB
+2807606206,2807607295,US
2807607296,2807611391,CA
2807611392,2807824383,US
2807824384,2807889919,CA
2807889920,2808217599,US
2808217600,2808283135,GB
-2808283136,2808545279,US
+2808283136,2808291327,US
+2808291328,2808295423,NL
+2808295424,2808545279,US
2808545280,2808610815,AU
2808610816,2808872959,US
2808872960,2808938495,UY
@@ -70771,7 +72276,9 @@
2809297712,2809297712,US
2809297713,2809297845,CA
2809297846,2809297846,US
-2809297847,2809302815,CA
+2809297847,2809299455,CA
+2809299456,2809299967,US
+2809299968,2809302815,CA
2809302816,2809302831,US
2809302832,2809308599,CA
2809308600,2809308607,US
@@ -70850,9 +72357,7 @@
2816271616,2816271871,JP
2816271872,2816272127,IN
2816272128,2816272383,AU
-2816272384,2816272415,JP
-2816272416,2816272543,SG
-2816272544,2816273407,JP
+2816272384,2816273407,JP
2816273408,2816274431,IN
2816274432,2816275455,AU
2816275456,2816276479,CN
@@ -70876,7 +72381,7 @@
2818115584,2818116607,PE
2818116608,2818118655,BR
2818118656,2818119679,SV
-2818119680,2818121727,BR
+2818119680,2818120703,BR
2818121728,2818122751,VE
2818122752,2818123775,BR
2818123776,2818124799,CO
@@ -70917,9 +72422,7 @@
2818229248,2818231295,BR
2818231296,2818232319,PE
2818232320,2818233343,AR
-2818233344,2818233911,HN
-2818233912,2818233919,IT
-2818233920,2818234095,HN
+2818233344,2818234095,HN
2818234096,2818234111,IT
2818234112,2818234367,HN
2818234368,2818235391,BR
@@ -70939,9 +72442,7 @@
2818620416,2818623487,BR
2818623488,2818625535,AR
2818625536,2818626559,BR
-2818626560,2818626783,HN
-2818626784,2818626799,BR
-2818626800,2818627583,HN
+2818626560,2818627583,HN
2818627584,2818628607,BR
2818628608,2818629631,MX
2818629632,2818634751,BR
@@ -70956,7 +72457,9 @@
2818672000,2818672127,AU
2818672128,2818672191,US
2818672192,2818672207,AU
-2818672208,2818687952,US
+2818672208,2818672720,US
+2818672721,2818672735,AU
+2818672736,2818687952,US
2818687953,2818687959,AU
2818687960,2821932367,US
2821932368,2821932371,NO
@@ -71006,8 +72509,8 @@
2824493056,2824494079,BR
2824494080,2824495103,CO
2824495104,2824495215,HN
-2824495216,2824495231,DE
-2824495232,2824495263,HN
+2824495216,2824495223,DE
+2824495224,2824495263,HN
2824495264,2824495279,DE
2824495280,2824495943,HN
2824495944,2824495951,NL
@@ -71017,13 +72520,9 @@
2824496128,2824498175,BR
2824498176,2824498303,HN
2824498304,2824498319,FR
-2824498320,2824498527,HN
-2824498528,2824498535,FR
-2824498536,2824498895,HN
+2824498320,2824498895,HN
2824498896,2824498903,UY
-2824498904,2824499119,HN
-2824499120,2824499127,UY
-2824499128,2824499199,HN
+2824498904,2824499199,HN
2824499200,2824503295,BR
2824503296,2824504319,AR
2824504320,2824510463,BR
@@ -71157,9 +72656,7 @@
2830441472,2830445567,BR
2830445568,2830446591,AR
2830446592,2830447615,BR
-2830447616,2830447647,HN
-2830447648,2830447655,US
-2830447656,2830448639,HN
+2830447616,2830448639,HN
2830448640,2830452735,BR
2830452736,2830453759,AR
2830453760,2830454783,MX
@@ -71178,11 +72675,7 @@
2830482432,2830486527,BR
2830486528,2830488575,AR
2830488576,2830492671,BR
-2830492672,2830492799,US
-2830492800,2830492815,UY
-2830492816,2830492895,US
-2830492896,2830492927,UY
-2830492928,2830493183,US
+2830492672,2830493183,US
2830493184,2830493695,HN
2830493696,2830499839,BR
2830499840,2830761983,US
@@ -71267,11 +72760,12 @@
2831468544,2831469567,CL
2831469568,2831474687,BR
2831474688,2831475711,AR
-2831475712,2831476735,CL
2831476736,2831477759,BR
2831477760,2831478167,HN
2831478168,2831478175,US
-2831478176,2831479807,HN
+2831478176,2831478271,HN
+2831478272,2831478287,UY
+2831478288,2831479807,HN
2831479808,2831480831,AR
2831480832,2831481855,BR
2831481856,2831482879,AR
@@ -71370,9 +72864,9 @@
2833482680,2833482687,CL
2833482688,2833482751,HN
2833482752,2833484799,BR
-2833484800,2833485519,US
+2833484800,2833485519,HN
2833485520,2833485527,BE
-2833485528,2833485823,US
+2833485528,2833485823,HN
2833485824,2833486847,AR
2833486848,2833501183,BR
2833501184,2833502207,AR
@@ -71381,9 +72875,7 @@
2833512448,2833513471,BR
2833513472,2833514495,AR
2833514496,2833525759,BR
-2833525760,2833526639,HN
-2833526640,2833526655,FR
-2833526656,2833526783,HN
+2833525760,2833526783,HN
2833526784,2833527807,CR
2833527808,2833528831,MX
2833528832,2833529855,AR
@@ -71440,8 +72932,8 @@
2834030592,2834034687,CA
2834034688,2834497535,US
2834497536,2834563071,SV
-2834563072,2834661887,US
-2834661888,2834662399,CA
+2834563072,2834661375,US
+2834661376,2834662399,CA
2834662400,2834668799,US
2834668800,2834669055,CA
2834669056,2834676735,US
@@ -71505,7 +72997,9 @@
2838646208,2838646239,GB
2838646240,2838647807,US
2838647808,2838647839,GB
-2838647840,2838650527,US
+2838647840,2838648447,US
+2838648448,2838648479,GB
+2838648480,2838650527,US
2838650528,2838650559,GB
2838650560,2838653631,US
2838653632,2838653639,GB
@@ -71689,11 +73183,7 @@
2852121600,2852122623,NG
2852122624,2852126719,ZA
2852126720,2852127743,BR
-2852127744,2852127983,HN
-2852127984,2852127991,NL
-2852127992,2852128087,HN
-2852128088,2852128095,NL
-2852128096,2852128767,HN
+2852127744,2852128767,HN
2852128768,2852129791,AR
2852129792,2852130815,MX
2852130816,2852131839,SX
@@ -71876,8 +73366,7 @@
2857496576,2857497599,PE
2857497600,2857499647,BR
2857499648,2857500671,CO
-2857500672,2857501183,HN
-2857501184,2857501695,US
+2857500672,2857501695,HN
2857501696,2857506815,BR
2857506816,2857507839,DO
2857507840,2857509887,BR
@@ -71924,15 +73413,14 @@
2857596928,2857597951,BR
2857597952,2857598975,AR
2857598976,2857611263,BR
-2857611264,2857612287,US
+2857611264,2857612287,HN
2857612288,2857615359,BR
2857615360,2857616383,HT
2857616384,2857621503,BR
2857621504,2857622527,EC
2857622528,2857623551,AR
2857623552,2857625599,BR
-2857625600,2857627135,HN
-2857627136,2857627647,US
+2857625600,2857627647,HN
2857627648,2857628671,PY
2857628672,2857633791,BR
2857633792,2857634815,TT
@@ -72011,7 +73499,13 @@
2864844800,2864845055,NL
2864845056,2864848895,US
2864848896,2864857087,GB
-2864857088,2865252095,US
+2864857088,2865168383,US
+2865168384,2865201151,CA
+2865201152,2865219583,US
+2865219584,2865219839,CA
+2865219840,2865228799,US
+2865228800,2865229311,CA
+2865229312,2865252095,US
2865252096,2865252351,GB
2865252352,2865577983,US
2865577984,2865610751,BE
@@ -72045,8 +73539,9 @@
2867325952,2867326975,PA
2867326976,2867329023,BR
2867329024,2867329295,HN
-2867329296,2867329311,NL
-2867329312,2867330047,HN
+2867329296,2867329303,NL
+2867329304,2867329535,HN
+2867329536,2867330047,US
2867330048,2867331071,BR
2867331072,2867396607,US
2867396608,2867403775,BR
@@ -72338,7 +73833,9 @@
2868619776,2868620287,IN
2868620288,2868620799,US
2868620800,2868621311,IN
-2868621312,2868632575,US
+2868621312,2868627455,US
+2868627456,2868627967,GB
+2868627968,2868632575,US
2868632576,2868633087,BR
2868633088,2868674336,US
2868674337,2868674337,SE
@@ -72437,7 +73934,8 @@
2870600704,2870600959,DK
2870600960,2870601215,BE
2870601216,2870601727,PL
-2870601728,2870603775,RU
+2870601728,2870602751,RU
+2870602752,2870603775,UA
2870603776,2870604031,LT
2870604032,2870604287,UA
2870604288,2870607871,RU
@@ -72530,7 +74028,25 @@
2890204160,2890216447,US
2890216448,2890217471,NL
2890217472,2890218495,GR
-2890218496,2890956799,US
+2890218496,2890222591,US
+2890222592,2890223615,NP
+2890223616,2890224639,KH
+2890224640,2890226687,US
+2890226688,2890227711,MU
+2890227712,2890229759,US
+2890229760,2890230783,IN
+2890230784,2890231807,JP
+2890231808,2890232831,US
+2890232832,2890233855,TR
+2890233856,2890234879,IE
+2890234880,2890235903,SA
+2890235904,2890236927,IL
+2890236928,2890237951,SG
+2890237952,2890239999,US
+2890240000,2890241023,IS
+2890241024,2890242047,RO
+2890242048,2890243071,JP
+2890243072,2890956799,US
2890956800,2890989567,AE
2890989568,2891017215,US
2891017216,2891017471,JP
@@ -72545,6 +74061,27 @@
2891056640,2891058943,US
2891058944,2891059199,FR
2891059200,2891120639,US
+2891120640,2891120895,CA
+2891120896,2891134975,US
+2891134976,2891135999,CA
+2891136000,2891138047,US
+2891138048,2891141119,CA
+2891142144,2891142655,CA
+2891142656,2891147263,US
+2891147264,2891148287,CA
+2891148288,2891151359,US
+2891152384,2891153151,US
+2891153152,2891153407,CA
+2891153408,2891161599,US
+2891161600,2891165695,CA
+2891165696,2891173631,US
+2891173632,2891177983,CA
+2891177984,2891186175,US
+2891186176,2891202559,CA
+2891202560,2891223295,US
+2891223296,2891223551,PR
+2891223552,2891235327,US
+2891235328,2891251711,VI
2891251712,2891272191,US
2891272192,2891274239,CA
2891274240,2891277823,US
@@ -72569,7 +74106,9 @@
2891807232,2891807487,GB
2891807488,2891807743,US
2891807744,2891808767,CA
-2891808768,2891841535,US
+2891808768,2891824127,US
+2891824128,2891824639,AR
+2891824640,2891841535,US
2891841536,2891841791,SE
2891841792,2891842303,US
2891842304,2891842559,GB
@@ -72583,7 +74122,7 @@
2891845888,2891846399,DE
2891846400,2891846655,NL
2891846656,2891846911,US
-2891846912,2891847167,KY
+2891846912,2891847167,NL
2891847168,2891848447,US
2891848448,2891848703,JP
2891848704,2891848959,US
@@ -72636,7 +74175,8 @@
2891865856,2891866111,US
2891866112,2891866367,AU
2891866368,2891866623,BB
-2891866624,2891867391,AU
+2891866624,2891866879,HM
+2891866880,2891867391,AU
2891867392,2891867647,AT
2891867648,2891867903,US
2891867904,2891868159,AU
@@ -72648,7 +74188,7 @@
2891869952,2891870207,DE
2891870208,2891870463,RU
2891870464,2891870719,KY
-2891870720,2891870975,NO
+2891870720,2891870975,BV
2891870976,2891871231,US
2891871232,2891871487,CA
2891871488,2891874047,US
@@ -72752,7 +74292,9 @@
2892513280,2892529663,JP
2892529664,2892537855,DE
2892537856,2892546047,SG
-2892546048,2892611583,US
+2892546048,2892560817,US
+2892560818,2892560818,DE
+2892560819,2892611583,US
2892611584,2892627967,JP
2892627968,2892906495,US
2892906496,2892910591,CA
@@ -72813,8 +74355,7 @@
2892997120,2892997375,CA
2892997376,2892997631,BG
2892997632,2892997887,AU
-2892997888,2892998143,JP
-2892998144,2892998399,US
+2892997888,2892998399,US
2892998400,2892998655,GB
2892998656,2892998911,HK
2892998912,2892999167,MX
@@ -72852,7 +74393,7 @@
2893008896,2893009151,AF
2893009152,2893009663,US
2893009664,2893010175,GB
-2893010176,2893010431,IT
+2893010176,2893010431,US
2893010432,2893010687,DE
2893010688,2893010943,US
2893010944,2893011199,AT
@@ -72861,8 +74402,7 @@
2893011712,2893011967,US
2893011968,2893012223,FR
2893012224,2893012479,ES
-2893012480,2893012735,DK
-2893012736,2893015039,US
+2893012480,2893015039,US
2893015040,2893015295,CA
2893015296,2893015551,BS
2893015552,2893016575,US
@@ -73021,7 +74561,8 @@
2905415680,2905415935,GB
2905415936,2905450031,US
2905450032,2905450039,UY
-2905450040,2905473023,US
+2905450040,2905456639,US
+2905464832,2905473023,US
2905473024,2905481215,CA
2905481216,2905494783,US
2905494784,2905495039,DE
@@ -73061,7 +74602,8 @@
2915520640,2915520647,US
2915520648,2915520671,AU
2915520672,2915520767,US
-2915520768,2915521023,AU
+2915520768,2915520831,JP
+2915520832,2915521023,AU
2915521024,2915521279,JP
2915521280,2915521535,PL
2915521536,2915526911,US
@@ -73083,7 +74625,11 @@
2915528960,2915529023,NL
2915529024,2915529151,US
2915529152,2915529215,NL
-2915529216,2915795013,US
+2915529216,2915767759,US
+2915767760,2915767775,GB
+2915767776,2915768735,US
+2915768736,2915768767,GB
+2915768768,2915795013,US
2915795014,2915795014,MX
2915795015,2915894575,US
2915894576,2915894591,CA
@@ -73167,7 +74713,11 @@
2917115904,2917116927,NL
2917116928,2917167905,US
2917167906,2917167906,BZ
-2917167907,2917171199,US
+2917167907,2917169502,US
+2917169503,2917169503,BZ
+2917169504,2917170170,US
+2917170171,2917170171,BZ
+2917170172,2917171199,US
2917171200,2917175295,CA
2917175296,2917195775,US
2917195776,2917203967,CA
@@ -73240,7 +74790,13 @@
2917710592,2917710847,CA
2917710848,2917713919,US
2917713920,2917714175,CA
-2917714176,2917826559,US
+2917714176,2917724943,US
+2917724944,2917724959,MY
+2917724960,2917724991,US
+2917724992,2917725007,MY
+2917725008,2917726463,US
+2917726464,2917726495,CR
+2917726496,2917826559,US
2917826560,2917828351,NL
2917828352,2917828479,IN
2917828480,2917828607,NL
@@ -73310,9 +74866,7 @@
2918502912,2918503167,SG
2918503168,2918527231,US
2918527232,2918527487,FR
-2918527488,2918530559,US
-2918530560,2918530815,HK
-2918530816,2918536719,US
+2918527488,2918536719,US
2918536720,2918536727,CA
2918536728,2918570239,US
2918570240,2918570495,JP
@@ -73463,9 +75017,17 @@
2928261712,2928261887,CA
2928261888,2928263167,US
2928263168,2928279551,CA
-2928279552,2928283647,US
+2928279552,2928283647,NL
2928283648,2928287743,SG
-2928287744,2928312319,US
+2928287744,2928304127,US
+2928304128,2928305151,NL
+2928305152,2928306175,US
+2928306176,2928307199,NL
+2928307200,2928308223,US
+2928308224,2928309247,CA
+2928309248,2928310271,US
+2928310272,2928311295,IN
+2928311296,2928312319,US
2928312320,2928316415,CA
2928316416,2928320511,HK
2928320512,2928328703,US
@@ -73476,32 +75038,60 @@
2928474624,2928474879,GB
2928474880,2928475135,FR
2928475136,2928541695,US
-2928541696,2928553303,CA
+2928541696,2928546143,CA
+2928546144,2928546151,MX
+2928546152,2928549527,CA
+2928549528,2928549535,US
+2928549536,2928553303,CA
2928553304,2928553311,HU
2928553312,2928555831,CA
2928555832,2928555839,SE
2928555840,2928558943,CA
2928558944,2928558951,PE
-2928558952,2928564447,CA
+2928558952,2928563639,CA
+2928563640,2928563647,PH
+2928563648,2928563775,CA
+2928563776,2928563783,FI
+2928563784,2928564447,CA
2928564448,2928564455,MX
2928564456,2928570671,CA
2928570672,2928570687,FR
-2928570688,2928579543,CA
+2928570688,2928578631,CA
+2928578632,2928578639,US
+2928578640,2928579543,CA
2928579544,2928579551,HU
2928579552,2928583735,CA
2928583736,2928583743,SY
-2928583744,2928583983,CA
+2928583744,2928583759,CA
+2928583760,2928583767,US
+2928583768,2928583983,CA
2928583984,2928583991,SE
2928583992,2928588399,CA
2928588400,2928588407,AE
-2928588408,2928595959,CA
+2928588408,2928588639,CA
+2928588640,2928588655,BR
+2928588656,2928595695,CA
+2928595696,2928595703,PL
+2928595704,2928595887,CA
+2928595888,2928595895,BE
+2928595896,2928595959,CA
2928595960,2928595967,US
2928595968,2928598919,CA
2928598920,2928598927,SA
-2928598928,2928607231,CA
-2928607232,2928633199,US
+2928598928,2928599239,CA
+2928599240,2928599247,AE
+2928599248,2928603647,CA
+2928603648,2928603663,US
+2928603664,2928607231,CA
+2928607232,2928627423,US
+2928627424,2928627431,IL
+2928627432,2928633199,US
2928633200,2928633215,CA
-2928633216,2936012799,US
+2928633216,2928638927,US
+2928638928,2928638933,AU
+2928638934,2928642653,US
+2928642654,2928642655,NG
+2928642656,2936012799,US
2936012800,2937847807,CN
2937847808,2937848831,KH
2937848832,2937849855,JP
@@ -73683,7 +75273,11 @@
2948595712,2952790015,KR
2952790016,2953314303,DE
2953314304,2953379839,UA
-2953379840,2953445375,DE
+2953379840,2953398318,DE
+2953398319,2953398319,AQ
+2953398320,2953398360,DE
+2953398361,2953398361,UM
+2953398362,2953445375,DE
2953445376,2953453567,IT
2953453568,2953455615,IS
2953455616,2953457663,SK
@@ -73883,7 +75477,6 @@
2956607488,2956611583,PS
2956611584,2956613631,IT
2956614912,2956615167,NL
-2956615168,2956615423,FR
2956615680,2956623871,GB
2956623872,2956656639,GR
2956656640,2956722175,RU
@@ -74028,7 +75621,6 @@
2959101952,2959103999,RU
2959104000,2959106047,RO
2959106048,2959114239,AT
-2959114240,2959118335,RU
2959118336,2959120383,PL
2959120384,2959122431,AT
2959122432,2959126527,PL
@@ -74362,7 +75954,6 @@
2960836608,2960838655,RU
2960839168,2960839679,IR
2960839680,2960846847,PL
-2960846848,2960847871,UA
2960847872,2960848383,PL
2960848384,2960848639,GB
2960848640,2960850943,RU
@@ -74373,7 +75964,7 @@
2960863744,2960863999,GB
2960864000,2960864255,DE
2960864256,2960864767,GB
-2960864768,2960865279,DE
+2960864768,2960865279,AT
2960865280,2960865535,RU
2960865536,2960865791,HR
2960865792,2960866303,GB
@@ -74434,7 +76025,7 @@
2961062912,2961063935,UA
2961063936,2961064191,DE
2961064192,2961064447,NL
-2961064448,2961064703,RU
+2961064448,2961064703,US
2961064704,2961064959,DE
2961064960,2961065215,HK
2961065216,2961065471,AU
@@ -74529,7 +76120,7 @@
2967435008,2967435263,IE
2967435264,2967437311,RO
2967437312,2967439359,PL
-2967439360,2967441407,RO
+2967439360,2967441407,LT
2967441408,2967445503,BG
2967445504,2967446015,GB
2967446016,2967446527,RO
@@ -74597,19 +76188,7 @@
2984247296,2984935423,MX
2984935424,2984936447,AR
2984936448,2984937471,BR
-2984937472,2984937503,HN
-2984937504,2984937511,US
-2984937512,2984937607,HN
-2984937608,2984937615,US
-2984937616,2984938079,HN
-2984938080,2984938095,US
-2984938096,2984938239,HN
-2984938240,2984938255,US
-2984938256,2984938759,HN
-2984938760,2984938767,CA
-2984938768,2984938847,HN
-2984938848,2984938863,CA
-2984938864,2984939519,HN
+2984937472,2984939519,HN
2984939520,2984951807,BR
2984951808,2984968191,EC
2984968192,2985033727,BR
@@ -75047,11 +76626,8 @@
2990274560,2990276607,GR
2990276608,2990342143,ES
2990342144,2990407679,KW
-2990407680,2990472334,GB
-2990472335,2990472335,NL
-2990472336,2990472492,GB
-2990472493,2990472493,NL
-2990472494,2990473215,GB
+2990407680,2990440447,GB
+2990440448,2990473215,NL
2990473216,2990475674,DE
2990475675,2990475675,HR
2990475676,2990538751,DE
@@ -75161,7 +76737,7 @@
2996634624,2996635647,IR
2996635648,2996637695,TR
2996637696,2996645887,FR
-2996645888,2996649983,IR
+2996645888,2996649983,US
2996649984,2996666367,RO
2996666368,2996682751,RU
2996682752,2996699135,DK
@@ -75254,19 +76830,46 @@
2997548544,2997550335,NL
2997550336,2997550847,RU
2997550848,2997551103,NL
-2997551104,2997556223,RU
-2997556224,2997557247,SG
-2997557248,2997560319,RU
-2997560320,2997560831,KR
-2997560832,2997576703,RU
-2997576704,2997576959,NL
+2997551104,2997555199,AU
+2997555200,2997557247,SG
+2997557248,2997559295,TW
+2997559296,2997560831,TR
+2997560832,2997561087,UZ
+2997561088,2997561343,RU
+2997561344,2997561855,MD
+2997561856,2997562367,EE
+2997562368,2997562879,KG
+2997562880,2997563391,AZ
+2997563392,2997564415,TR
+2997564416,2997564927,RU
+2997564928,2997565439,TR
+2997565440,2997565951,RU
+2997565952,2997566463,BY
+2997566464,2997567487,TR
+2997567488,2997567999,LV
+2997568000,2997568511,TM
+2997568512,2997568767,RU
+2997568768,2997569279,KZ
+2997569280,2997570559,RU
+2997570560,2997573631,JP
+2997573632,2997574143,RU
+2997574144,2997574655,UA
+2997574656,2997576703,KR
+2997576704,2997576959,UZ
2997576960,2997577215,GB
-2997577216,2997578239,RU
+2997577216,2997577471,IL
+2997577472,2997577727,TR
+2997577728,2997577983,RU
+2997577984,2997578239,TR
2997578240,2997578751,FR
-2997578752,2997579775,RU
-2997579776,2997581823,NL
-2997581824,2997583871,RU
-2997583872,2997616639,SY
+2997578752,2997579263,GE
+2997579264,2997579775,TR
+2997579776,2997581311,NL
+2997581312,2997581823,TR
+2997581824,2997583871,TW
+2997583872,2997596159,SY
+2997596160,2997597183,TR
+2997597184,2997616639,SY
2997616640,2997649407,SI
2997649408,2997682175,BY
2997682176,2997714943,RU
@@ -75296,8 +76899,8 @@
3000021760,3000022015,DE
3000022016,3000022271,BE
3000022272,3000022527,PT
-3000022528,3000022783,DE
-3000022784,3000025087,GB
+3000022528,3000023295,DE
+3000023296,3000025087,GB
3000025088,3000033279,GI
3000033280,3000041471,RU
3000041472,3000049919,BA
@@ -75317,7 +76920,7 @@
3000188928,3000197119,IT
3000197120,3000213503,UA
3000213504,3000221695,RU
-3000221696,3000229887,TR
+3000221696,3000229887,GB
3000229888,3000238079,CH
3000238080,3000240127,KZ
3000240128,3000242175,RU
@@ -75409,7 +77012,11 @@
3000535040,3000537087,PL
3000537088,3000539135,CZ
3000539136,3000543231,RU
-3000543232,3000545279,UA
+3000543232,3000544255,UA
+3000544256,3000544511,RU
+3000544512,3000544767,UA
+3000544768,3000545023,RU
+3000545024,3000545279,UA
3000545280,3000547327,RU
3000547328,3000549375,UA
3000549376,3000551423,SE
@@ -75565,7 +77172,7 @@
3002619904,3002621951,IT
3002621952,3002623999,NO
3002624000,3002626047,GB
-3002626048,3002628095,DE
+3002626048,3002628095,IN
3002628096,3002630143,NO
3002630144,3002632191,GB
3002632192,3002634239,EE
@@ -75751,8 +77358,7 @@
3003160064,3003160575,AR
3003160576,3003160831,CL
3003160832,3003161087,PE
-3003161088,3003161343,CO
-3003161344,3003161599,CL
+3003161088,3003161599,CL
3003161600,3003162623,UY
3003162624,3003170815,CR
3003170816,3003171071,GT
@@ -75783,33 +77389,39 @@
3005218816,3005349887,CO
3005349888,3005480959,BR
3005480960,3005874175,AR
-3005874176,3005890559,PA
-3005890560,3005890815,CO
-3005890816,3005893887,PA
-3005893888,3005894655,CO
-3005894656,3005895423,PA
-3005895424,3005896191,CO
+3005874176,3005893887,PA
+3005893888,3005894911,CO
+3005894912,3005895679,PA
+3005895680,3005896191,CO
3005896192,3005896703,PA
3005896704,3005897215,CO
3005897216,3005897471,PA
-3005897472,3005899519,CO
+3005897472,3005897727,CO
+3005897728,3005897983,PA
+3005897984,3005899519,CO
3005899520,3005900031,PA
-3005900032,3005901055,CO
+3005900032,3005900543,CO
+3005900544,3005900799,PA
+3005900800,3005901055,CO
3005901056,3005901567,PA
-3005901568,3005903103,CO
-3005903104,3005903359,PA
+3005901568,3005902335,CO
+3005902336,3005902591,PA
+3005902592,3005902847,CO
+3005902848,3005903359,PA
3005903360,3005905407,CO
3005905408,3005905663,PA
-3005905664,3005906687,CO
-3005906688,3005911039,PA
-3005911040,3005911807,CO
+3005905664,3005905919,CO
+3005905920,3005906175,PA
+3005906176,3005906687,CO
+3005906688,3005911295,PA
+3005911296,3005911807,CO
3005911808,3005912319,PA
3005912320,3005912575,CO
3005912576,3005912831,PA
3005912832,3005913087,CO
3005913088,3005913599,PA
-3005913600,3005913855,CO
-3005913856,3005914623,PA
+3005913600,3005914111,CO
+3005914112,3005914623,PA
3005914624,3005915135,CO
3005915136,3005918207,AR
3005918208,3005919231,CO
@@ -75827,8 +77439,8 @@
3006283776,3006284287,CR
3006284288,3006284543,PA
3006284544,3006284799,CR
-3006284800,3006285055,PA
-3006285056,3006285567,CR
+3006284800,3006285311,PA
+3006285312,3006285567,CR
3006285568,3006286335,PA
3006286336,3006286591,CR
3006286592,3006286847,PA
@@ -75838,28 +77450,28 @@
3006288384,3006288639,PA
3006288640,3006289151,CR
3006289152,3006289663,PA
-3006289664,3006291711,CR
+3006289664,3006290175,CR
+3006290176,3006290431,PA
+3006290432,3006291711,CR
3006291712,3006308351,PA
-3006308352,3006308863,CR
-3006308864,3006309631,PA
+3006308352,3006308607,CR
+3006308608,3006309631,PA
3006309632,3006311167,CR
-3006311168,3006311423,PA
-3006311424,3006312191,CR
-3006312192,3006312447,PA
-3006312448,3006312703,CR
-3006312704,3006312959,PA
-3006312960,3006313983,CR
+3006311168,3006311679,PA
+3006311680,3006312703,CR
+3006312704,3006313215,PA
+3006313216,3006313471,CR
+3006313472,3006313727,PA
+3006313728,3006313983,CR
3006313984,3006314239,PA
3006314240,3006315007,CR
-3006315008,3006315263,PA
-3006315264,3006315775,CR
+3006315008,3006315519,PA
+3006315520,3006315775,CR
3006315776,3006316031,PA
3006316032,3006316543,CR
3006316544,3006320639,PA
3006320640,3006320895,CR
-3006320896,3006321151,PA
-3006321152,3006321407,CR
-3006321408,3006322175,PA
+3006320896,3006322175,PA
3006322176,3006322431,CR
3006322432,3006323199,PA
3006323200,3006324735,CR
@@ -75907,17 +77519,16 @@
3007092736,3007094783,AR
3007094784,3007096831,CR
3007096832,3007098879,AR
-3007098880,3007099463,HN
-3007099464,3007099471,IN
-3007099472,3007099631,HN
+3007098880,3007099631,HN
3007099632,3007099639,GB
-3007099640,3007100055,HN
+3007099640,3007099903,HN
+3007099904,3007100055,US
3007100056,3007100063,BR
-3007100064,3007100407,HN
+3007100064,3007100407,US
3007100408,3007100415,PH
-3007100416,3007100463,HN
+3007100416,3007100463,US
3007100464,3007100471,IN
-3007100472,3007100927,HN
+3007100472,3007100927,US
3007100928,3007102975,AR
3007102976,3007103999,US
3007104000,3007106047,AR
@@ -76080,11 +77691,12 @@
3007173120,3007173375,US
3007173376,3007173407,NO
3007173408,3007173439,SE
-3007173440,3007173631,BR
+3007173440,3007173443,CL
+3007173444,3007173491,BR
+3007173492,3007173631,CL
3007173632,3007173663,NO
3007173664,3007173695,NZ
-3007173696,3007173887,BR
-3007173888,3007174015,US
+3007173696,3007174015,BR
3007174016,3007174047,NL
3007174048,3007174079,FR
3007174080,3007174271,BR
@@ -76097,10 +77709,10 @@
3007175680,3007175935,GB
3007175936,3007175967,NZ
3007175968,3007175999,BE
-3007176000,3007176319,BR
+3007176000,3007176319,CL
3007176320,3007176351,SE
3007176352,3007176383,FR
-3007176384,3007176447,BR
+3007176384,3007176447,CL
3007176448,3007176703,US
3007176704,3007177727,IN
3007177728,3007178751,US
@@ -76136,9 +77748,7 @@
3007184128,3007184383,KW
3007184384,3007184895,BR
3007184896,3007250431,AR
-3007250432,3007283199,CR
-3007283200,3007283455,PA
-3007283456,3007283711,CR
+3007250432,3007283711,CR
3007283712,3007284223,PA
3007284224,3007284735,CR
3007284736,3007285247,PA
@@ -76164,7 +77774,8 @@
3024879616,3025141759,CN
3025141760,3025403903,KR
3025403904,3025600511,CN
-3025600512,3025601663,IN
+3025600512,3025600535,SG
+3025600536,3025601663,IN
3025601664,3025601791,HK
3025601792,3025601919,IN
3025601920,3025602047,CN
@@ -76220,7 +77831,9 @@
3025617664,3025617919,SG
3025617920,3025618175,MY
3025618176,3025618179,TH
-3025618180,3025618431,IN
+3025618180,3025618183,IN
+3025618184,3025618191,TH
+3025618192,3025618431,IN
3025618432,3025618687,TW
3025618688,3025618943,IN
3025618944,3025619535,SG
@@ -76264,8 +77877,8 @@
3025625920,3025625927,KR
3025625928,3025625935,IN
3025625936,3025626015,SG
-3025626016,3025626047,IN
-3025626048,3025626079,SG
+3025626016,3025626039,IN
+3025626040,3025626079,SG
3025626080,3025626111,IN
3025626112,3025626623,SG
3025626624,3025629439,IN
@@ -76283,8 +77896,8 @@
3025631744,3025631747,IN
3025631748,3025631767,HK
3025631768,3025631775,IN
-3025631776,3025631839,HK
-3025631840,3025631999,IN
+3025631776,3025631855,HK
+3025631856,3025631999,IN
3025632000,3025632255,HK
3025632256,3025632439,SG
3025632440,3025632447,IN
@@ -76324,7 +77937,9 @@
3025639168,3025639175,SG
3025639176,3025639295,IN
3025639296,3025639327,AU
-3025639328,3025639423,IN
+3025639328,3025639343,IN
+3025639344,3025639359,AU
+3025639360,3025639423,IN
3025639424,3025639535,SG
3025639536,3025639551,HK
3025639552,3025639679,SG
@@ -76337,7 +77952,8 @@
3025639944,3025639951,JP
3025639952,3025639967,IN
3025639968,3025639999,SG
-3025640000,3025640191,IN
+3025640000,3025640007,JP
+3025640008,3025640191,IN
3025640192,3025640447,JP
3025640448,3025640835,MY
3025640836,3025640839,IN
@@ -76351,7 +77967,9 @@
3025641780,3025641983,IN
3025641984,3025642495,HK
3025642496,3025642751,SG
-3025642752,3025643039,IN
+3025642752,3025643015,IN
+3025643016,3025643019,HK
+3025643020,3025643039,IN
3025643040,3025643071,HK
3025643072,3025647103,IN
3025647104,3025647359,SG
@@ -76395,7 +78013,9 @@
3026069504,3026071551,JP
3026071552,3026073599,AU
3026073600,3026075647,CN
-3026075648,3026083839,AF
+3026075648,3026081034,AF
+3026081035,3026081035,DE
+3026081036,3026083839,AF
3026083840,3026087935,CN
3026087936,3026089983,AU
3026089984,3026092031,CN
@@ -76645,12 +78265,11 @@
3039407104,3039408127,BZ
3039408128,3039410175,US
3039410176,3039411199,BZ
-3039411200,3039412223,CA
+3039411200,3039412223,US
3039412224,3039412351,CL
3039412352,3039412479,BR
3039412480,3039412735,SG
-3039412736,3039412991,TW
-3039412992,3039413503,US
+3039412736,3039413503,US
3039413504,3039414015,BR
3039414016,3039414527,US
3039414528,3039414783,BR
@@ -76704,8 +78323,7 @@
3044212736,3044245503,HN
3044245504,3044278271,BO
3044278272,3044417535,AR
-3044417536,3044418047,CY
-3044418048,3044421631,PA
+3044417536,3044421631,TT
3044421632,3044425727,CY
3044425728,3044446207,AR
3044446208,3044450303,CO
@@ -76733,60 +78351,18 @@
3048144896,3048210431,EC
3048210432,3048275967,PE
3048275968,3048292351,AR
-3048292352,3048292799,CA
-3048292800,3048292807,ES
-3048292808,3048293271,CA
+3048292352,3048293271,CA
3048293272,3048293279,ES
-3048293280,3048293599,CA
-3048293600,3048293615,ES
-3048293616,3048294627,CA
-3048294628,3048294631,BR
-3048294632,3048294759,CA
-3048294760,3048294767,BR
-3048294768,3048296447,CA
+3048293280,3048296447,CA
3048296448,3048296751,US
3048296752,3048296759,CA
-3048296760,3048297407,US
-3048297408,3048297423,CA
-3048297424,3048299487,US
-3048299488,3048299503,BR
-3048299504,3048299599,US
-3048299600,3048299607,BR
-3048299608,3048299655,US
+3048296760,3048299655,US
3048299656,3048299663,BR
-3048299664,3048300863,US
-3048300864,3048300895,CA
-3048300896,3048301311,US
+3048299664,3048301311,US
3048301312,3048301343,CA
-3048301344,3048301471,US
-3048301472,3048301503,CA
-3048301504,3048301935,US
-3048301936,3048301951,CA
-3048301952,3048302295,US
-3048302296,3048302303,CA
-3048302304,3048302815,US
-3048302816,3048302823,NL
-3048302824,3048303303,US
-3048303304,3048303311,NL
-3048303312,3048304031,US
-3048304032,3048304047,NL
-3048304048,3048304663,US
-3048304664,3048304671,CR
-3048304672,3048304919,US
-3048304920,3048304927,CR
-3048304928,3048304999,US
+3048301344,3048304999,US
3048305000,3048305007,CR
-3048305008,3048305063,US
-3048305064,3048305071,CR
-3048305072,3048307607,US
-3048307608,3048307615,CA
-3048307616,3048307743,US
-3048307744,3048307751,CA
-3048307752,3048307967,US
-3048307968,3048307983,CA
-3048307984,3048308103,US
-3048308104,3048308111,CA
-3048308112,3048308727,US
+3048305008,3048308727,US
3048308728,3048308735,CR
3048308736,3048325119,BO
3048325120,3048331263,AR
@@ -76836,9 +78412,7 @@
3049255936,3049259007,MX
3049259008,3049291775,AR
3049291776,3049324543,CO
-3049324544,3049362175,CR
-3049362176,3049362431,NI
-3049362432,3049521151,CR
+3049324544,3049521151,CR
3049521152,3049586687,EC
3049586688,3049635839,PA
3049635840,3049652223,AR
@@ -76932,9 +78506,7 @@
3050711680,3050711807,BR
3050711808,3050712063,US
3050712064,3050712079,FR
-3050712080,3050712127,BR
-3050712128,3050712191,US
-3050712192,3050712319,BR
+3050712080,3050712319,BR
3050712320,3050712575,US
3050712576,3050712591,PL
3050712592,3050712831,BR
@@ -76976,9 +78548,7 @@
3050767888,3050768127,BR
3050768128,3050768383,US
3050768384,3050768399,AT
-3050768400,3050768511,BR
-3050768512,3050768575,US
-3050768576,3050768639,BR
+3050768400,3050768639,BR
3050768640,3050768895,US
3050768896,3050768911,CZ
3050768912,3050769151,BR
@@ -76996,8 +78566,8 @@
3050770960,3050771199,BR
3050771200,3050771455,US
3050771456,3050771471,SG
-3050771472,3050771583,BR
-3050771584,3050771967,US
+3050771472,3050771711,BR
+3050771712,3050771967,US
3050771968,3050771983,EE
3050771984,3050772223,BR
3050772224,3050772479,US
@@ -77039,7 +78609,23 @@
3050778368,3050778623,US
3050778624,3050778639,TR
3050778640,3050778879,BR
-3050778880,3050800383,US
+3050778880,3050789375,US
+3050789376,3050789503,BR
+3050789504,3050789631,US
+3050789632,3050789759,BR
+3050789760,3050789887,US
+3050789888,3050789967,BR
+3050789968,3050789968,US
+3050789969,3050790015,BR
+3050790016,3050790143,US
+3050790144,3050790271,BR
+3050790272,3050790399,US
+3050790400,3050790463,BR
+3050790464,3050790464,US
+3050790465,3050790527,BR
+3050790528,3050790655,US
+3050790656,3050790783,BR
+3050790784,3050800383,US
3050800384,3050800399,AL
3050800400,3050800415,AD
3050800416,3050800431,AI
@@ -77145,23 +78731,36 @@
3050829824,3050831871,US
3050831872,3051356159,BR
3051356160,3051372799,CR
-3051372800,3051374591,PA
+3051372800,3051373055,PA
+3051373056,3051373311,CR
+3051373312,3051373567,PA
+3051373568,3051373823,CR
+3051373824,3051374079,PA
+3051374080,3051374335,CR
+3051374336,3051374591,PA
3051374592,3051374847,CR
3051374848,3051375103,PA
3051375104,3051375359,CR
-3051375360,3051375871,PA
-3051375872,3051380735,CR
+3051375360,3051375615,PA
+3051375616,3051380735,CR
3051380736,3051388927,AR
3051388928,3051389183,US
3051389184,3051390207,NL
-3051390208,3051390719,US
+3051390208,3051390463,PA
+3051390464,3051390719,US
3051390720,3051390975,NL
-3051390976,3051394047,US
+3051390976,3051391487,PA
+3051391488,3051391743,US
+3051391744,3051391999,PA
+3051392000,3051392255,US
+3051392256,3051393023,PA
+3051393024,3051393535,US
+3051393536,3051394047,PA
3051394048,3051394303,NL
3051394304,3051395071,US
3051395072,3051395327,NL
-3051395328,3051395839,PA
-3051395840,3051396351,US
+3051395328,3051396095,PA
+3051396096,3051396351,US
3051396352,3051396607,PA
3051396608,3051396863,US
3051396864,3051397119,PA
@@ -77305,8 +78904,7 @@
3063971840,3063988223,AU
3063988224,3064004607,JP
3064004608,3064012799,LK
-3064012800,3064013823,CA
-3064013824,3064015871,HK
+3064012800,3064015871,HK
3064015872,3064016895,AU
3064016896,3064017919,SG
3064017920,3064018943,IN
@@ -77363,8 +78961,7 @@
3069050880,3069124607,CN
3069124608,3069126655,PH
3069126656,3069127679,MY
-3069127680,3069128703,TW
-3069128704,3069149183,HK
+3069127680,3069149183,HK
3069149184,3069181951,AU
3069181952,3069706239,CN
3069706240,3069968383,JP
@@ -77378,7 +78975,7 @@
3070169088,3070170111,ID
3070170112,3070171135,MY
3070171136,3070172159,HK
-3070172160,3070174207,AU
+3070172160,3070173183,AU
3070174208,3070175231,CN
3070175232,3070176255,PH
3070176256,3070177279,HK
@@ -77586,18 +79183,58 @@
3093943786,3093943786,CZ
3093943787,3093945989,US
3093945990,3093945990,AT
-3093945991,3094020095,US
-3094020096,3094023303,CA
+3093945991,3093960639,US
+3093960640,3093960655,GB
+3093960656,3093966239,US
+3093966240,3093966243,GB
+3093966244,3094020095,US
+3094020096,3094022919,CA
+3094022920,3094022927,US
+3094022928,3094023303,CA
3094023304,3094023311,BD
-3094023312,3094032759,CA
+3094023312,3094025447,CA
+3094025448,3094025455,MX
+3094025456,3094026623,CA
+3094026624,3094026631,US
+3094026632,3094028655,CA
+3094028656,3094028663,US
+3094028664,3094029119,CA
+3094029120,3094029151,US
+3094029152,3094030879,CA
+3094030880,3094030887,US
+3094030888,3094032759,CA
3094032760,3094032767,GI
-3094032768,3094041359,CA
+3094032768,3094036383,CA
+3094036384,3094036415,US
+3094036416,3094039423,CA
+3094039424,3094039431,US
+3094039432,3094041359,CA
3094041360,3094041367,DZ
-3094041368,3094045663,CA
+3094041368,3094043271,CA
+3094043272,3094043279,US
+3094043280,3094045663,CA
3094045664,3094045671,CO
-3094045672,3094077751,CA
+3094045672,3094050151,CA
+3094050152,3094050159,US
+3094050160,3094054655,CA
+3094054656,3094054663,MY
+3094054664,3094055359,CA
+3094055360,3094055367,IN
+3094055368,3094068671,CA
+3094068672,3094068679,US
+3094068680,3094068823,CA
+3094068824,3094068831,IN
+3094068832,3094071407,CA
+3094071408,3094071415,DE
+3094071416,3094072647,CA
+3094072648,3094072655,US
+3094072656,3094077751,CA
3094077752,3094077759,US
-3094077760,3094085631,CA
+3094077760,3094079351,CA
+3094079352,3094079359,CI
+3094079360,3094080791,CA
+3094080792,3094080799,US
+3094080800,3094085631,CA
3094085632,3096444927,US
3096444928,3096898618,CA
3096898619,3096898619,US
@@ -77643,7 +79280,8 @@
3098422784,3098423039,IT
3098423040,3098423295,GB
3098423296,3098424319,FR
-3098424320,3098425343,CN
+3098424320,3098424831,CN
+3098424832,3098425343,HK
3098425344,3098426367,RU
3098426368,3098427391,FR
3098427392,3098428415,US
@@ -77683,7 +79321,6 @@
3103855360,3103855615,RU
3103855616,3103855871,ES
3103855872,3103856127,AT
-3103856128,3103856383,PL
3103856384,3103856639,RU
3103856640,3103856895,HU
3103856896,3103857151,CZ
@@ -77719,7 +79356,6 @@
3103864832,3103865087,BG
3103865088,3103865343,DK
3103865344,3103865599,DE
-3103865600,3103865855,BG
3103865856,3103866367,DE
3103866368,3103866879,UA
3103866880,3103867135,RU
@@ -77768,6 +79404,9 @@
3103878400,3103878655,IE
3103878656,3103878911,KG
3103878912,3103879167,UA
+3103879168,3103879423,NL
+3103879424,3103879679,LT
+3103879680,3103880191,IT
3103916032,3103917055,CH
3103917056,3103918079,IT
3103918080,3103919103,DE
@@ -77940,6 +79579,7 @@
3104089088,3104090111,GB
3104090112,3104091135,CH
3104091136,3104092159,NO
+3104092160,3104093183,GB
3104093184,3104094207,RU
3104094208,3104096255,ES
3104096256,3104097279,IE
@@ -78057,7 +79697,7 @@
3104207872,3104208895,RU
3104208896,3104209919,DE
3104209920,3104210943,RU
-3104211968,3104212991,GB
+3104210944,3104212991,GB
3104212992,3104214015,HU
3104214016,3104215039,FR
3104215040,3104216063,DE
@@ -78248,7 +79888,7 @@
3104412672,3104413695,IT
3104413696,3104414719,FR
3104414720,3104415743,TR
-3104415744,3104416767,UA
+3104415744,3104416767,RU
3104416768,3104417791,SE
3104417792,3104419839,GB
3104419840,3104421887,DE
@@ -78310,7 +79950,8 @@
3104478208,3104479231,DE
3104479232,3104480255,RU
3104480256,3104482303,NL
-3104482304,3104484351,ES
+3104482304,3104483327,GB
+3104483328,3104484351,ES
3104484352,3104485375,RU
3104485376,3104486399,FR
3104486400,3104488447,RU
@@ -78404,7 +80045,7 @@
3104576512,3104577535,PL
3104577536,3104578559,IQ
3104578560,3104579583,RU
-3104579584,3104580607,FR
+3104579584,3104581631,FR
3104581632,3104582655,ME
3104582656,3104583679,CH
3104583680,3104584703,FR
@@ -78536,7 +80177,7 @@
3104712704,3104714751,RU
3104714752,3104715775,DE
3104715776,3104716799,AT
-3104716800,3104717823,ES
+3104716800,3104718847,ES
3104718848,3104719871,TR
3104719872,3104720895,RU
3104720896,3104721919,PL
@@ -78665,9 +80306,9 @@
3104847872,3104848895,RU
3104848896,3104849919,DE
3104849920,3104850943,RU
-3104850944,3104851199,GB
-3104851200,3104851455,JE
-3104851456,3104851967,GB
+3104850944,3104851455,JE
+3104851456,3104851711,GB
+3104851712,3104851967,JE
3104851968,3104852991,DE
3104852992,3104854015,AT
3104854016,3104855039,GI
@@ -78738,6 +80379,7 @@
3104919552,3104920575,NL
3104920576,3104922623,RU
3104922624,3104923647,NO
+3104923648,3104924671,UA
3104924672,3104925695,CZ
3104925696,3104926719,IT
3104926720,3104927743,FR
@@ -78785,6 +80427,7 @@
3104971776,3104972799,CZ
3104972800,3104973823,GB
3104973824,3104974847,DE
+3104974848,3104975871,UA
3104975872,3104976895,RU
3104976896,3104977919,GB
3104977920,3104978943,ES
@@ -79040,6 +80683,7 @@
3105224704,3105225727,IT
3105225728,3105226751,AM
3105226752,3105227775,RO
+3105227776,3105228799,UA
3105228800,3105229823,PL
3105229824,3105230847,NL
3105230848,3105231871,UA
@@ -79099,6 +80743,7 @@
3105288192,3105289215,GB
3105289216,3105290239,AT
3105290240,3105291263,TR
+3105291264,3105292287,GB
3105292288,3105293311,AT
3105293312,3105294335,GB
3105294336,3105295359,RU
@@ -79110,6 +80755,7 @@
3105300480,3105301503,RU
3105301504,3105302527,ES
3105302528,3105303551,FR
+3105303552,3105304575,PL
3105304576,3105305599,GE
3105305600,3105308671,GB
3105308672,3105309695,RU
@@ -79142,6 +80788,7 @@
3105340416,3105341439,FR
3105341440,3105342463,ES
3105342464,3105343487,AE
+3105344512,3105345535,ES
3105345536,3105346559,DE
3105346560,3105347583,NL
3105347584,3105348607,DK
@@ -79237,6 +80884,7 @@
3105433600,3105434623,FR
3105434624,3105435647,SE
3105435648,3105436671,LT
+3105436672,3105437695,ES
3105437696,3105438719,GB
3105438720,3105439743,RU
3105439744,3105440767,GB
@@ -79264,6 +80912,7 @@
3105460224,3105461247,GB
3105461248,3105462271,PL
3105462272,3105463295,RU
+3105463296,3105464319,GB
3105464320,3105465343,BE
3105465344,3105466367,DE
3105466368,3105467391,MT
@@ -79303,6 +80952,7 @@
3105497088,3105498111,IR
3105498112,3105499135,DE
3105499136,3105500159,RU
+3105500160,3105501183,ES
3105501184,3105502207,FI
3105502208,3105503231,RU
3105503232,3105504255,NL
@@ -79340,9 +80990,7 @@
3105533952,3105534975,BA
3105534976,3105535231,ZA
3105535232,3105535487,NO
-3105535488,3105535794,US
3105535795,3105535795,RU
-3105535796,3105535999,US
3105536000,3105537023,AZ
3105537024,3105538047,AT
3105538048,3105539071,RU
@@ -79449,7 +81097,9 @@
3105641472,3105642495,NL
3105642496,3105644543,GB
3105644544,3105645567,DE
-3105645568,3105646591,SK
+3105645568,3105645868,SK
+3105645869,3105645869,CZ
+3105645870,3105646591,SK
3105646592,3105647615,MD
3105647616,3105648639,UA
3105648640,3105649663,GB
@@ -79586,7 +81236,9 @@
3105788928,3105789951,SA
3105789952,3105790975,SE
3105790976,3105791999,DE
+3105792000,3105793023,CZ
3105793024,3105794047,NL
+3105794048,3105795071,ES
3105795072,3105796095,LU
3105796096,3105797119,NL
3105797120,3105798143,IT
@@ -79715,6 +81367,7 @@
3105916928,3105917951,ES
3105917952,3105918975,NL
3105918976,3105919999,PL
+3105920000,3105921023,BG
3105921024,3105922047,IE
3105922048,3105923071,PL
3105923072,3105924095,CZ
@@ -79771,6 +81424,7 @@
3105972224,3105973247,DK
3105973248,3105974271,NL
3105974272,3105975295,MD
+3105975296,3105976319,IT
3105976320,3105977343,LB
3105977344,3105978367,NL
3105978368,3105979391,RU
@@ -79786,6 +81440,7 @@
3105988608,3105989631,RU
3105989632,3105990655,NL
3105990656,3105991679,PS
+3105991680,3105992703,RU
3105992704,3105993727,BH
3105993728,3105994751,DE
3105994752,3105995775,GB
@@ -79941,7 +81596,7 @@
3106138112,3106139135,DE
3106139136,3106140159,SE
3106140160,3106141183,DE
-3106141184,3106142207,IS
+3106141184,3106142207,NL
3106142208,3106143231,GB
3106143232,3106144255,CH
3106144256,3106145279,ES
@@ -79979,7 +81634,7 @@
3106177024,3106178047,IT
3106178048,3106179071,NL
3106179072,3106180095,DE
-3106180096,3106181119,NO
+3106180096,3106181119,GB
3106181120,3106182143,ES
3106182144,3106183167,AX
3106183168,3106184191,PL
@@ -80015,6 +81670,7 @@
3106214912,3106215935,NL
3106215936,3106216959,RS
3106216960,3106217983,FR
+3106217984,3106219007,PL
3106219008,3106219519,US
3106219520,3106220031,DK
3106220032,3106221055,FR
@@ -80093,7 +81749,9 @@
3106280448,3106281471,FR
3106281472,3106282495,DK
3106282496,3106283519,LB
-3106283520,3106285567,GB
+3106283520,3106284031,GB
+3106284032,3106284287,HK
+3106284288,3106285567,GB
3106285568,3106286591,DE
3106286592,3106287615,GB
3106287616,3106289663,DE
@@ -80242,6 +81900,7 @@
3106428928,3106429951,FI
3106429952,3106431999,NL
3106432000,3106433023,FR
+3106433024,3106434047,RU
3106434048,3106435071,NL
3106435072,3106436095,PL
3106436096,3106437119,DE
@@ -80494,7 +82153,9 @@
3106680832,3106682879,AT
3106682880,3106683903,LU
3106683904,3106684927,ES
-3106684928,3106685951,GB
+3106684928,3106685183,DE
+3106685184,3106685695,US
+3106685696,3106685951,GB
3106685952,3106686975,RU
3106686976,3106687999,LT
3106688000,3106688255,GB
@@ -80620,6 +82281,7 @@
3106797568,3106798591,DE
3106798592,3106799615,FR
3106799616,3106800639,IR
+3106800640,3106801663,CH
3106801664,3106804735,RU
3106804736,3106805759,EE
3106805760,3106806783,IT
@@ -80667,7 +82329,6 @@
3106843648,3106844671,GB
3106844672,3106845695,GE
3106845696,3106846719,NL
-3106846720,3106847743,RU
3106847744,3106848767,UA
3106848768,3106849791,NL
3106849792,3106850815,RU
@@ -80675,7 +82336,9 @@
3106851840,3106852863,PL
3106852864,3106853887,GB
3106853888,3106854399,NL
-3106854400,3106854911,CH
+3106854400,3106854471,CH
+3106854472,3106854479,DE
+3106854480,3106854911,CH
3106854912,3106855935,IR
3106855936,3106856959,UA
3106856960,3106857983,NO
@@ -80751,7 +82414,11 @@
3106926592,3106927615,FR
3106927616,3106928639,ES
3106928640,3106929663,NO
-3106929664,3106930687,FR
+3106929664,3106930303,FR
+3106930304,3106930319,US
+3106930320,3106930335,FR
+3106930336,3106930351,CA
+3106930352,3106930687,FR
3106930688,3106931711,DE
3106931712,3106932735,AT
3106932736,3106933759,PL
@@ -80788,7 +82455,7 @@
3106950144,3106951167,IM
3106951168,3106952191,SE
3106952192,3106954239,ES
-3106954240,3106955263,DE
+3106954240,3106956287,DE
3106956288,3106957311,NL
3106957312,3106958335,DE
3106958336,3106959359,GB
@@ -81120,6 +82787,7 @@
3107291136,3107292159,NL
3107292160,3107293183,PL
3107293184,3107294207,FR
+3107294208,3107295231,IR
3107295232,3107296255,PL
3107296256,3107297279,IT
3107297280,3107298303,PL
@@ -81138,8 +82806,7 @@
3107310592,3107311615,DE
3107311616,3107311871,IL
3107311872,3107312127,US
-3107312128,3107312383,FR
-3107312384,3107312639,NL
+3107312128,3107312639,NL
3107312640,3107313663,SE
3107313664,3107315711,DE
3107315712,3107316735,GB
@@ -81161,7 +82828,7 @@
3107326976,3107327999,LT
3107328000,3107329023,AE
3107329024,3107330047,RU
-3107331072,3107332095,NO
+3107330048,3107332095,NO
3107332096,3107333119,IT
3107333120,3107334143,FR
3107334144,3107335167,RU
@@ -81209,8 +82876,8 @@
3107377152,3107378175,AT
3107378176,3107379199,IT
3107379200,3107380223,NL
-3107380224,3107380735,RU
-3107380736,3107381247,GB
+3107380224,3107380991,RU
+3107380992,3107381247,GB
3107381248,3107383295,IE
3107383296,3107384319,DE
3107384320,3107385343,RU
@@ -81254,6 +82921,7 @@
3107427328,3107428351,AL
3107428352,3107429375,DE
3107429376,3107430399,RS
+3107430400,3107431423,AT
3107431424,3107432447,FR
3107432448,3107433471,IT
3107433472,3107434495,RU
@@ -81669,10 +83337,10 @@
3107843072,3107844095,SE
3107844096,3107845119,CY
3107845120,3107846143,RU
+3107846144,3107847167,NL
3107847168,3107848191,RU
3107848192,3107849215,IT
3107849216,3107850239,BE
-3107850240,3107851263,CZ
3107851264,3107853311,NL
3107853312,3107854335,ES
3107854336,3107855359,DE
@@ -81787,6 +83455,7 @@
3107972096,3107973119,IT
3107973120,3107974143,SA
3107974144,3107975167,IR
+3107975168,3107976191,GB
3107976192,3107977215,NL
3107977216,3107978239,AT
3107978240,3107979263,IN
@@ -81883,6 +83552,7 @@
3108068352,3108069375,CZ
3108069376,3108070399,FR
3108070400,3108071423,GB
+3108071424,3108072447,RU
3108072448,3108073471,GB
3108073472,3108074495,FR
3108074496,3108075519,DK
@@ -81944,6 +83614,7 @@
3108129792,3108130815,DE
3108130816,3108131839,NL
3108131840,3108132863,RU
+3108132864,3108133887,UA
3108133888,3108134911,NL
3108134912,3108135935,LU
3108135936,3108136959,FR
@@ -82017,7 +83688,8 @@
3108209664,3108210687,CZ
3108210688,3108211711,CN
3108211712,3108212735,GB
-3108212736,3108216831,FR
+3108212736,3108215807,FR
+3108215808,3108216831,IR
3108216832,3108217855,RU
3108217856,3108218879,GB
3108218880,3108219903,RU
@@ -82063,6 +83735,7 @@
3108258816,3108259839,CZ
3108259840,3108260863,HU
3108260864,3108261887,DE
+3108261888,3108262911,RO
3108262912,3108263935,GB
3108263936,3108264959,NL
3108264960,3108265983,RU
@@ -82113,6 +83786,7 @@
3108307968,3108308991,IQ
3108308992,3108310015,ES
3108310016,3108311039,GB
+3108311040,3108312063,UA
3108312064,3108313087,PL
3108313088,3108314111,LV
3108314112,3108315135,BA
@@ -82197,10 +83871,10 @@
3108395008,3108396031,GB
3108396032,3108397055,ES
3108397056,3108398079,TR
-3108398080,3108399103,PT
3108399104,3108400127,RU
3108400128,3108401151,UA
3108401152,3108402175,NL
+3108402176,3108403199,IT
3108403200,3108404223,DE
3108404224,3108405247,SE
3108405248,3108406271,UA
@@ -82395,6 +84069,7 @@
3108602880,3108603903,EE
3108603904,3108604927,IT
3108604928,3108605951,GB
+3108605952,3108606975,HR
3108606976,3108609023,GB
3108609024,3108610047,LI
3108610048,3108611071,CZ
@@ -82482,7 +84157,9 @@
3108711424,3108712447,RU
3108712448,3108713471,BG
3108713472,3108714495,RO
-3108714496,3108715519,XK
+3108714496,3108714751,XK
+3108714752,3108715263,KW
+3108715264,3108715519,XK
3108715520,3108716543,GB
3108716544,3108717567,RU
3108717568,3108718591,FR
@@ -82524,6 +84201,7 @@
3108754432,3108755455,GB
3108755456,3108756479,AT
3108756480,3108757503,NL
+3108757504,3108758527,SY
3108758528,3108759551,DE
3108759552,3108760575,CZ
3108760576,3108761599,LV
@@ -82542,6 +84220,7 @@
3108768000,3108768255,SE
3108768256,3108768511,NL
3108768512,3108768767,CZ
+3108768768,3108769791,RU
3108769792,3108770815,NL
3108770816,3108772863,FR
3108772864,3108773887,RO
@@ -82712,6 +84391,7 @@
3108936704,3108937727,FR
3108937728,3108938751,NL
3108938752,3108940799,GB
+3108940800,3108941823,SE
3108941824,3108942847,DE
3108942848,3108943871,BE
3108943872,3108944895,DE
@@ -82767,7 +84447,8 @@
3108985856,3108986879,HU
3108986880,3108987903,IR
3108987904,3108988927,RU
-3108989952,3108991999,GB
+3108988928,3108990975,GB
+3108990976,3108991999,NL
3108992000,3108993023,RU
3108993024,3108994047,BG
3108994048,3108995071,DE
@@ -82834,7 +84515,7 @@
3109058560,3109059583,DE
3109059584,3109060095,LU
3109060096,3109060351,CY
-3109060352,3109060607,LU
+3109060352,3109060607,RO
3109060608,3109061631,LT
3109061632,3109062655,GB
3109062656,3109063679,TR
@@ -82847,12 +84528,14 @@
3109069824,3109070847,MK
3109070848,3109071871,DE
3109071872,3109072895,AZ
+3109072896,3109073919,FR
3109073920,3109074943,NO
3109074944,3109075967,DE
3109075968,3109076991,AT
3109076992,3109078015,HR
3109078016,3109079039,IR
-3109079040,3109080063,CZ
+3109079040,3109079295,IL
+3109079296,3109080063,CZ
3109080064,3109081087,RU
3109081088,3109082111,SE
3109082112,3109083135,PL
@@ -82999,6 +84682,7 @@
3109203968,3109204991,RU
3109204992,3109206015,IR
3109206016,3109209087,NL
+3109209088,3109210111,RU
3109210112,3109211135,NL
3109211136,3109212159,CH
3109212160,3109213183,NL
@@ -83010,6 +84694,7 @@
3109218304,3109219327,HU
3109219328,3109220351,CZ
3109220352,3109221375,IE
+3109221376,3109222399,RU
3109222400,3109223423,PL
3109223424,3109224447,TR
3109224448,3109225471,RU
@@ -83180,7 +84865,7 @@
3109405696,3109406719,GB
3109406720,3109407743,RO
3109407744,3109408767,TR
-3109408768,3109409791,IR
+3109408768,3109409791,NL
3109409792,3109410815,IT
3109410816,3109411839,RU
3109411840,3109412863,DE
@@ -83251,6 +84936,7 @@
3109472256,3109473279,IT
3109473280,3109474303,IL
3109474304,3109476351,ES
+3109476352,3109477375,GB
3109477376,3109478399,IS
3109478400,3109480447,CH
3109480448,3109481471,DE
@@ -83274,7 +84960,7 @@
3109498880,3109499903,RU
3109499904,3109500927,NO
3109500928,3109502975,GB
-3109502976,3109503999,LB
+3109502976,3109503999,FR
3109504000,3109505023,IT
3109505024,3109506047,DE
3109506048,3109507071,IT
@@ -83294,13 +84980,14 @@
3109521408,3109522431,PL
3109522432,3109523455,CZ
3109523456,3109524479,PL
+3109524480,3109525503,UA
3109525504,3109527551,NL
3109527552,3109528575,IL
3109528576,3109529599,SE
3109529600,3109530623,LB
3109530624,3109531647,TR
3109531648,3109532671,DE
-3109532672,3109533695,IR
+3109532672,3109533695,IE
3109533696,3109534719,NL
3109534720,3109535743,ES
3109535744,3109537791,RU
@@ -83361,7 +85048,6 @@
3109596160,3109597183,TR
3109597184,3109598207,IR
3109598208,3109599231,NL
-3109599232,3109600255,IT
3109600256,3109601279,NL
3109601280,3109602303,GB
3109602304,3109603327,FR
@@ -83402,6 +85088,7 @@
3109639168,3109640191,LB
3109640192,3109641215,IQ
3109641216,3109642239,NO
+3109642240,3109643263,RS
3109643264,3109643391,DE
3109643392,3109643519,UA
3109643520,3109643775,RU
@@ -83512,6 +85199,7 @@
3109743616,3109744639,HU
3109744640,3109745663,TR
3109745664,3109746687,US
+3109746688,3109747711,SY
3109747712,3109748735,ES
3109748736,3109749759,MT
3109749760,3109750783,DE
@@ -83529,6 +85217,7 @@
3109763072,3109765119,IT
3109765120,3109766143,NO
3109766144,3109767167,ES
+3109767168,3109768191,UA
3109768192,3109769215,GB
3109769216,3109770239,AT
3109770240,3109771263,GB
@@ -83612,6 +85301,7 @@
3109855232,3109856255,DE
3109856256,3109857279,IT
3109857280,3109858303,DE
+3109858304,3109859327,NL
3109859328,3109860351,SI
3109860352,3109861375,DE
3109861376,3109862399,RU
@@ -83680,6 +85370,7 @@
3109920768,3109921791,SE
3109921792,3109922815,IR
3109922816,3109923839,GB
+3109923840,3109924863,US
3109924864,3109925887,IT
3109925888,3109926143,DE
3109926144,3109926159,FR
@@ -83824,7 +85515,7 @@
3110024192,3110025215,IT
3110025216,3110026239,ES
3110026240,3110027263,IR
-3110027264,3110028287,BE
+3110027264,3110028287,GB
3110028288,3110029311,NL
3110029312,3110030335,BE
3110030336,3110031359,GB
@@ -83837,6 +85528,7 @@
3110039552,3110040575,DE
3110040576,3110041599,CZ
3110041600,3110042623,TR
+3110042624,3110043647,ES
3110043648,3110044671,DE
3110044672,3110046719,IT
3110046720,3110047743,SA
@@ -83850,7 +85542,7 @@
3110055936,3110056959,NL
3110056960,3110057983,IR
3110057984,3110059007,IQ
-3110059008,3110060031,RU
+3110059008,3110060031,NL
3110060032,3110061055,DE
3110061056,3110062079,PL
3110062080,3110063103,CZ
@@ -83873,11 +85565,13 @@
3110080512,3110081535,GB
3110081536,3110082559,IT
3110082560,3110083583,ES
+3110083584,3110084607,UA
3110084608,3110085631,GR
3110085632,3110086655,RU
3110086656,3110087679,NO
3110087680,3110088703,NL
3110088704,3110089727,GB
+3110089728,3110090751,PL
3110090752,3110091775,DE
3110091776,3110093823,GB
3110093824,3110094847,JO
@@ -83964,7 +85658,7 @@
3110175744,3110176767,PS
3110176768,3110177791,CH
3110177792,3110178815,FR
-3110178816,3110179839,GB
+3110178816,3110179839,DE
3110179840,3110180863,LT
3110180864,3110181887,GB
3110181888,3110182911,IT
@@ -84060,6 +85754,7 @@
3110280192,3110281215,RU
3110281216,3110282239,LB
3110282240,3110283263,SE
+3110283264,3110284287,ES
3110284288,3110285311,PS
3110285312,3110286335,BE
3110286336,3110288383,DE
@@ -84070,7 +85765,9 @@
3110293504,3110294527,AT
3110294528,3110295551,GB
3110295552,3110296575,RO
-3110297600,3110298623,IL
+3110296576,3110297599,GE
+3110297600,3110298111,IL
+3110298112,3110298623,FR
3110298624,3110299647,SY
3110299648,3110300671,PL
3110300672,3110301695,IE
@@ -84305,6 +86002,7 @@
3110524928,3110525439,US
3110525440,3110525695,NL
3110525696,3110525951,DE
+3110525952,3110526975,ES
3110526976,3110527999,DE
3110528000,3110529023,AT
3110529024,3110530047,FI
@@ -84406,7 +86104,7 @@
3110626304,3110627327,NL
3110627328,3110628351,RU
3110628352,3110629375,LU
-3110629376,3110630399,UA
+3110629376,3110630399,RU
3110630400,3110631423,IT
3110631424,3110632447,GB
3110632448,3110633471,IT
@@ -84443,6 +86141,7 @@
3110663168,3110664191,LB
3110664192,3110665215,RU
3110665216,3110666239,LB
+3110666240,3110667263,LU
3110667264,3110668287,RO
3110668288,3110669311,PL
3110669312,3110671359,ES
@@ -84456,6 +86155,7 @@
3110680576,3110681599,GB
3110681600,3110682623,SE
3110682624,3110683647,GB
+3110683648,3110684671,FR
3110684672,3110685695,GB
3110685696,3110686719,NL
3110686720,3110687743,BE
@@ -84504,22 +86204,24 @@
3110728704,3110729727,SE
3110729728,3110730751,NL
3110730752,3110731775,DE
-3110731776,3110733823,ES
+3110731776,3110733823,GB
3110733824,3110734847,DE
+3110734848,3110735871,FR
3110735872,3110736895,GR
3110736896,3110737919,TR
3110737920,3110738943,LU
3110738944,3110739967,IQ
3110739968,3110740991,IL
-3110740992,3110742015,ES
+3110740992,3110742015,GB
3110742016,3110743039,RU
3110743040,3110744063,ES
3110744064,3110745087,AT
3110745088,3110746111,NL
+3110746112,3110747135,RU
3110747136,3110748159,CZ
3110748160,3110749183,CH
3110749184,3110750207,BE
-3110750208,3110751231,NL
+3110750208,3110751231,GB
3110751232,3110752255,DE
3110752256,3110753279,RO
3110753280,3110754303,DE
@@ -84530,6 +86232,7 @@
3110758400,3110759423,RU
3110759424,3110760447,AT
3110760448,3110761471,HU
+3110761472,3110762495,RU
3110762496,3110763007,NL
3110763008,3110763263,RO
3110763264,3110763519,NL
@@ -84542,6 +86245,7 @@
3110769664,3110770687,DE
3110770688,3110771711,NL
3110771712,3110772735,KZ
+3110772736,3110773759,FR
3110773760,3110774783,DE
3110774784,3110775807,PL
3110775808,3110776831,RU
@@ -84552,8 +86256,7 @@
3110780928,3110781951,PS
3110781952,3110782975,RU
3110782976,3110783999,IR
-3110784000,3110784255,US
-3110784256,3110785023,RU
+3110784000,3110785023,RU
3110785024,3110786047,TR
3110786048,3110787071,AT
3110787072,3110788095,FR
@@ -84603,7 +86306,8 @@
3110840320,3110841343,DK
3110841344,3110842367,KZ
3110842368,3110843391,DK
-3110843392,3110845439,IT
+3110843392,3110844415,GB
+3110844416,3110845439,IT
3110845440,3110846463,NL
3110846464,3110847487,DE
3110847488,3110848511,GB
@@ -84629,17 +86333,20 @@
3110872064,3110873087,MD
3110873088,3110874111,IE
3110874112,3110875135,GB
+3110875136,3110876159,DE
3110876160,3110878207,GB
3110878208,3110879231,CZ
3110879232,3110880255,LV
3110880256,3110881279,PL
3110881280,3110883327,DE
3110883328,3110884351,IL
-3110884352,3110886399,RU
+3110884352,3110885375,SC
+3110885376,3110886399,RU
3110886400,3110887423,GB
3110887424,3110888447,IR
3110888448,3110889471,DK
-3110889472,3110890495,PT
+3110889472,3110889727,GB
+3110889728,3110890495,PT
3110890496,3110891519,DK
3110891520,3110892543,RO
3110892544,3110893567,NL
@@ -84652,6 +86359,7 @@
3110899712,3110900735,MD
3110900736,3110901759,TR
3110901760,3110902783,MD
+3110902784,3110903807,RO
3110903808,3110904831,RU
3110904832,3110905855,IR
3110905856,3110906879,GB
@@ -84678,7 +86386,7 @@
3110929408,3110930431,IE
3110930432,3110931455,GB
3110931456,3110932479,DK
-3110932480,3110933503,IE
+3110932480,3110933503,GB
3110933504,3110934015,US
3110934016,3110934527,RU
3110934528,3110935551,IT
@@ -84710,7 +86418,7 @@
3110963200,3110965247,GB
3110965248,3110966271,NL
3110966272,3110967295,IL
-3110968320,3110969343,DE
+3110967296,3110969343,DE
3110969344,3110970367,NL
3110970368,3110971391,CH
3110971392,3110972415,GB
@@ -84765,7 +86473,8 @@
3111024640,3111025663,AT
3111025664,3111026687,DE
3111026688,3111027967,RU
-3111027968,3111028735,UA
+3111027968,3111028479,UA
+3111028480,3111028735,LT
3111028736,3111029759,AT
3111029760,3111031807,SK
3111031808,3111032831,NO
@@ -84921,12 +86630,13 @@
3111183360,3111184383,FR
3111184384,3111185407,IQ
3111185408,3111186431,RU
+3111186432,3111187455,HU
3111187456,3111189503,GB
3111189504,3111190527,DE
3111190528,3111191551,GB
3111191552,3111192575,DE
3111192576,3111193599,TR
-3111193600,3111194623,RU
+3111193600,3111194623,JE
3111194624,3111195647,GB
3111195648,3111196671,CH
3111196672,3111197695,GB
@@ -85041,6 +86751,7 @@
3111308288,3111309311,GB
3111309312,3111310335,CH
3111310336,3111311359,DE
+3111311360,3111312383,TR
3111312384,3111313407,DE
3111313408,3111313523,GB
3111313524,3111313524,SA
@@ -85087,7 +86798,6 @@
3111350272,3111351295,PL
3111351296,3111353343,GB
3111353344,3111353599,AT
-3111353600,3111353855,FR
3111353856,3111355391,GB
3111355392,3111356415,IT
3111356416,3111357439,GE
@@ -85095,7 +86805,7 @@
3111358464,3111358719,ES
3111358720,3111358975,IE
3111358976,3111359231,FR
-3111359232,3111359487,IE
+3111359232,3111359487,NL
3111359488,3111360511,IR
3111360512,3111361535,PL
3111361536,3111363583,RU
@@ -85271,6 +86981,8 @@
3111541760,3111542783,FR
3111542784,3111543807,IQ
3111543808,3111544831,DE
+3111544832,3111545855,ES
+3111545856,3111546879,DE
3111546880,3111547903,PT
3111547904,3111548927,FR
3111548928,3111549951,SA
@@ -85365,11 +87077,10 @@
3111645184,3111646207,IR
3111646208,3111647231,IT
3111647232,3111648255,ES
-3111648256,3111648767,GB
+3111648256,3111648511,GB
3111648768,3111649023,NL
3111649024,3111650559,GB
-3111650560,3111650815,SG
-3111650816,3111651071,TR
+3111650560,3111651071,TR
3111651072,3111651327,GB
3111651328,3111652351,RO
3111652352,3111652863,GB
@@ -85381,7 +87092,8 @@
3111655168,3111655423,FR
3111655424,3111656447,NO
3111656448,3111657471,LB
-3111657472,3111658239,GB
+3111657472,3111658047,GB
+3111658112,3111658239,GB
3111658240,3111658495,NL
3111658496,3111659519,AL
3111659520,3111660543,IT
@@ -85502,7 +87214,7 @@
3111786496,3111787519,IT
3111787520,3111788543,RU
3111788544,3111789567,KZ
-3111789568,3111790335,GB
+3111789568,3111790079,GB
3111790336,3111790591,TR
3111790592,3111791615,CZ
3111791616,3111792639,IT
@@ -85534,7 +87246,8 @@
3111817216,3111819263,PL
3111819264,3111821311,NL
3111821312,3111822335,FR
-3111822336,3111823359,GB
+3111822336,3111823103,US
+3111823104,3111823359,GB
3111823360,3111824383,NL
3111824384,3111825407,PL
3111825408,3111826431,RU
@@ -85562,6 +87275,7 @@
3111849984,3111851007,KZ
3111851008,3111852031,SA
3111852032,3111853055,FR
+3111853056,3111854079,HU
3111854080,3111855103,NO
3111855104,3111856127,IT
3111856128,3111857151,KZ
@@ -85570,6 +87284,7 @@
3111859200,3111860223,EE
3111860224,3111861247,ES
3111861248,3111862271,NL
+3111862272,3111863295,RU
3111863296,3111864319,IR
3111864320,3111865343,FR
3111865344,3111866367,RU
@@ -85669,6 +87384,7 @@
3111981056,3111982079,RU
3111982080,3111983103,IR
3111983104,3111984127,UA
+3111984128,3111985151,ES
3111985152,3111986175,TR
3111986176,3111987199,RU
3111987200,3111988223,NL
@@ -85690,12 +87406,13 @@
3112002560,3112003583,RU
3112003584,3112004607,GB
3112004608,3112005631,RO
-3112005632,3112006655,RU
+3112005632,3112006655,UA
3112006656,3112007679,NL
3112007680,3112008703,BA
3112008704,3112009727,PL
3112009728,3112010751,CZ
3112010752,3112011775,PL
+3112011776,3112012799,EE
3112012800,3112013823,GB
3112013824,3112014847,IT
3112014848,3112017919,LB
@@ -85820,6 +87537,7 @@
3112047616,3112048639,AT
3112048640,3112049663,GB
3112049664,3112050687,DE
+3112050688,3112051711,NL
3112051712,3112052735,NO
3112052736,3112053759,IR
3112053760,3112054783,LB
@@ -85827,7 +87545,8 @@
3112055808,3112056831,DK
3112056832,3112057855,NL
3112057856,3112058879,IS
-3112058880,3112059903,NL
+3112058880,3112059391,NL
+3112059392,3112059903,FR
3112059904,3112062975,RO
3112062976,3112063999,ES
3112064000,3112065023,RU
@@ -85866,6 +87585,7 @@
3112098816,3112099839,CH
3112099840,3112100863,GB
3112100864,3112101887,FR
+3112101888,3112102911,ES
3112102912,3112103935,GB
3112103936,3112104959,DE
3112104960,3112105983,FR
@@ -85941,7 +87661,10 @@
3112176640,3112177663,ES
3112177664,3112178687,FI
3112178688,3112179711,PL
-3112180736,3112181759,IT
+3112179712,3112179967,SG
+3112179968,3112180223,FR
+3112180224,3112180479,HU
+3112180480,3112181759,IT
3112181760,3112182783,NL
3112182784,3112183807,IQ
3112183808,3112184831,CH
@@ -86035,6 +87758,7 @@
3112276992,3112278015,LV
3112278016,3112279039,FI
3112279040,3112280063,NO
+3112280064,3112281087,AT
3112281088,3112282111,FR
3112282112,3112283135,IR
3112283136,3112284159,AT
@@ -86052,7 +87776,7 @@
3112302592,3112303615,ES
3112303616,3112304639,DE
3112304640,3112305663,SE
-3112306688,3112307711,DE
+3112305664,3112307711,DE
3112307712,3112308735,IS
3112308736,3112309759,HR
3112309760,3112310783,DE
@@ -86060,8 +87784,10 @@
3112312832,3112313855,DE
3112313856,3112315903,GB
3112315904,3112316927,PL
-3112316928,3112317951,IQ
+3112316928,3112317183,DE
+3112317184,3112317951,IQ
3112317952,3112318975,UA
+3112318976,3112319999,TR
3112320000,3112321023,IQ
3112321024,3112322047,FI
3112322048,3112323071,NO
@@ -86093,6 +87819,8 @@
3112347648,3112349695,NL
3112349696,3112350719,HU
3112350720,3112351743,PL
+3112351744,3112352255,DE
+3112352256,3112352767,RO
3112352768,3112353791,DK
3112353792,3112354815,DE
3112354816,3112355839,GB
@@ -86141,13 +87869,13 @@
3112401920,3112403967,IR
3112403968,3112404991,ES
3112404992,3112407039,IR
-3112407040,3112408063,AE
+3112407040,3112408063,IL
3112408064,3112411135,IR
3112411136,3112412159,IT
3112412160,3112414207,IR
3112414208,3112415231,RU
-3112415232,3112416255,AE
-3112416256,3112417279,RU
+3112415232,3112416255,IL
+3112416256,3112417279,AT
3112417280,3112419327,ES
3112419328,3112420351,FR
3112420352,3112421375,DE
@@ -86155,7 +87883,6 @@
3112423424,3112424447,TR
3112424448,3112425471,IT
3112425472,3112426495,FI
-3112426496,3112427519,FR
3112427520,3112428543,PL
3112428544,3112430591,GB
3112430592,3112431615,DE
@@ -86212,6 +87939,8 @@
3112491008,3112492031,SE
3112492032,3112494079,DE
3112494080,3112495103,IT
+3112495104,3112496127,FR
+3112496128,3112497151,NL
3112497152,3112498175,RU
3112498176,3112499199,GB
3112499200,3112500223,PS
@@ -86225,7 +87954,8 @@
3112508416,3112509439,CH
3112509440,3112511487,NL
3112511488,3112512511,RU
-3112512512,3112514559,CH
+3112512512,3112513535,CH
+3112513536,3112514559,DE
3112514560,3112515583,FR
3112515584,3112516607,CZ
3112516608,3112517631,SK
@@ -86249,7 +87979,7 @@
3112532992,3112534015,KW
3112534016,3112535039,FR
3112535040,3112536063,HR
-3112536064,3112537087,CZ
+3112536064,3112537087,ES
3112537088,3112538111,NO
3112538112,3112539135,CZ
3112539136,3112540159,NL
@@ -86263,7 +87993,7 @@
3112547328,3112548351,SA
3112548352,3112549375,SI
3112549376,3112550399,CZ
-3112550400,3112550911,GB
+3112550400,3112550911,AT
3112550912,3112551167,RO
3112551168,3112551423,US
3112551424,3112552447,CZ
@@ -86286,7 +88016,7 @@
3112567808,3112568831,DE
3112568832,3112569855,IT
3112569856,3112571903,SE
-3112571904,3112572927,DE
+3112571904,3112572927,GB
3112572928,3112573951,BE
3112573952,3112574975,DK
3112574976,3112577023,RU
@@ -86378,6 +88108,7 @@
3112665088,3112666111,GB
3112666112,3112667135,CZ
3112667136,3112668159,DE
+3112668160,3112669183,UA
3112669184,3112670207,CZ
3112670208,3112671231,RU
3112671232,3112672255,US
@@ -86501,7 +88232,6 @@
3112793088,3112794111,BY
3112794112,3112795135,DE
3112795136,3112796159,CZ
-3112796160,3112797183,GB
3112797184,3112798207,RO
3112798208,3112799231,DE
3112799232,3112800255,ES
@@ -86541,7 +88271,8 @@
3112833024,3112834047,ES
3112834048,3112835071,CH
3112835072,3112836095,DE
-3112836096,3112836607,ES
+3112836096,3112836351,ES
+3112836352,3112836607,AT
3112836608,3112836863,SE
3112836864,3112837119,FR
3112837120,3112838143,NO
@@ -86655,8 +88386,12 @@
3112954918,3112954918,DE
3112954919,3112955007,RS
3112955008,3112955008,DE
-3112955009,3112955135,AE
-3112955136,3112955263,QA
+3112955009,3112955071,AE
+3112955072,3112955072,DE
+3112955073,3112955135,AE
+3112955136,3112955189,QA
+3112955190,3112955190,DE
+3112955191,3112955263,QA
3112955264,3112955391,KW
3112955392,3112955903,DE
3112955904,3112956927,IL
@@ -86677,7 +88412,9 @@
3112972288,3112973311,US
3112973312,3112973567,SE
3112973568,3112973823,DE
-3112973824,3112974079,UA
+3112973824,3112973916,UA
+3112973917,3112973917,BV
+3112973918,3112974079,UA
3112974080,3112974083,HU
3112974084,3112974087,AT
3112974088,3112974335,HU
@@ -86720,8 +88457,9 @@
3113009152,3113010175,IQ
3113010176,3113011199,FR
3113011200,3113013247,DE
-3113013248,3113014271,RU
+3113013248,3113014271,BG
3113014272,3113016319,ES
+3113016320,3113017343,FR
3113017344,3113018367,NL
3113018368,3113019391,LT
3113019392,3113020415,IR
@@ -86746,6 +88484,7 @@
3113037824,3113038847,IR
3113038848,3113039871,LV
3113039872,3113040895,GB
+3113040896,3113041919,BG
3113041920,3113042943,DE
3113042944,3113043967,DK
3113043968,3113044991,NO
@@ -86755,6 +88494,7 @@
3113048064,3113049087,NO
3113049088,3113050111,RU
3113050112,3113051135,FI
+3113051136,3113052159,DE
3113052160,3113053183,IR
3113053184,3113054207,TR
3113054208,3113055231,SE
@@ -86783,7 +88523,7 @@
3113074944,3113075199,GR
3113075200,3113075455,CY
3113075456,3113075711,GB
-3113075712,3113076735,HU
+3113075712,3113076735,RS
3113076736,3113077759,DE
3113077760,3113078015,GB
3113078016,3113078271,NL
@@ -86792,6 +88532,7 @@
3113079808,3113080831,IR
3113080832,3113081855,TR
3113081856,3113082879,ES
+3113082880,3113083903,RU
3113083904,3113084927,IT
3113084928,3113086975,RU
3113086976,3113087999,ES
@@ -86805,8 +88546,7 @@
3113096192,3113097215,IT
3113097216,3113097471,DE
3113097472,3113097727,GB
-3113097728,3113097983,DE
-3113097984,3113098239,GB
+3113097728,3113098239,DE
3113098240,3113099263,IE
3113099264,3113100287,NL
3113100288,3113102335,LB
@@ -86823,6 +88563,7 @@
3113112576,3113113599,GB
3113113600,3113114623,IT
3113114624,3113115647,IR
+3113115648,3113116671,RU
3113116672,3113117695,NL
3113117696,3113118719,KW
3113118720,3113120767,DE
@@ -86888,6 +88629,7 @@
3113186304,3113187327,PL
3113187328,3113188351,RS
3113188352,3113189375,BH
+3113189376,3113190399,KZ
3113190400,3113191423,NL
3113191424,3113193471,ES
3113193472,3113194495,UA
@@ -86908,6 +88650,7 @@
3113209856,3113210879,NO
3113210880,3113211903,GB
3113211904,3113212927,NO
+3113212928,3113213951,RU
3113213952,3113214975,GB
3113214976,3113215087,DE
3113215088,3113215091,GB
@@ -87042,6 +88785,7 @@
3113319424,3113320447,RU
3113320448,3113321471,NL
3113321472,3113322495,AT
+3113322496,3113323519,DK
3113323520,3113324543,RU
3113324544,3113325567,HU
3113325568,3113326591,CH
@@ -87088,6 +88832,7 @@
3113366528,3113367551,PL
3113367552,3113368575,ES
3113368576,3113369599,DE
+3113369600,3113370623,RU
3113370624,3113371647,NL
3113371648,3113372671,RU
3113372672,3113373695,FR
@@ -87285,6 +89030,7 @@
3113570304,3113571327,ES
3113571328,3113573375,NL
3113573376,3113574399,CH
+3113574400,3113575423,RU
3113575424,3113576447,TR
3113576448,3113577471,BG
3113577472,3113578495,GB
@@ -87451,6 +89197,7 @@
3113687040,3113688063,IT
3113688064,3113689087,GB
3113689088,3113690111,IT
+3113690112,3113691135,ES
3113691136,3113692159,KZ
3113692160,3113693183,GB
3113693184,3113694207,DE
@@ -87543,6 +89290,7 @@
3113763328,3113763839,US
3113763840,3113764863,VA
3113764864,3113765887,IE
+3113765888,3113766911,PL
3113766912,3113767935,RU
3113767936,3113768959,NL
3113768960,3113769983,TR
@@ -87589,6 +89337,7 @@
3113814016,3113815039,FR
3113815040,3113816063,MD
3113816064,3113817087,ES
+3113817088,3113818111,GB
3113818112,3113819135,SI
3113819136,3113820159,FR
3113820160,3113822207,PL
@@ -87605,6 +89354,7 @@
3113832448,3113833471,CZ
3113833472,3113834495,LB
3113834496,3113835519,DE
+3113835520,3113836543,RU
3113836544,3113837567,FR
3113837568,3113838591,GB
3113838592,3113839615,CH
@@ -87618,7 +89368,9 @@
3113846784,3113847807,ES
3113847808,3113848831,DE
3113848832,3113849855,EE
-3113849856,3113850879,IL
+3113849856,3113850367,IL
+3113850368,3113850623,ES
+3113850624,3113850879,IL
3113850880,3113851903,DK
3113851904,3113852927,SE
3113852928,3113853951,PS
@@ -87653,7 +89405,9 @@
3113879552,3113880575,ES
3113880576,3113880831,NL
3113880832,3113881599,UA
-3113881600,3113882623,RO
+3113881600,3113881855,RO
+3113881856,3113882111,GB
+3113882112,3113882623,RO
3113882624,3113883647,RU
3113883648,3113884671,ES
3113884672,3113885695,DE
@@ -87723,12 +89477,13 @@
3113953280,3113954303,PL
3113954304,3113955327,NL
3113955328,3113956351,SK
-3113956352,3113957375,RO
+3113956352,3113957375,US
3113957376,3113958399,DE
3113958400,3113961471,ES
3113961472,3113962495,IR
3113962496,3113963519,NL
3113963520,3113964543,DK
+3113964544,3113965567,SE
3113965568,3113966591,UA
3113966592,3113967615,FR
3113967616,3113968639,EE
@@ -87874,6 +89629,7 @@
3114108928,3114109951,KG
3114109952,3114110975,BE
3114110976,3114111999,NL
+3114112000,3114113023,DE
3114113024,3114114047,ES
3114114048,3114115071,DE
3114115072,3114116095,SE
@@ -87905,6 +89661,7 @@
3114141696,3114142719,ES
3114142720,3114143743,DE
3114143744,3114144767,AT
+3114144768,3114145791,IQ
3114145792,3114146815,AT
3114146816,3114147839,IT
3114147840,3114148863,SY
@@ -88136,6 +89893,7 @@
3114340352,3114341375,GB
3114341376,3114342399,CH
3114342400,3114343423,GB
+3114343424,3114344447,NL
3114344448,3114345471,RU
3114345472,3114346495,IR
3114346496,3114347519,ES
@@ -88178,7 +89936,7 @@
3114383360,3114384383,ES
3114384384,3114385407,GB
3114385408,3114386431,IT
-3114386432,3114387455,US
+3114386432,3114387455,RU
3114387456,3114387711,JP
3114387712,3114387967,AU
3114387968,3114388479,US
@@ -88308,7 +90066,8 @@
3114507264,3114508287,RU
3114508288,3114509311,SA
3114509312,3114510335,ES
-3114510336,3114511359,GB
+3114510336,3114510847,PT
+3114510848,3114511359,SE
3114511360,3114512383,NL
3114512384,3114513407,RU
3114513408,3114514431,CZ
@@ -88361,6 +90120,7 @@
3114554368,3114555391,DE
3114555392,3114556415,ES
3114556416,3114557439,IT
+3114557440,3114558463,DE
3114558464,3114559487,ES
3114559488,3114560511,LB
3114560512,3114561535,DE
@@ -88392,6 +90152,7 @@
3114587136,3114588159,FR
3114588160,3114589183,IQ
3114589184,3114590207,GB
+3114590208,3114591231,ES
3114591232,3114592255,DE
3114592256,3114593279,FR
3114593280,3114594303,SA
@@ -88492,6 +90253,7 @@
3114688512,3114689535,CH
3114689536,3114690559,FR
3114690560,3114691583,IR
+3114691584,3114692607,CZ
3114692608,3114693631,IR
3114693632,3114694655,CY
3114694656,3114695679,DK
@@ -88565,7 +90327,7 @@
3114770432,3114771455,UA
3114771456,3114772479,US
3114772480,3114773503,GB
-3114773504,3114774527,DE
+3114773504,3114774527,BG
3114774528,3114775551,SE
3114775552,3114776575,GB
3114776576,3114777599,CZ
@@ -88633,13 +90395,15 @@
3114841088,3114842111,DK
3114842112,3114843135,RU
3114843136,3114844159,FR
-3114844160,3114845183,GB
+3114844160,3114844415,GB
+3114844416,3114844671,DE
+3114844672,3114845183,GB
3114845184,3114846207,DK
3114846208,3114847231,NL
3114847232,3114848255,FI
3114848256,3114849279,RU
3114849280,3114850303,FI
-3114850304,3114851327,GB
+3114850304,3114851327,SE
3114851328,3114852351,UA
3114852352,3114853375,RU
3114853376,3114854399,DE
@@ -88647,7 +90411,9 @@
3114855424,3114856447,RU
3114856448,3114857471,SE
3114857472,3114858495,DK
-3114858496,3114860543,NL
+3114858496,3114858751,NL
+3114858752,3114859519,FR
+3114859520,3114860543,NL
3114860544,3114861567,DE
3114861568,3114862591,AE
3114862592,3114863615,AT
@@ -88777,7 +90543,8 @@
3114988544,3114989567,DE
3114989568,3114990591,NO
3114990592,3114991615,LT
-3114991616,3114992639,GB
+3114991616,3114991871,GB
+3114991872,3114992639,TR
3114992640,3114993663,FR
3114993664,3114994687,ES
3114994688,3114995711,RU
@@ -88828,6 +90595,7 @@
3115039744,3115040767,GB
3115040768,3115041791,RU
3115041792,3115042815,DK
+3115042816,3115043839,RU
3115043840,3115044863,DE
3115044864,3115045887,NL
3115045888,3115046911,IT
@@ -88843,7 +90611,9 @@
3115058176,3115059199,BE
3115059200,3115060223,DE
3115060224,3115062271,FR
-3115062272,3115063295,GB
+3115062272,3115062527,GB
+3115062528,3115062783,CA
+3115062784,3115063295,GB
3115063296,3115064319,EE
3115064320,3115066367,MD
3115066368,3115067391,NL
@@ -89010,7 +90780,8 @@
3115225088,3115226111,UA
3115226112,3115227135,DE
3115227136,3115228159,PL
-3115228160,3115228671,AT
+3115228160,3115228415,PT
+3115228416,3115228671,AT
3115228672,3115229183,IL
3115229184,3115230207,EE
3115230208,3115231231,RU
@@ -89039,6 +90810,7 @@
3115252736,3115253759,US
3115253760,3115254783,SI
3115254784,3115255807,NL
+3115255808,3115256831,CZ
3115256832,3115257855,GB
3115257856,3115258879,RU
3115258880,3115259903,AT
@@ -89089,7 +90861,7 @@
3115298816,3115299839,FI
3115299840,3115300863,BE
3115300864,3115301887,PT
-3115301888,3115302911,NL
+3115301888,3115302911,SK
3115302912,3115303935,LT
3115303936,3115305983,NL
3115305984,3115307007,TR
@@ -89170,7 +90942,8 @@
3115385856,3115387903,SK
3115387904,3115388927,MK
3115388928,3115389951,AT
-3115389952,3115390719,GB
+3115389952,3115390207,DE
+3115390208,3115390719,GB
3115390720,3115390975,NL
3115390976,3115391999,GB
3115392000,3115393023,AL
@@ -89237,7 +91010,8 @@
3115455488,3115456511,DK
3115456512,3115457535,DE
3115457536,3115458559,FR
-3115458560,3115462655,DE
+3115458560,3115461631,DE
+3115461632,3115462655,RU
3115462656,3115462911,FR
3115462912,3115463167,GB
3115463168,3115463423,DE
@@ -89314,7 +91088,7 @@
3115538432,3115539455,NL
3115539456,3115540479,ME
3115540480,3115541503,DK
-3115541504,3115542527,DE
+3115541504,3115542527,GB
3115542528,3115543551,ES
3115543552,3115544575,IS
3115544576,3115545599,NL
@@ -89369,7 +91143,8 @@
3115591680,3115592703,CH
3115592704,3115593727,BE
3115593728,3115593983,ES
-3115593984,3115594751,GB
+3115593984,3115594239,DE
+3115594240,3115594751,GB
3115594752,3115595775,IR
3115595776,3115596799,RU
3115596800,3115597823,IQ
@@ -89481,6 +91256,7 @@
3115709440,3115710463,RU
3115710464,3115711487,GE
3115711488,3115714559,BG
+3115714560,3115715583,DE
3115715584,3115717631,RU
3115717632,3115718655,UA
3115718656,3115719679,CH
@@ -89510,6 +91286,7 @@
3115741184,3115742207,LB
3115742208,3115743231,IT
3115743232,3115744255,AM
+3115744256,3115745279,ES
3115745280,3115746303,RU
3115746304,3115747327,BE
3115747328,3115748351,JO
@@ -89539,6 +91316,7 @@
3115771904,3115772927,DE
3115772928,3115773951,TR
3115773952,3115774975,GB
+3115774976,3115775999,PL
3115776000,3115777023,IR
3115777024,3115779071,FR
3115779072,3115780095,IT
@@ -89561,7 +91339,9 @@
3115797504,3115798015,UA
3115798016,3115798527,RU
3115798528,3115799551,MD
-3115799552,3115801599,DE
+3115799552,3115800063,DE
+3115800064,3115800319,GB
+3115800320,3115801599,DE
3115801600,3115802623,LB
3115802624,3115802879,NL
3115802880,3115803135,RO
@@ -89688,6 +91468,7 @@
3115919360,3115920383,NL
3115920384,3115921407,IT
3115921408,3115922431,NL
+3115922432,3115923455,ES
3115923456,3115924479,RU
3115924480,3115925503,TR
3115925504,3115926527,ES
@@ -89704,7 +91485,8 @@
3115936768,3115937791,GB
3115937792,3115938815,TR
3115938816,3115939839,FR
-3115939840,3115940863,RU
+3115939840,3115940351,RU
+3115940352,3115940863,TR
3115940864,3115941119,CU
3115941120,3115941887,DE
3115941888,3115942911,CZ
@@ -89739,7 +91521,9 @@
3115973632,3115974655,UA
3115974656,3115975679,RU
3115975680,3115976703,GB
-3115976704,3115977727,US
+3115976704,3115977215,US
+3115977216,3115977471,GB
+3115977472,3115977727,US
3115977728,3115978751,IT
3115978752,3115980799,PL
3115980800,3115981823,DE
@@ -89905,6 +91689,7 @@
3116149760,3116150783,GB
3116150784,3116151807,FR
3116151808,3116152831,RU
+3116152832,3116153855,CZ
3116153856,3116154879,SK
3116154880,3116155903,RU
3116155904,3116156927,CH
@@ -90007,7 +91792,9 @@
3116253184,3116254207,NL
3116254208,3116255231,DE
3116255232,3116256255,GB
-3116256256,3116258303,AT
+3116256256,3116257535,AT
+3116257536,3116257791,US
+3116257792,3116258303,AT
3116258304,3116259327,NL
3116259328,3116260351,FR
3116260352,3116261375,DE
@@ -90034,7 +91821,8 @@
3116285952,3116286975,DE
3116286976,3116287999,GB
3116288000,3116290047,IE
-3116290048,3116294143,IT
+3116290048,3116293119,IT
+3116293120,3116294143,GB
3116294144,3116295167,US
3116295168,3116297215,NL
3116297216,3116298239,DE
@@ -90178,7 +91966,9 @@
3116439552,3116440575,LT
3116440576,3116441599,MD
3116441600,3116442623,GB
-3116442624,3116442879,AT
+3116442624,3116442838,AT
+3116442839,3116442839,GB
+3116442840,3116442879,AT
3116442880,3116443135,US
3116443136,3116443391,FR
3116443392,3116443647,AT
@@ -90365,7 +92155,7 @@
3116616704,3116617727,ES
3116617728,3116618751,NO
3116618752,3116619775,NL
-3116619776,3116620799,DE
+3116619776,3116620799,CY
3116620800,3116621823,NL
3116621824,3116622847,CZ
3116622848,3116623871,TR
@@ -90477,6 +92267,7 @@
3116738560,3116739583,DK
3116739584,3116740607,DE
3116740608,3116741631,JO
+3116741632,3116742655,RU
3116742656,3116743679,FR
3116743680,3116744703,NL
3116744704,3116745727,DE
@@ -90628,7 +92419,6 @@
3116898304,3116899327,ES
3116899328,3116900351,TR
3116900352,3116901375,DE
-3116901376,3116902399,GB
3116902400,3116903423,BG
3116903424,3116905471,PL
3116905472,3116906495,AE
@@ -90668,8 +92458,7 @@
3116941312,3116942335,FR
3116942336,3116943359,CY
3116943360,3116944383,FR
-3116944384,3116945407,GB
-3116945408,3116945919,DE
+3116944384,3116945919,GB
3116945920,3116946431,CN
3116946432,3116947455,AL
3116947456,3116948479,RU
@@ -90776,9 +92565,11 @@
3117054976,3117055999,PL
3117056000,3117057023,IT
3117057024,3117058047,CH
-3117058048,3117059071,HU
+3117058048,3117059071,RS
3117059072,3117060095,SA
-3117060096,3117061119,GB
+3117060096,3117060159,SE
+3117060160,3117060607,PT
+3117060608,3117061119,SE
3117061120,3117062143,AT
3117062144,3117063167,NL
3117063168,3117064191,DE
@@ -90855,7 +92646,7 @@
3117138944,3117139967,IR
3117139968,3117142015,DE
3117142016,3117143039,ES
-3117143040,3117144063,DE
+3117143040,3117144063,GB
3117144064,3117145087,US
3117145088,3117147135,ES
3117147136,3117148159,AE
@@ -90931,7 +92722,8 @@
3117219840,3117220863,FI
3117220864,3117221887,ES
3117221888,3117222911,IT
-3117222912,3117223935,DE
+3117222912,3117223423,US
+3117223424,3117223935,DE
3117223936,3117224959,TR
3117224960,3117225983,NO
3117225984,3117227007,SA
@@ -90980,7 +92772,7 @@
3117267968,3117268223,ES
3117268224,3117268479,IE
3117268480,3117268735,FR
-3117268736,3117268991,IE
+3117268736,3117268991,NL
3117268992,3117269503,US
3117269504,3117270015,DE
3117270016,3117271039,TR
@@ -91023,7 +92815,7 @@
3117308928,3117309951,IR
3117309952,3117310975,KW
3117310976,3117311999,RU
-3117312000,3117313023,NL
+3117312000,3117313023,DE
3117313024,3117314047,SE
3117314048,3117315071,PL
3117315072,3117316095,FR
@@ -91153,7 +92945,6 @@
3117443072,3117444095,IT
3117444096,3117445119,CY
3117445120,3117446143,EE
-3117446144,3117447167,FR
3117447168,3117448191,CH
3117448192,3117449215,NL
3117449216,3117450239,MD
@@ -91208,7 +92999,9 @@
3117498368,3117499391,DE
3117499392,3117500415,PL
3117500416,3117502463,ES
-3117502464,3117503999,RU
+3117502464,3117503819,RU
+3117503820,3117503823,EE
+3117503824,3117503999,RU
3117504000,3117504511,DE
3117504512,3117505535,RU
3117505536,3117506559,IE
@@ -91309,8 +93102,7 @@
3117603584,3117603839,AT
3117603840,3117604863,SE
3117604864,3117605119,AT
-3117605120,3117605631,ES
-3117605632,3117605887,AT
+3117605120,3117605887,ES
3117605888,3117606911,GB
3117606912,3117607935,ES
3117607936,3117608959,DK
@@ -91329,7 +93121,9 @@
3117621248,3117622271,US
3117622272,3117623295,SK
3117623296,3117624319,HU
-3117624320,3117626367,GB
+3117624320,3117625343,GB
+3117625344,3117625599,NL
+3117625600,3117626367,GB
3117626368,3117627391,NO
3117627392,3117628415,IR
3117628416,3117629439,DE
@@ -91510,7 +93304,7 @@
3117812736,3117813759,ES
3117813760,3117814783,NO
3117814784,3117816831,NL
-3117816832,3117817855,HU
+3117816832,3117817855,RS
3117817856,3117818879,PT
3117818880,3117819903,IR
3117819904,3117820927,RO
@@ -91569,6 +93363,7 @@
3117875200,3117876223,ES
3117876224,3117877247,DK
3117877248,3117878271,SE
+3117878272,3117879295,FR
3117879296,3117880319,DE
3117880320,3117881343,CZ
3117881344,3117882367,FR
@@ -91614,7 +93409,9 @@
3117924352,3117925375,IT
3117925376,3117926399,SE
3117926400,3117927423,AT
-3117927424,3117930239,DE
+3117927424,3117928447,DE
+3117928448,3117929471,GB
+3117929472,3117930239,DE
3117930240,3117930495,TW
3117930496,3117931519,AT
3117931520,3117932543,RO
@@ -91638,7 +93435,8 @@
3117949952,3117950975,FR
3117950976,3117951999,SA
3117952000,3117953023,EE
-3117953024,3117954047,GB
+3117953024,3117953279,GB
+3117953280,3117954047,RU
3117954048,3117955071,NL
3117955072,3117956095,ES
3117956096,3117957119,RU
@@ -91717,7 +93515,8 @@
3118033920,3118034943,AU
3118034944,3118035967,ES
3118035968,3118036735,GB
-3118036736,3118037759,CN
+3118036736,3118036991,US
+3118036992,3118037759,CN
3118037760,3118038015,GB
3118038016,3118039039,DE
3118039040,3118041087,GB
@@ -91729,7 +93528,8 @@
3118046208,3118047231,GB
3118047232,3118048255,IR
3118048256,3118049279,NL
-3118049280,3118050303,DE
+3118049280,3118050047,DE
+3118050048,3118050303,NL
3118050304,3118051327,SY
3118051328,3118052351,DE
3118052352,3118053375,KZ
@@ -91830,7 +93630,7 @@
3118160896,3118161919,GB
3118161920,3118162943,BE
3118162944,3118166015,GB
-3118166016,3118167039,DE
+3118166016,3118167039,IR
3118167040,3118168063,IT
3118168064,3118169087,ES
3118169088,3118170111,DE
@@ -91941,8 +93741,25 @@
3118282752,3118283775,SI
3118283776,3118284799,IS
3118284800,3118285823,DE
-3118285824,3118286079,AU
-3118286080,3118286335,SG
+3118285824,3118285855,AU
+3118285856,3118285857,MY
+3118285858,3118285875,AU
+3118285876,3118285877,NZ
+3118285878,3118286079,AU
+3118286080,3118286111,SG
+3118286112,3118286113,MY
+3118286114,3118286115,ID
+3118286116,3118286117,PH
+3118286118,3118286119,VN
+3118286120,3118286121,TH
+3118286122,3118286123,KR
+3118286124,3118286125,TW
+3118286126,3118286127,IN
+3118286128,3118286129,BD
+3118286130,3118286131,NP
+3118286132,3118286133,SG
+3118286134,3118286135,AU
+3118286136,3118286335,SG
3118286336,3118286847,DE
3118286848,3118287871,IT
3118287872,3118288895,IR
@@ -91957,7 +93774,8 @@
3118298112,3118300159,RU
3118300160,3118301183,CZ
3118301184,3118302207,ES
-3118302208,3118304255,DE
+3118302208,3118303231,US
+3118303232,3118304255,DE
3118304256,3118305279,HU
3118305280,3118306303,GB
3118306304,3118307327,DE
@@ -92083,7 +93901,13 @@
3118437376,3118438399,FR
3118438400,3118439423,ES
3118439424,3118440447,FR
-3118440448,3118442495,RU
+3118440448,3118440703,RU
+3118440704,3118440959,DE
+3118440960,3118441215,RU
+3118441216,3118441471,EE
+3118441472,3118441727,RU
+3118441728,3118441983,GB
+3118441984,3118442495,RU
3118442496,3118443519,MD
3118443520,3118444543,GB
3118444544,3118445567,UA
@@ -92103,7 +93927,8 @@
3118460928,3118461951,ES
3118461952,3118462975,UA
3118462976,3118463999,RU
-3118464000,3118465023,DE
+3118464000,3118464767,DE
+3118464768,3118465023,US
3118465024,3118466047,TR
3118466048,3118467071,HU
3118467072,3118468095,RU
@@ -92157,7 +93982,8 @@
3118516224,3118517247,AT
3118517248,3118518271,IR
3118518272,3118519295,GB
-3118519296,3118520319,KZ
+3118519296,3118519551,KZ
+3118519552,3118520319,RU
3118520320,3118521343,NL
3118521344,3118522367,ES
3118522368,3118523391,US
@@ -92277,14 +94103,14 @@
3118622720,3118623743,ES
3118623744,3118624767,NL
3118624768,3118625791,UA
-3118625792,3118626815,IR
+3118625792,3118626815,GB
3118626816,3118627839,DE
3118627840,3118628863,OM
3118628864,3118629887,RU
3118629888,3118630911,IR
3118630912,3118631935,NL
3118631936,3118632959,IR
-3118632960,3118633983,DE
+3118632960,3118633983,US
3118633984,3118635007,NO
3118635008,3118636031,ES
3118636032,3118637055,GB
@@ -92554,7 +94380,7 @@
3118922752,3118923775,MK
3118923776,3118924799,CH
3118924800,3118925823,DE
-3118925824,3118926847,FR
+3118925824,3118926847,US
3118926848,3118927871,PL
3118927872,3118928895,NL
3118928896,3118929919,ES
@@ -92579,6 +94405,7 @@
3118949376,3118950399,SE
3118950400,3118951423,CH
3118951424,3118952447,TR
+3118952448,3118952703,IR
3118953472,3118954495,ES
3118954496,3118955519,FR
3118955520,3118956543,DE
@@ -92610,8 +94437,10 @@
3118985216,3118987263,RU
3118987264,3118991359,DE
3118991360,3118992383,ES
-3118992384,3118993407,DE
-3118993408,3118994431,RU
+3118992384,3118993151,DE
+3118993152,3118993407,US
+3118993408,3118994175,RU
+3118994176,3118994431,MD
3118994432,3118994943,NL
3118994944,3118995199,US
3118995200,3118995455,DE
@@ -92707,7 +94536,7 @@
3119098880,3119099903,NL
3119099904,3119100927,IE
3119100928,3119101951,AZ
-3119101952,3119102975,RU
+3119101952,3119102975,GB
3119102976,3119103231,NL
3119103232,3119103487,GB
3119103488,3119103743,DE
@@ -92730,12 +94559,15 @@
3119119360,3119120383,DK
3119120384,3119121407,GB
3119121408,3119122431,RO
-3119122432,3119124479,RU
+3119122432,3119123199,RU
+3119123200,3119123455,MD
+3119123456,3119124479,RU
3119124480,3119125503,RO
3119125504,3119126527,ES
3119126528,3119127551,RU
3119127552,3119128575,CZ
3119128576,3119129599,DE
+3119129600,3119130623,GB
3119130624,3119131647,FR
3119131648,3119132671,DE
3119132672,3119133695,FR
@@ -92771,11 +94603,15 @@
3119168512,3119169535,HU
3119169536,3119170559,IR
3119170560,3119171583,CH
-3119171584,3119172607,EE
+3119171584,3119171839,EE
+3119171840,3119172095,FR
+3119172096,3119172607,EE
3119172608,3119173631,DE
3119173632,3119174655,PL
3119174656,3119175679,NL
-3119175680,3119176703,PL
+3119175680,3119175735,PL
+3119175736,3119175736,IE
+3119175737,3119176703,PL
3119176704,3119177727,NL
3119177728,3119178751,ES
3119178752,3119179775,RU
@@ -92810,13 +94646,15 @@
3119212544,3119213567,FR
3119213568,3119214591,BE
3119214592,3119215615,HU
-3119215616,3119216639,NL
+3119215616,3119216639,SE
3119216640,3119217663,GB
3119217664,3119218687,PL
3119218688,3119218943,NL
3119218944,3119220735,UA
3119220736,3119221759,IR
-3119221760,3119223807,RU
+3119221760,3119222271,RU
+3119222272,3119222783,NL
+3119222784,3119223807,RU
3119223808,3119225855,AT
3119225856,3119226879,CH
3119226880,3119227903,EE
@@ -92885,7 +94723,8 @@
3119296512,3119297535,NL
3119297536,3119298559,BG
3119298560,3119299583,UA
-3119299584,3119300607,AT
+3119299584,3119299839,CH
+3119299840,3119300607,AT
3119300608,3119301631,SI
3119301632,3119302655,BE
3119302656,3119302911,US
@@ -93013,6 +94852,548 @@
3119438848,3119439871,MD
3119439872,3119440895,GB
3119440896,3119442943,ES
+3119442944,3119443967,PL
+3119443968,3119444991,DE
+3119444992,3119446015,RS
+3119446016,3119447039,IT
+3119447040,3119448063,RU
+3119448064,3119449087,IR
+3119449088,3119450111,ES
+3119450112,3119451135,AL
+3119451136,3119452159,PL
+3119452160,3119453183,IQ
+3119453184,3119454207,DE
+3119454208,3119455231,UA
+3119455232,3119456255,IL
+3119456256,3119457279,UA
+3119457280,3119458303,ES
+3119458304,3119459327,PL
+3119459328,3119460351,UA
+3119460352,3119461375,RU
+3119461376,3119462399,IQ
+3119462400,3119463423,ES
+3119463424,3119464447,NL
+3119464448,3119465471,DE
+3119465472,3119466495,NL
+3119466496,3119467519,ES
+3119467520,3119468543,IE
+3119468544,3119469567,DE
+3119469568,3119470591,NL
+3119470592,3119471615,RU
+3119471616,3119472639,QA
+3119472640,3119473663,IT
+3119473664,3119474687,BE
+3119474688,3119475711,GB
+3119475712,3119476735,FR
+3119476736,3119477759,GB
+3119477760,3119479807,RU
+3119479808,3119480831,BG
+3119480832,3119483903,RU
+3119483904,3119484927,ES
+3119484928,3119485951,KZ
+3119485952,3119486975,GB
+3119486976,3119487999,UZ
+3119488000,3119489023,FI
+3119489024,3119490047,ES
+3119490048,3119491071,GB
+3119491072,3119492095,NL
+3119492096,3119493119,GB
+3119493120,3119494143,IQ
+3119494144,3119496191,UA
+3119496192,3119497215,GB
+3119497216,3119498239,FI
+3119498240,3119499263,FR
+3119499264,3119500287,ES
+3119500288,3119501311,GB
+3119501312,3119503359,DE
+3119503360,3119504383,CZ
+3119504384,3119506431,NL
+3119506432,3119507455,ES
+3119507456,3119508479,PL
+3119508480,3119509503,DE
+3119509504,3119510527,MD
+3119510528,3119511551,LT
+3119511552,3119512575,NL
+3119512576,3119513599,ES
+3119513600,3119515647,DE
+3119515648,3119516671,PL
+3119516672,3119517695,IT
+3119517696,3119518719,MD
+3119518720,3119519743,ES
+3119519744,3119521791,NL
+3119521792,3119522815,UA
+3119522816,3119523839,FR
+3119523840,3119524863,IS
+3119524864,3119526911,RU
+3119526912,3119527935,DE
+3119527936,3119528959,IR
+3119528960,3119529983,AT
+3119529984,3119531007,YE
+3119531008,3119532031,IT
+3119532032,3119533055,DE
+3119533056,3119534079,AT
+3119534080,3119535103,ES
+3119535104,3119536127,RU
+3119536128,3119537151,ES
+3119537152,3119538175,RU
+3119538176,3119539199,PL
+3119539200,3119540223,RU
+3119540224,3119541247,EE
+3119541248,3119542271,PL
+3119542272,3119543295,NL
+3119543296,3119544319,DE
+3119544320,3119545343,ES
+3119545344,3119546367,FR
+3119546368,3119547391,RU
+3119547392,3119548415,BG
+3119548416,3119549439,RO
+3119549440,3119550463,CY
+3119550464,3119551487,BG
+3119551488,3119552511,IR
+3119552512,3119553535,BG
+3119553536,3119554559,FR
+3119554560,3119555583,NL
+3119555584,3119556607,ES
+3119556608,3119557631,NL
+3119557632,3119558655,CH
+3119558656,3119559679,FR
+3119559680,3119560703,BG
+3119560704,3119561727,IE
+3119561728,3119562751,BG
+3119562752,3119563775,DK
+3119563776,3119564799,MD
+3119564800,3119565823,GB
+3119565824,3119566847,NO
+3119566848,3119567871,SE
+3119567872,3119568895,ES
+3119568896,3119569919,IT
+3119569920,3119570943,CZ
+3119570944,3119571967,RO
+3119571968,3119574015,ES
+3119574016,3119575039,FR
+3119575040,3119577087,DE
+3119577088,3119578111,PT
+3119578112,3119579135,RO
+3119579136,3119580159,RU
+3119580160,3119581183,IL
+3119581184,3119582207,RU
+3119582208,3119583231,DK
+3119583232,3119584255,IT
+3119584256,3119585279,UA
+3119585280,3119586303,IL
+3119586304,3119587327,ES
+3119587328,3119588351,DE
+3119588352,3119589375,GB
+3119589376,3119590399,US
+3119590400,3119591423,IM
+3119591424,3119592447,GB
+3119592448,3119592703,UA
+3119592704,3119593471,NL
+3119593472,3119596543,IT
+3119596544,3119598591,RU
+3119598592,3119600639,NL
+3119600640,3119601663,CH
+3119601664,3119602687,RO
+3119602688,3119603711,IT
+3119603712,3119604735,FR
+3119604736,3119605759,TR
+3119605760,3119606783,PL
+3119606784,3119607807,RU
+3119607808,3119608831,FR
+3119608832,3119609855,IT
+3119609856,3119610879,ES
+3119610880,3119611903,UA
+3119611904,3119612927,ES
+3119612928,3119613951,IE
+3119613952,3119614975,TR
+3119614976,3119615999,FR
+3119616000,3119617023,IT
+3119617024,3119619071,DE
+3119619072,3119620095,GB
+3119620096,3119621119,SE
+3119621120,3119622143,MD
+3119622144,3119623167,IT
+3119623168,3119624191,SE
+3119624192,3119625215,RU
+3119625216,3119626239,FR
+3119626240,3119628287,NL
+3119628288,3119629311,RU
+3119629312,3119630335,PL
+3119630336,3119631359,IT
+3119631360,3119632383,FR
+3119632384,3119633407,MD
+3119633408,3119634431,CY
+3119634432,3119635455,GB
+3119635456,3119636479,CZ
+3119636480,3119637503,GB
+3119637504,3119638527,BG
+3119638528,3119639551,PL
+3119639552,3119640575,DE
+3119640576,3119641599,CZ
+3119641600,3119642623,RU
+3119642624,3119643647,GB
+3119643648,3119644671,PL
+3119644672,3119645695,UA
+3119645696,3119645951,JP
+3119645952,3119646207,US
+3119646208,3119646463,CZ
+3119646464,3119646719,GB
+3119646720,3119647743,FR
+3119647744,3119648767,IT
+3119648768,3119649791,RU
+3119649792,3119650047,SK
+3119650048,3119650815,RU
+3119650816,3119651839,ES
+3119651840,3119652863,AT
+3119652864,3119653887,PL
+3119653888,3119654911,LB
+3119654912,3119655935,IT
+3119655936,3119656959,GB
+3119656960,3119657983,ES
+3119657984,3119659007,NL
+3119659008,3119660031,SK
+3119660032,3119661055,IR
+3119661056,3119662079,NL
+3119662080,3119663103,MT
+3119663104,3119664127,CZ
+3119664128,3119665151,DE
+3119665152,3119666175,NL
+3119666176,3119667199,RU
+3119667200,3119668223,BG
+3119668224,3119669247,FR
+3119669248,3119671295,ES
+3119671296,3119672319,LV
+3119672320,3119673343,LT
+3119673344,3119674367,DE
+3119674368,3119676415,RU
+3119676416,3119677439,PL
+3119677440,3119678463,FR
+3119678464,3119679487,RU
+3119679488,3119681535,FR
+3119681536,3119682559,RO
+3119682560,3119683583,FI
+3119683584,3119684607,PL
+3119684608,3119685631,CZ
+3119685632,3119686655,TR
+3119686656,3119687679,NL
+3119687680,3119688703,BG
+3119688704,3119689727,ES
+3119689728,3119690495,RU
+3119690496,3119690751,CH
+3119690752,3119691775,IT
+3119691776,3119692799,RU
+3119692800,3119693823,SK
+3119693824,3119695871,DE
+3119695872,3119696895,CH
+3119696896,3119697919,GB
+3119697920,3119698943,SE
+3119698944,3119699967,HR
+3119699968,3119700991,HU
+3119700992,3119702015,NL
+3119702016,3119703039,GB
+3119703040,3119704063,SE
+3119704064,3119705087,CZ
+3119705088,3119706111,IE
+3119706112,3119707135,NO
+3119707136,3119708159,NL
+3119708160,3119709183,ES
+3119709184,3119710207,PL
+3119710208,3119711231,RU
+3119711232,3119712255,PL
+3119712256,3119714303,DE
+3119714304,3119715327,FR
+3119715328,3119716351,DE
+3119716352,3119717375,ES
+3119717376,3119718399,PL
+3119718400,3119719423,NL
+3119719424,3119720447,IT
+3119720448,3119721471,GB
+3119721472,3119722495,DE
+3119722496,3119723519,IR
+3119723520,3119724543,PL
+3119724544,3119725567,DE
+3119725568,3119726591,GB
+3119726592,3119727615,CH
+3119727616,3119728639,DE
+3119728640,3119729663,IT
+3119729664,3119730687,AE
+3119730688,3119731711,GB
+3119731712,3119732735,RU
+3119732736,3119733759,NL
+3119733760,3119734783,ES
+3119734784,3119735807,UA
+3119735808,3119736831,PT
+3119736832,3119737855,GB
+3119737856,3119738879,RO
+3119738880,3119739903,NL
+3119739904,3119740927,CH
+3119740928,3119741951,FR
+3119741952,3119742975,CZ
+3119742976,3119743999,RU
+3119744000,3119745023,DE
+3119745024,3119746047,ES
+3119746048,3119747071,MD
+3119747072,3119748095,AT
+3119748096,3119749119,IT
+3119749120,3119749887,US
+3119749888,3119750143,ES
+3119750144,3119751167,RU
+3119751168,3119752191,CH
+3119752192,3119753215,ES
+3119753216,3119755263,CZ
+3119755264,3119756287,NO
+3119756288,3119757311,GB
+3119757312,3119758335,AT
+3119758336,3119759359,NL
+3119759360,3119760383,IT
+3119760384,3119761407,NO
+3119761408,3119762431,DE
+3119762432,3119763455,CH
+3119763456,3119764479,LB
+3119764480,3119765503,DE
+3119765504,3119766527,NO
+3119766528,3119767551,RU
+3119767552,3119768575,DK
+3119768576,3119769599,PL
+3119769600,3119770623,DE
+3119770624,3119771647,BG
+3119771648,3119772671,DE
+3119772672,3119773695,RU
+3119773696,3119774719,BG
+3119774720,3119775743,PL
+3119775744,3119776767,SE
+3119776768,3119777791,RU
+3119777792,3119778815,GB
+3119778816,3119779839,FK
+3119779840,3119780863,FR
+3119780864,3119781887,RU
+3119781888,3119783935,NL
+3119783936,3119784959,IT
+3119784960,3119785983,NL
+3119785984,3119789055,RU
+3119789056,3119790079,IR
+3119790080,3119792127,DE
+3119792128,3119793151,PL
+3119793152,3119794175,HU
+3119794176,3119795199,FR
+3119795200,3119796223,RU
+3119796224,3119797247,DE
+3119797248,3119798271,PL
+3119798272,3119799295,DK
+3119799296,3119800319,HR
+3119800320,3119801343,PL
+3119801344,3119802367,EE
+3119802368,3119803391,LT
+3119803392,3119804415,RO
+3119804416,3119805439,CH
+3119805440,3119806463,TR
+3119806464,3119807487,DE
+3119807488,3119808511,NL
+3119808512,3119809535,RO
+3119809536,3119810559,RU
+3119810560,3119811583,MD
+3119811584,3119812607,UA
+3119812608,3119813631,TR
+3119813632,3119814143,RO
+3119814144,3119814655,NL
+3119814656,3119816703,UA
+3119816704,3119817727,GB
+3119817728,3119818751,DE
+3119818752,3119819775,UA
+3119819776,3119820543,RU
+3119820544,3119820799,UA
+3119820800,3119821823,MD
+3119821824,3119822847,RU
+3119822848,3119823871,IT
+3119823872,3119824895,CZ
+3119824896,3119825919,DE
+3119825920,3119826943,NL
+3119826944,3119827967,DE
+3119827968,3119828991,SY
+3119828992,3119830015,RO
+3119830016,3119830271,AT
+3119830272,3119830527,FR
+3119830528,3119830783,PL
+3119830784,3119831039,US
+3119831040,3119832063,UA
+3119832064,3119833087,MD
+3119833088,3119834111,GB
+3119834112,3119836159,ES
+3119836160,3119837183,GB
+3119837184,3119838207,MK
+3119838208,3119839231,FI
+3119839232,3119840255,LT
+3119840256,3119841279,CH
+3119841280,3119842303,PL
+3119842304,3119843327,MD
+3119843328,3119844351,DK
+3119844352,3119845375,HR
+3119845376,3119846399,DK
+3119846400,3119847423,GB
+3119847424,3119848447,FR
+3119848448,3119849471,DE
+3119849472,3119850495,ES
+3119850496,3119851519,RU
+3119851520,3119852543,FR
+3119852544,3119853567,PL
+3119853568,3119854591,DK
+3119854592,3119855615,RO
+3119855616,3119857663,DE
+3119857664,3119858687,AT
+3119858688,3119859711,BG
+3119859712,3119860735,NL
+3119860736,3119861759,IT
+3119861760,3119862783,GB
+3119862784,3119863039,DK
+3119863040,3119863295,SK
+3119863296,3119863807,US
+3119863808,3119864831,NL
+3119864832,3119865855,CH
+3119865856,3119868927,DE
+3119868928,3119869951,DK
+3119869952,3119870975,MD
+3119870976,3119871999,GB
+3119872000,3119873023,IT
+3119873024,3119875071,GB
+3119875072,3119876095,ES
+3119876096,3119878143,FR
+3119878144,3119879167,ES
+3119879168,3119880191,RU
+3119880192,3119881215,DE
+3119881216,3119882239,NL
+3119882240,3119883263,CH
+3119883264,3119884287,IT
+3119884288,3119885311,DE
+3119885312,3119886335,IS
+3119886336,3119887359,ES
+3119887360,3119888383,DE
+3119888384,3119889407,RU
+3119889408,3119890431,ES
+3119890432,3119891455,PL
+3119891456,3119892479,FR
+3119892480,3119893503,DK
+3119893504,3119894527,SE
+3119894528,3119895551,ES
+3119895552,3119896575,GB
+3119896576,3119897599,NL
+3119897600,3119898623,FR
+3119898624,3119899647,DK
+3119899648,3119900671,DE
+3119900672,3119901695,GB
+3119901696,3119902719,MD
+3119902720,3119903743,GB
+3119903744,3119904767,RO
+3119904768,3119905791,FR
+3119905792,3119907839,DE
+3119907840,3119908863,IR
+3119908864,3119909887,IT
+3119909888,3119910911,ES
+3119910912,3119911935,FR
+3119911936,3119912959,AT
+3119912960,3119913983,FR
+3119913984,3119915007,NL
+3119915008,3119916031,RU
+3119916032,3119917055,IT
+3119917056,3119918079,NL
+3119918080,3119919103,FR
+3119919104,3119920127,GB
+3119920128,3119922175,ES
+3119922176,3119923199,SK
+3119923200,3119924223,RU
+3119924224,3119925247,ES
+3119925248,3119926271,TM
+3119926272,3119927295,SY
+3119927296,3119928319,NO
+3119928320,3119929343,FR
+3119929344,3119930367,RU
+3119930368,3119931391,IT
+3119931392,3119932415,FR
+3119932416,3119933439,ES
+3119933440,3119934463,CH
+3119934464,3119935487,NL
+3119935488,3119936511,ES
+3119936512,3119937535,RU
+3119937536,3119938559,DE
+3119938560,3119939583,RU
+3119939584,3119940607,SE
+3119940608,3119941631,GB
+3119941632,3119942655,NL
+3119942656,3119943679,AT
+3119943680,3119944703,CH
+3119944704,3119945727,CZ
+3119945728,3119946751,NL
+3119946752,3119947775,DK
+3119947776,3119948799,KZ
+3119948800,3119949823,GR
+3119949824,3119950847,BG
+3119950848,3119951871,RO
+3119951872,3119952895,ES
+3119952896,3119953919,RU
+3119953920,3119954943,EE
+3119954944,3119955967,RO
+3119955968,3119956991,RU
+3119956992,3119958015,ES
+3119958016,3119959039,CH
+3119959040,3119960063,PL
+3119960064,3119961087,CZ
+3119961088,3119962111,DE
+3119962112,3119963135,RU
+3119963136,3119964159,DE
+3119964160,3119965183,DK
+3119965184,3119966207,NO
+3119966208,3119967231,LI
+3119967232,3119969279,LT
+3119969280,3119970303,DE
+3119970304,3119972351,ES
+3119972352,3119973375,AM
+3119973376,3119974399,ES
+3119974400,3119975423,DE
+3119975424,3119976447,SE
+3119976448,3119977471,GB
+3119977472,3119978495,UA
+3119978496,3119979519,ES
+3119979520,3119980543,CZ
+3119980544,3119981567,FR
+3119981568,3119982591,UA
+3119982592,3119983615,DE
+3119983616,3119985663,NL
+3119985664,3119986687,IE
+3119986688,3119987711,BG
+3119987712,3119988735,RO
+3119988736,3119989759,CH
+3119989760,3119990783,RO
+3119990784,3119991807,DE
+3119991808,3119992831,CH
+3119992832,3119993855,RU
+3119993856,3119994879,FR
+3119994880,3119995903,QA
+3119995904,3119996927,GE
+3119996928,3119997951,NO
+3119997952,3119998975,DK
+3119998976,3119999999,FR
+3120000000,3120001023,SE
+3120001024,3120002047,FR
+3120002048,3120003071,NL
+3120003072,3120004095,NO
+3120004096,3120005119,ES
+3120005120,3120006143,FR
+3120006144,3120007167,FI
+3120007168,3120008191,TR
+3120008192,3120009215,RU
+3120009216,3120010239,NL
+3120010240,3120011263,DE
+3120011264,3120012287,NL
+3120012288,3120013311,MD
+3120013312,3120014335,GR
+3120014336,3120016383,ES
+3120016384,3120017407,UA
+3120017408,3120018431,IQ
+3120018432,3120019455,BG
+3120019456,3120020479,RU
+3120020480,3120021503,IE
+3120021504,3120022527,RU
+3120022528,3120023551,CH
+3120023552,3120024575,GB
3120562176,3120594943,CO
3120594944,3120599039,AR
3120601088,3120602111,AR
@@ -93068,7 +95449,6 @@
3121872896,3122003967,CL
3122003968,3122135039,AR
3122135040,3122282495,VE
-3122282496,3122294783,AR
3122294784,3122298879,CR
3122298880,3122331647,VE
3122331648,3122364415,BO
@@ -93107,9 +95487,8 @@
3124846592,3124848639,AR
3124848640,3124849663,BR
3124849664,3124850687,AR
-3124850688,3124851855,HN
-3124851856,3124851863,IN
-3124851864,3124854783,HN
+3124850688,3124852735,US
+3124852736,3124854783,HN
3124854784,3124887551,CL
3124887552,3124953087,EC
3124953088,3125018623,CL
@@ -93119,16 +95498,14 @@
3125673984,3125805055,CL
3125805056,3126329343,CO
3126329344,3126853631,VE
-3126853632,3126860415,AR
-3126860416,3126860543,US
-3126860544,3126863999,AR
+3126853632,3126863999,AR
3126864000,3126864127,US
3126864128,3126870015,AR
3126870016,3126873343,VE
3126873344,3126873599,PA
3126873600,3126874111,VE
3126874112,3126878207,CR
-3126878208,3126886399,PA
+3126878208,3126886399,CO
3126886400,3126906879,AR
3126906880,3126910975,TT
3126910976,3126918143,AR
@@ -93151,8 +95528,7 @@
3130284032,3130286079,DO
3130286080,3130290175,PA
3130290176,3130302463,AR
-3130302464,3130302975,CY
-3130302976,3130310655,CO
+3130302464,3130310655,CO
3130312704,3130314751,AR
3130314752,3130315775,CL
3130315776,3130316799,CR
@@ -93180,41 +95556,15 @@
3132096512,3132211199,CR
3132211200,3132227583,AR
3132227584,3132293119,EC
-3132293120,3132295647,HN
-3132295648,3132295679,UY
-3132295680,3132297791,HN
-3132297792,3132297807,US
-3132297808,3132297839,HN
-3132297840,3132297855,US
-3132297856,3132297887,HN
-3132297888,3132297903,US
-3132297904,3132298007,HN
+3132293120,3132298007,HN
3132298008,3132298015,US
-3132298016,3132298127,HN
-3132298128,3132298143,US
-3132298144,3132300383,HN
+3132298016,3132300383,HN
3132300384,3132300391,US
3132300392,3132301727,HN
3132301728,3132301743,NL
-3132301744,3132302319,HN
-3132302320,3132302335,NL
-3132302336,3132302975,HN
-3132302976,3132302983,NL
-3132302984,3132303735,HN
-3132303736,3132303743,NL
-3132303744,3132304127,HN
-3132304128,3132304303,US
-3132304304,3132304311,DE
-3132304312,3132304383,US
-3132304384,3132304607,HN
-3132304608,3132304623,DE
-3132304624,3132305143,HN
+3132301744,3132305143,HN
3132305144,3132305151,NL
-3132305152,3132306239,HN
-3132306240,3132306271,DE
-3132306272,3132307823,HN
-3132307824,3132307839,US
-3132307840,3132308367,HN
+3132305152,3132308367,HN
3132308368,3132308375,US
3132308376,3132308775,HN
3132308776,3132308783,US
@@ -93237,9 +95587,7 @@
3132997632,3133014015,AR
3133014016,3133046783,HT
3133046784,3133067263,AR
-3133067264,3133071359,PA
-3133071360,3133071871,CY
-3133071872,3133073407,PA
+3133067264,3133073407,PA
3133073408,3133074431,CW
3133074432,3133075455,CL
3133075456,3133079551,CW
@@ -93854,9 +96202,17 @@
3164976160,3164995345,FR
3164995346,3164995346,GB
3164995347,3164995583,FR
-3164995584,3165054692,NL
-3165054693,3165054693,SG
-3165054694,3165061119,NL
+3164995584,3165030399,NL
+3165030400,3165031423,GB
+3165031424,3165032447,NL
+3165032448,3165036543,GB
+3165036544,3165038591,DE
+3165038592,3165040639,GB
+3165040640,3165044735,SG
+3165044736,3165045759,DE
+3165045760,3165046783,SG
+3165046784,3165047807,NL
+3165047808,3165061119,SG
3165061120,3165126655,SK
3165126656,3165192191,RU
3165192192,3165257727,GE
@@ -94007,7 +96363,7 @@
3168012288,3168014335,MD
3168014336,3168015359,ES
3168015360,3168015615,BE
-3168015616,3168015871,VG
+3168015616,3168015871,ES
3168015872,3168016127,US
3168016128,3168016383,GB
3168016384,3168018431,MD
@@ -94018,13 +96374,17 @@
3168020480,3168022527,MD
3168022528,3168035839,IR
3168035840,3168036863,RO
-3168036864,3168037887,GB
+3168036864,3168037119,GB
+3168037120,3168037375,CA
+3168037376,3168037887,GB
3168037888,3168038399,SE
3168038400,3168038911,RO
3168038912,3168039935,MD
3168039936,3168040959,BE
3168040960,3168041215,DE
-3168041216,3168044799,RO
+3168041216,3168041471,RO
+3168041472,3168041983,GB
+3168041984,3168044799,RO
3168044800,3168045055,US
3168045056,3168047103,RO
3168047104,3168049151,IR
@@ -94143,7 +96503,8 @@
3168207104,3168207359,NL
3168207360,3168208895,RO
3168208896,3168209919,ES
-3168209920,3168211455,RO
+3168209920,3168210943,RO
+3168210944,3168211455,GB
3168211456,3168211967,CZ
3168211968,3168212223,NL
3168212224,3168212479,US
@@ -94166,11 +96527,14 @@
3168223488,3168223743,IT
3168223744,3168223999,IE
3168224000,3168224255,NL
-3168224256,3168227327,RO
+3168224256,3168225791,RO
+3168225792,3168226303,GB
+3168226304,3168227327,RO
3168227328,3168229375,ES
3168229376,3168230399,IR
3168230400,3168230655,GB
-3168230656,3168232447,RO
+3168230656,3168231423,RO
+3168231424,3168232447,PL
3168232448,3168233471,SY
3168233472,3168235519,ES
3168235520,3168237567,RO
@@ -94279,7 +96643,9 @@
3169911808,3169912319,IT
3169912320,3169913855,RO
3169913856,3169914111,GB
-3169914112,3169916927,RO
+3169914112,3169915135,RO
+3169915136,3169915391,GG
+3169915392,3169916927,RO
3169916928,3169918975,PL
3169918976,3169920767,RO
3169920768,3169923071,GB
@@ -94291,7 +96657,9 @@
3169928192,3169928447,SE
3169928448,3169935359,RO
3169935360,3169937407,ES
-3169937408,3169946623,RO
+3169937408,3169937919,RO
+3169937920,3169938431,GB
+3169938432,3169946623,RO
3169946624,3169947135,IT
3169947136,3169949951,RO
3169949952,3169950463,IT
@@ -94326,7 +96694,10 @@
3170271232,3170279423,PL
3170279424,3170287615,RU
3170287616,3170295807,GB
-3170295808,3170303999,RU
+3170295808,3170298879,RU
+3170298880,3170299903,KZ
+3170299904,3170301951,RU
+3170301952,3170303999,KZ
3170304000,3170312191,SY
3170312192,3170320383,RU
3170320384,3170327593,JO
@@ -94384,11 +96755,7 @@
3187857408,3187859455,CR
3187859456,3187863551,PA
3187863552,3187908607,AR
-3187910656,3187913727,CL
-3187913728,3187913815,PT
-3187913816,3187913823,CL
-3187913824,3187913983,PT
-3187913984,3187914751,CL
+3187910656,3187914751,CL
3187914752,3187916799,BO
3187916800,3187933183,CO
3187933184,3187933341,GT
@@ -94397,7 +96764,9 @@
3187934080,3187934207,HN
3187934208,3187935543,GT
3187935544,3187935551,HN
-3187935552,3187936591,GT
+3187935552,3187936015,GT
+3187936016,3187936023,HN
+3187936024,3187936591,GT
3187936592,3187936595,HN
3187936596,3187940571,GT
3187940572,3187940575,HN
@@ -94405,15 +96774,11 @@
3187940632,3187940639,HN
3187940640,3187940823,GT
3187940824,3187940831,HN
-3187940832,3187941647,GT
-3187941648,3187941655,HN
-3187941656,3187941711,GT
+3187940832,3187941711,GT
3187941712,3187941715,HN
3187941716,3187942271,GT
3187942272,3187942279,HN
-3187942280,3187942563,GT
-3187942564,3187942567,HN
-3187942568,3187942655,GT
+3187942280,3187942655,GT
3187942656,3187942663,HN
3187942664,3187942975,GT
3187942976,3187942991,HN
@@ -94427,17 +96792,9 @@
3187944352,3187944359,HN
3187944360,3187944773,GT
3187944774,3187944774,HN
-3187944775,3187944855,GT
-3187944856,3187944859,HN
-3187944860,3187945343,GT
+3187944775,3187945343,GT
3187945344,3187945471,HN
-3187945472,3187946687,GT
-3187946688,3187946695,HN
-3187946696,3187946735,GT
-3187946736,3187946743,HN
-3187946744,3187946887,GT
-3187946888,3187946895,HN
-3187946896,3187946975,GT
+3187945472,3187946975,GT
3187946976,3187946979,HN
3187946980,3187947999,GT
3187948000,3187948159,HN
@@ -94445,7 +96802,9 @@
3187948368,3187948375,HN
3187948376,3187948799,GT
3187948800,3187948927,HN
-3187948928,3187949115,GT
+3187948928,3187949023,GT
+3187949024,3187949031,HN
+3187949032,3187949115,GT
3187949116,3187949119,HN
3187949120,3187949567,GT
3187949568,3187949816,BQ
@@ -94486,11 +96845,11 @@
3188149336,3188149339,PE
3188149340,3188151423,CO
3188151424,3188151439,PE
-3188151440,3188152171,CO
-3188152172,3188152175,PE
-3188152176,3188153015,CO
+3188151440,3188153015,CO
3188153016,3188153023,EC
-3188153024,3188154139,CO
+3188153024,3188153423,CO
+3188153424,3188153431,CL
+3188153432,3188154139,CO
3188154140,3188154143,CL
3188154144,3188170751,CO
3188170752,3188174847,CR
@@ -94510,7 +96869,8 @@
3188248576,3188248703,CL
3188248704,3188260863,CO
3188260864,3188269055,AR
-3188269056,3188275199,PA
+3188269056,3188273151,PA
+3188273152,3188275199,MX
3188275200,3188277247,CL
3188277248,3188293631,CO
3188293632,3188301823,VE
@@ -94528,9 +96888,7 @@
3188473856,3188482047,PE
3188482048,3188490239,AR
3188490240,3188498431,CO
-3188498432,3188511103,AR
-3188511104,3188511231,US
-3188511232,3188523007,AR
+3188498432,3188523007,AR
3188523008,3188539391,CO
3188539392,3188542207,CL
3188542208,3188542463,US
@@ -94586,16 +96944,15 @@
3191108288,3191108959,PE
3191108960,3191108991,CO
3191108992,3191109119,PE
-3191109120,3191111167,MX
-3191111168,3191111679,PE
+3191109120,3191110655,MX
+3191110656,3191111679,PE
3191111680,3191128063,PY
3191128064,3191132159,EC
3191132160,3191136255,AR
3191136256,3191144447,DO
3191144448,3191152639,SV
3191152640,3191155711,NI
-3191155712,3191156223,SV
-3191156224,3191156735,NI
+3191155712,3191156735,SV
3191156736,3191169023,HN
3191169024,3191193599,SV
3191193600,3191209983,HN
@@ -94606,11 +96963,7 @@
3191439360,3191455743,EC
3191455744,3191472127,AR
3191472128,3191603199,TT
-3191603200,3191603455,CO
-3191603456,3191603519,GT
-3191603520,3191603647,CO
-3191603648,3191603711,SV
-3191603712,3191607295,CO
+3191603200,3191607295,CO
3191607296,3191607551,MX
3191607552,3191610111,CO
3191610112,3191610367,PE
@@ -94622,13 +96975,9 @@
3191619904,3191619935,VE
3191619936,3191635967,CO
3191635968,3191652351,AR
-3191652352,3191670783,CO
-3191670784,3191672831,CL
-3191672832,3191673281,CO
+3191652352,3191673281,CO
3191673282,3191673282,EC
-3191673283,3191673343,CO
-3191673344,3191674879,CL
-3191674880,3191693311,CO
+3191673283,3191693311,CO
3191693312,3191701503,AR
3191701504,3191709695,CO
3191709696,3191709951,BR
@@ -94670,19 +97019,17 @@
3193590528,3193590783,EC
3193590784,3193591807,CO
3193591808,3193592063,EC
-3193592064,3193592319,CO
-3193592320,3193592575,EC
-3193592576,3193595391,CO
+3193592064,3193595391,CO
3193595392,3193595647,EC
-3193595648,3193599743,CO
-3193599744,3193599999,EC
-3193600000,3193604351,CO
+3193595648,3193604351,CO
3193604352,3193604607,EC
3193604608,3193606527,CO
-3193606528,3193606911,EC
+3193606528,3193606655,EC
+3193606656,3193606783,CO
+3193606784,3193606911,EC
3193606912,3193617151,CO
-3193617152,3193617407,EC
-3193617408,3193618431,CO
+3193617152,3193617279,EC
+3193617280,3193618431,CO
3193618432,3193618559,US
3193618560,3193618943,CO
3193618944,3193619071,EC
@@ -94691,10 +97038,8 @@
3193622272,3193622943,CO
3193622944,3193622975,EC
3193622976,3193623039,CO
-3193623040,3193623551,EC
-3193623552,3193624063,CO
-3193624064,3193624575,EC
-3193624576,3193625599,CO
+3193623040,3193623295,EC
+3193623296,3193625599,CO
3193625600,3193625855,EC
3193625856,3193626623,US
3193626624,3193628671,CO
@@ -94707,37 +97052,11 @@
3193700352,3193724927,HN
3193724928,3193729023,AR
3193729024,3193733119,CU
-3193733120,3193735679,AR
-3193735680,3193735935,US
-3193735936,3193736447,AR
-3193736448,3193736959,US
-3193736960,3193738239,AR
-3193738240,3193739007,US
-3193739008,3193739519,AR
+3193733120,3193739519,AR
3193739520,3193739775,US
-3193739776,3193740287,AR
-3193740288,3193741055,US
-3193741056,3193741311,AR
-3193741312,3193741823,US
-3193741824,3193743871,AR
-3193743872,3193743999,US
-3193744000,3193744895,AR
-3193744896,3193745151,US
-3193745152,3193745279,AR
-3193745280,3193745407,US
-3193745408,3193749503,AR
-3193749504,3193749759,US
-3193749760,3193750527,AR
-3193750528,3193750783,US
-3193750784,3193751295,AR
-3193751296,3193751551,US
-3193751552,3193752063,AR
-3193752064,3193752575,US
-3193752576,3193754111,AR
-3193754112,3193754239,US
-3193754240,3193755007,AR
-3193755008,3193755135,US
-3193755136,3193765887,AR
+3193739776,3193740543,AR
+3193740544,3193740799,US
+3193740800,3193765887,AR
3193765888,3193774079,TT
3193775104,3193776127,GY
3193776128,3193777151,AR
@@ -94746,8 +97065,8 @@
3193782272,3193798655,TT
3193798656,3193806847,CO
3193806848,3193808895,CR
-3193808896,3193809663,US
-3193809664,3193810943,CR
+3193808896,3193809919,US
+3193809920,3193810943,CR
3193810944,3193811967,PY
3193815040,3193823231,AR
3193823232,3193827327,CL
@@ -94777,19 +97096,15 @@
3194093568,3194126335,SR
3194126336,3194126591,AR
3194126592,3194126847,NL
-3194126848,3194126911,AR
-3194126912,3194126975,PE
-3194126976,3194127231,AR
+3194126848,3194127231,AR
3194127232,3194127359,BR
-3194127360,3194128127,AR
-3194128128,3194128383,BR
+3194127360,3194128383,AR
3194128384,3194129407,NI
3194129408,3194129663,AR
3194129664,3194129671,BR
-3194129672,3194129919,AR
-3194129920,3194130047,BR
+3194129672,3194130047,AR
3194130048,3194130175,CO
-3194130176,3194130303,CL
+3194130176,3194130303,AR
3194130304,3194130431,BR
3194130432,3194130943,AR
3194130944,3194131455,BR
@@ -94823,9 +97138,7 @@
3194368000,3194370047,BO
3194370048,3194372095,PA
3194372096,3194380287,HT
-3194380288,3194381311,US
-3194381312,3194382335,CA
-3194382336,3194388479,US
+3194380288,3194388479,US
3194388480,3194396671,PE
3194396672,3194413055,CO
3194413056,3194421247,CL
@@ -94837,9 +97150,7 @@
3194448688,3194448695,CL
3194448696,3194449031,CO
3194449032,3194449047,CL
-3194449048,3194449175,CO
-3194449176,3194449183,PE
-3194449184,3194450263,CO
+3194449048,3194450263,CO
3194450264,3194450271,CL
3194450272,3194451415,CO
3194451416,3194451423,EC
@@ -94932,9 +97243,7 @@
3194925056,3194929151,AR
3194929152,3194937343,EC
3194937344,3194945535,AR
-3194945536,3194953471,GT
-3194953472,3194953599,NI
-3194953600,3194953727,GT
+3194945536,3194953727,GT
3194953728,3194961407,AR
3194961408,3194961663,US
3194961664,3194961919,AR
@@ -94970,8 +97279,8 @@
3195138048,3195139071,DO
3195139072,3195140095,CL
3195140096,3195142143,CR
-3195142144,3195142655,PA
-3195142656,3195142911,VE
+3195142144,3195142783,PA
+3195142784,3195142911,VE
3195142912,3195143039,EC
3195143040,3195143167,UY
3195143168,3195143295,GT
@@ -94987,9 +97296,7 @@
3195203584,3195205631,VE
3195205632,3195206655,PE
3195206656,3195207679,CL
-3195207680,3195209687,GT
-3195209688,3195209695,PR
-3195209696,3195211775,GT
+3195207680,3195211775,GT
3195211776,3195214847,BZ
3195214848,3195215103,RU
3195215104,3195215871,BZ
@@ -95048,43 +97355,20 @@
3195772928,3195781119,VE
3195781120,3195782143,BR
3195782144,3195783167,PA
-3195783168,3195784191,BR
-3195784192,3195785215,PA
-3195785216,3195785311,HN
-3195785312,3195785343,CA
-3195785344,3195785375,HN
+3195783168,3195785215,BR
+3195785216,3195785375,HN
3195785376,3195785439,DE
-3195785440,3195785735,HN
-3195785736,3195785743,GB
-3195785744,3195785815,HN
+3195785440,3195785815,HN
3195785816,3195785823,DE
3195785824,3195786015,HN
3195786016,3195786023,ES
-3195786024,3195786191,HN
-3195786192,3195786199,US
-3195786200,3195786239,HN
+3195786024,3195786239,HN
3195786240,3195786287,US
3195786288,3195786295,ES
-3195786296,3195786479,US
-3195786480,3195786487,CA
-3195786488,3195786751,US
-3195786752,3195787127,HN
-3195787128,3195787135,DE
-3195787136,3195787215,HN
-3195787216,3195787231,US
-3195787232,3195787263,HN
-3195787264,3195787607,US
-3195787608,3195787615,DE
-3195787616,3195787775,US
-3195787776,3195788159,HN
-3195788160,3195788167,CA
-3195788168,3195788415,HN
-3195788416,3195788423,US
-3195788424,3195788919,HN
+3195786296,3195786751,US
+3195786752,3195788919,HN
3195788920,3195788927,CA
-3195788928,3195789087,HN
-3195789088,3195789119,CA
-3195789120,3195789311,HN
+3195788928,3195789311,HN
3195789312,3195793407,PA
3195793408,3195801599,AR
3195801600,3195803647,HN
@@ -95092,13 +97376,7 @@
3195804672,3195805695,VE
3195805696,3195807743,NI
3195807744,3195807999,US
-3195808000,3195808383,BZ
-3195808384,3195808639,US
-3195808640,3195808767,BZ
-3195808768,3195808895,US
-3195808896,3195809407,BZ
-3195809408,3195809535,US
-3195809536,3195809791,BZ
+3195808000,3195809791,BZ
3195809792,3195811839,PE
3195811840,3195813887,AR
3195813888,3195822079,DO
@@ -95189,7 +97467,8 @@
3200569344,3200573439,CL
3200573440,3200577535,AR
3200577536,3200578559,BR
-3200578560,3200579583,EC
+3200578560,3200579071,EC
+3200579072,3200579583,BR
3200579584,3200581631,AR
3200581632,3200614399,BZ
3200614400,3200647167,AR
@@ -95227,19 +97506,15 @@
3201863680,3201865727,CL
3201865728,3201867775,CO
3201867776,3201869831,PE
-3201869832,3201870495,AR
-3201870496,3201870527,PE
-3201870528,3201870815,AR
+3201869832,3201870815,AR
3201870816,3201870831,PE
3201870832,3201870911,AR
-3201870912,3201870959,PE
-3201870960,3201870975,AR
+3201870912,3201870943,PE
+3201870944,3201870975,AR
3201870976,3201871615,PE
3201871616,3201871695,AR
3201871696,3201871703,PE
-3201871704,3201871823,AR
-3201871824,3201871839,PE
-3201871840,3201871871,AR
+3201871704,3201871871,AR
3201871872,3201875967,PE
3201875968,3201880063,CO
3201880064,3201884159,EC
@@ -95262,14 +97537,14 @@
3201920640,3201920655,CO
3201920656,3201921279,AR
3201921280,3201921535,CO
-3201921536,3201924863,AR
+3201921536,3201922799,AR
+3201922800,3201922815,CO
+3201922816,3201924863,AR
3201924864,3201924991,PA
3201924992,3201925119,AR
3201925120,3201957887,CL
3201957888,3202088959,PA
-3202088960,3202127999,AR
-3202128000,3202128015,CW
-3202128016,3202215167,AR
+3202088960,3202215167,AR
3202215168,3202215295,PY
3202215296,3202220031,AR
3202220032,3202351103,PE
@@ -95281,13 +97556,10 @@
3203531520,3203531775,PA
3203531776,3203532799,CO
3203532800,3203534847,PA
-3203534848,3203535871,CO
-3203535872,3203536383,PA
-3203536384,3203536895,CO
+3203534848,3203536895,CO
3203536896,3203537919,HN
-3203537920,3203538431,GT
-3203538432,3203538687,PA
-3203538688,3203538943,CO
+3203537920,3203538175,GT
+3203538176,3203538943,CO
3203538944,3203539967,BZ
3203539968,3203543551,CO
3203543552,3203544575,GT
@@ -95295,15 +97567,11 @@
3203545088,3203545599,GT
3203545600,3203547135,CO
3203547136,3203549183,PA
-3203549184,3203553279,CO
-3203553280,3203553535,CR
-3203553536,3203556863,CO
+3203549184,3203556863,CO
3203556864,3203557119,DO
-3203557120,3203561983,CO
-3203561984,3203562495,SV
-3203562496,3203564543,CO
-3203564544,3203564799,DO
-3203564800,3203565055,CO
+3203557120,3203562239,CO
+3203562240,3203562495,SV
+3203562496,3203565055,CO
3203565056,3203566079,CR
3203566080,3203566591,CO
3203566592,3203566847,PA
@@ -95312,9 +97580,8 @@
3203568640,3203569663,SV
3203569664,3203570303,CO
3203570304,3203570431,SV
-3203570432,3203570607,CO
-3203570608,3203570623,CR
-3203570624,3203571199,CO
+3203570432,3203570687,CR
+3203570688,3203571199,CO
3203571200,3203571711,SV
3203571712,3203571967,CO
3203571968,3203572223,SV
@@ -95334,11 +97601,10 @@
3210740480,3210740735,US
3210740736,3210742015,BR
3210742016,3210742031,IT
-3210742032,3210742047,BR
-3210742048,3210742063,CL
+3210742032,3210742063,BR
3210742064,3210742079,US
-3210742080,3210742143,BR
-3210742144,3210742527,CL
+3210742080,3210742271,BR
+3210742272,3210742527,CL
3210742528,3210742543,KR
3210742544,3210742560,CL
3210742561,3210742561,BR
@@ -95363,13 +97629,11 @@
3210744088,3210744095,CL
3210744096,3210744127,BR
3210744128,3210744191,FR
-3210744192,3210744255,US
-3210744256,3210744319,BR
+3210744192,3210744319,BR
3210744320,3210744575,US
3210744576,3210744591,BE
3210744592,3210744607,BR
-3210744608,3210744703,CL
-3210744704,3210744831,US
+3210744608,3210744831,CL
3210744832,3210744863,NZ
3210744864,3210745087,BR
3210745088,3210745343,US
@@ -95393,12 +97657,11 @@
3210747136,3210748159,US
3210748160,3210748175,JP
3210748176,3210748191,BR
-3210748192,3210748287,CL
-3210748288,3210748351,US
+3210748192,3210748351,CL
3210748352,3210748415,BR
3210748416,3210748671,GB
-3210748672,3210748927,CL
-3210748928,3210752255,US
+3210748672,3210749439,CL
+3210749440,3210752255,US
3210752256,3210752511,SG
3210752512,3210755071,US
3210755072,3210755583,MD
@@ -95422,8 +97685,10 @@
3210764544,3210764799,CA
3210764800,3210765055,US
3210765056,3210765071,SE
-3210765072,3210765311,BR
-3210765312,3210765567,CL
+3210765072,3210765087,BR
+3210765088,3210765119,CL
+3210765120,3210765183,BR
+3210765184,3210765567,CL
3210765568,3210765823,US
3210765824,3210766079,ES
3210766080,3210766335,CL
@@ -95513,7 +97778,9 @@
3210792960,3210793471,GB
3210793472,3210795007,US
3210795008,3210796031,IL
-3210796032,3210798847,US
+3210796032,3210798079,US
+3210798080,3210798591,CL
+3210798592,3210798847,US
3210798848,3210799103,ES
3210799104,3210802431,US
3210802432,3210802687,ES
@@ -95598,9 +97865,10 @@
3211083776,3211083791,RU
3211083792,3211083839,CL
3211083840,3211083855,GB
-3211083856,3211083903,DE
+3211083856,3211083871,DE
+3211083872,3211083903,CL
3211083904,3211084031,FR
-3211084032,3211084287,DE
+3211084032,3211084287,CL
3211084288,3211084303,NL
3211084304,3211084351,DE
3211084352,3211084367,GB
@@ -95691,7 +97959,9 @@
3211097216,3211097343,GB
3211097344,3211097599,DE
3211097600,3211097855,US
-3211097856,3211098111,DE
+3211097856,3211097871,CL
+3211097872,3211097887,DE
+3211097888,3211098111,CL
3211098112,3211098367,US
3211098368,3211098383,CL
3211098384,3211098399,DE
@@ -95706,7 +97976,7 @@
3211099776,3211099903,GB
3211099904,3211100159,DE
3211100160,3211101951,US
-3211101952,3211102207,SG
+3211101952,3211102207,CL
3211102208,3211102335,AU
3211102336,3211102463,BR
3211102464,3211102591,AU
@@ -95724,7 +97994,9 @@
3211105792,3211106303,ES
3211106304,3211109375,US
3211109376,3211109887,DE
-3211109888,3211111167,US
+3211109888,3211110143,US
+3211110144,3211110399,NL
+3211110400,3211111167,US
3211111168,3211111423,KR
3211111424,3211112447,JP
3211112448,3211112959,US
@@ -95763,33 +98035,21 @@
3211145216,3211147263,NI
3211147264,3211148287,CR
3211148288,3211165695,CO
-3211165696,3211165727,HN
-3211165728,3211165735,UY
-3211165736,3211165951,HN
-3211165952,3211165983,UY
-3211165984,3211166415,HN
+3211165696,3211166415,HN
3211166416,3211166431,UY
3211166432,3211166559,HN
3211166560,3211166567,UY
-3211166568,3211167487,HN
-3211167488,3211167503,US
-3211167504,3211167519,HN
+3211166568,3211167519,HN
3211167520,3211167527,US
3211167528,3211167927,HN
3211167928,3211167935,US
3211167936,3211168767,HN
-3211168768,3211171487,US
-3211171488,3211171503,ES
-3211171504,3211171511,US
+3211168768,3211171511,US
3211171512,3211171519,ES
-3211171520,3211171791,US
-3211171792,3211171807,ES
-3211171808,3211172047,US
-3211172048,3211172063,NL
-3211172064,3211172271,US
+3211171520,3211171839,US
+3211171840,3211172271,HN
3211172272,3211172279,NL
-3211172280,3211172351,US
-3211172352,3211172607,HN
+3211172280,3211172607,HN
3211172608,3211172623,NL
3211172624,3211172671,HN
3211172672,3211172687,NL
@@ -95802,42 +98062,25 @@
3211174184,3211174191,CA
3211174192,3211174415,US
3211174416,3211174431,CA
-3211174432,3211174687,US
-3211174688,3211174703,CA
-3211174704,3211174719,US
-3211174720,3211174735,CA
-3211174736,3211175199,US
+3211174432,3211175199,US
3211175200,3211175215,BR
-3211175216,3211175295,US
-3211175296,3211175327,BR
-3211175328,3211177831,US
+3211175216,3211177831,US
3211177832,3211177847,CR
3211177848,3211177983,US
3211177984,3211178583,HN
3211178584,3211178591,ES
3211178592,3211178671,HN
3211178672,3211178703,ES
-3211178704,3211179087,HN
-3211179088,3211179103,US
-3211179104,3211179199,HN
-3211179200,3211179231,US
-3211179232,3211180047,HN
+3211178704,3211180031,HN
+3211180032,3211180047,US
3211180048,3211180063,BR
-3211180064,3211180103,HN
+3211180064,3211180103,US
3211180104,3211180111,BR
-3211180112,3211180543,HN
-3211180544,3211180687,US
-3211180688,3211180695,BR
-3211180696,3211180799,US
-3211180800,3211180887,HN
+3211180112,3211180887,US
3211180888,3211180895,CR
-3211180896,3211181119,HN
-3211181120,3211181135,CR
-3211181136,3211181215,HN
+3211180896,3211181215,US
3211181216,3211181231,CR
-3211181232,3211181439,HN
-3211181440,3211181447,CA
-3211181448,3211182079,HN
+3211181232,3211182079,US
3211182080,3211194367,CO
3211194368,3211195391,DO
3211195392,3211214847,AR
@@ -95883,8 +98126,7 @@
3219784704,3219787775,BR
3219787776,3219791871,HK
3219791872,3219800063,US
-3219800064,3219800575,BR
-3219800576,3219800591,US
+3219800064,3219800591,BR
3219800592,3219800607,IE
3219800608,3219802148,BR
3219802149,3219802149,US
@@ -95971,11 +98213,11 @@
3221470464,3221470719,RO
3221470720,3221471487,US
3221471488,3221471743,RO
-3221471744,3221474919,US
+3221471744,3221473279,US
+3221473280,3221473535,CA
+3221473536,3221474919,US
3221474920,3221474927,GB
-3221474928,3221477375,US
-3221477376,3221477631,RO
-3221477632,3221560319,US
+3221474928,3221560319,US
3221560320,3221561087,GB
3221561088,3221562367,US
3221562368,3221562623,SE
@@ -96050,8 +98292,10 @@
3222036736,3222036991,US
3222036992,3222037247,CA
3222037248,3222037503,GB
-3222037504,3222040575,US
+3222037504,3222039807,US
+3222040320,3222040575,AO
3222040576,3222041599,BR
+3222041856,3222042111,MA
3222042624,3222044927,US
3222044928,3222045183,CA
3222045184,3222055935,US
@@ -96616,11 +98860,15 @@
3224828672,3224828927,AU
3224828928,3224829439,US
3224829440,3224829695,DE
-3224829696,3224834047,US
+3224829952,3224834047,US
3224834048,3224834303,SG
3224834304,3224834559,US
3224834560,3224834815,TH
-3224834816,3224851455,US
+3224834816,3224841727,US
+3224841728,3224841983,CN
+3224841984,3224847359,US
+3224847360,3224848383,CN
+3224848384,3224851455,US
3224851456,3224851711,NL
3224851712,3224852735,US
3224852736,3224852991,DE
@@ -96658,9 +98906,7 @@
3224882688,3224882943,CA
3224882944,3224884223,US
3224884224,3224884479,GB
-3224884480,3224885247,US
-3224885248,3224885503,CA
-3224885504,3224886015,US
+3224884480,3224886015,US
3224886016,3224886271,AU
3224886272,3224886527,JP
3224886528,3224887295,US
@@ -96690,12 +98936,10 @@
3225057536,3225057791,CA
3225057792,3225060607,US
3225060608,3225061631,AU
-3225061632,3225062399,US
+3225061888,3225062399,US
3225062400,3225062911,VC
3225062912,3225063423,LC
-3225063424,3225076223,US
-3225076224,3225076479,CA
-3225076480,3225076991,US
+3225063424,3225076991,US
3225076992,3225077247,SE
3225077248,3225081087,US
3225081088,3225081343,CA
@@ -96808,11 +99052,10 @@
3225640448,3225640703,GB
3225640704,3225641983,US
3225641984,3225643263,GB
-3225643264,3225643775,CA
-3225643776,3225650943,US
+3225643264,3225650943,US
3225650944,3225651199,GB
3225651200,3225657343,US
-3225658368,3225658879,US
+3225658368,3225659135,US
3225659136,3225659391,DE
3225659648,3225659903,US
3225659904,3225660159,DE
@@ -97002,7 +99245,9 @@
3225938432,3225938687,US
3225938688,3225941247,SE
3225941248,3225941503,IT
-3225941504,3225944063,SE
+3225941504,3225942434,SE
+3225942435,3225942435,BE
+3225942436,3225944063,SE
3225944064,3225944831,US
3225944832,3226008831,TW
3226008832,3226010879,US
@@ -97148,7 +99393,8 @@
3226582016,3226582271,GB
3226582272,3226583551,US
3226583552,3226583807,SE
-3226583808,3226591231,US
+3226583808,3226590207,US
+3226590208,3226591231,NL
3226591232,3226592255,CA
3226592256,3226592767,US
3226592768,3226593023,DE
@@ -97531,16 +99777,21 @@
3227468288,3227468799,CA
3227468800,3227484159,US
3227484160,3227517183,CA
-3227517184,3227521279,ZA
+3227517184,3227518975,ZA
+3227518976,3227519231,MU
+3227519232,3227521279,ZA
3227521280,3227521791,US
3227521792,3227522047,ZA
3227522048,3227522815,MU
3227522816,3227523071,US
-3227523072,3227525119,ZA
+3227523072,3227524095,MU
+3227524096,3227525119,ZA
3227525120,3227525375,MU
3227525376,3227526143,ZA
3227526144,3227526399,US
-3227526400,3227527423,ZA
+3227526400,3227526655,ZA
+3227526656,3227526911,MU
+3227526912,3227527423,ZA
3227527424,3227527935,US
3227527936,3227528191,MU
3227528192,3227528447,US
@@ -97559,9 +99810,7 @@
3227537152,3227539199,ZA
3227539200,3227540735,MU
3227540736,3227540991,ZA
-3227540992,3227541503,MU
-3227541504,3227541759,ZA
-3227541760,3227543295,MU
+3227540992,3227543295,MU
3227543296,3227543551,US
3227543552,3227544831,ZA
3227544832,3227545087,MU
@@ -97605,7 +99854,9 @@
3227722522,3227722522,US
3227722523,3227724031,CA
3227724032,3227724287,US
-3227724288,3227738367,CA
+3227724288,3227734399,CA
+3227734400,3227734527,US
+3227734528,3227738367,CA
3227738368,3227738623,US
3227738624,3227738879,CA
3227738880,3227739135,US
@@ -97632,9 +99883,7 @@
3227744120,3227744123,US
3227744124,3227744167,CA
3227744168,3227744171,US
-3227744172,3227744303,CA
-3227744304,3227744311,US
-3227744312,3227744827,CA
+3227744172,3227744827,CA
3227744828,3227744831,US
3227744832,3227744911,CA
3227744912,3227744915,US
@@ -97653,7 +99902,9 @@
3227746816,3227747071,BR
3227747072,3227748035,CA
3227748036,3227748039,US
-3227748040,3227749783,CA
+3227748040,3227748655,CA
+3227748656,3227748663,US
+3227748664,3227749783,CA
3227749784,3227749787,US
3227749788,3227749839,CA
3227749840,3227749855,BZ
@@ -97713,9 +99964,7 @@
3227771348,3227771351,US
3227771352,3227771619,CA
3227771620,3227771623,US
-3227771624,3227772707,CA
-3227772708,3227772711,US
-3227772712,3227774751,CA
+3227771624,3227774751,CA
3227774752,3227774783,US
3227774784,3227775059,CA
3227775060,3227775063,US
@@ -97746,7 +99995,7 @@
3227778140,3227779071,CA
3227779072,3227779327,US
3227779328,3227779583,ZA
-3227779584,3227779839,AU
+3227779584,3227779839,KR
3227779840,3227783679,US
3227783680,3227783935,FR
3227783936,3227784703,US
@@ -97926,7 +100175,6 @@
3228048384,3228048895,GB
3228048896,3228050175,US
3228050176,3228050943,PT
-3228050944,3228051199,CA
3228051200,3228051455,US
3228051712,3228051967,CH
3228051968,3228052223,US
@@ -97962,9 +100210,7 @@
3228100608,3228101119,JP
3228101120,3228102143,US
3228102144,3228102399,GB
-3228102400,3228103423,US
-3228103424,3228103679,CA
-3228103680,3228103935,US
+3228102400,3228103935,US
3228103936,3228104191,FR
3228104192,3228104703,JP
3228104704,3228104959,DK
@@ -98227,7 +100473,9 @@
3229204224,3229204479,IT
3229204480,3229205503,SE
3229205504,3229206015,GB
-3229206016,3229211647,SE
+3229206016,3229208575,SE
+3229208576,3229209087,NO
+3229209088,3229211647,SE
3229211648,3229211903,IT
3229211904,3229212927,SE
3229212928,3229213183,DE
@@ -98577,7 +100825,9 @@
3230267136,3230267903,CA
3230267904,3230269695,US
3230269696,3230271743,GB
-3230271744,3230291455,US
+3230271744,3230279945,US
+3230279946,3230279946,DE
+3230279947,3230291455,US
3230291456,3230291711,PT
3230291712,3230295039,US
3230295040,3230295295,AU
@@ -98697,7 +100947,8 @@
3230529536,3230531583,BR
3230531584,3230662655,ZA
3230679040,3230681087,BR
-3230681088,3230682623,FR
+3230681600,3230681855,FR
+3230682112,3230682623,FR
3230682624,3230683135,PK
3230683136,3230686207,BD
3230686208,3230687231,ID
@@ -98744,7 +100995,9 @@
3230844928,3230845183,AU
3230845184,3230845951,US
3230845952,3230846207,CZ
-3230846208,3230849535,US
+3230846208,3230846975,US
+3230846976,3230847231,DE
+3230847232,3230849535,US
3230849536,3230850047,NZ
3230850048,3230851839,US
3230851840,3230852095,NO
@@ -99114,8 +101367,9 @@
3231324160,3231324671,JP
3231324672,3231325183,US
3231325184,3231326207,CA
-3231326208,3231352831,US
-3231352832,3231358975,CA
+3231326208,3231353087,US
+3231353088,3231353343,GB
+3231353344,3231358975,CA
3231358976,3231369215,US
3231369216,3231369471,TW
3231369472,3231383551,US
@@ -99131,9 +101385,7 @@
3231408872,3231408879,AU
3231408880,3231411055,US
3231411056,3231411063,AU
-3231411064,3231411855,US
-3231411856,3231411871,AU
-3231411872,3231423999,US
+3231411064,3231423999,US
3231424000,3231424511,PR
3231424512,3231475199,US
3231475200,3231475455,PL
@@ -99194,9 +101446,9 @@
3231529056,3231529071,US
3231529072,3231529191,CA
3231529192,3231529199,US
-3231529200,3231529215,CA
-3231529216,3231529471,US
-3231529472,3231529679,CA
+3231529200,3231529435,CA
+3231529436,3231529439,US
+3231529440,3231529679,CA
3231529680,3231529687,US
3231529688,3231529727,CA
3231529728,3231529983,US
@@ -99218,7 +101470,8 @@
3231553792,3231554047,CH
3231554048,3231555327,DE
3231555328,3231555583,CA
-3231555584,3231556607,US
+3231555584,3231556095,US
+3231556352,3231556607,US
3231556608,3231556863,CA
3231556864,3231557887,AT
3231557888,3231558399,GB
@@ -99406,7 +101659,8 @@
3231878144,3231879167,UA
3231879168,3231881215,PL
3231881216,3231882239,UA
-3231882240,3231884287,RU
+3231882240,3231883263,KZ
+3231883264,3231884287,RU
3231884288,3231885311,PL
3231885312,3231886335,DE
3231886336,3231888383,PL
@@ -99560,9 +101814,13 @@
3232704512,3232705535,GB
3232705536,3232706559,FI
3232706560,3232716799,US
-3232716800,3232724151,CA
+3232716800,3232722687,CA
+3232722688,3232722695,US
+3232722696,3232724151,CA
3232724152,3232724159,US
-3232724160,3232727039,CA
+3232724160,3232725271,CA
+3232725272,3232725279,IN
+3232725280,3232727039,CA
3232727040,3232759807,US
3232759808,3232765951,SE
3232765952,3232766207,NO
@@ -99600,32 +101858,38 @@
3233448448,3233448463,US
3233448464,3233448479,CA
3233448480,3233448495,US
-3233448496,3233448591,CA
-3233448592,3233448607,US
-3233448608,3233448823,CA
+3233448496,3233448527,CA
+3233448528,3233448543,US
+3233448544,3233448575,CA
+3233448576,3233448607,US
+3233448608,3233448655,CA
+3233448656,3233448671,US
+3233448672,3233448823,CA
3233448824,3233448831,US
3233448832,3233448863,CA
3233448864,3233448871,US
3233448872,3233448879,FI
-3233448880,3233448903,CA
+3233448880,3233448895,US
+3233448896,3233448903,CA
3233448904,3233448911,US
-3233448912,3233449095,CA
+3233448912,3233449071,CA
+3233449072,3233449079,US
+3233449080,3233449095,CA
3233449096,3233449103,GB
3233449104,3233449199,CA
3233449200,3233449207,US
-3233449208,3233449215,GB
-3233449216,3233449311,CA
+3233449208,3233449311,CA
3233449312,3233449319,RO
3233449320,3233449359,CA
3233449360,3233449367,US
-3233449368,3233449535,CA
-3233449536,3233449567,US
-3233449568,3233449615,CA
-3233449616,3233449631,US
+3233449368,3233449519,CA
+3233449520,3233449567,US
+3233449568,3233449583,CA
+3233449584,3233449631,US
3233449632,3233449647,CA
3233449648,3233449663,US
-3233449664,3233449759,CA
-3233449760,3233449775,US
+3233449664,3233449727,CA
+3233449728,3233449775,US
3233449776,3233449823,CA
3233449824,3233449839,US
3233449840,3233450047,CA
@@ -99634,82 +101898,94 @@
3233450128,3233450135,US
3233450136,3233450199,CA
3233450200,3233450207,GB
-3233450208,3233450783,CA
+3233450208,3233450775,CA
+3233450776,3233450783,SE
3233450784,3233450815,US
-3233450816,3233450863,CA
-3233450864,3233450887,US
+3233450816,3233450847,CA
+3233450848,3233450887,US
3233450888,3233450895,CA
-3233450896,3233450911,US
-3233450912,3233450927,CA
-3233450928,3233450959,US
-3233450960,3233451007,CA
-3233451008,3233451263,US
+3233450896,3233450959,US
+3233450960,3233450991,CA
+3233450992,3233451263,US
3233451264,3233451519,CA
-3233451520,3233451775,GB
-3233451776,3233451903,CA
-3233451904,3233451951,US
+3233451520,3233451647,GB
+3233451648,3233451711,US
+3233451712,3233451751,GB
+3233451752,3233451807,US
+3233451808,3233451823,CA
+3233451824,3233451831,US
+3233451832,3233451879,CA
+3233451880,3233451951,US
3233451952,3233452031,CA
3233452032,3233452287,US
3233452288,3233452303,CA
3233452304,3233452319,US
-3233452320,3233452383,CA
+3233452320,3233452335,CA
+3233452336,3233452351,US
+3233452352,3233452383,CA
3233452384,3233452415,US
-3233452416,3233452519,CA
-3233452520,3233452527,US
+3233452416,3233452487,CA
+3233452488,3233452495,US
+3233452496,3233452511,CA
+3233452512,3233452527,US
3233452528,3233452543,CA
-3233452544,3233452831,US
-3233452832,3233452847,CA
-3233452848,3233452879,US
+3233452544,3233452879,US
3233452880,3233452959,CA
-3233452960,3233453007,US
-3233453008,3233453023,CA
-3233453024,3233453055,US
-3233453056,3233453183,CA
-3233453184,3233453199,US
+3233452960,3233453199,US
3233453200,3233453247,CA
-3233453248,3233453263,US
-3233453264,3233453271,CA
-3233453272,3233453279,US
+3233453248,3233453279,US
3233453280,3233453295,CA
3233453296,3233453311,US
3233453312,3233453455,CA
3233453456,3233453471,US
3233453472,3233453567,CA
-3233453568,3233453631,IT
-3233453632,3233454079,US
+3233453568,3233453623,IT
+3233453624,3233454079,US
3233454080,3233454303,CA
3233454304,3233454335,US
3233454336,3233454399,CA
-3233454400,3233454415,US
-3233454416,3233454423,CA
-3233454424,3233454431,US
-3233454432,3233454511,CA
+3233454400,3233454447,US
+3233454448,3233454511,CA
3233454512,3233454527,US
3233454528,3233454559,CA
3233454560,3233454575,US
3233454576,3233454591,CA
3233454592,3233454599,SE
-3233454600,3233455039,CA
+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,3233454831,CA
+3233454832,3233454839,US
+3233454840,3233455039,CA
3233455040,3233455071,US
-3233455072,3233455327,CA
+3233455072,3233455087,CA
+3233455088,3233455103,US
+3233455104,3233455327,CA
3233455328,3233455335,US
-3233455336,3233455439,CA
-3233455440,3233455447,US
-3233455448,3233455471,CA
-3233455472,3233455487,US
+3233455336,3233455351,CA
+3233455352,3233455359,US
+3233455360,3233455423,CA
+3233455424,3233455447,US
+3233455448,3233455455,CA
+3233455456,3233455487,US
3233455488,3233455519,CA
3233455520,3233455551,US
-3233455552,3233455695,CA
-3233455696,3233455711,US
+3233455552,3233455663,CA
+3233455664,3233455711,US
3233455712,3233455743,CA
3233455744,3233455807,US
-3233455808,3233455855,CA
-3233455856,3233455871,US
+3233455808,3233455839,CA
+3233455840,3233455871,US
3233455872,3233455935,CA
3233455936,3233455967,US
-3233455968,3233456015,CA
-3233456016,3233456031,US
-3233456032,3233456063,CA
+3233455968,3233455999,CA
+3233456000,3233456047,US
+3233456048,3233456063,CA
3233456064,3233456111,US
3233456112,3233456119,CA
3233456120,3233456191,US
@@ -99721,20 +101997,16 @@
3233456416,3233456639,US
3233456640,3233456655,CA
3233456656,3233456671,US
-3233456672,3233456799,CA
-3233456800,3233456847,US
+3233456672,3233456791,CA
+3233456792,3233456847,US
3233456848,3233456863,CA
3233456864,3233456895,US
3233456896,3233456943,CA
-3233456944,3233456959,US
-3233456960,3233456975,CA
-3233456976,3233456999,US
+3233456944,3233456999,US
3233457000,3233457023,CA
3233457024,3233457039,US
3233457040,3233457087,CA
-3233457088,3233457471,US
-3233457472,3233457519,CA
-3233457520,3233457535,US
+3233457088,3233457535,US
3233457536,3233457631,CA
3233457632,3233457647,US
3233457648,3233457663,CA
@@ -99742,43 +102014,35 @@
3233457672,3233457735,CA
3233457736,3233457775,US
3233457776,3233457831,CA
-3233457832,3233457871,US
-3233457872,3233457887,CA
-3233457888,3233457895,US
+3233457832,3233457895,US
3233457896,3233457919,CA
-3233457920,3233458191,US
-3233458192,3233458223,CA
+3233457920,3233458207,US
+3233458208,3233458223,CA
3233458224,3233458271,US
3233458272,3233458303,CA
-3233458304,3233458351,US
-3233458352,3233458359,CA
-3233458360,3233458399,US
-3233458400,3233458431,CA
-3233458432,3233458527,US
-3233458528,3233458591,CA
+3233458304,3233458527,US
+3233458528,3233458535,CA
+3233458536,3233458543,US
+3233458544,3233458591,CA
3233458592,3233458607,US
3233458608,3233458687,CA
3233458688,3233458943,US
3233458944,3233458959,BG
-3233458960,3233459455,US
-3233459456,3233459471,CA
-3233459472,3233459631,US
-3233459632,3233459679,CA
-3233459680,3233459695,US
+3233458960,3233459631,US
+3233459632,3233459647,CA
+3233459648,3233459695,US
3233459696,3233459711,CA
-3233459712,3233459727,US
-3233459728,3233459775,CA
-3233459776,3233459807,US
-3233459808,3233459823,CA
-3233459824,3233459839,US
+3233459712,3233459839,US
3233459840,3233459967,CA
3233459968,3233459999,US
3233460000,3233460015,CA
3233460016,3233460047,US
-3233460048,3233460223,CA
+3233460048,3233460119,CA
+3233460120,3233460159,US
+3233460160,3233460223,CA
3233460224,3233460479,US
-3233460480,3233460495,CA
-3233460496,3233460511,US
+3233460480,3233460487,CA
+3233460488,3233460511,US
3233460512,3233460519,SE
3233460520,3233460527,CA
3233460528,3233460535,US
@@ -99786,25 +102050,29 @@
3233460672,3233461279,US
3233461280,3233461303,CA
3233461304,3233461319,US
-3233461320,3233461375,CA
+3233461320,3233461343,CA
+3233461344,3233461351,US
+3233461352,3233461375,CA
3233461376,3233461407,US
-3233461408,3233461487,CA
-3233461488,3233461543,US
+3233461408,3233461471,CA
+3233461472,3233461543,US
3233461544,3233461567,CA
3233461568,3233461583,US
3233461584,3233461599,CA
-3233461600,3233461615,US
-3233461616,3233461639,CA
+3233461600,3233461631,US
+3233461632,3233461639,CA
3233461640,3233461679,US
-3233461680,3233461727,CA
+3233461680,3233461687,CA
+3233461688,3233461711,US
+3233461712,3233461727,CA
3233461728,3233461743,US
3233461744,3233461759,CA
-3233461760,3233461823,US
-3233461824,3233461839,CA
-3233461840,3233461855,US
+3233461760,3233461855,US
3233461856,3233461871,CA
3233461872,3233462015,US
-3233462016,3233462127,CA
+3233462016,3233462063,CA
+3233462064,3233462071,US
+3233462072,3233462127,CA
3233462128,3233462143,US
3233462144,3233462527,CA
3233462528,3233462783,US
@@ -99812,7 +102080,9 @@
3233463296,3233463551,US
3233463552,3233463807,CA
3233463808,3233463855,US
-3233463856,3233463919,CA
+3233463856,3233463871,CA
+3233463872,3233463887,US
+3233463888,3233463919,CA
3233463920,3233463999,US
3233464000,3233464063,CA
3233464064,3233484799,US
@@ -99836,6 +102106,7 @@
3233564416,3233564671,NZ
3233564672,3233564927,US
3233564928,3233566719,JP
+3233567232,3233567743,HK
3233567744,3233567999,US
3233568768,3233569023,CA
3233569536,3233569791,US
@@ -100032,7 +102303,7 @@
3233786368,3233790207,US
3233790208,3233790463,PR
3233790464,3233790719,CA
-3233790720,3233790975,PR
+3233790720,3233790975,US
3233790976,3233791231,CA
3233791232,3233791487,PR
3233791488,3233793023,US
@@ -100144,13 +102415,17 @@
3234201344,3234203647,US
3234203648,3234205695,AR
3234205696,3234226175,US
-3234226176,3234226263,CA
+3234226176,3234226207,CA
+3234226208,3234226239,US
+3234226240,3234226263,CA
3234226264,3234226271,US
3234226272,3234226279,CA
3234226280,3234226303,US
-3234226304,3234226711,CA
-3234226712,3234226751,US
-3234226752,3234226847,CA
+3234226304,3234226359,CA
+3234226360,3234226367,US
+3234226368,3234226711,CA
+3234226712,3234226767,US
+3234226768,3234226847,CA
3234226848,3234226863,US
3234226864,3234226879,CA
3234226880,3234226943,US
@@ -100173,8 +102448,8 @@
3234227644,3234227695,CA
3234227696,3234227699,US
3234227700,3234227707,CA
-3234227708,3234227711,US
-3234227712,3234227775,CA
+3234227708,3234227743,US
+3234227744,3234227775,CA
3234227776,3234227807,US
3234227808,3234227839,CA
3234227840,3234227879,US
@@ -100189,9 +102464,7 @@
3234228480,3234228607,CA
3234228608,3234228639,US
3234228640,3234228671,CA
-3234228672,3234228703,US
-3234228704,3234228719,CA
-3234228720,3234228735,US
+3234228672,3234228735,US
3234228736,3234229039,CA
3234229040,3234229047,US
3234229048,3234229063,CA
@@ -100209,8 +102482,10 @@
3234229600,3234229607,CA
3234229608,3234229615,US
3234229616,3234229695,CA
-3234229696,3234229743,US
-3234229744,3234229895,CA
+3234229696,3234229759,US
+3234229760,3234229839,CA
+3234229840,3234229847,US
+3234229848,3234229895,CA
3234229896,3234229903,US
3234229904,3234229911,CA
3234229912,3234229951,US
@@ -100221,49 +102496,54 @@
3234230400,3234230431,US
3234230432,3234230527,CA
3234230528,3234230783,US
-3234230784,3234230927,CA
-3234230928,3234230991,US
-3234230992,3234231007,CA
-3234231008,3234231039,US
-3234231040,3234231055,CA
+3234230784,3234230911,CA
+3234230912,3234230991,US
+3234230992,3234230999,CA
+3234231000,3234231047,US
+3234231048,3234231055,CA
3234231056,3234231063,US
3234231064,3234231087,CA
3234231088,3234231103,US
3234231104,3234231143,CA
-3234231144,3234231151,US
-3234231152,3234231255,CA
+3234231144,3234231159,US
+3234231160,3234231199,CA
+3234231200,3234231215,US
+3234231216,3234231231,CA
+3234231232,3234231247,US
+3234231248,3234231255,CA
3234231256,3234231279,US
-3234231280,3234231807,CA
-3234231808,3234232111,US
-3234232112,3234232127,CA
-3234232128,3234232159,US
+3234231280,3234231287,CA
+3234231288,3234231295,SE
+3234231296,3234231423,CA
+3234231424,3234231551,US
+3234231552,3234231807,CA
+3234231808,3234232159,US
3234232160,3234232247,CA
3234232248,3234232255,US
3234232256,3234232319,CA
3234232320,3234232575,EG
-3234232576,3234233343,US
-3234233344,3234233399,CA
+3234232576,3234233063,US
+3234233064,3234233071,SE
+3234233072,3234233375,US
+3234233376,3234233399,CA
3234233400,3234233407,US
3234233408,3234233471,CA
3234233472,3234233487,US
-3234233488,3234233519,CA
-3234233520,3234233599,US
-3234233600,3234233647,CA
-3234233648,3234233759,US
+3234233488,3234233495,CA
+3234233496,3234233503,SE
+3234233504,3234233599,US
+3234233600,3234233631,CA
+3234233632,3234233759,US
3234233760,3234233791,CA
3234233792,3234233823,US
3234233824,3234233855,CA
-3234233856,3234234127,US
-3234234128,3234234143,CA
-3234234144,3234234199,US
+3234233856,3234234199,US
3234234200,3234234207,CA
3234234208,3234234239,US
3234234240,3234234247,CA
3234234248,3234234271,US
3234234272,3234234287,CA
-3234234288,3234234335,US
-3234234336,3234234367,CA
-3234234368,3234267135,US
+3234234288,3234267135,US
3234267136,3234267391,CA
3234267392,3234268927,US
3234268928,3234269183,SG
@@ -100274,8 +102554,7 @@
3234279424,3234283519,CA
3234283520,3234316287,US
3234316288,3234320383,CA
-3234320384,3234338815,US
-3234338816,3234339071,CN
+3234320384,3234339071,US
3234339072,3234339327,MT
3234339328,3234339583,DE
3234339584,3234339839,PA
@@ -100418,9 +102697,7 @@
3235021568,3235021823,CA
3235021824,3235044375,US
3235044376,3235044383,GB
-3235044384,3235046831,US
-3235046832,3235046847,AF
-3235046848,3235065343,US
+3235044384,3235065343,US
3235065344,3235065855,CA
3235065856,3235068511,US
3235068512,3235068575,IT
@@ -100440,7 +102717,9 @@
3235389440,3235389951,VE
3235389952,3235512319,US
3235512320,3235577855,JP
-3235577856,3235641855,CA
+3235577856,3235633151,CA
+3235633152,3235638271,US
+3235638272,3235641855,CA
3235641856,3235642111,US
3235642112,3235643135,CA
3235643136,3235745791,US
@@ -100558,7 +102837,9 @@
3236157952,3236158207,GB
3236158208,3236167935,US
3236167936,3236175871,CA
-3236175872,3236200447,US
+3236175872,3236182783,US
+3236182784,3236183039,FI
+3236183040,3236200447,US
3236200448,3236233215,MY
3236233216,3236239359,US
3236239360,3236241407,CA
@@ -100584,7 +102865,9 @@
3236288000,3236291071,US
3236291072,3236291327,GB
3236291328,3236302847,US
-3236306944,3236312063,US
+3236306944,3236310527,US
+3236310528,3236310783,FR
+3236310784,3236312063,US
3236312064,3236312319,MO
3236312320,3236312575,GH
3236312576,3236312831,GR
@@ -100751,24 +103034,26 @@
3237036128,3237036135,CA
3237036136,3237036159,US
3237036160,3237036255,CA
-3237036256,3237036351,US
-3237036352,3237036367,CA
-3237036368,3237036383,US
+3237036256,3237036383,US
3237036384,3237036415,CA
3237036416,3237036495,US
3237036496,3237036511,CA
3237036512,3237036543,US
-3237036544,3237036551,CN
+3237036544,3237036551,CA
3237036552,3237036555,US
-3237036556,3237036703,CN
+3237036556,3237036679,CA
+3237036680,3237036687,SE
+3237036688,3237036703,CA
3237036704,3237036711,US
-3237036712,3237036799,CN
+3237036712,3237036799,CA
3237036800,3237037311,US
3237037312,3237037567,CA
3237037568,3237037583,US
3237037584,3237037607,CA
3237037608,3237037631,US
-3237037632,3237037703,CA
+3237037632,3237037647,CA
+3237037648,3237037655,SE
+3237037656,3237037703,CA
3237037704,3237037711,US
3237037712,3237037767,CA
3237037768,3237037775,NO
@@ -100789,8 +103074,8 @@
3237038400,3237038415,CA
3237038416,3237038431,US
3237038432,3237038495,CA
-3237038496,3237038575,US
-3237038576,3237038607,CA
+3237038496,3237038591,US
+3237038592,3237038607,CA
3237038608,3237038615,US
3237038616,3237038663,CA
3237038664,3237038671,US
@@ -100808,13 +103093,15 @@
3237038864,3237038879,US
3237038880,3237038911,CA
3237038912,3237038927,US
-3237038928,3237038991,CA
-3237038992,3237039039,US
-3237039040,3237039103,CA
+3237038928,3237038943,CA
+3237038944,3237038959,US
+3237038960,3237038975,CA
+3237038976,3237039055,US
+3237039056,3237039103,CA
3237039104,3237039183,US
3237039184,3237039199,CA
-3237039200,3237039215,US
-3237039216,3237039295,CA
+3237039200,3237039231,US
+3237039232,3237039295,CA
3237039296,3237039343,US
3237039344,3237039359,CA
3237039360,3237039615,US
@@ -100822,8 +103109,8 @@
3237039936,3237040063,US
3237040064,3237040143,CA
3237040144,3237040159,US
-3237040160,3237040287,CA
-3237040288,3237040303,US
+3237040160,3237040255,CA
+3237040256,3237040303,US
3237040304,3237040319,CA
3237040320,3237040335,US
3237040336,3237040351,CA
@@ -100839,14 +103126,16 @@
3237041824,3237041935,CA
3237041936,3237041983,US
3237041984,3237042047,CA
-3237042048,3237042063,US
-3237042064,3237042127,CA
+3237042048,3237042079,US
+3237042080,3237042127,CA
3237042128,3237042431,US
3237042432,3237042463,CA
3237042464,3237042471,US
3237042472,3237042479,CA
3237042480,3237042495,US
-3237042496,3237042607,CA
+3237042496,3237042511,CA
+3237042512,3237042527,US
+3237042528,3237042607,CA
3237042608,3237042623,US
3237042624,3237042631,CA
3237042632,3237042639,US
@@ -100879,47 +103168,54 @@
3237045040,3237045223,CA
3237045224,3237045231,US
3237045232,3237045247,CA
-3237045248,3237045663,US
+3237045248,3237045503,US
+3237045504,3237045591,CA
+3237045592,3237045599,SE
+3237045600,3237045663,CA
3237045664,3237045671,FI
-3237045672,3237046559,US
+3237045672,3237045711,CA
+3237045712,3237045719,US
+3237045720,3237045759,CA
+3237045760,3237046559,US
3237046560,3237046607,CA
3237046608,3237046623,US
3237046624,3237046647,CA
3237046648,3237046655,SE
-3237046656,3237046671,CA
-3237046672,3237046767,US
+3237046656,3237046767,US
3237046768,3237046775,CA
3237046776,3237046815,US
-3237046816,3237046879,CA
-3237046880,3237046943,US
+3237046816,3237046847,CA
+3237046848,3237046943,US
3237046944,3237047039,CA
3237047040,3237047295,FR
-3237047296,3237047807,US
-3237047808,3237047839,CA
+3237047296,3237047823,US
+3237047824,3237047839,CA
3237047840,3237047871,US
3237047872,3237047935,CA
3237047936,3237048031,US
-3237048032,3237048079,CA
-3237048080,3237048111,US
-3237048112,3237048127,CA
-3237048128,3237048143,US
+3237048032,3237048063,CA
+3237048064,3237048143,US
3237048144,3237048159,CA
3237048160,3237048191,US
3237048192,3237048255,CA
3237048256,3237048575,US
3237048576,3237048767,CA
3237048768,3237048783,US
-3237048784,3237049855,CA
+3237048784,3237048799,CA
+3237048800,3237048815,US
+3237048816,3237049855,CA
3237049856,3237050111,US
3237050112,3237050159,GB
3237050160,3237050175,US
-3237050176,3237050303,GB
+3237050176,3237050191,GB
+3237050192,3237050207,US
+3237050208,3237050303,GB
3237050304,3237051903,US
3237051904,3237052159,TR
-3237052160,3237052319,CA
-3237052320,3237052383,US
-3237052384,3237052415,CA
-3237052416,3237125295,US
+3237052160,3237052287,CA
+3237052288,3237052383,US
+3237052384,3237052399,CA
+3237052400,3237125295,US
3237125296,3237125311,CR
3237125312,3237154815,US
3237154816,3237155839,ES
@@ -100958,8 +103254,7 @@
3237320960,3237321471,US
3237321728,3237322751,US
3237322752,3237323263,CA
-3237323264,3237323519,IN
-3237323520,3237325055,US
+3237323264,3237325055,US
3237325056,3237325311,PL
3237325312,3237325823,US
3237325824,3237326079,CA
@@ -100970,7 +103265,7 @@
3237329408,3237330943,US
3237330944,3237331199,AU
3237331200,3237331967,US
-3237331968,3237332223,HK
+3237331968,3237332223,AU
3237332224,3237335039,US
3237335040,3237335295,AU
3237335296,3237335551,US
@@ -101322,9 +103617,11 @@
3237969152,3237969407,RO
3237969408,3238002687,US
3238002688,3238008831,NL
-3238008832,3238010879,AE
+3238008832,3238010879,FR
3238010880,3238017023,CH
-3238017024,3238018303,DK
+3238017024,3238017535,DK
+3238017536,3238017791,US
+3238017792,3238018303,DK
3238018304,3238018559,UA
3238018560,3238018815,FR
3238018816,3238019071,DE
@@ -101341,12 +103638,11 @@
3238043648,3238043903,NL
3238043904,3238044159,DK
3238044160,3238044671,KZ
-3238044672,3238045183,FI
3238045184,3238047743,RU
3238047744,3238048255,GB
3238048256,3238048767,NL
3238048768,3238049791,CH
-3238049792,3238050303,RU
+3238050048,3238050303,RU
3238050304,3238050815,DE
3238050816,3238051071,AT
3238051072,3238051327,GB
@@ -101391,7 +103687,10 @@
3238133760,3238199295,SI
3238199296,3238264831,DK
3238264832,3238330367,IS
-3238330368,3238395903,CH
+3238330368,3238334463,CH
+3238335488,3238337023,CH
+3238337024,3238337535,LI
+3238337536,3238395903,CH
3238395904,3238461439,HU
3238461440,3238502399,DE
3238502400,3238504447,RU
@@ -101634,7 +103933,7 @@
3239275520,3239276543,UA
3239276544,3239277055,LU
3239277056,3239277567,DE
-3239277568,3239279103,RU
+3239277568,3239278591,RU
3239279104,3239280127,PL
3239280128,3239280639,RU
3239281664,3239282687,UA
@@ -101965,7 +104264,7 @@
3239859200,3239859455,PL
3239859456,3239859711,UA
3239859712,3239859967,HU
-3239859968,3239860223,CA
+3239859968,3239860223,UA
3239860224,3239860479,DE
3239860480,3239860735,FI
3239860736,3239861247,DE
@@ -101984,7 +104283,6 @@
3239877120,3239877375,GB
3239877376,3239877631,IL
3239877632,3239877887,UA
-3239877888,3239878143,IT
3239878144,3239878399,PL
3239878400,3239878655,SE
3239878656,3239882751,DE
@@ -102394,7 +104692,7 @@
3240408832,3240409087,PL
3240409088,3240409343,TR
3240409600,3240409855,NL
-3240409856,3240410367,DE
+3240410112,3240410367,DE
3240410368,3240410623,AT
3240410624,3240410879,PT
3240410880,3240411135,NO
@@ -102408,7 +104706,6 @@
3240443904,3240460287,GB
3240460288,3240461055,IL
3240461056,3240461567,DE
-3240461568,3240461823,UA
3240461824,3240462079,RU
3240462080,3240462335,TR
3240462336,3240462591,RO
@@ -102436,9 +104733,12 @@
3240487936,3240488191,CH
3240488192,3240488447,GB
3240488448,3240488703,BG
-3240488704,3240488959,NL
3240488960,3240491007,GB
-3240493056,3240501247,SE
+3240493056,3240493695,SE
+3240493696,3240493727,GB
+3240493728,3240494335,SE
+3240494336,3240494591,FR
+3240494592,3240501247,SE
3240505344,3240505599,PL
3240505600,3240505855,GB
3240506368,3240506623,GB
@@ -102591,7 +104891,6 @@
3240794368,3240794879,PL
3240794880,3240795135,DE
3240795136,3240795391,UA
-3240795392,3240795647,RU
3240795648,3240795903,CH
3240795904,3240796159,SE
3240796160,3240808959,IT
@@ -102837,7 +105136,9 @@
3241803776,3241803823,CY
3241803832,3241803839,GB
3241803840,3241804031,CY
-3241804032,3241820159,BE
+3241804032,3241805567,BE
+3241805568,3241805823,NL
+3241805824,3241820159,BE
3241820160,3241821695,GB
3241821696,3241822207,GR
3241822208,3241824255,CZ
@@ -102889,10 +105190,8 @@
3242604756,3242604756,NL
3242604757,3242606975,FR
3242606976,3242607039,ES
-3242607040,3242614513,FR
-3242614514,3242614514,PL
-3242614515,3242614527,FR
-3242614528,3242614783,PL
+3242607040,3242614271,FR
+3242614272,3242614783,PL
3242614784,3242615871,FR
3242615872,3242615935,PL
3242615936,3242616029,FR
@@ -103022,7 +105321,6 @@
3244120064,3244122111,PL
3244123136,3244124159,UA
3244124160,3244125183,PL
-3244125184,3244126207,UA
3244126208,3244127231,BE
3244127232,3244128255,UA
3244128256,3244129279,RU
@@ -103145,7 +105443,6 @@
3244842752,3244843007,DE
3244843008,3244843263,UA
3244843264,3244843519,RU
-3244843520,3244843775,NL
3244843776,3244844031,PL
3244844032,3244844287,SE
3244844288,3244844543,GB
@@ -103184,7 +105481,7 @@
3244853760,3244854015,TR
3244854016,3244854271,RU
3244854272,3244854527,GB
-3244854784,3244855295,RU
+3244855040,3244855295,RU
3244855296,3244855551,GB
3244855552,3244855807,RU
3244855808,3244856063,DE
@@ -103386,7 +105683,7 @@
3244913152,3244913407,RU
3244913408,3244913663,SI
3244913664,3244913919,DK
-3244913920,3244914431,RU
+3244914176,3244914431,RU
3244914432,3244914687,SA
3244914688,3244914943,GB
3244915200,3244915455,PL
@@ -103497,7 +105794,6 @@
3244946944,3244947455,DE
3244947456,3244947711,PL
3244947712,3244947967,UA
-3244947968,3244948223,DE
3244948224,3244948479,PL
3244948480,3244948735,FR
3244948736,3244948991,IE
@@ -103564,7 +105860,9 @@
3245019136,3245019391,UZ
3245019392,3245019462,SC
3245019463,3245019463,UZ
-3245019464,3245019647,SC
+3245019464,3245019541,SC
+3245019542,3245019542,UZ
+3245019543,3245019647,SC
3245019648,3245020159,UZ
3245020160,3245021183,RU
3245021184,3245022207,UA
@@ -103800,7 +106098,6 @@
3245210112,3245210623,FR
3245210624,3245211135,HU
3245211136,3245211647,GB
-3245212672,3245213183,GB
3245213184,3245213695,DE
3245213696,3245214207,LV
3245214208,3245214719,AT
@@ -104159,7 +106456,9 @@
3247251064,3247251071,NL
3247251072,3247255330,DE
3247255331,3247255331,NL
-3247255332,3247265791,DE
+3247255332,3247258879,DE
+3247258880,3247259135,DK
+3247259136,3247265791,DE
3247265792,3247266047,NL
3247266048,3247276287,DE
3247276288,3247276543,NL
@@ -104167,7 +106466,9 @@
3247282344,3247282351,NL
3247282352,3247286104,DE
3247286105,3247286105,NL
-3247286106,3247302833,DE
+3247286106,3247301119,DE
+3247301120,3247301375,NL
+3247301376,3247302833,DE
3247302834,3247302834,NL
3247302835,3247305215,DE
3247305216,3247305223,NL
@@ -104266,7 +106567,6 @@
3247708160,3247711743,ES
3247711744,3247712255,IT
3247713280,3247713535,RU
-3247713536,3247713791,BE
3247713792,3247714047,SK
3247726592,3247742975,ES
3247742976,3247751167,DE
@@ -104422,7 +106722,9 @@
3248606976,3248619519,NO
3248619520,3248624383,DK
3248624384,3248624639,US
-3248624640,3248750591,DK
+3248624640,3248624895,DK
+3248625152,3248626175,DK
+3248626177,3248750591,DK
3248750592,3248750847,PT
3248752640,3248752895,DE
3248752896,3248753151,TR
@@ -104544,7 +106846,9 @@
3249110016,3249111039,UA
3249111040,3249111551,RU
3249111552,3249112063,KW
-3249112064,3249113087,UA
+3249112064,3249112319,UA
+3249112320,3249112575,GB
+3249112576,3249113087,UA
3249113088,3249113599,RO
3249113600,3249114111,NL
3249114112,3249114623,GB
@@ -104592,7 +106896,6 @@
3249140736,3249141247,NL
3249141248,3249141759,IL
3249141760,3249142271,RU
-3249142784,3249143295,UA
3249143808,3249274879,AT
3249274880,3249405951,NL
3249405952,3249537023,DE
@@ -104673,7 +106976,6 @@
3249723392,3249723647,IT
3249723648,3249723903,GB
3249724160,3249724415,LU
-3249724672,3249724927,RU
3249724928,3249725183,BG
3249725184,3249725439,GB
3249725440,3249725951,RO
@@ -104953,7 +107255,11 @@
3250427136,3250427391,NL
3250427392,3250429951,DE
3250429952,3250438143,SI
-3250438144,3250446335,CH
+3250438144,3250438911,CH
+3250438912,3250439167,FR
+3250439168,3250440633,CH
+3250440634,3250440634,US
+3250440635,3250446335,CH
3250446336,3250454527,DE
3250454528,3250585599,BE
3250585600,3250585855,NL
@@ -105030,7 +107336,6 @@
3250755584,3250755839,FR
3250755840,3250756351,RU
3250756608,3250756863,BG
-3250756864,3250757119,DE
3250757120,3250757375,BE
3250757376,3250757631,HU
3250757632,3250765823,GH
@@ -105312,6 +107617,7 @@
3251234816,3251235839,RO
3251235840,3251236863,DE
3251236864,3251237887,BG
+3251239936,3251240191,IN
3251240960,3251241215,BE
3251241216,3251243007,GB
3251245056,3251245311,DE
@@ -105400,7 +107706,8 @@
3251364608,3251364863,RO
3251364864,3251366911,IT
3251366912,3251367423,UA
-3251367424,3251367935,DE
+3251367424,3251367679,GB
+3251367680,3251367935,FR
3251367936,3251372031,GB
3251372032,3251634175,IT
3251634176,3251896319,FI
@@ -105584,7 +107891,7 @@
3252636928,3252637183,DE
3252637184,3252637695,GB
3252637696,3252641791,CH
-3252642304,3252642559,UA
+3252642304,3252642559,PL
3252642560,3252642815,DK
3252642816,3252643071,AE
3252643072,3252643327,RO
@@ -105692,7 +107999,9 @@
3253313536,3253313791,NL
3253313792,3253338111,RU
3253338112,3253338367,PL
-3253338368,3253380351,SE
+3253338368,3253350399,SE
+3253350400,3253351423,FI
+3253351424,3253380351,SE
3253380352,3253380607,GB
3253380608,3253380863,SE
3253380864,3253381119,IT
@@ -106024,11 +108333,11 @@
3253788160,3253788415,NL
3253788416,3253791419,GB
3253791420,3253791423,DE
-3253791424,3253793071,GB
+3253791424,3253792079,GB
+3253792080,3253792095,DE
+3253792096,3253793071,GB
3253793072,3253793087,FR
-3253793088,3253793359,GB
-3253793360,3253793375,DK
-3253793376,3253796863,GB
+3253793088,3253796863,GB
3253796864,3253862399,SE
3253862400,3253862655,GB
3253862656,3253882879,FR
@@ -106067,7 +108376,6 @@
3253898496,3253898751,HR
3253898752,3253899263,PL
3253899264,3253899519,MD
-3253899520,3253899775,RU
3253899776,3253900287,PL
3253900288,3253901311,RU
3253901312,3253901567,PL
@@ -106743,7 +109051,9 @@
3255743232,3255743487,IT
3255743488,3255743743,DE
3255743744,3255743999,US
-3255744000,3255762431,SE
+3255744000,3255751167,SE
+3255751168,3255751423,DK
+3255751424,3255762431,SE
3255762432,3255762943,BE
3255762944,3255771135,DE
3255779328,3255787519,DE
@@ -106863,14 +109173,13 @@
3256694784,3256695807,CH
3256695808,3256696831,UA
3256699136,3256699391,NL
+3256699392,3256699903,GB
3256700416,3256700671,NL
3256705536,3256705791,BE
-3256706048,3256706559,GR
3256711168,3256711423,DE
3256713216,3256727551,PL
3256727552,3256727807,DE
3256727808,3256728063,HU
-3256728064,3256728575,RU
3256728576,3256729599,DE
3256729600,3256731647,FI
3256731648,3256732671,NO
@@ -107013,7 +109322,6 @@
3257139456,3257143295,GB
3257143296,3257143807,RU
3257143808,3257144063,DE
-3257144064,3257144319,RU
3257144320,3257144575,DE
3257144576,3257144831,GB
3257144832,3257145087,FR
@@ -107370,7 +109678,9 @@
3258504960,3258505215,IL
3258505728,3258506495,CH
3258506496,3258506751,DE
-3258507264,3258515455,CH
+3258507264,3258509567,CH
+3258509568,3258509823,FR
+3258509824,3258515455,CH
3258515456,3258580991,FR
3258580992,3258587135,SY
3258587136,3258588159,GB
@@ -107503,7 +109813,8 @@
3259244080,3259244127,US
3259244128,3259246591,SE
3259246592,3259247615,IT
-3259247616,3259248127,SE
+3259247616,3259247871,RO
+3259247872,3259248127,SE
3259248128,3259248383,GB
3259248384,3259248895,SE
3259248896,3259249151,GB
@@ -107659,12 +109970,19 @@
3260550656,3260551167,RU
3260551168,3260553983,DE
3260553984,3260554239,GB
-3260554240,3260555263,SE
+3260554240,3260554751,DE
+3260554752,3260555263,CH
3260555264,3260563455,HU
3260563456,3260573695,GB
3260573696,3260574719,NL
3260574720,3260575743,IL
-3260575744,3260579327,US
+3260575744,3260575999,US
+3260576000,3260576255,CA
+3260576256,3260577023,US
+3260577024,3260577279,CA
+3260577280,3260578047,US
+3260578048,3260578303,CA
+3260578304,3260579327,US
3260579328,3260579583,CA
3260579584,3260579839,US
3260579840,3260580351,PL
@@ -107877,7 +110195,6 @@
3262028288,3262028543,FR
3262028544,3262028799,AE
3262028800,3262029823,DE
-3262029824,3262030847,NL
3262030848,3262031871,FR
3262033920,3262034434,FI
3262034435,3262034435,AX
@@ -108163,9 +110480,7 @@
3262611456,3262627839,GB
3262627840,3262636031,IT
3262636032,3262644223,BE
-3262644224,3262648319,DE
-3262648320,3262648575,NL
-3262648576,3262652415,DE
+3262644224,3262652415,DE
3262652416,3262654463,NL
3262654464,3262906367,DE
3262906368,3262963711,CH
@@ -108699,7 +111014,6 @@
3264830464,3264830719,FR
3264830720,3264830975,AT
3264830976,3264831231,CH
-3264831232,3264831487,PL
3264831488,3264831743,CH
3264831744,3264831999,FR
3264832000,3264832255,IE
@@ -108788,7 +111102,9 @@
3265135018,3265135018,BE
3265135019,3265135039,CH
3265135040,3265135071,BE
-3265135072,3265137983,CH
+3265135072,3265137551,CH
+3265137552,3265137555,NL
+3265137556,3265137983,CH
3265137984,3265138047,NL
3265138048,3265138303,CH
3265138304,3265138307,NL
@@ -109025,7 +111341,7 @@
3266707456,3266723839,DK
3266723840,3266732031,IT
3266732032,3266734079,DK
-3266734080,3266735103,IT
+3266734080,3266735103,DE
3266735104,3266735615,DK
3266735616,3266736127,IT
3266736128,3266740223,FR
@@ -109114,10 +111430,7 @@
3267096576,3267097599,DE
3267097600,3267098623,KZ
3267098624,3267098879,GB
-3267098880,3267098895,FR
-3267098896,3267099007,GB
-3267099008,3267099043,FR
-3267099044,3267099135,GB
+3267098880,3267099135,FR
3267099136,3267099263,DE
3267099264,3267099327,NL
3267099328,3267099383,GB
@@ -110111,7 +112424,6 @@
3273877760,3273878015,GR
3273878016,3273878271,FR
3273878272,3273878527,LV
-3273878528,3273878783,RU
3273878784,3273879039,NO
3273879040,3273879551,BE
3273879552,3273880063,GB
@@ -110262,7 +112574,6 @@
3274415104,3274415359,PL
3274415360,3274415615,GB
3274415616,3274415871,NL
-3274415872,3274416127,SI
3274416128,3274424319,IT
3274424320,3274440703,SE
3274440704,3274506239,GB
@@ -110658,6 +112969,7 @@
3275551744,3275552767,RU
3275552768,3275553791,LV
3275553792,3275554815,FI
+3275563584,3275563647,CH
3275588448,3275588463,BE
3275590656,3275590911,BE
3275612928,3275613183,LU
@@ -110679,7 +112991,7 @@
3275630592,3275631103,PL
3275631104,3275631615,FR
3275631616,3275632127,DE
-3275632128,3275633151,RU
+3275632640,3275633151,RU
3275633152,3275633663,FR
3275633664,3275634687,RU
3275634688,3275635199,RO
@@ -110916,7 +113228,8 @@
3276300288,3276304383,DE
3276304384,3276304639,BG
3276304640,3276305407,GB
-3276305408,3276306431,IL
+3276305408,3276305919,IL
+3276305920,3276306431,SI
3276306432,3276308479,NL
3276308480,3276309503,GB
3276309504,3276310527,AT
@@ -111064,7 +113377,7 @@
3276696576,3276697087,CZ
3276697088,3276697599,GB
3276697600,3276698111,UA
-3276698112,3276699647,RU
+3276698112,3276699135,RU
3276699648,3276700159,NL
3276700160,3276700671,CZ
3276700672,3276701183,RO
@@ -111457,7 +113770,9 @@
3276874960,3276874975,NL
3276874976,3276876279,GB
3276876280,3276876283,DK
-3276876284,3276880427,GB
+3276876284,3276877055,GB
+3276877056,3276877063,AT
+3276877064,3276880427,GB
3276880428,3276880431,DK
3276880432,3276881411,GB
3276881412,3276881415,FR
@@ -111821,9 +114136,15 @@
3277731104,3277731119,DE
3277731120,3277731122,CH
3277731123,3277731123,DE
-3277731124,3277732207,CH
+3277731124,3277732183,CH
+3277732184,3277732187,GB
+3277732188,3277732207,CH
3277732208,3277732223,GB
-3277732224,3277733887,CH
+3277732224,3277732227,CH
+3277732228,3277732231,GB
+3277732232,3277733407,CH
+3277733408,3277733411,DE
+3277733412,3277733887,CH
3277733888,3277742079,DE
3277742080,3277745151,FI
3277745152,3277746175,CH
@@ -112017,7 +114338,7 @@
3279297280,3279297535,ZA
3279297536,3279298047,SE
3279298048,3279298559,ZA
-3279298560,3279305471,DE
+3279298560,3279305215,DE
3279305488,3279305503,DE
3279305504,3279305535,GB
3279305536,3279305631,DE
@@ -112099,6 +114420,7 @@
3279355648,3279355903,BE
3279373312,3279374335,FI
3279374592,3279375359,FI
+3279386368,3279386495,CH
3279388672,3279396863,GR
3279402752,3279403007,CZ
3279403264,3279403903,CZ
@@ -112227,7 +114549,6 @@
3280131072,3280131327,PL
3280131328,3280131583,IT
3280131584,3280131839,RU
-3280131840,3280132095,RO
3280132096,3280132351,RU
3280132352,3280132607,GB
3280132608,3280132863,CH
@@ -112256,7 +114577,9 @@
3280381952,3280383999,NL
3280384000,3280386047,IT
3280386048,3280388095,SA
-3280388096,3280396287,GB
+3280388096,3280390719,GB
+3280390720,3280390751,FR
+3280390752,3280396287,GB
3280396288,3280404479,FI
3280404480,3280437247,IT
3280437248,3280453631,DE
@@ -112340,7 +114663,8 @@
3280642048,3280650239,UA
3280650240,3280650495,RO
3280650496,3280650751,UA
-3280650752,3280651263,GB
+3280650752,3280651007,NL
+3280651008,3280651263,GB
3280651264,3280651519,SI
3280651520,3280651775,FR
3280651776,3280652031,UA
@@ -112420,7 +114744,11 @@
3280952784,3280952799,DE
3280952800,3280955707,GB
3280955708,3280955711,DE
-3280955712,3280985279,GB
+3280955712,3280960679,GB
+3280960680,3280960683,ES
+3280960684,3280961023,GB
+3280961024,3280961279,ES
+3280961280,3280985279,GB
3280985280,3280985343,CH
3280985344,3280991231,GB
3280991232,3280991743,DE
@@ -112555,28 +114883,13 @@
3281971200,3281971711,RU
3281971712,3281972223,RO
3281972224,3281972735,DE
-3281972736,3281973247,RU
3281973248,3281973759,FR
3281973760,3281974271,DK
3281974784,3281975295,PL
3281975296,3281976319,RU
3281976320,3281976831,DE
3281976832,3281977343,RU
-3281977344,3282012159,NO
-3282012160,3282016255,MP
-3282016256,3282018303,NO
-3282018304,3282019839,MP
-3282019840,3282021375,NO
-3282021376,3282022399,MP
-3282022400,3282026495,NO
-3282026496,3282028543,MP
-3282028544,3282030591,NO
-3282030592,3282032127,MP
-3282032128,3282032383,NO
-3282032384,3282032639,MP
-3282032640,3282034687,NO
-3282034688,3282037247,MP
-3282037248,3282042879,NO
+3281977344,3282042879,NO
3282042880,3282083839,CH
3282083840,3282084351,DE
3282084352,3282084863,RO
@@ -112696,7 +115009,8 @@
3282746624,3282746879,SE
3282747136,3282747391,PL
3282747392,3282763775,RU
-3282763776,3282960383,GB
+3282763776,3282772991,GB
+3282773248,3282960383,GB
3282960384,3283091455,TR
3283091456,3283156991,CH
3283156992,3283173375,DE
@@ -112759,7 +115073,6 @@
3283247616,3283248127,BG
3283248128,3283248639,DE
3283248640,3283249151,RO
-3283249152,3283249663,UA
3283249664,3283249919,MD
3283249920,3283250175,RO
3283250176,3283250687,RU
@@ -112779,16 +115092,19 @@
3283460608,3283460863,US
3283460864,3283461631,GB
3283461632,3283461887,SE
-3283461888,3283462143,GB
-3283462144,3283462399,US
-3283462400,3283462655,GB
+3283461888,3283461951,GB
+3283461952,3283462015,ES
+3283462016,3283462143,GB
+3283462144,3283462655,US
3283462656,3283462911,DE
3283462912,3283463167,GB
3283463168,3283463679,NL
3283463680,3283464191,DE
3283464192,3283468287,IT
3283468288,3283472383,FI
-3283472384,3283476479,CZ
+3283472384,3283474381,CZ
+3283474382,3283474382,BV
+3283474383,3283476479,CZ
3283476480,3283480575,LU
3283480576,3283482623,LT
3283482624,3283483647,SK
@@ -113007,7 +115323,9 @@
3284016384,3284016639,CH
3284016640,3284017151,DK
3284017152,3284025343,GR
-3284025344,3284028139,GB
+3284025344,3284026391,GB
+3284026392,3284026395,US
+3284026396,3284028139,GB
3284028140,3284028143,US
3284028144,3284028287,GB
3284028288,3284028319,US
@@ -113270,7 +115588,8 @@
3284822280,3284822280,IT
3284822281,3284822281,GB
3284822282,3284822282,FR
-3284822283,3284828159,GB
+3284822283,3284822283,DE
+3284822284,3284828159,GB
3284828160,3284844543,AT
3284844544,3284860927,CH
3284860928,3284926463,DE
@@ -113421,7 +115740,9 @@
3285515776,3285515799,GR
3285515816,3285515823,GR
3285516032,3285516095,HR
-3285516288,3285581823,BE
+3285516288,3285544959,BE
+3285544960,3285545215,GB
+3285545216,3285581823,BE
3285581824,3285614591,DE
3285614592,3285630975,TR
3285630976,3285633023,UA
@@ -113491,6 +115812,7 @@
3285913656,3285913703,GB
3285913704,3285913711,FI
3285913712,3285913991,GB
+3285914000,3285914007,IE
3285914008,3285914015,GB
3285914624,3285914879,GB
3285915904,3285916159,AT
@@ -113513,16 +115835,19 @@
3285924996,3285924999,CZ
3285925000,3285925007,RU
3285925008,3285925059,DE
-3285925060,3285925063,CH
+3285925060,3285925061,DK
+3285925062,3285925063,DE
3285925064,3285925071,RU
3285925072,3285925079,PL
3285925080,3285925087,IT
3285925088,3285925103,DE
+3285925116,3285925117,DK
3285925164,3285925171,CH
3285926432,3285926463,CH
3285926592,3285926623,DE
3285928304,3285928311,GB
3285929216,3285929231,DE
+3285929234,3285929239,BG
3285930752,3285931007,GB
3285931520,3285931527,HU
3285931528,3285931559,DE
@@ -113538,7 +115863,7 @@
3285939840,3285939967,GB
3285940736,3285940767,IT
3285941248,3285941503,ES
-3285943808,3285944063,CH
+3285943808,3285944065,CH
3285947136,3285947159,NL
3285947168,3285947175,NL
3285949604,3285949607,CH
@@ -113546,7 +115871,7 @@
3285950208,3285950463,IT
3285951648,3285951679,ES
3285953536,3285953665,GB
-3285953672,3285953735,GB
+3285953672,3285953743,GB
3285953792,3285953919,GB
3285954048,3285954303,AE
3285954560,3285954567,IT
@@ -113712,7 +116037,6 @@
3286661376,3286661631,SI
3286661632,3286661887,GB
3286661888,3286662143,RU
-3286662144,3286662399,SK
3286662400,3286662655,UA
3286662656,3286662911,DE
3286662912,3286671359,UA
@@ -113736,6 +116060,7 @@
3286897152,3286897663,AT
3286897664,3286898175,PL
3286898176,3286898687,HR
+3286898944,3286899199,BE
3286899712,3286900223,DE
3286900224,3286900735,RO
3286900736,3286900991,BE
@@ -114003,7 +116328,6 @@
3287605248,3287630335,DE
3287630336,3287631359,PL
3287631360,3287631871,IR
-3287631872,3287632383,RU
3287632384,3287632895,SE
3287632896,3287633407,RU
3287633408,3287633919,SK
@@ -114403,9 +116727,7 @@
3289048832,3289049087,NG
3289049088,3289053951,ZA
3289053952,3289055231,NG
-3289055232,3289070591,ZA
-3289070592,3289070847,NA
-3289070848,3289071103,ZA
+3289055232,3289071103,ZA
3289071104,3289071359,SO
3289071360,3289074431,ZA
3289074432,3289074687,DZ
@@ -114413,7 +116735,8 @@
3289075712,3289077759,MW
3289077760,3289078271,KE
3289078272,3289078527,GH
-3289078528,3289081855,ZA
+3289078528,3289081599,ZA
+3289081600,3289081855,MA
3289081856,3289082111,NG
3289082112,3289086975,ZA
3289086976,3289087231,SZ
@@ -114504,8 +116827,8 @@
3289251840,3289319423,ZA
3289319424,3289319679,MU
3289319680,3289319935,ZA
-3289319936,3289320447,MU
-3289320448,3289321471,ZA
+3289319936,3289320191,MU
+3289320192,3289321471,ZA
3289321472,3289325567,IN
3289325568,3289333759,SA
3289333760,3289382911,ZA
@@ -114515,9 +116838,9 @@
3289400320,3289401343,US
3289401344,3289402367,AU
3289402368,3289403391,US
-3289403392,3289404415,SC
+3289403392,3289404415,GB
3289404416,3289405439,US
-3289405440,3289406463,SC
+3289405440,3289406463,GB
3289406464,3289409535,US
3289409536,3289410047,BE
3289410048,3289410559,CH
@@ -114526,7 +116849,9 @@
3289412608,3289413631,US
3289413632,3289414655,GB
3289414656,3289415679,US
-3289415680,3289424895,SC
+3289415680,3289422847,SC
+3289422848,3289423871,NL
+3289423872,3289424895,SC
3289424896,3289430015,US
3289430016,3289431039,GB
3289431040,3289434111,US
@@ -114544,15 +116869,15 @@
3289440512,3289441023,US
3289441024,3289441279,IE
3289441280,3289441535,US
-3289441536,3289441791,ZA
+3289441536,3289441791,RU
3289441792,3289442047,US
-3289442048,3289442303,ZA
+3289442048,3289442303,RU
3289442304,3289445375,US
3289445376,3289445631,DE
3289445632,3289445887,US
3289445888,3289446143,ZA
3289446144,3289446399,US
-3289446400,3289446655,ZA
+3289446400,3289446655,ID
3289446656,3289446911,US
3289446912,3289447167,ZA
3289447168,3289447423,US
@@ -114562,7 +116887,7 @@
3289466880,3289467903,US
3289467904,3289468927,AU
3289468928,3289469951,US
-3289469952,3289470975,SC
+3289469952,3289470975,GB
3289470976,3289472255,US
3289472256,3289472511,IT
3289472512,3289472767,NL
@@ -114574,7 +116899,8 @@
3289476096,3289477119,US
3289477120,3289478143,GB
3289478144,3289481215,US
-3289481216,3289490431,SC
+3289481216,3289488383,SC
+3289488384,3289490431,NL
3289490432,3289491455,US
3289491456,3289492479,GB
3289492480,3289493503,US
@@ -114590,16 +116916,19 @@
3289503744,3289504767,AU
3289504768,3289505023,IT
3289505024,3289505279,GB
-3289505280,3289505535,SC
+3289505280,3289505535,US
3289505536,3289505791,DE
-3289505792,3289506047,US
-3289506048,3289506815,SC
+3289505792,3289506303,US
+3289506304,3289506559,KR
+3289506560,3289506815,ID
3289506816,3289507071,DE
-3289507072,3289507839,SC
+3289507072,3289507327,KR
+3289507328,3289507583,SC
+3289507584,3289507839,ID
3289507840,3289517055,US
3289517056,3289518079,DE
-3289518080,3289530367,US
-3289530368,3289538559,NL
+3289518080,3289534463,US
+3289534464,3289538559,NL
3289538560,3289540607,US
3289540608,3289541119,ES
3289541120,3289541631,AU
@@ -114633,7 +116962,7 @@
3289569024,3289569279,GB
3289569280,3289571327,AU
3289571328,3289571583,US
-3289571584,3289571839,SC
+3289571584,3289571839,CA
3289571840,3289572095,US
3289572096,3289572351,DE
3289572352,3289572607,US
@@ -114659,13 +116988,14 @@
3289640192,3289640447,GB
3289640448,3289640959,IE
3289640960,3289641215,ID
-3289641216,3289641727,SC
+3289641216,3289641727,JP
3289641728,3289641983,DE
3289641984,3289642239,AU
3289642240,3289642495,US
-3289642496,3289643263,SC
+3289642496,3289643007,SC
+3289643008,3289643263,ID
3289643264,3289643519,SG
-3289643520,3289644031,SC
+3289643520,3289644031,FR
3289644032,3289645055,US
3289645056,3289653247,NA
3289653248,3289661439,EG
@@ -114793,9 +117123,7 @@
3291045888,3291078655,ZA
3291078656,3291086847,DZ
3291086848,3291103231,PR
-3291103232,3291119615,ZA
-3291119616,3291148287,BG
-3291148288,3291168767,ZA
+3291103232,3291168767,ZA
3291168768,3291176959,TZ
3291176960,3291185151,ZW
3291185152,3291201535,UG
@@ -114829,7 +117157,6 @@
3291209728,3291209983,NG
3291209984,3291210239,GH
3291210240,3291210495,UG
-3291210496,3291210751,ZA
3291210752,3291211007,KE
3291211008,3291211263,SL
3291211264,3291211519,TZ
@@ -114905,9 +117232,7 @@
3291385856,3291386879,NG
3291386880,3291387903,SC
3291387904,3291388927,BJ
-3291388928,3291389343,GA
-3291389344,3291389347,CG
-3291389348,3291389951,GA
+3291388928,3291389951,GA
3291389952,3291397119,ZA
3291397120,3291398143,EG
3291398144,3291406335,ZM
@@ -114920,9 +117245,9 @@
3291430912,3291432703,ZA
3291432704,3291432959,NA
3291432960,3291435263,ZA
-3291435264,3291437823,NA
-3291437824,3291438079,ZA
-3291438080,3291438847,NA
+3291435264,3291435519,NA
+3291435520,3291435775,ZA
+3291435776,3291438847,NA
3291438848,3291439103,ZA
3291439104,3291447295,NG
3291447296,3291463679,CI
@@ -114931,9 +117256,7 @@
3291545600,3291546367,MU
3291546368,3291546623,BI
3291546624,3291546879,SZ
-3291546880,3291548671,MU
-3291548672,3291548927,TZ
-3291548928,3291550207,MU
+3291546880,3291550207,MU
3291550208,3291550463,MR
3291550464,3291553279,MU
3291553280,3291553535,NG
@@ -114990,10 +117313,12 @@
3291758080,3291758335,GB
3291758336,3291760639,US
3291760640,3291760895,AU
-3291760896,3291762175,US
+3291760896,3291761151,CA
+3291761152,3291762175,US
3291762176,3291762431,GB
3291762432,3291762687,AU
-3291762688,3291763199,US
+3291762688,3291762943,US
+3291762944,3291763199,BZ
3291763200,3291763455,GB
3291763456,3291763711,US
3291763712,3291763967,GB
@@ -115006,7 +117331,9 @@
3291813376,3291813631,GB
3291813632,3291813887,US
3291813888,3291814143,GB
-3291814144,3291815423,US
+3291814144,3291814399,US
+3291814400,3291814400,NL
+3291814401,3291815423,US
3291815424,3291815679,GB
3291815680,3291817471,US
3291817472,3291817983,NL
@@ -115028,10 +117355,16 @@
3291827456,3291828735,US
3291828736,3291829247,CA
3291829248,3291830271,US
-3291830272,3291832319,KH
-3291832320,3291835391,US
+3291830272,3291831295,KH
+3291831296,3291831807,DE
+3291831808,3291832319,KH
+3291832320,3291833343,US
+3291833344,3291834367,DE
+3291834368,3291835391,SE
3291835392,3291836415,DE
-3291836416,3291878655,US
+3291836416,3291837439,US
+3291837440,3291838463,JP
+3291838464,3291878655,US
3291878656,3291878911,GB
3291878912,3291879935,US
3291879936,3291880191,AU
@@ -115054,13 +117387,19 @@
3291891456,3291891711,GB
3291891712,3291893759,US
3291893760,3291894015,CA
-3291894016,3291906047,US
+3291894016,3291896831,US
+3291896832,3291897343,DE
+3291897344,3291898879,US
+3291898880,3291899903,DE
+3291899904,3291906047,US
3291906048,3291907071,LK
3291907072,3291939063,US
3291939064,3291939064,GB
3291939065,3291939327,US
3291939328,3291939583,IN
-3291939584,3291943423,US
+3291939584,3291939839,US
+3291939840,3291940095,BZ
+3291940096,3291943423,US
3291943424,3291943679,FR
3291943680,3291943935,US
3291943936,3291944959,MX
@@ -115073,14 +117412,16 @@
3291971584,3291972607,JP
3291972608,3292004351,US
3292004352,3292004607,SE
-3292004608,3292004863,DK
-3292004864,3292005375,US
+3292004608,3292005119,SC
+3292005120,3292005375,US
3292005376,3292005631,CZ
3292005632,3292005887,SC
-3292005888,3292006655,US
+3292005888,3292006143,US
+3292006144,3292006399,SC
+3292006400,3292006655,US
3292006656,3292006911,SC
-3292006912,3292007423,US
-3292007424,3292007679,SC
+3292006912,3292007167,US
+3292007168,3292007679,SC
3292007680,3292008191,US
3292008192,3292008447,SC
3292008448,3292009727,US
@@ -115093,9 +117434,15 @@
3292013824,3292014079,SC
3292014080,3292014335,US
3292014336,3292014591,SC
-3292014592,3292016127,US
+3292014592,3292014847,US
+3292014848,3292015103,SC
+3292015104,3292016127,US
3292016128,3292016383,SC
-3292016384,3292018175,US
+3292016384,3292016895,US
+3292016896,3292017407,SC
+3292017408,3292017663,US
+3292017664,3292017919,SC
+3292017920,3292018175,US
3292018176,3292018687,SC
3292018688,3292019199,US
3292019200,3292019455,SC
@@ -115103,37 +117450,45 @@
3292019712,3292019967,SC
3292019968,3292020479,US
3292020480,3292020735,SC
-3292020736,3292021247,US
-3292021248,3292021503,SC
-3292021504,3292021759,US
-3292021760,3292022271,SC
+3292020736,3292020991,US
+3292020992,3292022271,SC
3292022272,3292023039,US
3292023040,3292023551,SC
3292023552,3292024831,US
-3292024832,3292025343,SC
-3292025344,3292027647,US
+3292024832,3292025599,SC
+3292025600,3292027647,US
3292027648,3292027903,SC
-3292027904,3292028415,US
-3292028416,3292028671,SC
-3292028672,3292030463,US
-3292030464,3292030719,SC
+3292027904,3292028159,US
+3292028160,3292028671,SC
+3292028672,3292029951,US
+3292029952,3292030719,SC
3292030720,3292031487,US
-3292031488,3292032511,SC
-3292032512,3292033791,US
-3292033792,3292034047,SC
-3292034048,3292034559,US
-3292034560,3292034815,SC
-3292034816,3292035071,US
-3292035072,3292035327,SC
-3292035328,3292035839,US
+3292031488,3292033023,SC
+3292033024,3292033279,US
+3292033280,3292034303,SC
+3292034304,3292034559,US
+3292034560,3292035583,SC
+3292035584,3292035839,US
3292035840,3292036095,SC
3292036096,3292036607,US
3292036608,3292036863,SC
-3292036864,3292040959,US
+3292036864,3292037375,US
+3292037376,3292037631,SC
+3292037632,3292038143,US
+3292038144,3292038399,SC
+3292038400,3292038655,US
+3292038656,3292038911,SC
+3292038912,3292039935,US
+3292039936,3292040447,SC
+3292040448,3292040959,US
3292040960,3292041471,SC
-3292041472,3292043007,US
+3292041472,3292041727,US
+3292041728,3292041983,SC
+3292041984,3292043007,US
3292043008,3292043263,SC
-3292043264,3292044543,US
+3292043264,3292044031,US
+3292044032,3292044287,SC
+3292044288,3292044543,US
3292044544,3292045055,SC
3292045056,3292045311,US
3292045312,3292045567,SC
@@ -115144,15 +117499,15 @@
3292049152,3292049663,US
3292049664,3292049919,SC
3292049920,3292051711,US
-3292051712,3292051967,SC
-3292051968,3292053503,US
+3292051712,3292052223,SC
+3292052224,3292053503,US
3292053504,3292053759,SC
3292053760,3292054015,US
3292054016,3292054527,SC
3292054528,3292055807,US
3292055808,3292056063,SC
-3292056064,3292056575,US
-3292056576,3292056831,SC
+3292056064,3292056319,US
+3292056320,3292056831,SC
3292056832,3292057087,US
3292057088,3292057855,SC
3292057856,3292058879,US
@@ -115161,27 +117516,24 @@
3292059392,3292059647,SC
3292059648,3292060415,US
3292060416,3292060671,SC
-3292060672,3292061439,US
+3292060672,3292060927,US
+3292060928,3292061183,SC
+3292061184,3292061439,US
3292061440,3292061695,SC
-3292061696,3292062975,US
-3292062976,3292063231,SC
+3292061696,3292062719,US
+3292062720,3292063231,SC
3292063232,3292063487,US
3292063488,3292063743,SC
3292063744,3292063999,US
-3292064000,3292064255,SC
-3292064256,3292064511,US
-3292064512,3292064767,SC
+3292064000,3292064767,SC
3292064768,3292065791,US
3292065792,3292066047,SC
-3292066048,3292066559,US
-3292066560,3292066815,SC
+3292066048,3292066303,US
+3292066304,3292066815,SC
3292066816,3292067327,US
-3292067328,3292067839,SC
-3292067840,3292068607,US
-3292068608,3292068863,SC
-3292068864,3292069375,US
-3292069376,3292069631,DE
-3292069632,3292069887,SC
+3292067328,3292068607,SC
+3292068608,3292069119,US
+3292069120,3292069887,SC
3292069888,3292070143,SE
3292070144,3292070399,DK
3292070400,3292070655,US
@@ -115189,24 +117541,34 @@
3292070912,3292071167,CZ
3292071168,3292071423,SC
3292071424,3292071935,US
-3292071936,3292072191,SC
-3292072192,3292073215,US
-3292073216,3292073471,SC
-3292073472,3292073983,US
-3292073984,3292074495,SC
-3292074496,3292075263,US
+3292071936,3292072447,SC
+3292072448,3292072703,US
+3292072704,3292073471,SC
+3292073472,3292073727,US
+3292073728,3292073983,SC
+3292073984,3292074239,US
+3292074240,3292074495,SC
+3292074496,3292074751,US
+3292074752,3292075007,SC
+3292075008,3292075263,US
3292075264,3292075775,SC
-3292075776,3292076287,US
-3292076288,3292076543,SC
-3292076544,3292078591,US
-3292078592,3292079103,SC
+3292075776,3292076031,US
+3292076032,3292076543,SC
+3292076544,3292076799,US
+3292076800,3292077567,SC
+3292077568,3292077823,US
+3292077824,3292078079,SC
+3292078080,3292078335,US
+3292078336,3292079103,SC
3292079104,3292079359,US
3292079360,3292079615,SC
3292079616,3292080127,US
3292080128,3292080383,SC
3292080384,3292081151,US
3292081152,3292081407,SC
-3292081408,3292082431,US
+3292081408,3292081663,US
+3292081664,3292081919,SC
+3292081920,3292082431,US
3292082432,3292082687,SC
3292082688,3292084735,US
3292084736,3292084991,SC
@@ -115214,61 +117576,75 @@
3292085248,3292085503,SC
3292085504,3292085759,US
3292085760,3292086015,SC
-3292086016,3292088063,US
+3292086016,3292087295,US
+3292087296,3292087551,SC
+3292087552,3292088063,US
3292088064,3292088319,SC
-3292088320,3292089087,US
+3292088320,3292088575,US
+3292088576,3292088831,SC
+3292088832,3292089087,US
3292089088,3292089343,SC
-3292089344,3292091903,US
+3292089344,3292090367,US
+3292090368,3292090623,SC
+3292090624,3292091135,US
+3292091136,3292091391,SC
+3292091392,3292091903,US
3292091904,3292092159,SC
3292092160,3292093439,US
3292093440,3292093951,SC
-3292093952,3292095231,US
-3292095232,3292095487,SC
-3292095488,3292097023,US
+3292093952,3292094463,US
+3292094464,3292094975,SC
+3292094976,3292095231,US
+3292095232,3292095743,SC
+3292095744,3292096511,US
+3292096512,3292096767,SC
+3292096768,3292097023,US
3292097024,3292097535,SC
3292097536,3292098047,US
3292098048,3292098303,SC
3292098304,3292098559,US
3292098560,3292098815,SC
3292098816,3292099327,US
-3292099328,3292099583,SC
-3292099584,3292100095,US
+3292099328,3292099839,SC
+3292099840,3292100095,US
3292100096,3292100351,SC
3292100352,3292102143,US
-3292102144,3292102399,SC
-3292102400,3292102911,US
+3292102144,3292102655,SC
+3292102656,3292102911,US
3292102912,3292103167,SC
3292103168,3292103423,US
3292103424,3292103679,SC
-3292103680,3292104447,US
+3292103680,3292103935,US
+3292103936,3292104191,SC
+3292104192,3292104447,US
3292104448,3292104703,SC
3292104704,3292104959,US
3292104960,3292105471,SC
3292105472,3292105983,US
3292105984,3292106239,SC
3292106240,3292106495,US
-3292106496,3292107007,SC
-3292107008,3292107519,US
-3292107520,3292108543,SC
-3292108544,3292108799,US
-3292108800,3292109055,SC
-3292109056,3292109567,US
+3292106496,3292107263,SC
+3292107264,3292107519,US
+3292107520,3292109311,SC
+3292109312,3292109567,US
3292109568,3292109823,SC
3292109824,3292110079,US
-3292110080,3292110591,SC
-3292110592,3292111615,US
+3292110080,3292110847,SC
+3292110848,3292111615,US
3292111616,3292111871,SC
3292111872,3292112127,US
3292112128,3292112383,SC
3292112384,3292112895,US
3292112896,3292113151,SC
-3292113152,3292113919,US
+3292113152,3292113407,US
+3292113408,3292113663,SC
+3292113664,3292113919,US
3292113920,3292114175,SC
3292114176,3292114431,US
3292114432,3292114687,SC
3292114688,3292115967,US
-3292115968,3292116223,SC
-3292116224,3292116735,US
+3292115968,3292116479,SC
+3292116480,3292116735,US
3292116736,3292116991,SC
3292116992,3292117247,US
3292117248,3292117503,SC
@@ -115277,114 +117653,124 @@
3292118016,3292119039,US
3292119040,3292119295,SC
3292119296,3292119551,US
-3292119552,3292120063,SC
-3292120064,3292120575,US
+3292119552,3292120319,SC
+3292120320,3292120575,US
3292120576,3292121087,SC
-3292121088,3292121599,US
-3292121600,3292122111,SC
+3292121088,3292121343,US
+3292121344,3292122111,SC
3292122112,3292123903,US
-3292123904,3292124159,SC
-3292124160,3292124927,US
+3292123904,3292124415,SC
+3292124416,3292124927,US
3292124928,3292125183,SC
3292125184,3292125439,US
3292125440,3292125951,SC
-3292125952,3292127231,US
-3292127232,3292127487,SC
+3292125952,3292126719,US
+3292126720,3292127487,SC
3292127488,3292128767,US
3292128768,3292129023,SC
-3292129024,3292129791,US
-3292129792,3292130303,SC
-3292130304,3292131327,US
+3292129024,3292129535,US
+3292129536,3292130559,SC
+3292130560,3292131327,US
3292131328,3292132095,SC
-3292132096,3292133887,US
+3292132096,3292132607,US
+3292132608,3292132863,SC
+3292132864,3292133119,US
+3292133120,3292133375,SC
+3292133376,3292133887,US
3292133888,3292134143,SC
3292134144,3292134399,US
-3292134400,3292134911,SC
-3292134912,3292135167,DE
+3292134400,3292135167,SC
3292135168,3292135423,AU
3292135424,3292135679,SE
3292135680,3292135935,DK
-3292135936,3292136191,US
-3292136192,3292136447,SC
+3292135936,3292136447,SC
3292136448,3292136703,CZ
3292136704,3292136959,SC
-3292136960,3292137215,US
-3292137216,3292137471,SC
-3292137472,3292137727,US
+3292136960,3292137727,US
3292137728,3292138239,SC
3292138240,3292138495,US
3292138496,3292138751,SC
3292138752,3292139519,US
3292139520,3292139775,SC
3292139776,3292140031,US
-3292140032,3292140287,SC
-3292140288,3292140799,US
+3292140032,3292140543,SC
+3292140544,3292140799,US
3292140800,3292141055,SC
3292141056,3292141567,US
-3292141568,3292142079,SC
-3292142080,3292142591,US
-3292142592,3292142847,SC
+3292141568,3292142847,SC
3292142848,3292143103,US
3292143104,3292143359,SC
3292143360,3292143871,US
3292143872,3292144127,SC
-3292144128,3292146431,US
+3292144128,3292144895,US
+3292144896,3292145151,SC
+3292145152,3292145663,US
+3292145664,3292145919,SC
+3292145920,3292146431,US
3292146432,3292146687,SC
3292146688,3292146943,US
3292146944,3292147455,SC
-3292147456,3292147967,US
-3292147968,3292148479,SC
-3292148480,3292149503,US
+3292147456,3292147711,US
+3292147712,3292148735,SC
+3292148736,3292148991,US
+3292148992,3292149247,SC
+3292149248,3292149503,US
3292149504,3292149759,SC
-3292149760,3292150271,US
-3292150272,3292150527,SC
-3292150528,3292152063,US
-3292152064,3292152319,SC
+3292149760,3292150015,US
+3292150016,3292150783,SC
+3292150784,3292151807,US
+3292151808,3292152319,SC
3292152320,3292153343,US
3292153344,3292153855,SC
3292153856,3292154111,US
3292154112,3292154623,SC
3292154624,3292157439,US
-3292157440,3292157695,SC
-3292157696,3292157951,US
-3292157952,3292158463,SC
-3292158464,3292159999,US
+3292157440,3292158463,SC
+3292158464,3292158719,US
+3292158720,3292158975,SC
+3292158976,3292159999,US
3292160000,3292160511,SC
-3292160512,3292161791,US
-3292161792,3292162047,SC
+3292160512,3292161535,US
+3292161536,3292162047,SC
3292162048,3292162559,US
3292162560,3292163071,SC
3292163072,3292163327,US
3292163328,3292163583,SC
-3292163584,3292165887,US
+3292163584,3292165119,US
+3292165120,3292165375,SC
+3292165376,3292165887,US
3292165888,3292166143,SC
-3292166144,3292167935,US
+3292166144,3292166911,US
+3292166912,3292167423,SC
+3292167424,3292167935,US
3292167936,3292168191,SC
3292168192,3292168703,US
-3292168704,3292169727,SC
-3292169728,3292171775,US
+3292168704,3292170239,SC
+3292170240,3292171775,US
3292171776,3292172287,SC
-3292172288,3292173055,US
-3292173056,3292173567,SC
-3292173568,3292174335,US
+3292172288,3292172799,US
+3292172800,3292174079,SC
+3292174080,3292174335,US
3292174336,3292174591,SC
-3292174592,3292175103,US
-3292175104,3292175359,SC
-3292175360,3292176383,US
+3292174592,3292174847,US
+3292174848,3292175359,SC
+3292175360,3292175615,US
+3292175616,3292175871,SC
+3292175872,3292176383,US
3292176384,3292176639,SC
3292176640,3292177151,US
3292177152,3292177407,SC
3292177408,3292178175,US
-3292178176,3292178687,SC
-3292178688,3292178943,US
-3292178944,3292179199,SC
-3292179200,3292179711,US
-3292179712,3292179967,SC
+3292178176,3292179199,SC
+3292179200,3292179455,US
+3292179456,3292179967,SC
3292179968,3292180479,US
3292180480,3292180735,SC
3292180736,3292180991,US
-3292180992,3292181503,SC
-3292181504,3292183039,US
+3292180992,3292181759,SC
+3292181760,3292182271,US
+3292182272,3292182527,SC
+3292182528,3292183039,US
3292183040,3292183551,SC
3292183552,3292184575,US
3292184576,3292184831,SC
@@ -115396,40 +117782,60 @@
3292187392,3292187903,SC
3292187904,3292188159,US
3292188160,3292188671,SC
-3292188672,3292190975,US
-3292190976,3292191231,SC
-3292191232,3292193791,US
+3292188672,3292189695,US
+3292189696,3292190207,SC
+3292190208,3292190463,US
+3292190464,3292190719,SC
+3292190720,3292190975,US
+3292190976,3292191487,SC
+3292191488,3292192255,US
+3292192256,3292192511,SC
+3292192512,3292193791,US
3292193792,3292194047,SC
-3292194048,3292195839,US
+3292194048,3292194815,US
+3292194816,3292195071,SC
+3292195072,3292195327,US
+3292195328,3292195583,SC
+3292195584,3292195839,US
3292195840,3292196607,SC
3292196608,3292197119,US
-3292197120,3292197375,SC
-3292197376,3292198399,US
+3292197120,3292197631,SC
+3292197632,3292197887,US
+3292197888,3292198143,SC
+3292198144,3292198399,US
3292198400,3292198655,SC
-3292198656,3292199935,US
-3292199936,3292200191,SC
+3292198656,3292199167,US
+3292199168,3292199423,SC
+3292199424,3292199679,US
+3292199680,3292200191,SC
3292200192,3292200447,US
3292200448,3292200703,SC
3292200704,3292200959,AU
-3292200960,3292201215,SE
+3292200960,3292201215,SC
3292201216,3292201471,DK
3292201472,3292201983,US
-3292201984,3292202239,CZ
-3292202240,3292203007,US
+3292201984,3292202751,SC
+3292202752,3292203007,US
3292203008,3292203519,SC
3292203520,3292204031,US
3292204032,3292204287,SC
-3292204288,3292206335,US
+3292204288,3292204799,US
+3292204800,3292205055,SC
+3292205056,3292206335,US
3292206336,3292206847,SC
3292206848,3292209151,US
3292209152,3292209407,SC
3292209408,3292209663,US
3292209664,3292209919,SC
3292209920,3292210175,US
-3292210176,3292210431,SC
-3292210432,3292212479,US
-3292212480,3292212735,SC
-3292212736,3292213247,US
+3292210176,3292210687,SC
+3292210688,3292211199,US
+3292211200,3292211711,SC
+3292211712,3292211967,US
+3292211968,3292212223,SC
+3292212224,3292212479,US
+3292212480,3292212991,SC
+3292212992,3292213247,US
3292213248,3292213503,SC
3292213504,3292213759,US
3292213760,3292214015,SC
@@ -115438,18 +117844,30 @@
3292215040,3292215295,US
3292215296,3292215807,SC
3292215808,3292216319,US
-3292216320,3292216831,SC
-3292216832,3292219391,US
-3292219392,3292219647,SC
-3292219648,3292220671,US
-3292220672,3292221439,SC
-3292221440,3292221695,US
-3292221696,3292221951,SC
-3292221952,3292223743,US
+3292216320,3292217343,SC
+3292217344,3292217855,US
+3292217856,3292218111,SC
+3292218112,3292218879,US
+3292218880,3292219135,SC
+3292219136,3292219391,US
+3292219392,3292219903,SC
+3292219904,3292220159,US
+3292220160,3292220415,SC
+3292220416,3292220671,US
+3292220672,3292222207,SC
+3292222208,3292223231,US
+3292223232,3292223487,SC
+3292223488,3292223743,US
3292223744,3292223999,SC
-3292224000,3292227071,US
-3292227072,3292227327,SC
-3292227328,3292229887,US
+3292224000,3292225023,US
+3292225024,3292225535,SC
+3292225536,3292226815,US
+3292226816,3292227327,SC
+3292227328,3292227839,US
+3292227840,3292228095,SC
+3292228096,3292228863,US
+3292228864,3292229375,SC
+3292229376,3292229887,US
3292229888,3292230143,SC
3292230144,3292231935,US
3292231936,3292232191,SC
@@ -115457,13 +117875,19 @@
3292233216,3292233727,SC
3292233728,3292234495,US
3292234496,3292234751,SC
-3292234752,3292235775,US
+3292234752,3292235007,US
+3292235008,3292235263,SC
+3292235264,3292235775,US
3292235776,3292236031,SC
-3292236032,3292237311,US
+3292236032,3292236287,US
+3292236288,3292236543,SC
+3292236544,3292237311,US
3292237312,3292237823,SC
-3292237824,3292239359,US
-3292239360,3292240127,SC
-3292240128,3292240639,US
+3292237824,3292238591,US
+3292238592,3292238847,SC
+3292238848,3292239359,US
+3292239360,3292239871,SC
+3292239872,3292240639,US
3292240640,3292240895,SC
3292240896,3292241151,US
3292241152,3292241407,SC
@@ -115473,31 +117897,41 @@
3292243200,3292244223,SC
3292244224,3292244991,US
3292244992,3292245247,SC
-3292245248,3292246783,US
+3292245248,3292245503,US
+3292245504,3292245759,SC
+3292245760,3292246783,US
3292246784,3292247039,SC
-3292247040,3292247551,US
-3292247552,3292248063,SC
-3292248064,3292249343,US
-3292249344,3292249599,SC
-3292249600,3292250367,US
+3292247040,3292247295,US
+3292247296,3292248319,SC
+3292248320,3292249343,US
+3292249344,3292249855,SC
+3292249856,3292250367,US
3292250368,3292250623,SC
3292250624,3292250879,US
-3292250880,3292251135,SC
-3292251136,3292251903,US
+3292250880,3292251391,SC
+3292251392,3292251903,US
3292251904,3292252159,SC
3292252160,3292252415,US
3292252416,3292252671,SC
-3292252672,3292254975,US
-3292254976,3292255743,SC
+3292252672,3292253439,US
+3292253440,3292253695,SC
+3292253696,3292254207,US
+3292254208,3292255743,SC
3292255744,3292257023,US
3292257024,3292257279,SC
-3292257280,3292258559,US
+3292257280,3292257535,US
+3292257536,3292257791,SC
+3292257792,3292258559,US
3292258560,3292258815,SC
3292258816,3292259327,US
3292259328,3292259583,SC
-3292259584,3292260863,US
-3292260864,3292261375,SC
-3292261376,3292262399,US
+3292259584,3292260095,US
+3292260096,3292260351,SC
+3292260352,3292260607,US
+3292260608,3292261375,SC
+3292261376,3292261631,US
+3292261632,3292261887,SC
+3292261888,3292262399,US
3292262400,3292263167,SC
3292263168,3292263935,US
3292263936,3292264191,SC
@@ -115505,7 +117939,8 @@
3292264448,3292264703,SC
3292264704,3292264959,US
3292264960,3292265215,SC
-3292265216,3292265983,US
+3292265216,3292265727,US
+3292265728,3292265983,SC
3292265984,3292266239,DE
3292266240,3292266495,SC
3292266496,3292268543,MU
@@ -115551,8 +117986,8 @@
3300953088,3300954111,MU
3300954112,3300958207,NG
3300958208,3301048319,ZA
-3301048320,3301081087,PK
-3301081088,3301113855,ZA
+3301048320,3301097471,PK
+3301097472,3301113855,ZA
3301113856,3301117951,AF
3301117952,3301130239,PK
3301130240,3301144319,ZA
@@ -115611,7 +118046,9 @@
3301263360,3301267455,US
3301267456,3301268479,SC
3301268480,3301272575,US
-3301272576,3301277695,SC
+3301272576,3301275647,SC
+3301275648,3301276671,PR
+3301276672,3301277695,SC
3301277696,3301278719,US
3301278720,3301279743,SC
3301279744,3301280767,PR
@@ -115708,8 +118145,8 @@
3301351424,3301351935,US
3301351936,3301352703,SC
3301352704,3301352959,US
-3301352960,3301353727,SC
-3301353728,3301354239,US
+3301352960,3301353471,SC
+3301353472,3301354239,US
3301354240,3301355263,SC
3301355264,3301355519,US
3301355520,3301356799,SC
@@ -115733,7 +118170,9 @@
3301364992,3301365247,PT
3301365248,3301367551,SC
3301367552,3301367807,PR
-3301367808,3301371391,SC
+3301367808,3301368575,SC
+3301368576,3301368831,PR
+3301368832,3301371391,SC
3301371392,3301372159,US
3301372160,3301373183,SC
3301373184,3301373439,US
@@ -115743,9 +118182,7 @@
3301375232,3301375487,US
3301375488,3301375743,SC
3301375744,3301376511,US
-3301376512,3301377535,SC
-3301377536,3301378559,US
-3301378560,3301379071,SC
+3301376512,3301379071,SC
3301379072,3301379327,US
3301379328,3301379583,SC
3301379584,3301379839,US
@@ -115755,17 +118192,21 @@
3301382656,3301382911,SC
3301382912,3301383423,US
3301383424,3301383679,SC
-3301383680,3301384959,US
-3301384960,3301385215,SC
-3301385216,3301385727,US
+3301383680,3301384191,US
+3301384192,3301384447,SC
+3301384448,3301384703,US
+3301384704,3301385471,SC
+3301385472,3301385727,US
3301385728,3301386239,SC
-3301386240,3301387007,US
+3301386240,3301386495,US
+3301386496,3301387007,SC
3301387008,3301387263,ES
3301387264,3301387519,PT
-3301387520,3301388287,US
+3301387520,3301387775,US
+3301387776,3301388287,SC
3301388288,3301388543,LU
-3301388544,3301389311,US
-3301389312,3301389567,SC
+3301388544,3301389055,US
+3301389056,3301389567,SC
3301389568,3301390079,US
3301390080,3301390335,SC
3301390336,3301391359,US
@@ -115778,13 +118219,13 @@
3301393664,3301394687,US
3301394688,3301395199,SC
3301395200,3301395455,PR
-3301395456,3301396479,US
-3301396480,3301398015,SC
-3301398016,3301398271,US
-3301398272,3301398527,SC
+3301395456,3301396223,US
+3301396224,3301398527,SC
3301398528,3301399039,US
3301399040,3301399551,SC
-3301399552,3301400319,US
+3301399552,3301399807,US
+3301399808,3301400063,SC
+3301400064,3301400319,US
3301400320,3301400575,SC
3301400576,3301401343,US
3301401344,3301401599,SC
@@ -115807,17 +118248,17 @@
3301405952,3301406463,US
3301406464,3301406719,CZ
3301406720,3301406975,DK
-3301406976,3301407487,US
-3301407488,3301408511,SC
-3301408512,3301409023,US
+3301406976,3301407231,SC
+3301407232,3301407487,FR
+3301407488,3301408767,SC
+3301408768,3301409023,US
3301409024,3301409279,SC
-3301409280,3301410047,US
-3301410048,3301410303,SC
+3301409280,3301409535,US
+3301409536,3301410303,SC
3301410304,3301410559,US
3301410560,3301410815,SC
3301410816,3301411071,US
-3301411072,3301411327,SC
-3301411328,3301411583,US
+3301411072,3301411583,SC
3301411584,3301411839,PR
3301411840,3301412863,US
3301412864,3301413119,CA
@@ -115825,35 +118266,45 @@
3301413376,3301416191,US
3301416192,3301416447,SC
3301416448,3301416703,PR
-3301416704,3301418239,US
+3301416704,3301417471,US
+3301417472,3301417983,SC
+3301417984,3301418239,US
3301418240,3301418495,SC
3301418496,3301419007,US
-3301419008,3301419519,SC
+3301419008,3301419263,SC
+3301419264,3301419519,NL
3301419520,3301419775,CH
3301419776,3301420287,SC
3301420288,3301420543,PL
3301420544,3301421311,US
3301421312,3301421567,HU
3301421568,3301421823,HK
-3301421824,3301422847,SC
-3301422848,3301423615,US
+3301421824,3301423103,SC
+3301423104,3301423615,US
3301423616,3301423871,FR
-3301423872,3301424383,US
+3301423872,3301424127,US
+3301424128,3301424383,SC
3301424384,3301424639,RU
3301424640,3301424895,US
3301424896,3301425151,SC
-3301425152,3301426431,US
-3301426432,3301426687,SC
-3301426688,3301426943,US
-3301426944,3301427199,SC
+3301425152,3301425663,US
+3301425664,3301425919,SC
+3301425920,3301426431,US
+3301426432,3301427199,SC
3301427200,3301427711,US
3301427712,3301427967,SC
3301427968,3301428223,PR
3301428224,3301428479,US
3301428480,3301428735,SC
-3301428736,3301430271,US
+3301428736,3301429503,US
+3301429504,3301430015,SC
+3301430016,3301430271,US
3301430272,3301430527,SC
-3301430528,3301432831,US
+3301430528,3301431295,US
+3301431296,3301431807,SC
+3301431808,3301432319,US
+3301432320,3301432575,SC
+3301432576,3301432831,US
3301432832,3301433087,PR
3301433088,3301433343,SC
3301433344,3301433855,US
@@ -115863,9 +118314,12 @@
3301435648,3301435903,NL
3301435904,3301436159,SC
3301436160,3301436415,ES
-3301436416,3301437439,US
+3301436416,3301436671,US
+3301436672,3301436927,SC
+3301436928,3301437439,US
3301437440,3301437695,LU
-3301437696,3301439487,US
+3301437696,3301438719,SC
+3301438720,3301439487,US
3301439488,3301439743,DK
3301439744,3301439999,SC
3301440000,3301440767,US
@@ -115948,9 +118402,7 @@
3302531584,3302531839,TZ
3302531840,3302532095,BW
3302532096,3302533119,NA
-3302533120,3302533887,ZA
-3302533888,3302534143,MU
-3302534144,3302535167,ZA
+3302533120,3302535167,ZA
3302535168,3302536191,UG
3302536192,3302537215,GH
3302537216,3302538239,NG
@@ -116028,7 +118480,6 @@
3302954496,3302955007,ZA
3302955008,3302955263,LS
3302955264,3302955519,UG
-3302955520,3302955775,ZW
3302955776,3302956031,MW
3302956032,3302956287,CD
3302956544,3302957055,ZA
@@ -116068,8 +118519,8 @@
3304022528,3304062975,TN
3304062976,3304065279,SC
3304065280,3304065535,US
-3304065536,3304066303,SC
-3304066304,3304066559,US
+3304065536,3304066047,SC
+3304066048,3304066559,US
3304066560,3304066815,CA
3304066816,3304067071,US
3304067072,3304067327,CA
@@ -116077,7 +118528,9 @@
3304071168,3304071423,US
3304071424,3304071679,SC
3304071680,3304071935,PR
-3304071936,3304072959,SC
+3304071936,3304072447,SC
+3304072448,3304072703,US
+3304072704,3304072959,SC
3304072960,3304073215,US
3304073216,3304073471,GB
3304073472,3304073727,NL
@@ -116119,7 +118572,9 @@
3304087296,3304087551,US
3304087552,3304089343,SC
3304089344,3304089599,US
-3304089600,3304091135,SC
+3304089600,3304090367,SC
+3304090368,3304090623,ES
+3304090624,3304091135,SC
3304091136,3304091391,NO
3304091392,3304091647,SC
3304091648,3304091903,LU
@@ -116173,7 +118628,7 @@
3304114176,3304114431,US
3304114432,3304115199,SC
3304115200,3304115711,US
-3304115712,3304115967,SC
+3304115712,3304115967,CA
3304115968,3304116223,US
3304116224,3304116735,SC
3304116736,3304116991,US
@@ -116197,7 +118652,8 @@
3304124416,3304125183,SC
3304125184,3304125439,AU
3304125440,3304125695,AT
-3304125696,3304126719,SC
+3304125696,3304126463,SC
+3304126464,3304126719,DK
3304126720,3304126975,DE
3304126976,3304127231,FR
3304127232,3304194303,SC
@@ -116218,7 +118674,8 @@
3304204544,3304204799,US
3304204800,3304205567,SC
3304205568,3304205823,US
-3304205824,3304206335,SC
+3304205824,3304206079,SC
+3304206080,3304206335,US
3304206336,3304206591,CA
3304206592,3304207871,SC
3304207872,3304208639,US
@@ -116275,8 +118732,8 @@
3304234752,3304235007,PR
3304235008,3304235775,SC
3304235776,3304236031,PR
-3304236032,3304237823,SC
-3304237824,3304238079,US
+3304236032,3304237567,SC
+3304237568,3304238079,US
3304238080,3304238591,SC
3304238592,3304239103,US
3304239104,3304240383,SC
@@ -116301,14 +118758,17 @@
3304249600,3304249855,GB
3304249856,3304250879,SC
3304250880,3304251135,US
-3304251136,3304251903,SC
+3304251136,3304251391,PR
+3304251392,3304251903,SC
3304251904,3304252159,US
3304252160,3304255231,SC
3304255232,3304255487,US
3304255488,3304255999,SC
3304256000,3304256255,US
3304256256,3304256511,CA
-3304256512,3304325375,SC
+3304256512,3304257535,SC
+3304257536,3304257791,US
+3304257792,3304325375,SC
3304325376,3304325631,US
3304325632,3304326143,SC
3304326144,3304326399,DE
@@ -116363,10 +118823,12 @@
3304352512,3304352767,US
3304352768,3304353023,SC
3304353024,3304353791,US
-3304353792,3304356607,SC
+3304353792,3304355327,SC
+3304355328,3304355583,PR
+3304355584,3304356607,SC
3304356608,3304357119,US
-3304357120,3304357887,SC
-3304357888,3304358143,US
+3304357120,3304357631,SC
+3304357632,3304358143,US
3304358144,3304358399,SC
3304358400,3304358655,BR
3304358656,3304358911,SC
@@ -116384,8 +118846,7 @@
3304365056,3304365567,US
3304365568,3304365823,SC
3304365824,3304366079,PR
-3304366080,3304366335,SC
-3304366336,3304366591,US
+3304366080,3304366591,US
3304366592,3304367103,SC
3304367104,3304367359,US
3304367360,3304367871,SC
@@ -116442,7 +118903,7 @@
3304423424,3304425471,US
3304425472,3304426495,PR
3304426496,3304428543,US
-3304428544,3304429567,SC
+3304428544,3304429567,SK
3304429568,3304430591,US
3304430592,3304431615,SC
3304431616,3304432639,GB
@@ -116765,7 +119226,11 @@
3321018368,3321020415,MU
3321020416,3321022463,TZ
3321022464,3321024511,ZA
-3321024512,3321028607,KE
+3321024512,3321025023,KE
+3321025024,3321025791,ZA
+3321025792,3321026815,KE
+3321026816,3321027327,ZA
+3321027328,3321028607,KE
3321028608,3321032703,CI
3321032704,3321036799,NG
3321036800,3321069567,RW
@@ -117025,9 +119490,9 @@
3322696544,3322696551,GB
3322696552,3322697215,US
3322697216,3322697223,RO
-3322697224,3322697295,US
-3322697296,3322697303,MA
-3322697304,3322697415,US
+3322697224,3322697255,US
+3322697256,3322697263,IN
+3322697264,3322697415,US
3322697416,3322697423,RO
3322697424,3322697431,US
3322697432,3322697439,CA
@@ -117049,15 +119514,13 @@
3322700288,3322700543,NL
3322700544,3322706575,US
3322706576,3322706591,CA
-3322706592,3322706631,US
-3322706632,3322706639,GB
-3322706640,3322706651,US
+3322706592,3322706651,US
3322706652,3322706655,CA
3322706656,3322707743,US
3322707744,3322707751,CA
3322707752,3322748927,US
-3322748928,3322754559,JP
-3322754560,3322765415,US
+3322748928,3322757119,JP
+3322757120,3322765415,US
3322765416,3322765431,IN
3322765432,3322765543,US
3322765544,3322765559,IN
@@ -117272,7 +119735,8 @@
3322965248,3322965503,DE
3322965504,3322965759,US
3322965760,3322966015,NL
-3322966016,3322969343,US
+3322966016,3322966527,FR
+3322966528,3322969343,US
3322969344,3322970111,NL
3322970112,3323002879,CA
3323002880,3323013887,US
@@ -117371,14 +119835,13 @@
3323243104,3323243119,CA
3323243120,3323243127,US
3323243128,3323243135,CA
-3323243136,3323243143,US
-3323243144,3323243159,CA
+3323243136,3323243151,US
+3323243152,3323243159,CA
3323243160,3323243175,US
3323243176,3323243183,CA
3323243184,3323243199,US
-3323243200,3323243207,CN
-3323243208,3323243215,CA
-3323243216,3323243231,US
+3323243200,3323243223,CA
+3323243224,3323243231,US
3323243232,3323243239,CA
3323243240,3323243255,US
3323243256,3323243263,CA
@@ -117390,8 +119853,8 @@
3323243536,3323243551,BD
3323243552,3323243583,CA
3323243584,3323243615,US
-3323243616,3323243663,CA
-3323243664,3323243711,US
+3323243616,3323243647,CA
+3323243648,3323243711,US
3323243712,3323243743,CA
3323243744,3323243791,US
3323243792,3323243799,CA
@@ -117400,16 +119863,13 @@
3323243816,3323243823,US
3323243824,3323243903,CA
3323243904,3323243967,US
-3323243968,3323244031,CA
-3323244032,3323244095,LT
-3323244096,3323244159,US
-3323244160,3323244175,CA
-3323244176,3323244255,US
+3323243968,3323244095,CA
+3323244096,3323244255,US
3323244256,3323244287,CA
3323244288,3323244327,US
-3323244328,3323244351,CA
-3323244352,3323244415,US
-3323244416,3323244487,CA
+3323244328,3323244399,CA
+3323244400,3323244407,US
+3323244408,3323244487,CA
3323244488,3323244503,US
3323244504,3323244511,CA
3323244512,3323244527,US
@@ -117424,10 +119884,8 @@
3323244928,3323245055,CA
3323245056,3323245087,US
3323245088,3323245119,GB
-3323245120,3323245247,US
-3323245248,3323245255,CA
-3323245256,3323245311,US
-3323245312,3323245343,LT
+3323245120,3323245311,US
+3323245312,3323245343,CA
3323245344,3323245383,US
3323245384,3323245391,IN
3323245392,3323245399,GB
@@ -117435,10 +119893,8 @@
3323245408,3323245415,AE
3323245416,3323245423,TR
3323245424,3323245439,CA
-3323245440,3323245455,GB
-3323245456,3323245463,AZ
-3323245464,3323245479,CA
-3323245480,3323245487,AE
+3323245440,3323245471,GB
+3323245472,3323245487,CA
3323245488,3323245495,BE
3323245496,3323245535,US
3323245536,3323245543,SG
@@ -117447,8 +119903,8 @@
3323245560,3323245567,CN
3323245568,3323245655,US
3323245656,3323245663,CA
-3323245664,3323245823,US
-3323245824,3323245951,CA
+3323245664,3323245855,US
+3323245856,3323245951,CA
3323245952,3323245959,US
3323245960,3323245983,CA
3323245984,3323246015,US
@@ -117478,7 +119934,9 @@
3323354368,3323355647,DE
3323355648,3323356671,US
3323356672,3323356927,CA
-3323356928,3323378687,US
+3323356928,3323359231,US
+3323359232,3323359743,CA
+3323359744,3323378687,US
3323378688,3323378943,CA
3323378944,3323382783,US
3323382784,3323383295,CA
@@ -117500,9 +119958,7 @@
3323446272,3323446527,GB
3323446528,3323457791,US
3323457792,3323458047,GB
-3323458048,3323458815,US
-3323458816,3323459071,NL
-3323459072,3323462911,US
+3323458048,3323462911,US
3323462912,3323463167,BR
3323463168,3323471615,US
3323471616,3323471623,GB
@@ -117532,23 +119988,41 @@
3323502032,3323502039,HK
3323502040,3323502839,US
3323502840,3323502847,PK
-3323502848,3323505287,US
+3323502848,3323503007,US
+3323503008,3323503015,CA
+3323503016,3323505287,US
3323505288,3323505295,BR
3323505296,3323505311,US
3323505312,3323505343,BR
-3323505344,3323505527,US
+3323505344,3323505455,US
+3323505456,3323505463,CA
+3323505464,3323505527,US
3323505528,3323505535,PK
-3323505536,3323506559,US
+3323505536,3323505615,US
+3323505616,3323505623,CA
+3323505624,3323505743,US
+3323505744,3323505751,CA
+3323505752,3323506559,US
3323506560,3323506567,PK
3323506568,3323506647,US
3323506648,3323506655,GB
-3323506656,3323507055,US
+3323506656,3323506727,US
+3323506728,3323506735,CA
+3323506736,3323507055,US
3323507056,3323507063,GB
3323507064,3323507823,US
3323507824,3323507831,CA
-3323507832,3323508639,US
+3323507832,3323508295,US
+3323508296,3323508303,CA
+3323508304,3323508639,US
3323508640,3323508647,GB
-3323508648,3323659263,US
+3323508648,3323509447,US
+3323509448,3323509455,CA
+3323509456,3323509583,US
+3323509584,3323509591,CA
+3323509592,3323510287,US
+3323510288,3323510295,CA
+3323510296,3323659263,US
3323659264,3323660543,NZ
3323660544,3323661311,US
3323661312,3323662335,CA
@@ -117561,14 +120035,14 @@
3323678056,3323678059,MX
3323678060,3323678063,CA
3323678064,3323678079,GB
-3323678080,3323678095,CA
-3323678096,3323678111,US
+3323678080,3323678103,CA
+3323678104,3323678111,GB
3323678112,3323678127,CA
3323678128,3323678143,GB
3323678144,3323678147,CA
3323678148,3323678151,US
3323678152,3323678159,CA
-3323678160,3323678167,GB
+3323678160,3323678167,VE
3323678168,3323678171,CA
3323678172,3323678175,US
3323678176,3323678195,CA
@@ -117579,15 +120053,12 @@
3323678524,3323678527,US
3323678528,3323678583,CA
3323678584,3323678587,US
-3323678588,3323678591,ID
-3323678592,3323678631,CA
-3323678632,3323678635,PL
-3323678636,3323678687,CA
+3323678588,3323678687,CA
3323678688,3323678691,PA
3323678692,3323678695,CA
3323678696,3323678699,PT
-3323678700,3323679871,CA
-3323679872,3323679903,IN
+3323678700,3323679887,CA
+3323679888,3323679903,IN
3323679904,3323679963,CA
3323679964,3323679999,US
3323680000,3323680255,CA
@@ -117614,19 +120085,19 @@
3323681592,3323681599,US
3323681600,3323681631,CA
3323681632,3323681663,NO
-3323681664,3323681727,CA
+3323681664,3323681695,IN
+3323681696,3323681727,CA
3323681728,3323681735,MY
3323681736,3323681747,CA
3323681748,3323681751,VE
-3323681752,3323681759,BG
-3323681760,3323682559,CA
+3323681752,3323682559,CA
3323682560,3323682591,US
3323682592,3323682655,CA
3323682656,3323682687,IE
3323682688,3323682751,CA
3323682752,3323682767,US
3323682768,3323682771,CA
-3323682772,3323682775,RO
+3323682772,3323682775,US
3323682776,3323682787,CA
3323682788,3323682791,AF
3323682792,3323682831,CA
@@ -117663,21 +120134,19 @@
3323683456,3323683471,CA
3323683472,3323683479,MX
3323683480,3323683487,BR
-3323683488,3323683523,CA
+3323683488,3323683519,CA
+3323683520,3323683523,IN
3323683524,3323683527,DE
3323683528,3323683535,CA
-3323683536,3323683551,AU
-3323683552,3323683583,CA
-3323683584,3323683591,PA
-3323683592,3323683679,CA
+3323683536,3323683551,US
+3323683552,3323683679,CA
3323683680,3323683683,FR
3323683684,3323683687,BR
3323683688,3323683703,CA
3323683704,3323683707,CO
3323683708,3323683711,US
3323683712,3323683839,GP
-3323683840,3323683847,CA
-3323683848,3323683851,IN
+3323683840,3323683851,CA
3323683852,3323683855,GB
3323683856,3323683871,CA
3323683872,3323683903,IL
@@ -117697,9 +120166,7 @@
3323684288,3323684291,IN
3323684292,3323684387,CA
3323684388,3323684391,MX
-3323684392,3323684395,CA
-3323684396,3323684399,IN
-3323684400,3323684431,CA
+3323684392,3323684431,CA
3323684432,3323684435,US
3323684436,3323684443,CA
3323684444,3323684447,IN
@@ -117723,17 +120190,15 @@
3323684836,3323684839,MX
3323684840,3323684843,CA
3323684844,3323684847,US
-3323684848,3323684855,CA
-3323684856,3323684863,US
-3323684864,3323684883,CA
+3323684848,3323684883,CA
3323684884,3323684887,US
3323684888,3323684891,CA
3323684892,3323684895,AR
-3323684896,3323684951,CA
+3323684896,3323684911,HR
+3323684912,3323684951,CA
3323684952,3323684959,US
3323684960,3323684975,BZ
-3323684976,3323684991,US
-3323684992,3323685023,CA
+3323684976,3323685023,CA
3323685024,3323685039,RO
3323685040,3323685167,CA
3323685168,3323685183,MX
@@ -117781,15 +120246,13 @@
3323685920,3323685923,CA
3323685924,3323685927,BR
3323685928,3323685931,CA
-3323685932,3323685935,PE
+3323685932,3323685935,MT
3323685936,3323685943,CA
3323685944,3323685951,NL
3323685952,3323686047,CA
3323686048,3323686051,US
3323686052,3323686055,AR
-3323686056,3323686095,CA
-3323686096,3323686111,US
-3323686112,3323686135,CA
+3323686056,3323686135,CA
3323686136,3323686143,MX
3323686144,3323686159,NO
3323686160,3323686163,US
@@ -117798,10 +120261,11 @@
3323686196,3323686199,VI
3323686200,3323686255,CA
3323686256,3323686263,DE
-3323686264,3323686271,US
+3323686264,3323686271,GB
3323686272,3323686287,CA
3323686288,3323686303,US
-3323686304,3323686367,CA
+3323686304,3323686335,CA
+3323686336,3323686367,FR
3323686368,3323686371,IN
3323686372,3323686383,CA
3323686384,3323686391,US
@@ -117827,18 +120291,20 @@
3323686784,3323686791,BR
3323686792,3323686807,CA
3323686808,3323686811,CR
-3323686812,3323686815,PE
+3323686812,3323686815,BR
3323686816,3323686823,CA
3323686824,3323686827,US
3323686828,3323686847,CA
3323686848,3323686851,US
-3323686852,3323686879,CA
-3323686880,3323686887,US
+3323686852,3323686883,CA
+3323686884,3323686887,US
3323686888,3323686895,MX
3323686896,3323686911,CA
3323686912,3323686943,BR
3323686944,3323686975,IN
-3323686976,3323687031,CA
+3323686976,3323687015,CA
+3323687016,3323687019,PL
+3323687020,3323687031,CA
3323687032,3323687039,US
3323687040,3323687073,CA
3323687074,3323687074,US
@@ -117863,21 +120329,23 @@
3323687568,3323687571,PL
3323687572,3323687575,CA
3323687576,3323687583,ES
-3323687584,3323687591,CA
-3323687592,3323687595,VE
-3323687596,3323687711,CA
+3323687584,3323687711,CA
3323687712,3323687715,US
3323687716,3323687719,CA
3323687720,3323687727,US
-3323687728,3323687731,VE
+3323687728,3323687731,CA
3323687732,3323687735,AE
3323687736,3323687743,CA
3323687744,3323687747,ES
-3323687748,3323687815,CA
+3323687748,3323687775,CA
+3323687776,3323687783,MT
+3323687784,3323687791,CA
+3323687792,3323687799,AU
+3323687800,3323687815,CA
3323687816,3323687819,US
3323687820,3323687855,CA
3323687856,3323687863,US
-3323687864,3323687871,CA
+3323687864,3323687871,MX
3323687872,3323687887,PK
3323687888,3323687891,BR
3323687892,3323687895,CA
@@ -117887,7 +120355,7 @@
3323687916,3323687919,US
3323687920,3323687923,CA
3323687924,3323687927,VN
-3323687928,3323687935,BR
+3323687928,3323687935,CA
3323687936,3323687999,US
3323688000,3323688051,CA
3323688052,3323688055,MX
@@ -117909,7 +120377,9 @@
3323688392,3323688395,ID
3323688396,3323688415,CA
3323688416,3323688447,DE
-3323688448,3323688463,CA
+3323688448,3323688455,CA
+3323688456,3323688459,BR
+3323688460,3323688463,CA
3323688464,3323688467,BR
3323688468,3323688471,CA
3323688472,3323688479,US
@@ -117933,7 +120403,11 @@
3323688844,3323688847,CA
3323688848,3323688855,PT
3323688856,3323688863,CL
-3323688864,3323689055,CA
+3323688864,3323688911,CA
+3323688912,3323688927,HN
+3323688928,3323688959,CA
+3323688960,3323688975,US
+3323688976,3323689055,CA
3323689056,3323689059,FR
3323689060,3323689071,CA
3323689072,3323689079,ID
@@ -117957,15 +120431,19 @@
3323689408,3323689427,CA
3323689428,3323689431,EC
3323689432,3323689435,CA
-3323689436,3323689439,MY
-3323689440,3323689491,CA
+3323689436,3323689439,BR
+3323689440,3323689459,CA
+3323689460,3323689463,US
+3323689464,3323689491,CA
3323689492,3323689495,BR
3323689496,3323689519,CA
3323689520,3323689527,ES
-3323689528,3323689559,CA
+3323689528,3323689535,CA
+3323689536,3323689543,CO
+3323689544,3323689559,CA
3323689560,3323689583,US
-3323689584,3323689595,CA
-3323689596,3323689663,US
+3323689584,3323689599,CA
+3323689600,3323689663,US
3323689664,3323689711,CA
3323689712,3323689715,BR
3323689716,3323689719,US
@@ -117980,7 +120458,9 @@
3323689928,3323689935,US
3323689936,3323689983,CA
3323689984,3323690015,RS
-3323690016,3323690095,CA
+3323690016,3323690047,CA
+3323690048,3323690063,BR
+3323690064,3323690095,CA
3323690096,3323690111,PK
3323690112,3323690143,CO
3323690144,3323690199,CA
@@ -118578,8 +121058,7 @@
3324824576,3324824831,DE
3324824832,3324937087,US
3324937088,3324937095,BD
-3324937096,3324937103,KH
-3324937104,3324937999,US
+3324937096,3324937999,US
3324938000,3324938007,PK
3324938008,3324938159,US
3324938160,3324938167,GB
@@ -118591,21 +121070,57 @@
3324939736,3324939739,CA
3324939740,3324942855,US
3324942856,3324942863,RO
-3324942864,3324943047,US
-3324943048,3324943055,CA
-3324943056,3324943215,US
+3324942864,3324943215,US
3324943216,3324943231,GB
-3324943232,3324953087,US
+3324943232,3324945407,US
+3324945408,3324945663,CA
+3324945664,3324946687,US
+3324946688,3324946815,EE
+3324946816,3324947007,US
+3324947008,3324947071,EE
+3324947072,3324947263,US
+3324947264,3324947327,EE
+3324947328,3324947455,US
+3324947456,3324947583,EE
+3324947584,3324947775,US
+3324947776,3324947839,EE
+3324947840,3324947967,US
+3324947968,3324948095,EE
+3324948096,3324948223,US
+3324948224,3324948351,EE
+3324948352,3324948479,US
+3324948480,3324948607,EE
+3324948608,3324948735,US
+3324948736,3324948799,EE
+3324948800,3324948991,US
+3324948992,3324949119,EE
+3324949120,3324950527,US
+3324950528,3324950655,EE
+3324950656,3324950783,US
+3324950784,3324950911,EE
+3324950912,3324953087,US
3324953088,3324953151,EE
3324953152,3324954367,US
3324954368,3324954431,EE
3324954432,3324954495,US
3324954496,3324954559,EE
-3324954560,3324956223,US
+3324954560,3324955391,US
+3324955392,3324955455,EE
+3324955456,3324955711,US
+3324955712,3324955775,EE
+3324955776,3324955903,US
+3324955904,3324955967,EE
+3324955968,3324956031,BD
+3324956032,3324956159,US
+3324956160,3324956223,EE
3324956224,3324956255,IN
3324956256,3324957759,US
3324957760,3324957823,EE
-3324957824,3324963579,US
+3324957824,3324957951,US
+3324957952,3324958015,EE
+3324958016,3324958655,US
+3324958656,3324958719,EE
+3324958720,3324963579,US
3324963580,3324963583,RO
3324963584,3324963839,US
3324963840,3324963903,NL
@@ -118613,11 +121128,17 @@
3324964032,3324964095,EE
3324964096,3324964159,US
3324964160,3324964223,EE
-3324964224,3324964939,US
+3324964224,3324964543,US
+3324964544,3324964607,EE
+3324964608,3324964939,US
3324964940,3324964943,GB
3324964944,3324964963,US
3324964964,3324964967,GB
-3324964968,3324980223,US
+3324964968,3324967871,US
+3324967872,3324967935,EE
+3324967936,3324968447,US
+3324968448,3324968511,EE
+3324968512,3324980223,US
3324980224,3324981247,CA
3324981248,3325034495,US
3325034496,3325035519,NZ
@@ -118650,14 +121171,654 @@
3325145088,3325169663,US
3325169664,3325171711,AR
3325171712,3325190143,US
-3325190144,3325191687,CA
-3325191688,3325191695,US
-3325191696,3325198367,CA
+3325190144,3325190151,MX
+3325190152,3325190159,GB
+3325190160,3325190175,CA
+3325190176,3325190183,TR
+3325190184,3325190191,IN
+3325190192,3325190207,CA
+3325190208,3325190215,RS
+3325190216,3325190247,CA
+3325190248,3325190255,IT
+3325190256,3325190263,CA
+3325190264,3325190271,BR
+3325190272,3325190279,SE
+3325190280,3325190287,MX
+3325190288,3325190295,NO
+3325190296,3325190303,CA
+3325190304,3325190311,DE
+3325190312,3325190327,CA
+3325190328,3325190335,US
+3325190336,3325190343,CA
+3325190344,3325190351,AU
+3325190352,3325190359,US
+3325190360,3325190375,CA
+3325190376,3325190383,BR
+3325190384,3325190391,AR
+3325190392,3325190399,HK
+3325190400,3325190407,SG
+3325190408,3325190415,AU
+3325190416,3325190431,CA
+3325190432,3325190439,GB
+3325190440,3325190447,KR
+3325190448,3325190455,RU
+3325190456,3325190463,US
+3325190464,3325190471,CL
+3325190472,3325190487,CA
+3325190488,3325190495,BR
+3325190496,3325190503,MX
+3325190504,3325190511,CA
+3325190512,3325190519,CO
+3325190520,3325190527,CI
+3325190528,3325190567,CA
+3325190568,3325190575,FR
+3325190576,3325190607,CA
+3325190608,3325190615,BH
+3325190616,3325190623,FR
+3325190624,3325190631,BR
+3325190632,3325190639,IN
+3325190640,3325190655,CA
+3325190656,3325190663,BR
+3325190664,3325190671,CA
+3325190672,3325190679,LB
+3325190680,3325190687,SA
+3325190688,3325190695,CN
+3325190696,3325190703,CA
+3325190704,3325190711,BR
+3325190712,3325190743,CA
+3325190744,3325190751,NZ
+3325190752,3325190767,CA
+3325190768,3325190775,MX
+3325190776,3325190791,CA
+3325190792,3325190799,BR
+3325190800,3325190807,US
+3325190808,3325190831,CA
+3325190832,3325190839,IE
+3325190840,3325190847,NL
+3325190848,3325190855,US
+3325190856,3325190863,AR
+3325190864,3325190871,TR
+3325190872,3325190879,CA
+3325190880,3325190887,YE
+3325190888,3325190903,CA
+3325190904,3325190911,BR
+3325190912,3325190919,CA
+3325190920,3325190927,US
+3325190928,3325190935,CA
+3325190936,3325190943,BR
+3325190944,3325190951,US
+3325190952,3325190959,DK
+3325190960,3325190967,BR
+3325190968,3325190975,AR
+3325190976,3325191007,CA
+3325191008,3325191015,US
+3325191016,3325191023,AE
+3325191024,3325191031,UA
+3325191032,3325191039,CA
+3325191040,3325191047,IN
+3325191048,3325191055,KR
+3325191056,3325191079,CA
+3325191080,3325191087,US
+3325191088,3325191095,BR
+3325191096,3325191111,CA
+3325191112,3325191119,US
+3325191120,3325191127,AE
+3325191128,3325191135,CA
+3325191136,3325191151,US
+3325191152,3325191159,CN
+3325191160,3325191191,CA
+3325191192,3325191199,CO
+3325191200,3325191207,CL
+3325191208,3325191215,CA
+3325191216,3325191223,US
+3325191224,3325191239,CA
+3325191240,3325191247,AR
+3325191248,3325191263,IT
+3325191264,3325191295,CA
+3325191296,3325191303,IN
+3325191304,3325191311,PH
+3325191312,3325191319,CA
+3325191320,3325191327,GH
+3325191328,3325191335,CA
+3325191336,3325191343,PK
+3325191344,3325191351,AR
+3325191352,3325191359,DZ
+3325191360,3325191375,CA
+3325191376,3325191383,GR
+3325191384,3325191407,CA
+3325191408,3325191415,US
+3325191416,3325191423,ID
+3325191424,3325191431,AM
+3325191432,3325191447,CA
+3325191448,3325191455,US
+3325191456,3325191463,BR
+3325191464,3325191479,CA
+3325191480,3325191487,SA
+3325191488,3325191495,CA
+3325191496,3325191503,IN
+3325191504,3325191511,AR
+3325191512,3325191519,CA
+3325191520,3325191527,CO
+3325191528,3325191543,CA
+3325191544,3325191559,US
+3325191560,3325191567,BR
+3325191568,3325191583,CA
+3325191584,3325191591,BR
+3325191592,3325191599,CA
+3325191600,3325191615,US
+3325191616,3325191623,AE
+3325191624,3325191639,CA
+3325191640,3325191647,AR
+3325191648,3325191655,IE
+3325191656,3325191687,CA
+3325191688,3325191703,US
+3325191704,3325191711,GH
+3325191712,3325191719,EC
+3325191720,3325191735,CA
+3325191736,3325191743,BR
+3325191744,3325191751,QA
+3325191752,3325191767,CA
+3325191768,3325191775,US
+3325191776,3325191783,CA
+3325191784,3325191799,US
+3325191800,3325191807,PK
+3325191808,3325191815,MO
+3325191816,3325191823,BR
+3325191824,3325191831,CA
+3325191832,3325191839,US
+3325191840,3325191847,IT
+3325191848,3325191871,CA
+3325191872,3325191879,IL
+3325191880,3325191887,BD
+3325191888,3325191903,CA
+3325191904,3325191911,IN
+3325191912,3325191919,CA
+3325191920,3325191927,US
+3325191928,3325191935,VG
+3325191936,3325191943,RU
+3325191944,3325191951,BD
+3325191952,3325191959,IN
+3325191960,3325191967,AR
+3325191968,3325191975,VE
+3325191976,3325191991,CA
+3325191992,3325191999,MX
+3325192000,3325192047,CA
+3325192048,3325192055,FI
+3325192056,3325192079,CA
+3325192080,3325192087,CL
+3325192088,3325192111,CA
+3325192112,3325192119,CO
+3325192120,3325192135,CA
+3325192136,3325192143,IL
+3325192144,3325192151,MX
+3325192152,3325192159,MK
+3325192160,3325192191,CA
+3325192192,3325192199,CN
+3325192200,3325192207,FR
+3325192208,3325192215,BR
+3325192216,3325192223,HU
+3325192224,3325192231,BR
+3325192232,3325192239,YE
+3325192240,3325192247,CA
+3325192248,3325192255,CH
+3325192256,3325192263,CA
+3325192264,3325192271,NZ
+3325192272,3325192287,CA
+3325192288,3325192295,US
+3325192296,3325192303,CU
+3325192304,3325192311,YE
+3325192312,3325192335,CA
+3325192336,3325192343,BR
+3325192344,3325192351,IL
+3325192352,3325192375,CA
+3325192376,3325192383,US
+3325192384,3325192391,CR
+3325192392,3325192407,US
+3325192408,3325192415,CA
+3325192416,3325192423,FR
+3325192424,3325192431,UY
+3325192432,3325192439,US
+3325192440,3325192463,CA
+3325192464,3325192471,KR
+3325192472,3325192479,US
+3325192480,3325192487,CA
+3325192488,3325192495,AU
+3325192496,3325192519,CA
+3325192520,3325192527,BR
+3325192528,3325192535,CA
+3325192536,3325192543,IN
+3325192544,3325192551,CA
+3325192552,3325192559,CN
+3325192560,3325192567,GB
+3325192568,3325192591,CA
+3325192592,3325192599,US
+3325192600,3325192607,BR
+3325192608,3325192615,CA
+3325192616,3325192623,MX
+3325192624,3325192639,CA
+3325192640,3325192647,HK
+3325192648,3325192655,IN
+3325192656,3325192663,CA
+3325192664,3325192671,BR
+3325192672,3325192679,CA
+3325192680,3325192687,BY
+3325192688,3325192695,US
+3325192696,3325192703,MU
+3325192704,3325192719,CA
+3325192720,3325192727,US
+3325192728,3325192735,CA
+3325192736,3325192743,DZ
+3325192744,3325192751,MN
+3325192752,3325192759,CA
+3325192760,3325192767,BR
+3325192768,3325192775,US
+3325192776,3325192783,CA
+3325192784,3325192791,PE
+3325192792,3325192799,CA
+3325192800,3325192807,VE
+3325192808,3325192823,CA
+3325192824,3325192831,LU
+3325192832,3325192839,US
+3325192840,3325192847,CA
+3325192848,3325192855,GB
+3325192856,3325192863,CA
+3325192864,3325192871,VE
+3325192872,3325192879,NL
+3325192880,3325192911,CA
+3325192912,3325192919,AE
+3325192920,3325192927,IL
+3325192928,3325192935,CA
+3325192936,3325192951,DE
+3325192952,3325192959,IN
+3325192960,3325192983,CA
+3325192984,3325192991,ES
+3325192992,3325192999,CA
+3325193000,3325193007,IN
+3325193008,3325193015,CA
+3325193016,3325193023,DK
+3325193024,3325193031,US
+3325193032,3325193039,CA
+3325193040,3325193047,ES
+3325193048,3325193063,US
+3325193064,3325193087,CA
+3325193088,3325193095,MX
+3325193096,3325193103,CO
+3325193104,3325193167,CA
+3325193168,3325193175,MX
+3325193176,3325193183,CA
+3325193184,3325193191,US
+3325193192,3325193207,CA
+3325193208,3325193215,MX
+3325193216,3325193231,US
+3325193232,3325193239,CN
+3325193240,3325193247,ES
+3325193248,3325193263,CA
+3325193264,3325193271,CN
+3325193272,3325193287,US
+3325193288,3325193295,BR
+3325193296,3325193311,CA
+3325193312,3325193319,EC
+3325193320,3325193327,DE
+3325193328,3325193335,CA
+3325193336,3325193343,PH
+3325193344,3325193351,CA
+3325193352,3325193359,DZ
+3325193360,3325193375,CA
+3325193376,3325193383,US
+3325193384,3325193391,RU
+3325193392,3325193399,IN
+3325193400,3325193407,CH
+3325193408,3325193415,BR
+3325193416,3325193423,MX
+3325193424,3325193431,CA
+3325193432,3325193439,NG
+3325193440,3325193447,BR
+3325193448,3325193455,IN
+3325193456,3325193463,CA
+3325193464,3325193471,GB
+3325193472,3325193479,CA
+3325193480,3325193495,BR
+3325193496,3325193503,CA
+3325193504,3325193511,BR
+3325193512,3325193519,MY
+3325193520,3325193583,CA
+3325193584,3325193591,US
+3325193592,3325193639,CA
+3325193640,3325193647,US
+3325193648,3325193655,MX
+3325193656,3325193663,CA
+3325193664,3325193671,SA
+3325193672,3325193703,CA
+3325193704,3325193711,CN
+3325193712,3325193727,CA
+3325193728,3325193735,BY
+3325193736,3325193751,US
+3325193752,3325193759,CA
+3325193760,3325193767,BD
+3325193768,3325193775,IL
+3325193776,3325193783,CO
+3325193784,3325193791,US
+3325193792,3325193799,LB
+3325193800,3325193807,CA
+3325193808,3325193815,BZ
+3325193816,3325193823,CA
+3325193824,3325193831,VG
+3325193832,3325193839,CA
+3325193840,3325193847,AE
+3325193848,3325193855,US
+3325193856,3325193903,CA
+3325193904,3325193911,AU
+3325193912,3325193919,IN
+3325193920,3325193927,CA
+3325193928,3325193935,PK
+3325193936,3325193959,CA
+3325193960,3325193967,DO
+3325193968,3325193975,AR
+3325193976,3325193991,CA
+3325193992,3325193999,NO
+3325194000,3325194015,CA
+3325194016,3325194023,IL
+3325194024,3325194031,RS
+3325194032,3325194039,US
+3325194040,3325194047,NZ
+3325194048,3325194055,US
+3325194056,3325194071,CA
+3325194072,3325194079,US
+3325194080,3325194087,UM
+3325194088,3325194151,CA
+3325194152,3325194159,DE
+3325194160,3325194175,US
+3325194176,3325194191,CA
+3325194192,3325194199,IN
+3325194200,3325194207,US
+3325194208,3325194215,CA
+3325194216,3325194223,SG
+3325194224,3325194231,PK
+3325194232,3325194239,CN
+3325194240,3325194247,US
+3325194248,3325194255,CA
+3325194256,3325194263,JP
+3325194264,3325194279,CA
+3325194280,3325194287,AR
+3325194288,3325194303,CA
+3325194304,3325194319,US
+3325194320,3325194327,CA
+3325194328,3325194335,BR
+3325194336,3325194343,US
+3325194344,3325194351,CA
+3325194352,3325194359,AE
+3325194360,3325194367,MY
+3325194368,3325194375,BR
+3325194376,3325194391,CA
+3325194392,3325194399,AE
+3325194400,3325194439,CA
+3325194440,3325194447,RU
+3325194448,3325194471,CA
+3325194472,3325194479,BR
+3325194480,3325194495,CA
+3325194496,3325194503,DE
+3325194504,3325194511,CA
+3325194512,3325194519,EG
+3325194520,3325194527,IN
+3325194528,3325194535,IR
+3325194536,3325194543,GB
+3325194544,3325194551,CA
+3325194552,3325194559,VE
+3325194560,3325194567,BB
+3325194568,3325194575,MX
+3325194576,3325194583,CO
+3325194584,3325194599,US
+3325194600,3325194623,CA
+3325194624,3325194631,US
+3325194632,3325194639,KW
+3325194640,3325194647,BR
+3325194648,3325194655,CA
+3325194656,3325194663,MX
+3325194664,3325194671,PE
+3325194672,3325194679,US
+3325194680,3325194687,IL
+3325194688,3325194719,CA
+3325194720,3325194727,DE
+3325194728,3325194743,CA
+3325194744,3325194751,BR
+3325194752,3325194759,US
+3325194760,3325194783,CA
+3325194784,3325194791,US
+3325194792,3325194799,CO
+3325194800,3325194807,CA
+3325194808,3325194823,US
+3325194824,3325194831,CA
+3325194832,3325194839,US
+3325194840,3325194847,CA
+3325194848,3325194863,US
+3325194864,3325194871,AE
+3325194872,3325194879,LV
+3325194880,3325194919,CA
+3325194920,3325194927,TR
+3325194928,3325194959,CA
+3325194960,3325194967,RU
+3325194968,3325194975,IN
+3325194976,3325194983,CA
+3325194984,3325194991,UA
+3325194992,3325195023,CA
+3325195024,3325195031,US
+3325195032,3325195039,CA
+3325195040,3325195047,IN
+3325195048,3325195055,CA
+3325195056,3325195063,CH
+3325195064,3325195071,US
+3325195072,3325195127,CA
+3325195128,3325195135,BR
+3325195136,3325195143,CH
+3325195144,3325195151,CA
+3325195152,3325195159,LB
+3325195160,3325195167,IN
+3325195168,3325195175,AR
+3325195176,3325195183,BR
+3325195184,3325195191,CA
+3325195192,3325195199,AE
+3325195200,3325195207,TH
+3325195208,3325195215,BR
+3325195216,3325195231,CA
+3325195232,3325195239,HR
+3325195240,3325195247,CO
+3325195248,3325195255,BR
+3325195256,3325195263,CA
+3325195264,3325195271,US
+3325195272,3325195279,CA
+3325195280,3325195287,GT
+3325195288,3325195303,CA
+3325195304,3325195311,GB
+3325195312,3325195319,IL
+3325195320,3325195343,CA
+3325195344,3325195351,US
+3325195352,3325195359,CA
+3325195360,3325195367,ES
+3325195368,3325195375,CA
+3325195376,3325195383,CO
+3325195384,3325195391,VE
+3325195392,3325195407,CA
+3325195408,3325195415,US
+3325195416,3325195423,UY
+3325195424,3325195431,GI
+3325195432,3325195439,IN
+3325195440,3325195447,MY
+3325195448,3325195455,CA
+3325195456,3325195463,IR
+3325195464,3325195479,US
+3325195480,3325195487,SG
+3325195488,3325195495,JO
+3325195496,3325195503,CA
+3325195504,3325195511,LU
+3325195512,3325195519,IN
+3325195520,3325195527,CA
+3325195528,3325195535,BR
+3325195536,3325195543,CO
+3325195544,3325195559,BR
+3325195560,3325195575,US
+3325195576,3325195583,CA
+3325195584,3325195591,US
+3325195592,3325195599,CA
+3325195600,3325195607,IN
+3325195608,3325195623,CA
+3325195624,3325195631,EC
+3325195632,3325195639,CA
+3325195640,3325195647,BR
+3325195648,3325195687,CA
+3325195688,3325195695,SA
+3325195696,3325195703,AE
+3325195704,3325195711,IT
+3325195712,3325195719,CA
+3325195720,3325195727,RU
+3325195728,3325195751,CA
+3325195752,3325195759,ES
+3325195760,3325195767,PL
+3325195768,3325195775,US
+3325195776,3325195783,CA
+3325195784,3325195791,US
+3325195792,3325195807,CA
+3325195808,3325195815,US
+3325195816,3325195823,CN
+3325195824,3325195839,CA
+3325195840,3325195855,US
+3325195856,3325195863,UY
+3325195864,3325195871,CA
+3325195872,3325195879,PE
+3325195880,3325195887,BR
+3325195888,3325195895,YE
+3325195896,3325195903,US
+3325195904,3325195911,CY
+3325195912,3325195919,GB
+3325195920,3325195927,AR
+3325195928,3325195943,CA
+3325195944,3325195951,GB
+3325195952,3325195967,CA
+3325195968,3325195975,JO
+3325195976,3325195991,CA
+3325195992,3325195999,BR
+3325196000,3325196023,CA
+3325196024,3325196031,RU
+3325196032,3325196135,CA
+3325196136,3325196143,IN
+3325196144,3325196159,IL
+3325196160,3325196167,PK
+3325196168,3325196287,CA
+3325196288,3325196295,US
+3325196296,3325196303,CA
+3325196304,3325196311,IN
+3325196312,3325196319,CA
+3325196320,3325196327,VN
+3325196328,3325196343,CA
+3325196344,3325196351,SA
+3325196352,3325196359,US
+3325196360,3325196367,CA
+3325196368,3325196375,GB
+3325196376,3325196407,CA
+3325196408,3325196415,DE
+3325196416,3325196423,CA
+3325196424,3325196431,BR
+3325196432,3325196439,CA
+3325196440,3325196447,TR
+3325196448,3325196455,PH
+3325196456,3325196463,AR
+3325196464,3325196495,CA
+3325196496,3325196503,CY
+3325196504,3325196511,US
+3325196512,3325196527,CA
+3325196528,3325196535,US
+3325196536,3325196543,IN
+3325196544,3325196551,CA
+3325196552,3325196559,US
+3325196560,3325196575,AE
+3325196576,3325196583,CY
+3325196584,3325196607,CA
+3325196608,3325196615,US
+3325196616,3325196623,CA
+3325196624,3325196639,US
+3325196640,3325196647,IN
+3325196648,3325196655,MA
+3325196656,3325196663,NG
+3325196664,3325196671,BR
+3325196672,3325196679,DE
+3325196680,3325196687,TR
+3325196688,3325196695,US
+3325196696,3325196711,CA
+3325196712,3325196719,ID
+3325196720,3325196727,DE
+3325196728,3325196735,CA
+3325196736,3325196743,IL
+3325196744,3325196751,US
+3325196752,3325196759,UY
+3325196760,3325196775,CA
+3325196776,3325196783,BR
+3325196784,3325196791,AR
+3325196792,3325196799,US
+3325196800,3325196807,CA
+3325196808,3325196815,BG
+3325196816,3325196823,AG
+3325196824,3325196839,CA
+3325196840,3325196847,IN
+3325196848,3325196863,CA
+3325196864,3325196871,CW
+3325196872,3325196879,BR
+3325196880,3325196887,US
+3325196888,3325196895,RU
+3325196896,3325196903,LV
+3325196904,3325196911,BR
+3325196912,3325196919,US
+3325196920,3325196927,CA
+3325196928,3325196935,CO
+3325196936,3325196943,GB
+3325196944,3325196951,CA
+3325196952,3325196959,SE
+3325196960,3325196967,EC
+3325196968,3325196975,SG
+3325196976,3325196983,CO
+3325196984,3325196991,IR
+3325196992,3325196999,CA
+3325197000,3325197007,BR
+3325197008,3325197023,CA
+3325197024,3325197031,VN
+3325197032,3325197039,CA
+3325197040,3325197047,PK
+3325197048,3325197055,CO
+3325197056,3325197063,UA
+3325197064,3325197071,DE
+3325197072,3325197087,CA
+3325197088,3325197095,US
+3325197096,3325197119,CA
+3325197120,3325197127,IN
+3325197128,3325197135,CA
+3325197136,3325197143,BR
+3325197144,3325197151,CA
+3325197152,3325197159,EC
+3325197160,3325197167,BR
+3325197168,3325197175,CA
+3325197176,3325197183,IN
+3325197184,3325197191,SG
+3325197192,3325197215,CA
+3325197216,3325197223,GB
+3325197224,3325197231,CI
+3325197232,3325197239,IN
+3325197240,3325197247,US
+3325197248,3325197255,BR
+3325197256,3325197263,US
+3325197264,3325197271,CA
+3325197272,3325197279,GB
+3325197280,3325197287,SA
+3325197288,3325197295,US
+3325197296,3325197311,CA
+3325197312,3325197319,GR
+3325197320,3325198343,CA
+3325198344,3325198347,BR
+3325198348,3325198367,CA
3325198368,3325198375,MY
3325198376,3325198415,CA
3325198416,3325198419,VE
3325198420,3325198423,US
-3325198424,3325198559,CA
+3325198424,3325198535,CA
+3325198536,3325198543,US
+3325198544,3325198559,CA
3325198560,3325198575,PA
3325198576,3325198579,CA
3325198580,3325198583,BR
@@ -118691,8 +121852,7 @@
3325198864,3325198895,CA
3325198896,3325198911,BE
3325198912,3325198943,NP
-3325198944,3325198947,AU
-3325198948,3325198967,CA
+3325198944,3325198967,CA
3325198968,3325198975,US
3325198976,3325199039,CA
3325199040,3325199043,US
@@ -118700,17 +121860,15 @@
3325199056,3325199063,US
3325199064,3325199071,CA
3325199072,3325199079,US
-3325199080,3325199143,CA
+3325199080,3325199083,CA
+3325199084,3325199087,BR
+3325199088,3325199143,CA
3325199144,3325199147,US
3325199148,3325199151,GT
-3325199152,3325199255,CA
-3325199256,3325199259,BR
-3325199260,3325199291,CA
+3325199152,3325199291,CA
3325199292,3325199295,US
3325199296,3325199303,BR
-3325199304,3325199315,CA
-3325199316,3325199319,AU
-3325199320,3325199343,CA
+3325199304,3325199343,CA
3325199344,3325199351,CH
3325199352,3325199359,US
3325199360,3325199391,CA
@@ -118721,9 +121879,7 @@
3325199560,3325199567,US
3325199568,3325199615,CA
3325199616,3325199619,BR
-3325199620,3325199623,CA
-3325199624,3325199627,BE
-3325199628,3325199775,CA
+3325199620,3325199775,CA
3325199776,3325199779,BR
3325199780,3325199783,US
3325199784,3325199807,CA
@@ -118731,11 +121887,7 @@
3325199840,3325199855,BR
3325199856,3325199903,CA
3325199904,3325199911,IN
-3325199912,3325199923,CA
-3325199924,3325199927,US
-3325199928,3325199931,CA
-3325199932,3325199935,CN
-3325199936,3325199947,CA
+3325199912,3325199947,CA
3325199948,3325199951,BR
3325199952,3325199959,PT
3325199960,3325199967,CA
@@ -118751,15 +121903,15 @@
3325200096,3325200111,BE
3325200112,3325200127,CA
3325200128,3325200191,BD
-3325200192,3325200239,CA
+3325200192,3325200207,ZA
+3325200208,3325200239,CA
3325200240,3325200255,US
3325200256,3325200259,PE
3325200260,3325200279,CA
3325200280,3325200287,NL
3325200288,3325200291,CA
3325200292,3325200295,FR
-3325200296,3325200303,IN
-3325200304,3325200311,CA
+3325200296,3325200311,CA
3325200312,3325200315,IN
3325200316,3325200323,CA
3325200324,3325200327,IL
@@ -118768,10 +121920,10 @@
3325200452,3325200455,CA
3325200456,3325200459,US
3325200460,3325200463,CA
-3325200464,3325200471,US
-3325200472,3325200527,CA
-3325200528,3325200543,MX
-3325200544,3325200567,CA
+3325200464,3325200467,US
+3325200468,3325200527,CA
+3325200528,3325200531,PA
+3325200532,3325200567,CA
3325200568,3325200571,US
3325200572,3325200575,UA
3325200576,3325200583,CA
@@ -118790,16 +121942,13 @@
3325200768,3325200783,US
3325200784,3325200807,CA
3325200808,3325200811,TR
-3325200812,3325200815,IE
-3325200816,3325200827,CA
+3325200812,3325200827,CA
3325200828,3325200831,CO
3325200832,3325200863,BA
3325200864,3325200879,ES
3325200880,3325200891,CA
3325200892,3325200895,US
-3325200896,3325200939,CA
-3325200940,3325200943,US
-3325200944,3325200947,CA
+3325200896,3325200947,CA
3325200948,3325200951,BZ
3325200952,3325201011,CA
3325201012,3325201015,US
@@ -118808,8 +121957,7 @@
3325201048,3325201055,US
3325201056,3325201071,CA
3325201072,3325201075,US
-3325201076,3325201087,CA
-3325201088,3325201103,ID
+3325201076,3325201103,CA
3325201104,3325201111,US
3325201112,3325201115,CA
3325201116,3325201119,IN
@@ -118837,7 +121985,9 @@
3325201648,3325201655,US
3325201656,3325201663,ES
3325201664,3325201671,CO
-3325201672,3325201739,CA
+3325201672,3325201679,CA
+3325201680,3325201687,JO
+3325201688,3325201739,CA
3325201740,3325201759,US
3325201760,3325201763,SA
3325201764,3325201795,CA
@@ -118848,18 +121998,20 @@
3325201848,3325201851,BR
3325201852,3325201855,ES
3325201856,3325201919,BR
-3325201920,3325202015,CA
+3325201920,3325201935,CA
+3325201936,3325201951,FR
+3325201952,3325202015,CA
3325202016,3325202031,ES
3325202032,3325202039,CA
3325202040,3325202079,US
3325202080,3325202115,CA
3325202116,3325202119,US
-3325202120,3325202271,CA
+3325202120,3325202211,CA
+3325202212,3325202215,IN
+3325202216,3325202271,CA
3325202272,3325202275,GB
3325202276,3325202279,US
-3325202280,3325202327,CA
-3325202328,3325202331,AU
-3325202332,3325202367,CA
+3325202280,3325202367,CA
3325202368,3325202371,PH
3325202372,3325202395,CA
3325202396,3325202399,IN
@@ -118872,8 +122024,10 @@
3325206536,3325206551,CA
3325206552,3325206555,US
3325206556,3325206559,CZ
-3325206560,3325206591,IN
-3325206592,3325206623,CA
+3325206560,3325206575,RO
+3325206576,3325206591,CA
+3325206592,3325206599,BR
+3325206600,3325206623,CA
3325206624,3325206624,RO
3325206625,3325206626,CA
3325206627,3325206627,RO
@@ -118886,9 +122040,11 @@
3325206688,3325206719,US
3325206720,3325206799,CA
3325206800,3325206815,US
-3325206816,3325206831,CA
+3325206816,3325206819,CA
+3325206820,3325206823,GB
+3325206824,3325206831,CA
3325206832,3325206839,US
-3325206840,3325206847,BG
+3325206840,3325206847,FR
3325206848,3325206863,MX
3325206864,3325206879,CA
3325206880,3325206911,BA
@@ -118907,7 +122063,9 @@
3325207104,3325207131,CA
3325207132,3325207135,US
3325207136,3325207167,BD
-3325207168,3325207283,CA
+3325207168,3325207263,CA
+3325207264,3325207271,IN
+3325207272,3325207283,CA
3325207284,3325207287,US
3325207288,3325207379,CA
3325207380,3325207383,US
@@ -118916,7 +122074,9 @@
3325207424,3325207439,UA
3325207440,3325207503,CA
3325207504,3325207519,US
-3325207520,3325207591,CA
+3325207520,3325207575,CA
+3325207576,3325207583,BR
+3325207584,3325207591,CA
3325207592,3325207599,EC
3325207600,3325207699,CA
3325207700,3325207703,LU
@@ -118949,24 +122109,20 @@
3325208496,3325208499,IN
3325208500,3325208543,CA
3325208544,3325208547,US
-3325208548,3325208643,CA
-3325208644,3325208647,IN
-3325208648,3325208747,CA
+3325208548,3325208639,CA
+3325208640,3325208643,EG
+3325208644,3325208747,CA
3325208748,3325208751,CZ
3325208752,3325208767,CA
3325208768,3325208783,US
-3325208784,3325208791,CA
-3325208792,3325208799,US
-3325208800,3325208827,CA
+3325208784,3325208827,CA
3325208828,3325208831,EG
3325208832,3325208835,CO
-3325208836,3325208939,CA
-3325208940,3325208943,AU
+3325208836,3325208943,CA
3325208944,3325208947,BR
3325208948,3325208999,CA
-3325209000,3325209003,AU
-3325209004,3325209007,BR
-3325209008,3325209023,CA
+3325209000,3325209003,US
+3325209004,3325209023,CA
3325209024,3325209055,US
3325209056,3325209083,CA
3325209084,3325209087,US
@@ -118982,12 +122138,13 @@
3325209184,3325209215,AR
3325209216,3325209231,CA
3325209232,3325209247,DE
-3325209248,3325209295,CA
+3325209248,3325209259,CA
+3325209260,3325209263,US
+3325209264,3325209295,CA
3325209296,3325209311,US
3325209312,3325209327,CA
3325209328,3325209343,US
-3325209344,3325209359,RO
-3325209360,3325209379,CA
+3325209344,3325209379,CA
3325209380,3325209383,CH
3325209384,3325209387,CA
3325209388,3325209407,US
@@ -119022,7 +122179,8 @@
3325209880,3325209887,BD
3325209888,3325209915,CA
3325209916,3325209919,FR
-3325209920,3325209939,CA
+3325209920,3325209935,CA
+3325209936,3325209939,FR
3325209940,3325209943,US
3325209944,3325209951,CA
3325209952,3325209955,ID
@@ -119032,7 +122190,7 @@
3325209968,3325209983,US
3325209984,3325209987,DE
3325209988,3325209991,CA
-3325209992,3325209995,US
+3325209992,3325209995,MX
3325209996,3325210011,CA
3325210012,3325210015,US
3325210016,3325210031,CA
@@ -119042,9 +122200,13 @@
3325210048,3325210063,CA
3325210064,3325210067,BR
3325210068,3325210071,IE
-3325210072,3325210351,CA
+3325210072,3325210311,CA
+3325210312,3325210315,BR
+3325210316,3325210351,CA
3325210352,3325210367,HK
-3325210368,3325210399,CA
+3325210368,3325210383,CA
+3325210384,3325210387,IN
+3325210388,3325210399,CA
3325210400,3325210431,SE
3325210432,3325210435,IN
3325210436,3325210439,CA
@@ -119052,13 +122214,18 @@
3325210448,3325210451,FR
3325210452,3325210455,ES
3325210456,3325210511,CA
-3325210512,3325210519,GB
-3325210520,3325210631,CA
+3325210512,3325210519,IN
+3325210520,3325210527,FR
+3325210528,3325210575,CA
+3325210576,3325210579,BR
+3325210580,3325210631,CA
3325210632,3325210635,US
3325210636,3325210639,FR
3325210640,3325210643,BR
3325210644,3325210647,US
-3325210648,3325210663,CA
+3325210648,3325210651,CA
+3325210652,3325210655,TR
+3325210656,3325210663,CA
3325210664,3325210687,BR
3325210688,3325210703,CA
3325210704,3325210707,US
@@ -119088,18 +122255,15 @@
3325211072,3325211087,BD
3325211088,3325211091,US
3325211092,3325211095,CA
-3325211096,3325211103,US
+3325211096,3325211103,BE
3325211104,3325211115,CA
3325211116,3325211119,BR
3325211120,3325211127,US
3325211128,3325211151,CA
3325211152,3325211155,IN
-3325211156,3325211175,CA
-3325211176,3325211183,US
-3325211184,3325211235,CA
+3325211156,3325211235,CA
3325211236,3325211239,FR
-3325211240,3325211279,CA
-3325211280,3325211295,CN
+3325211240,3325211295,CA
3325211296,3325211299,US
3325211300,3325211411,CA
3325211412,3325211415,IN
@@ -119115,7 +122279,8 @@
3325211872,3325211883,CA
3325211884,3325211887,US
3325211888,3325211895,RO
-3325211896,3325211967,CA
+3325211896,3325211935,CA
+3325211936,3325211967,US
3325211968,3325211999,ES
3325212000,3325212007,US
3325212008,3325212063,CA
@@ -119143,9 +122308,10 @@
3325212496,3325212503,FR
3325212504,3325212511,HU
3325212512,3325212515,CY
-3325212516,3325212559,CA
-3325212560,3325212575,BR
-3325212576,3325212579,PE
+3325212516,3325212543,CA
+3325212544,3325212551,US
+3325212552,3325212575,BR
+3325212576,3325212579,US
3325212580,3325212583,CA
3325212584,3325212587,HN
3325212588,3325212591,BR
@@ -119166,9 +122332,9 @@
3325213072,3325213087,NZ
3325213088,3325213103,CA
3325213104,3325213111,US
-3325213112,3325213115,CA
-3325213116,3325213119,US
-3325213120,3325213227,CA
+3325213112,3325213191,CA
+3325213192,3325213199,DE
+3325213200,3325213227,CA
3325213228,3325213231,US
3325213232,3325213423,CA
3325213424,3325213431,US
@@ -119176,17 +122342,13 @@
3325213436,3325213439,US
3325213440,3325213447,CA
3325213448,3325213451,BD
-3325213452,3325213471,CA
-3325213472,3325213479,IN
-3325213480,3325213483,CA
+3325213452,3325213483,CA
3325213484,3325213487,VE
3325213488,3325213535,CA
3325213536,3325213543,TR
3325213544,3325213551,CA
3325213552,3325213555,ES
-3325213556,3325213567,CA
-3325213568,3325213571,IE
-3325213572,3325213575,CA
+3325213556,3325213575,CA
3325213576,3325213591,IN
3325213592,3325213607,CA
3325213608,3325213615,US
@@ -119213,7 +122375,9 @@
3325214152,3325214155,US
3325214156,3325214163,CA
3325214164,3325214167,BR
-3325214168,3325214187,CA
+3325214168,3325214171,CA
+3325214172,3325214175,ID
+3325214176,3325214187,CA
3325214188,3325214191,US
3325214192,3325214255,CA
3325214256,3325214259,SA
@@ -119232,7 +122396,9 @@
3325214624,3325214639,DE
3325214640,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
@@ -119246,14 +122412,18 @@
3325215000,3325215007,BZ
3325215008,3325215055,CA
3325215056,3325215059,IT
-3325215060,3325215131,CA
+3325215060,3325215119,CA
+3325215120,3325215127,IN
+3325215128,3325215131,CA
3325215132,3325215135,BZ
3325215136,3325215175,CA
3325215176,3325215183,VI
3325215184,3325215203,CA
3325215204,3325215207,GB
3325215208,3325215211,FR
-3325215212,3325215263,CA
+3325215212,3325215223,CA
+3325215224,3325215231,US
+3325215232,3325215263,CA
3325215264,3325215279,BE
3325215280,3325215299,US
3325215300,3325215303,IN
@@ -119265,7 +122435,7 @@
3325215456,3325215459,US
3325215460,3325215467,CA
3325215468,3325215471,BR
-3325215472,3325215475,ES
+3325215472,3325215475,CA
3325215476,3325215479,PE
3325215480,3325215495,CA
3325215496,3325215503,BR
@@ -119288,8 +122458,7 @@
3325215872,3325215903,US
3325215904,3325215911,DE
3325215912,3325215915,IN
-3325215916,3325215919,GB
-3325215920,3325215927,US
+3325215916,3325215927,GB
3325215928,3325215931,CA
3325215932,3325215935,BR
3325215936,3325215951,CA
@@ -119313,7 +122482,9 @@
3325216116,3325216119,US
3325216120,3325216127,CA
3325216128,3325216159,MX
-3325216160,3325216247,CA
+3325216160,3325216207,CA
+3325216208,3325216215,JO
+3325216216,3325216247,CA
3325216248,3325216251,BR
3325216252,3325216319,CA
3325216320,3325216327,US
@@ -119329,19 +122500,23 @@
3325216528,3325216531,US
3325216532,3325216707,CA
3325216708,3325216711,US
-3325216712,3325216855,CA
+3325216712,3325216811,CA
+3325216812,3325216815,DM
+3325216816,3325216831,BR
+3325216832,3325216855,CA
3325216856,3325216859,VG
3325216860,3325216895,CA
3325216896,3325216927,PA
-3325216928,3325216975,CA
+3325216928,3325216963,CA
+3325216964,3325216967,US
+3325216968,3325216975,CA
3325216976,3325216979,FR
3325216980,3325217167,CA
3325217168,3325217183,PE
3325217184,3325217199,CA
3325217200,3325217215,US
3325217216,3325217223,VE
-3325217224,3325217227,AU
-3325217228,3325217231,CA
+3325217224,3325217231,CA
3325217232,3325217235,US
3325217236,3325217243,CA
3325217244,3325217247,US
@@ -119352,9 +122527,8 @@
3325217404,3325217407,FR
3325217408,3325217471,CA
3325217472,3325217503,IE
-3325217504,3325217527,CA
-3325217528,3325217531,HK
-3325217532,3325217651,CA
+3325217504,3325217519,US
+3325217520,3325217651,CA
3325217652,3325217655,AE
3325217656,3325217663,CA
3325217664,3325217667,CO
@@ -119404,15 +122578,16 @@
3325218532,3325218535,US
3325218536,3325218559,CA
3325218560,3325218567,US
-3325218568,3325218583,CA
-3325218584,3325218591,IN
-3325218592,3325218615,CA
+3325218568,3325218591,CA
+3325218592,3325218595,BR
+3325218596,3325218615,CA
3325218616,3325218623,BR
3325218624,3325218663,CA
3325218664,3325218667,US
3325218668,3325218671,CA
3325218672,3325218687,IT
-3325218688,3325218703,CA
+3325218688,3325218695,CA
+3325218696,3325218703,EC
3325218704,3325218719,US
3325218720,3325218783,CA
3325218784,3325218815,AU
@@ -119421,7 +122596,9 @@
3325219084,3325219087,BZ
3325219088,3325219091,CA
3325219092,3325219095,VE
-3325219096,3325219175,CA
+3325219096,3325219159,CA
+3325219160,3325219167,RO
+3325219168,3325219175,CA
3325219176,3325219183,US
3325219184,3325219407,CA
3325219408,3325219411,FR
@@ -119434,9 +122611,9 @@
3325219464,3325219467,CA
3325219468,3325219471,DE
3325219472,3325219475,US
-3325219476,3325219479,CA
-3325219480,3325219483,IN
-3325219484,3325219503,CA
+3325219476,3325219483,CA
+3325219484,3325219487,US
+3325219488,3325219503,CA
3325219504,3325219511,VG
3325219512,3325219531,CA
3325219532,3325219535,BR
@@ -119456,7 +122633,8 @@
3325219792,3325219799,UY
3325219800,3325219807,CA
3325219808,3325219811,US
-3325219812,3325219839,CA
+3325219812,3325219815,PL
+3325219816,3325219839,CA
3325219840,3325219871,TN
3325219872,3325219875,BR
3325219876,3325219903,CA
@@ -119465,11 +122643,9 @@
3325219936,3325219951,US
3325219952,3325219983,CA
3325219984,3325219999,US
-3325220000,3325220011,CA
-3325220012,3325220015,AU
-3325220016,3325220027,CA
+3325220000,3325220027,CA
3325220028,3325220031,US
-3325220032,3325220039,CA
+3325220032,3325220039,BR
3325220040,3325220043,US
3325220044,3325220047,BR
3325220048,3325220051,AU
@@ -119479,8 +122655,9 @@
3325220108,3325220111,PE
3325220112,3325220295,CA
3325220296,3325220303,FR
-3325220304,3325220407,CA
-3325220408,3325220411,US
+3325220304,3325220383,CA
+3325220384,3325220399,NL
+3325220400,3325220411,CA
3325220412,3325220415,BZ
3325220416,3325220511,CA
3325220512,3325220519,BR
@@ -119495,9 +122672,13 @@
3325220636,3325220636,US
3325220637,3325220651,CA
3325220652,3325220655,BR
-3325220656,3325220703,CA
+3325220656,3325220667,CA
+3325220668,3325220671,BR
+3325220672,3325220703,CA
3325220704,3325220719,US
-3325220720,3325220831,CA
+3325220720,3325220723,CA
+3325220724,3325220727,VE
+3325220728,3325220831,CA
3325220832,3325220879,US
3325220880,3325220895,CA
3325220896,3325220927,FR
@@ -119533,13 +122714,12 @@
3325221628,3325221727,CA
3325221728,3325221731,US
3325221732,3325221739,CA
-3325221740,3325221743,BR
-3325221744,3325221751,CA
+3325221740,3325221751,BR
3325221752,3325221755,IN
-3325221756,3325221759,PE
+3325221756,3325221759,US
3325221760,3325221779,CA
3325221780,3325221783,US
-3325221784,3325221787,BR
+3325221784,3325221787,CA
3325221788,3325221791,VN
3325221792,3325221795,CA
3325221796,3325221799,US
@@ -119559,11 +122739,9 @@
3325222180,3325222183,US
3325222184,3325222203,CA
3325222204,3325222207,BY
-3325222208,3325222351,CA
-3325222352,3325222359,US
-3325222360,3325222391,CA
-3325222392,3325222395,TR
-3325222396,3325222399,FR
+3325222208,3325222391,CA
+3325222392,3325222395,BD
+3325222396,3325222399,DM
3325222400,3325222463,US
3325222464,3325222567,CA
3325222568,3325222571,US
@@ -119573,13 +122751,15 @@
3325222624,3325222627,DE
3325222628,3325222643,CA
3325222644,3325222647,VN
-3325222648,3325222651,LB
+3325222648,3325222651,IL
3325222652,3325222655,US
3325222656,3325222667,CA
3325222668,3325222671,MX
3325222672,3325222687,CA
3325222688,3325222703,GB
-3325222704,3325222719,CA
+3325222704,3325222707,CA
+3325222708,3325222711,BG
+3325222712,3325222719,CA
3325222720,3325222735,AU
3325222736,3325222751,US
3325222752,3325222783,MX
@@ -119589,13 +122769,15 @@
3325222852,3325222855,BZ
3325222856,3325222947,CA
3325222948,3325222951,AE
-3325222952,3325222963,CA
+3325222952,3325222959,BR
+3325222960,3325222963,CA
3325222964,3325222967,VE
3325222968,3325222983,CA
3325222984,3325222987,TW
3325222988,3325223027,CA
3325223028,3325223031,US
-3325223032,3325223039,CA
+3325223032,3325223035,CA
+3325223036,3325223039,US
3325223040,3325223043,AR
3325223044,3325223047,US
3325223048,3325223059,CA
@@ -119609,11 +122791,11 @@
3325223104,3325223119,US
3325223120,3325223231,CA
3325223232,3325223239,BR
-3325223240,3325223279,CA
+3325223240,3325223247,CA
+3325223248,3325223263,BR
+3325223264,3325223279,CA
3325223280,3325223283,FR
-3325223284,3325223303,CA
-3325223304,3325223311,RO
-3325223312,3325223335,CA
+3325223284,3325223335,CA
3325223336,3325223343,US
3325223344,3325223347,CA
3325223348,3325223351,IN
@@ -119621,7 +122803,7 @@
3325223356,3325223375,CA
3325223376,3325223391,US
3325223392,3325223399,CA
-3325223400,3325223407,US
+3325223400,3325223407,IE
3325223408,3325223427,CA
3325223428,3325223431,US
3325223432,3325223435,CA
@@ -119653,8 +122835,8 @@
3325223920,3325223935,BR
3325223936,3325223967,CA
3325223968,3325223991,US
-3325223992,3325224031,CA
-3325224032,3325224039,US
+3325223992,3325224035,CA
+3325224036,3325224039,US
3325224040,3325224043,CO
3325224044,3325224047,CA
3325224048,3325224055,GB
@@ -119664,9 +122846,7 @@
3325224072,3325224079,HR
3325224080,3325224087,CA
3325224088,3325224091,BZ
-3325224092,3325224383,CA
-3325224384,3325224391,GB
-3325224392,3325224455,CA
+3325224092,3325224455,CA
3325224456,3325224463,FR
3325224464,3325224479,CA
3325224480,3325224511,US
@@ -119679,12 +122859,10 @@
3325224676,3325224683,CA
3325224684,3325224687,VE
3325224688,3325224695,US
-3325224696,3325224699,CA
-3325224700,3325224703,BR
+3325224696,3325224703,BR
3325224704,3325224719,US
3325224720,3325224735,CA
-3325224736,3325224751,LK
-3325224752,3325224767,CA
+3325224736,3325224767,LK
3325224768,3325224783,FR
3325224784,3325224795,CA
3325224796,3325224799,HR
@@ -119715,20 +122893,21 @@
3325225208,3325225247,CA
3325225248,3325225263,TR
3325225264,3325225287,CA
-3325225288,3325225291,GB
+3325225288,3325225291,PK
3325225292,3325225295,CA
3325225296,3325225299,US
3325225300,3325225315,CA
3325225316,3325225319,ES
3325225320,3325225367,CA
-3325225368,3325225371,US
+3325225368,3325225371,IN
3325225372,3325225407,CA
3325225408,3325225411,IN
3325225412,3325225415,CA
-3325225416,3325225419,AU
+3325225416,3325225419,AR
3325225420,3325225439,CA
3325225440,3325225455,HK
-3325225456,3325225463,US
+3325225456,3325225459,BD
+3325225460,3325225463,US
3325225464,3325225467,BR
3325225468,3325225483,CA
3325225484,3325225487,CL
@@ -119738,8 +122917,7 @@
3325225632,3325225647,US
3325225648,3325225671,CA
3325225672,3325225675,US
-3325225676,3325225727,CA
-3325225728,3325225735,RO
+3325225676,3325225735,CA
3325225736,3325225743,US
3325225744,3325225775,CA
3325225776,3325225783,US
@@ -119753,7 +122931,8 @@
3325225916,3325225919,BR
3325225920,3325225923,EG
3325225924,3325225927,IN
-3325225928,3325225943,CA
+3325225928,3325225935,CO
+3325225936,3325225943,CA
3325225944,3325225951,PL
3325225952,3325225967,MX
3325225968,3325225983,US
@@ -119765,7 +122944,8 @@
3325226032,3325226039,HK
3325226040,3325226071,CA
3325226072,3325226075,BR
-3325226076,3325226087,CA
+3325226076,3325226079,CA
+3325226080,3325226087,ES
3325226088,3325226091,EC
3325226092,3325226095,CA
3325226096,3325226099,PL
@@ -119791,24 +122971,26 @@
3325226444,3325226447,CA
3325226448,3325226451,LT
3325226452,3325226455,CA
-3325226456,3325226463,IN
-3325226464,3325226495,CA
-3325226496,3325227007,US
+3325226456,3325226463,US
+3325226464,3325226592,CA
+3325226593,3325226593,US
+3325226594,3325226751,CA
+3325226752,3325227007,US
3325227008,3325227039,CA
3325227040,3325227071,BR
3325227072,3325227087,US
3325227088,3325227107,CA
3325227108,3325227111,AR
3325227112,3325227119,US
-3325227120,3325227223,CA
+3325227120,3325227199,CA
+3325227200,3325227215,GB
+3325227216,3325227223,CA
3325227224,3325227227,GB
3325227228,3325227279,CA
3325227280,3325227295,BR
3325227296,3325227331,CA
3325227332,3325227335,US
-3325227336,3325227371,CA
-3325227372,3325227375,AU
-3325227376,3325227383,CA
+3325227336,3325227383,CA
3325227384,3325227387,MA
3325227388,3325227391,CA
3325227392,3325227395,PK
@@ -119841,16 +123023,17 @@
3325227800,3325227871,CA
3325227872,3325227875,BR
3325227876,3325227879,US
-3325227880,3325227999,CA
-3325228000,3325228015,IN
-3325228016,3325228063,CA
-3325228064,3325228159,US
+3325227880,3325228063,CA
+3325228064,3325228079,US
+3325228080,3325228087,NZ
+3325228088,3325228159,US
3325228160,3325228175,AE
3325228176,3325228255,CA
3325228256,3325228263,US
3325228264,3325228287,CA
3325228288,3325228415,US
-3325228416,3325228615,CA
+3325228416,3325228607,CA
+3325228608,3325228615,DM
3325228616,3325228623,US
3325228624,3325228675,CA
3325228676,3325228683,US
@@ -119871,7 +123054,8 @@
3325228932,3325228935,LU
3325228936,3325228991,CA
3325228992,3325229007,BR
-3325229008,3325229071,CA
+3325229008,3325229063,CA
+3325229064,3325229071,JO
3325229072,3325229079,IN
3325229080,3325229083,CA
3325229084,3325229087,US
@@ -119887,13 +123071,14 @@
3325229328,3325229331,US
3325229332,3325229351,CA
3325229352,3325229359,BR
-3325229360,3325229411,CA
+3325229360,3325229363,US
+3325229364,3325229411,CA
3325229412,3325229415,RU
3325229416,3325229459,CA
3325229460,3325229471,BR
3325229472,3325229487,US
3325229488,3325229499,CA
-3325229500,3325229503,IN
+3325229500,3325229503,US
3325229504,3325229511,CA
3325229512,3325229515,IN
3325229516,3325229519,CA
@@ -119901,7 +123086,8 @@
3325229528,3325229535,CA
3325229536,3325229551,FR
3325229552,3325229555,US
-3325229556,3325229591,CA
+3325229556,3325229559,PL
+3325229560,3325229591,CA
3325229592,3325229599,US
3325229600,3325229615,CA
3325229616,3325229619,MX
@@ -119941,8 +123127,7 @@
3325230136,3325230143,FR
3325230144,3325230167,CA
3325230168,3325230171,PK
-3325230172,3325230175,US
-3325230176,3325230319,CA
+3325230172,3325230319,CA
3325230320,3325230323,US
3325230324,3325230447,CA
3325230448,3325230455,US
@@ -119961,9 +123146,8 @@
3325230848,3325230983,CA
3325230984,3325230991,US
3325230992,3325231007,FR
-3325231008,3325231071,CA
-3325231072,3325231079,US
-3325231080,3325231095,CA
+3325231008,3325231039,JO
+3325231040,3325231095,CA
3325231096,3325231099,US
3325231100,3325231103,BR
3325231104,3325232127,US
@@ -120026,7 +123210,9 @@
3325453312,3325454335,CA
3325454336,3325463807,US
3325463808,3325464063,ZA
-3325464064,3325465087,NA
+3325464064,3325464575,NA
+3325464576,3325464831,ZA
+3325464832,3325465087,NA
3325465088,3325466623,ZA
3325466624,3325467135,US
3325467136,3325469695,ZA
@@ -120067,7 +123253,8 @@
3325574144,3325575167,BB
3325575168,3325630975,US
3325630976,3325631487,CA
-3325631488,3325640703,US
+3325632004,3325632004,US
+3325632512,3325640703,US
3325640704,3325644799,CA
3325644800,3325689855,US
3325689856,3325690367,JM
@@ -120076,7 +123263,76 @@
3325691904,3325693183,BR
3325693184,3325722623,US
3325722624,3325755391,CA
-3325755392,3325956095,US
+3325755392,3325919267,US
+3325919268,3325919269,GB
+3325919270,3325919271,US
+3325919272,3325919279,AU
+3325919280,3325919375,US
+3325919376,3325919379,GB
+3325919380,3325919735,US
+3325919736,3325919743,AU
+3325919744,3325920351,US
+3325920352,3325920367,AU
+3325920368,3325920415,US
+3325920416,3325920431,IE
+3325920432,3325920679,US
+3325920680,3325920687,CH
+3325920688,3325920695,MX
+3325920696,3325920799,US
+3325920800,3325920803,PH
+3325920804,3325921287,US
+3325921288,3325921295,CA
+3325921296,3325921319,US
+3325921320,3325921323,CA
+3325921324,3325921439,US
+3325921440,3325921447,FI
+3325921448,3325921499,US
+3325921500,3325921501,CO
+3325921502,3325921641,US
+3325921642,3325921645,CO
+3325921646,3325921971,US
+3325921972,3325921975,PH
+3325921976,3325922051,US
+3325922052,3325922055,MX
+3325922056,3325922191,US
+3325922192,3325922195,BR
+3325922196,3325922503,US
+3325922504,3325922511,FR
+3325922512,3325922643,US
+3325922644,3325922647,MX
+3325922648,3325923075,US
+3325923076,3325923079,CA
+3325923080,3325923215,US
+3325923216,3325923263,GB
+3325923264,3325923295,US
+3325923296,3325923299,MX
+3325923300,3325923455,US
+3325923456,3325923519,NO
+3325923520,3325924191,US
+3325924192,3325924195,MX
+3325924196,3325924351,US
+3325924352,3325924355,CA
+3325924356,3325925683,US
+3325925684,3325925687,NZ
+3325925688,3325926639,US
+3325926640,3325926643,GB
+3325926644,3325926707,US
+3325926708,3325926711,MX
+3325926712,3325926865,US
+3325926866,3325926867,AT
+3325926868,3325927009,US
+3325927010,3325927011,NZ
+3325927012,3325927015,US
+3325927016,3325927017,ZA
+3325927018,3325948415,US
+3325948416,3325948447,AT
+3325948448,3325951087,US
+3325951088,3325951091,GB
+3325951092,3325951163,US
+3325951164,3325951167,SE
+3325951168,3325951187,US
+3325951188,3325951191,ES
+3325951192,3325956095,US
3325956096,3325960191,CA
3325960192,3325976063,US
3325976064,3325976319,CA
@@ -120111,7 +123367,75 @@
3326615552,3326619647,US
3326619648,3326623743,CA
3326623744,3326631935,US
-3326631936,3326640127,CA
+3326631936,3326632079,CA
+3326632080,3326632087,MX
+3326632088,3326632103,CA
+3326632104,3326632111,MT
+3326632112,3326632119,US
+3326632120,3326632127,EG
+3326632128,3326632143,CA
+3326632144,3326632151,BG
+3326632152,3326632159,CA
+3326632160,3326632167,US
+3326632168,3326632175,HU
+3326632176,3326632183,RU
+3326632184,3326632191,US
+3326632192,3326632207,CA
+3326632208,3326632215,BR
+3326632216,3326632223,SA
+3326632224,3326632231,BR
+3326632232,3326632239,AR
+3326632240,3326632247,RO
+3326632248,3326632255,US
+3326632256,3326632271,CA
+3326632272,3326632287,US
+3326632288,3326632295,CA
+3326632296,3326632303,US
+3326632304,3326632311,GI
+3326632312,3326632319,CA
+3326632320,3326632327,UA
+3326632328,3326632335,AR
+3326632336,3326632343,CA
+3326632344,3326632351,PA
+3326632352,3326632375,CA
+3326632376,3326632383,US
+3326632384,3326632391,TR
+3326632392,3326632399,CA
+3326632400,3326632407,US
+3326632408,3326632415,CA
+3326632416,3326632423,RU
+3326632424,3326632431,CA
+3326632432,3326632447,BR
+3326632448,3326632463,CA
+3326632464,3326632471,PK
+3326632472,3326632479,US
+3326632480,3326632487,IN
+3326632488,3326632495,US
+3326632496,3326632503,CA
+3326632504,3326632511,IN
+3326632512,3326632519,BR
+3326632520,3326632527,US
+3326632528,3326632535,AE
+3326632536,3326632583,CA
+3326632584,3326632591,BR
+3326632592,3326632599,CA
+3326632600,3326632607,MX
+3326632608,3326632615,CA
+3326632616,3326632623,IN
+3326632624,3326632647,CA
+3326632648,3326632655,BR
+3326632656,3326632671,PT
+3326632672,3326632679,BR
+3326632680,3326632687,CA
+3326632688,3326632695,LB
+3326632696,3326632703,US
+3326632704,3326633535,CA
+3326633536,3326633567,CY
+3326633568,3326634447,CA
+3326634448,3326634479,CR
+3326634480,3326637615,CA
+3326637616,3326637631,CH
+3326637632,3326640127,CA
3326640128,3326680831,US
3326680832,3326681087,CA
3326681088,3326681343,US
@@ -120233,13 +123557,92 @@
3328481761,3328482303,CA
3328482304,3328482815,US
3328482816,3328483327,CA
-3328483328,3328515071,US
+3328483328,3328491007,US
+3328491008,3328491519,GB
+3328491520,3328515071,US
3328515072,3328516095,DM
-3328516096,3328617983,US
+3328516096,3328542879,US
+3328542880,3328542887,CA
+3328542888,3328543583,US
+3328543584,3328543591,CH
+3328543592,3328544031,US
+3328544032,3328544039,CA
+3328544040,3328544063,US
+3328544064,3328544071,MX
+3328544072,3328544087,US
+3328544088,3328544095,CA
+3328544096,3328544135,US
+3328544136,3328544143,MX
+3328544144,3328544151,US
+3328544152,3328544159,UY
+3328544160,3328544327,US
+3328544328,3328544331,MX
+3328544332,3328550279,US
+3328550280,3328550283,CA
+3328550284,3328550323,US
+3328550324,3328550327,GB
+3328550328,3328550975,US
+3328550976,3328550983,MX
+3328550984,3328551031,US
+3328551032,3328551039,GB
+3328551040,3328551103,US
+3328551104,3328551111,MX
+3328551112,3328551191,US
+3328551192,3328551199,FR
+3328551200,3328551231,US
+3328551232,3328551239,DO
+3328551240,3328551303,US
+3328551304,3328551311,KY
+3328551312,3328551319,US
+3328551320,3328551327,AW
+3328551328,3328551479,US
+3328551480,3328551483,CH
+3328551484,3328551871,US
+3328551872,3328551903,FR
+3328551904,3328552369,US
+3328552370,3328552371,CA
+3328552372,3328552433,US
+3328552434,3328552435,CN
+3328552436,3328552511,US
+3328552512,3328552519,CA
+3328552520,3328552911,US
+3328552912,3328552915,MX
+3328552916,3328555047,US
+3328555048,3328555055,IE
+3328555056,3328555063,AU
+3328555064,3328555127,US
+3328555128,3328555135,GB
+3328555136,3328555167,US
+3328555168,3328555175,MX
+3328555176,3328555255,US
+3328555256,3328555263,CA
+3328555264,3328555815,US
+3328555816,3328555819,CA
+3328555820,3328556555,US
+3328556556,3328556559,GB
+3328556560,3328556583,US
+3328556584,3328556587,CA
+3328556588,3328556707,US
+3328556708,3328556711,FR
+3328556712,3328556863,US
+3328556864,3328556867,IE
+3328556868,3328556883,US
+3328556884,3328556887,MX
+3328556888,3328556907,US
+3328556908,3328556911,CA
+3328556912,3328556975,US
+3328556976,3328556979,ES
+3328556980,3328556991,US
+3328556992,3328556995,MX
+3328556996,3328557027,US
+3328557028,3328557031,CA
+3328557032,3328557043,US
+3328557044,3328557047,ES
+3328557048,3328617983,US
3328617984,3328618239,CA
-3328618240,3328629631,US
-3328629632,3328629695,GB
-3328629696,3328630015,US
+3328618240,3328629503,US
+3328629504,3328629759,GB
+3328629760,3328630015,US
3328630016,3328630271,CA
3328630272,3328630783,US
3328630784,3328631807,CA
@@ -120499,17 +123902,13 @@
3332002064,3332002071,CA
3332002072,3332002079,FI
3332002080,3332002111,CA
-3332002112,3332002143,US
-3332002144,3332002159,CA
-3332002160,3332002215,US
+3332002112,3332002215,US
3332002216,3332002223,CA
3332002224,3332002303,US
3332002304,3332002431,CA
3332002432,3332002495,US
3332002496,3332002559,CA
-3332002560,3332002815,IN
-3332002816,3332003711,US
-3332003712,3332003839,IT
+3332002560,3332003839,US
3332003840,3332004607,CA
3332004608,3332004671,US
3332004672,3332004863,CA
@@ -120548,9 +123947,7 @@
3332503040,3332503551,US
3332503552,3332505343,CA
3332505344,3332505855,US
-3332505856,3332508671,CA
-3332508672,3332508927,US
-3332508928,3332525311,CA
+3332505856,3332525311,CA
3332525312,3332525574,US
3332525575,3332525575,CA
3332525576,3332526079,US
@@ -120642,7 +124039,9 @@
3333018112,3333023231,CA
3333023232,3333025279,US
3333025280,3333029631,CA
-3333029632,3333385983,US
+3333029632,3333383167,US
+3333383168,3333384191,CN
+3333384192,3333385983,US
3333385984,3333386239,JP
3333386240,3333396223,US
3333396224,3333396479,JP
@@ -120728,7 +124127,9 @@
3334020096,3334021119,CA
3334021120,3334068479,US
3334068480,3334068735,CA
-3334068736,3334138623,US
+3334068736,3334079487,US
+3334079488,3334079999,DE
+3334080000,3334138623,US
3334138624,3334138879,BM
3334138880,3334187775,US
3334187776,3334188031,BM
@@ -120736,8 +124137,8 @@
3334932224,3334932479,CA
3334932480,3334934015,US
3334934016,3334934527,CA
-3334934528,3334962431,US
-3334962432,3334963199,NL
+3334934528,3334962175,US
+3334962176,3334963199,NL
3334963200,3334995967,US
3334995968,3334998527,PH
3334998528,3335004159,US
@@ -120825,7 +124226,9 @@
3335439616,3335439871,CH
3335439872,3335440383,US
3335440384,3335441151,CH
-3335441152,3335456767,US
+3335441152,3335451903,US
+3335451904,3335452159,CA
+3335452160,3335456767,US
3335458816,3335460863,BM
3335460864,3335475199,US
3335475200,3335475455,DE
@@ -120841,7 +124244,9 @@
3335573760,3335574015,IN
3335574016,3335719071,US
3335719072,3335719087,IN
-3335719088,3335784191,US
+3335719088,3335747071,US
+3335747072,3335749631,NL
+3335749632,3335784191,US
3335784192,3335784447,CA
3335784448,3335860991,US
3335860992,3335861247,MX
@@ -120917,7 +124322,9 @@
3337651712,3337653503,CH
3337653504,3337653759,JP
3337653760,3337682943,CH
-3337682944,3337882111,US
+3337682944,3337736959,US
+3337736960,3337737215,SG
+3337737216,3337882111,US
3337882112,3337882623,AU
3337882624,3337891839,US
3337891840,3337892127,IN
@@ -120954,8 +124361,7 @@
3337961496,3337961519,US
3337961520,3337961527,RO
3337961528,3337961535,US
-3337961536,3337961599,LT
-3337961600,3337961983,CA
+3337961536,3337961983,CA
3337961984,3337961999,US
3337962000,3337962007,CA
3337962008,3337962015,US
@@ -120970,15 +124376,15 @@
3337962224,3337962239,CA
3337962240,3337962327,US
3337962328,3337962335,CA
-3337962336,3337962431,US
-3337962432,3337962511,CA
+3337962336,3337962495,US
+3337962496,3337962511,CA
3337962512,3337962519,US
3337962520,3337962599,CA
3337962600,3337962623,US
3337962624,3337962799,CA
3337962800,3337962807,US
-3337962808,3337962831,CA
-3337962832,3337962943,US
+3337962808,3337962815,CA
+3337962816,3337962943,US
3337962944,3337962951,CA
3337962952,3337962959,NO
3337962960,3337962967,CA
@@ -120995,36 +124401,34 @@
3337963320,3337963327,US
3337963328,3337963335,CA
3337963336,3337963343,US
-3337963344,3337963359,CA
-3337963360,3337963399,US
+3337963344,3337963375,CA
+3337963376,3337963383,US
+3337963384,3337963391,CA
+3337963392,3337963399,US
3337963400,3337963423,CA
3337963424,3337963439,US
3337963440,3337963447,CA
3337963448,3337963455,US
3337963456,3337963487,CA
3337963488,3337963495,US
-3337963496,3337963535,CA
-3337963536,3337963631,US
+3337963496,3337963519,CA
+3337963520,3337963631,US
3337963632,3337963647,CA
3337963648,3337963743,US
3337963744,3337963759,CA
3337963760,3337963767,US
-3337963768,3337963775,CA
-3337963776,3337963783,AZ
+3337963768,3337963783,CA
3337963784,3337963791,US
3337963792,3337963799,AZ
3337963800,3337963807,US
-3337963808,3337963847,CA
-3337963848,3337963855,BR
-3337963856,3337963863,CA
+3337963808,3337963863,CA
3337963864,3337963871,MA
3337963872,3337963879,US
3337963880,3337963903,CA
3337963904,3337963911,MA
3337963912,3337963919,CA
3337963920,3337963951,US
-3337963952,3337963967,CA
-3337963968,3337964031,IN
+3337963952,3337964031,CA
3337964032,3337964287,US
3337964288,3337964295,CA
3337964296,3337964335,US
@@ -121321,7 +124725,8 @@
3339753472,3339754495,CA
3339754496,3339760639,US
3339760640,3339761663,CA
-3339761664,3339766047,US
+3339761664,3339763711,US
+3339764736,3339766047,US
3339766048,3339766055,DE
3339766056,3339766071,US
3339766072,3339766079,CA
@@ -121442,7 +124847,9 @@
3339963168,3339963199,SC
3339963200,3339965439,US
3339965440,3339968511,CA
-3339968512,3339975935,US
+3339968512,3339974911,US
+3339974912,3339975167,GB
+3339975168,3339975935,US
3339975936,3339976191,CA
3339976192,3340080127,US
3340080128,3340081151,CA
@@ -121480,8 +124887,7 @@
3340460032,3340462079,PR
3340462080,3340481535,US
3340481536,3340482559,CA
-3340482560,3340483583,US
-3340484608,3340490751,US
+3340482560,3340490751,US
3340490752,3340492799,CA
3340492800,3340493567,US
3340493568,3340493823,HK
@@ -121677,9 +125083,11 @@
3341535056,3341535087,US
3341535088,3341535091,GH
3341535092,3341535095,AE
-3341535096,3341535167,US
+3341535096,3341535103,BR
+3341535104,3341535167,US
3341535168,3341535171,CN
-3341535172,3341535183,US
+3341535172,3341535175,LI
+3341535176,3341535183,US
3341535184,3341535187,ID
3341535188,3341535195,US
3341535196,3341535199,SA
@@ -121839,7 +125247,9 @@
3343013888,3343015695,CA
3343015696,3343015727,US
3343015728,3343015935,CA
-3343015936,3343046919,US
+3343015936,3343020031,US
+3343020032,3343021055,CA
+3343021056,3343046919,US
3343046920,3343046923,IT
3343046924,3343046939,US
3343046940,3343046943,RU
@@ -121984,9 +125394,7 @@
3344148480,3344154623,US
3344154624,3344156671,GD
3344156672,3344158719,CA
-3344158720,3344165631,US
-3344165632,3344165663,MX
-3344165664,3344166911,US
+3344158720,3344166911,US
3344166912,3344168959,CA
3344168960,3344171263,US
3344171264,3344195583,CA
@@ -122490,9 +125898,7 @@
3349647360,3349648165,US
3349648166,3349648168,NG
3349648169,3349649407,US
-3349649408,3349650687,CA
-3349650688,3349650943,GB
-3349650944,3349653503,CA
+3349649408,3349653503,CA
3349653504,3349723175,US
3349723176,3349723183,LK
3349723184,3349723199,US
@@ -122505,9 +125911,7 @@
3349723997,3349724000,LK
3349724001,3349724191,US
3349724192,3349724199,AF
-3349724200,3349724207,US
-3349724208,3349724215,CA
-3349724216,3349724351,US
+3349724200,3349724351,US
3349724352,3349724359,PK
3349724360,3349724415,US
3349724416,3349724447,AE
@@ -122627,7 +126031,9 @@
3350628352,3350642687,US
3350642688,3350643711,TC
3350643712,3350645759,US
-3350646784,3350648831,US
+3350645760,3350646015,CA
+3350646016,3350646271,US
+3350646528,3350648831,US
3350648832,3350650623,CA
3350650624,3350650631,US
3350650632,3350650879,CA
@@ -122755,15 +126161,13 @@
3351074370,3351074373,US
3351074374,3351074374,AR
3351074375,3351074375,BR
-3351074376,3351074377,DE
+3351074376,3351074376,DE
+3351074377,3351074377,US
3351074378,3351074378,BD
-3351074379,3351074379,US
-3351074380,3351074380,DE
-3351074381,3351074381,US
+3351074379,3351074381,US
3351074382,3351074382,KW
3351074383,3351074383,BR
-3351074384,3351074385,US
-3351074386,3351074386,RU
+3351074384,3351074386,US
3351074387,3351074387,BR
3351074388,3351074388,DE
3351074389,3351074389,US
@@ -122797,62 +126201,47 @@
3351074441,3351074444,US
3351074445,3351074445,CA
3351074446,3351074446,CL
-3351074447,3351074456,US
-3351074457,3351074457,RU
-3351074458,3351074463,US
+3351074447,3351074463,US
3351074464,3351074466,BR
-3351074467,3351074467,US
-3351074468,3351074468,RU
-3351074469,3351074469,US
-3351074470,3351074471,RU
-3351074472,3351074472,US
+3351074467,3351074472,US
3351074473,3351074473,BR
-3351074474,3351074474,RU
+3351074474,3351074474,US
3351074475,3351074475,BR
-3351074476,3351074480,US
-3351074481,3351074482,RU
-3351074483,3351074483,US
+3351074476,3351074483,US
3351074484,3351074484,CA
3351074485,3351074486,US
3351074487,3351074487,DE
3351074488,3351074488,US
3351074489,3351074489,BR
-3351074490,3351074495,RU
-3351074496,3351074496,US
+3351074490,3351074496,US
3351074497,3351074497,BD
-3351074498,3351074498,RU
+3351074498,3351074498,US
3351074499,3351074499,CL
-3351074500,3351074500,RU
-3351074501,3351074504,US
+3351074500,3351074504,US
3351074505,3351074505,DE
-3351074506,3351074507,US
-3351074508,3351074511,RU
+3351074506,3351074511,US
3351074512,3351074512,AR
3351074513,3351074513,AE
-3351074514,3351074516,RU
+3351074514,3351074516,US
3351074517,3351074518,CA
-3351074519,3351074521,US
-3351074522,3351074524,RU
+3351074519,3351074524,US
3351074525,3351074528,CA
-3351074529,3351074538,US
-3351074539,3351074542,RU
+3351074529,3351074542,US
3351074543,3351074543,BR
-3351074544,3351074545,US
-3351074546,3351074550,RU
+3351074544,3351074550,US
3351074551,3351074551,SK
3351074552,3351074557,US
3351074558,3351074558,CA
3351074559,3351074559,MY
-3351074560,3351074690,US
-3351074691,3351074691,BR
-3351074692,3351074711,US
+3351074560,3351074711,US
3351074712,3351074712,TR
3351074713,3351074731,US
3351074732,3351074732,BR
3351074733,3351074734,US
3351074735,3351074735,BR
3351074736,3351074743,US
-3351074744,3351074745,BR
+3351074744,3351074744,BR
+3351074745,3351074745,US
3351074746,3351074746,AU
3351074747,3351074750,US
3351074751,3351074751,HU
@@ -122925,8 +126314,8 @@
3351198176,3351198183,US
3351198184,3351198187,GH
3351198188,3351198215,US
-3351198216,3351198223,VN
-3351198224,3351198231,US
+3351198216,3351198219,VN
+3351198220,3351198231,US
3351198232,3351198235,CA
3351198236,3351198239,US
3351198240,3351198247,TR
@@ -123227,7 +126616,15 @@
3351963648,3351969279,US
3351969280,3351969535,CA
3351969536,3351969791,US
-3351969792,3352035327,IL
+3351969792,3351970047,IL
+3351970048,3351970815,US
+3351970816,3351987199,IL
+3351987200,3351987455,US
+3351987456,3351996671,IL
+3351996672,3351997183,US
+3351997184,3352006911,IL
+3352006912,3352007167,US
+3352007168,3352035327,IL
3352035328,3352036351,CA
3352036352,3352046591,US
3352046592,3352046783,CA
@@ -123265,38 +126662,14 @@
3352616960,3352887295,CA
3352887296,3352916379,US
3352916380,3352916380,VE
-3352916381,3352916479,US
-3352916480,3352916506,BR
-3352916507,3352916507,US
-3352916508,3352916512,BR
-3352916513,3352916513,US
-3352916514,3352916514,BR
-3352916515,3352916515,US
-3352916516,3352916527,BR
-3352916528,3352916530,US
-3352916531,3352916533,BR
-3352916534,3352916534,US
-3352916535,3352916541,BR
-3352916542,3352916542,US
-3352916543,3352916557,BR
-3352916558,3352916561,US
+3352916381,3352916561,US
3352916562,3352916562,GB
3352916563,3352916564,BR
-3352916565,3352916566,US
-3352916567,3352916584,BR
-3352916585,3352916586,US
+3352916565,3352916586,US
3352916587,3352916593,BR
-3352916594,3352916607,US
-3352916608,3352916615,BR
-3352916616,3352916619,US
-3352916620,3352916635,BR
-3352916636,3352916636,US
-3352916637,3352916638,BR
+3352916594,3352916638,US
3352916639,3352916639,DE
-3352916640,3352916640,BR
-3352916641,3352916648,US
-3352916649,3352916689,BR
-3352916690,3352916690,US
+3352916640,3352916690,US
3352916691,3352916694,BR
3352916695,3352918015,US
3352918016,3352919039,CA
@@ -123327,8 +126700,8 @@
3353335391,3353335392,US
3353335393,3353335394,NL
3353335395,3353335396,US
-3353335397,3353335402,NL
-3353335403,3353335407,US
+3353335397,3353335400,NL
+3353335401,3353335407,US
3353335408,3353335411,NL
3353335412,3353335416,US
3353335417,3353335420,NL
@@ -123336,8 +126709,8 @@
3353335423,3353335424,NL
3353335425,3353335426,US
3353335427,3353335435,NL
-3353335436,3353335437,US
-3353335438,3353335445,NL
+3353335436,3353335439,US
+3353335440,3353335445,NL
3353335446,3353335451,US
3353335452,3353335455,NL
3353335456,3353335458,US
@@ -123426,7 +126799,8 @@
3353736192,3353736959,PR
3353736960,3353737215,US
3353737216,3353737471,GB
-3353737472,3353739775,US
+3353737472,3353739519,US
+3353739520,3353739775,IN
3353739776,3353740007,HK
3353740008,3353740015,SG
3353740016,3353740031,CN
@@ -123434,8 +126808,8 @@
3353740264,3353740271,SG
3353740272,3353740287,CN
3353740288,3353740799,US
-3353740800,3353741055,IN
-3353741056,3353752585,US
+3353740800,3353741311,IN
+3353741312,3353752585,US
3353752586,3353752589,BE
3353752590,3353753055,US
3353753056,3353753059,BR
@@ -123788,13 +127162,20 @@
3354823424,3354823679,US
3354823680,3354853119,CA
3354853120,3354853375,US
-3354853376,3354866175,CA
+3354853376,3354855423,DE
+3354855424,3354857471,FR
+3354857472,3354858495,DE
+3354858496,3354859519,FR
+3354859520,3354861567,NL
+3354861568,3354866175,CA
3354866176,3354866431,US
3354866432,3354869759,CA
3354869760,3354873855,US
3354873856,3354875391,CA
-3354875392,3354875903,US
-3354875904,3354918911,CA
+3354875392,3354877951,US
+3354877952,3354882047,CA
+3354882048,3354886143,US
+3354886144,3354918911,CA
3354918912,3354955775,US
3354955776,3354956031,AR
3354956032,3354972159,US
@@ -124171,24 +127552,10 @@
3356102400,3356102655,PA
3356102656,3356105727,CL
3356105728,3356106751,SV
-3356106752,3356106975,US
-3356106976,3356107007,FR
-3356107008,3356107263,US
-3356107264,3356107327,BR
-3356107328,3356107519,US
-3356107520,3356107551,BR
-3356107552,3356107775,US
-3356107776,3356107975,HN
-3356107976,3356107983,IS
-3356107984,3356108063,HN
-3356108064,3356108071,IT
-3356108072,3356108511,HN
-3356108512,3356108519,US
-3356108520,3356109119,HN
-3356109120,3356109135,FR
-3356109136,3356110015,HN
-3356110016,3356110031,US
-3356110032,3356110335,HN
+3356106752,3356107263,HN
+3356107264,3356107295,BR
+3356107296,3356107775,US
+3356107776,3356110335,HN
3356110336,3356110847,US
3356110848,3356113919,BR
3356113920,3356114943,UY
@@ -124345,10 +127712,8 @@
3356336896,3356337919,HN
3356337920,3356340479,SV
3356340480,3356340735,HN
-3356340736,3356340991,SV
-3356340992,3356341247,HN
-3356341248,3356341503,SV
-3356341504,3356342015,HN
+3356340736,3356341759,SV
+3356341760,3356342015,HN
3356342016,3356343039,SV
3356343040,3356343295,HN
3356343296,3356344319,SV
@@ -124376,7 +127741,9 @@
3356390400,3356390655,AR
3356390656,3356391167,CL
3356391168,3356391423,PA
-3356393472,3356413567,CL
+3356393472,3356413183,CL
+3356413184,3356413311,CO
+3356413312,3356413567,CL
3356413568,3356413951,CO
3356413952,3356419839,CL
3356419840,3356419967,CO
@@ -124386,7 +127753,9 @@
3356420736,3356420991,CO
3356420992,3356421119,CL
3356421120,3356422143,CO
-3356422144,3356426239,CL
+3356422144,3356425471,CL
+3356425472,3356425599,CO
+3356425600,3356426239,CL
3356426240,3356427263,BR
3356427264,3356491775,US
3356491776,3356493823,PE
@@ -124395,9 +127764,7 @@
3356499968,3356508159,MX
3356508160,3356508671,AR
3356508672,3356509183,CR
-3356509184,3356509439,CO
-3356509440,3356509503,US
-3356509504,3356510207,CO
+3356509184,3356510207,CO
3356510208,3356511999,AR
3356512000,3356512255,CO
3356512256,3356514303,AR
@@ -124503,13 +127870,11 @@
3357442432,3357442439,HN
3357442440,3357442655,GT
3357442656,3357442671,NI
-3357442672,3357442815,GT
-3357442816,3357443071,SV
+3357442672,3357443007,GT
+3357443008,3357443071,SV
3357443072,3357443599,GT
3357443600,3357443615,HN
-3357443616,3357443735,GT
-3357443736,3357443743,HN
-3357443744,3357444207,GT
+3357443616,3357444207,GT
3357444208,3357444215,HN
3357444216,3357444351,GT
3357444352,3357444607,HN
@@ -124521,18 +127886,13 @@
3357449152,3357449727,HN
3357449728,3357451167,GT
3357451168,3357451175,HN
-3357451176,3357451263,GT
-3357451264,3357451519,HN
-3357451520,3357451775,NI
-3357451776,3357452287,GT
+3357451176,3357452287,GT
3357452288,3357452543,HN
3357452544,3357452799,GT
3357452800,3357453055,NI
3357453056,3357453311,SV
3357453312,3357453567,HN
-3357453568,3357455871,GT
-3357455872,3357456127,NI
-3357456128,3357456639,GT
+3357453568,3357456639,GT
3357456640,3357456895,HN
3357456896,3357457919,GT
3357457920,3357458431,HN
@@ -124540,33 +127900,25 @@
3357474816,3357475071,US
3357475072,3357475887,AR
3357475888,3357475903,VE
-3357475904,3357476255,AR
-3357476256,3357476271,VE
-3357476272,3357476351,AR
+3357475904,3357476351,AR
3357476352,3357476607,EC
-3357476608,3357476863,AR
+3357476608,3357476863,US
3357476864,3357477375,EC
3357477376,3357477887,AR
3357477888,3357478911,CO
-3357478912,3357479087,AR
-3357479088,3357479095,CO
+3357478912,3357479079,AR
+3357479080,3357479095,CO
3357479096,3357480031,AR
3357480032,3357480039,CO
3357480040,3357480103,AR
3357480104,3357480111,CO
3357480112,3357480159,AR
3357480160,3357480175,CO
-3357480176,3357480407,AR
-3357480408,3357480415,CO
-3357480416,3357480423,AR
-3357480424,3357480427,CO
-3357480428,3357480463,AR
+3357480176,3357480463,AR
3357480464,3357480479,CO
3357480480,3357480559,AR
3357480560,3357480575,CO
-3357480576,3357480751,AR
-3357480752,3357480767,CO
-3357480768,3357480959,AR
+3357480576,3357480959,AR
3357480960,3357483007,EC
3357483008,3357491199,CL
3357491200,3357499391,CO
@@ -124574,14 +127926,15 @@
3357507584,3357515775,VE
3357515776,3357523967,SV
3357523968,3357532159,CO
-3357532160,3357556735,AR
-3357556736,3357556991,VE
-3357556992,3357557759,MX
-3357557760,3357559295,EC
+3357532160,3357556991,AR
+3357556992,3357557247,MX
+3357557248,3357558175,AR
+3357558176,3357558183,EC
+3357558184,3357559007,AR
+3357559008,3357559015,EC
+3357559016,3357559295,AR
3357559296,3357559551,CA
-3357559552,3357560175,AR
-3357560176,3357560183,VE
-3357560184,3357560319,AR
+3357559552,3357560319,AR
3357560320,3357560575,MX
3357560576,3357560831,AR
3357560832,3357561855,CO
@@ -124638,9 +127991,7 @@
3357728768,3357736959,BR
3357736960,3357745151,VE
3357745152,3357753343,CO
-3357753344,3357757487,VE
-3357757488,3357757495,BO
-3357757496,3357773823,VE
+3357753344,3357773823,VE
3357773824,3357775871,PA
3357775872,3357776127,US
3357776128,3357776383,UY
@@ -124648,7 +127999,9 @@
3357776896,3357777919,CL
3357777920,3357780559,GT
3357780560,3357780575,SV
-3357780576,3357784503,GT
+3357780576,3357783935,GT
+3357783936,3357784063,NI
+3357784064,3357784503,GT
3357784504,3357784511,SV
3357784512,3357785535,GT
3357785536,3357785567,SV
@@ -124662,37 +128015,36 @@
3358064640,3358130175,UY
3358130176,3358131199,EC
3358131200,3358132223,CO
-3358132224,3358133631,AR
-3358133632,3358133759,VE
-3358133760,3358142719,AR
+3358132224,3358142719,AR
3358142720,3358142975,US
3358142976,3358143231,CO
-3358143232,3358143487,VE
+3358143232,3358143311,AR
+3358143312,3358143327,VE
+3358143328,3358143359,AR
+3358143360,3358143367,VE
+3358143368,3358143487,AR
3358143488,3358143999,US
3358144000,3358144127,CL
3358144128,3358144255,AR
3358144256,3358144511,CL
3358144512,3358144639,AR
3358144640,3358144767,VE
-3358144768,3358144839,AR
-3358144840,3358144847,VE
-3358144848,3358149735,AR
+3358144768,3358149735,AR
3358149736,3358149743,CO
3358149744,3358150367,AR
3358150368,3358150399,CO
3358150400,3358151039,AR
3358151040,3358151167,EC
-3358151168,3358151423,AR
-3358151424,3358151679,EC
+3358151168,3358151551,AR
+3358151552,3358151679,EC
3358151680,3358151807,PE
3358151808,3358152063,AR
3358152064,3358152191,PE
3358152192,3358153679,AR
3358153680,3358153695,PR
-3358153696,3358153855,AR
-3358153856,3358153983,EC
-3358153984,3358154239,AR
-3358154240,3358154751,CL
+3358153696,3358154431,AR
+3358154432,3358154447,CL
+3358154448,3358154751,AR
3358154752,3358158847,PE
3358158848,3358159423,AR
3358159424,3358159455,EC
@@ -124701,9 +128053,7 @@
3358160896,3358236671,AR
3358236672,3358244863,CL
3358244864,3358261247,DO
-3358261248,3358264063,AR
-3358264064,3358264319,PY
-3358264320,3358326783,AR
+3358261248,3358326783,AR
3358326784,3358392319,VE
3358392320,3358457855,AR
3358457856,3358482175,PA
@@ -124714,10 +128064,12 @@
3358527488,3358530047,AR
3358530048,3358530303,VE
3358530304,3358530815,AR
-3358530816,3358531583,VE
-3358531584,3358532095,AR
+3358530816,3358531839,VE
+3358531840,3358532095,AR
3358532096,3358532351,VE
-3358532352,3358533119,AR
+3358532352,3358532607,AR
+3358532608,3358532863,VE
+3358532864,3358533119,AR
3358533120,3358533631,VE
3358533632,3358533887,AR
3358533888,3358534143,VE
@@ -124725,18 +128077,22 @@
3358543616,3358543871,VE
3358543872,3358544127,MX
3358544128,3358547967,AR
-3358547968,3358548623,VE
-3358548624,3358548639,AR
-3358548640,3358548991,VE
+3358547968,3358548479,VE
+3358548480,3358548735,AR
+3358548736,3358548991,VE
3358548992,3358549503,AR
3358549504,3358550015,VE
-3358550016,3358563327,AR
-3358563328,3358564095,CO
+3358550016,3358553599,AR
+3358553600,3358553855,VE
+3358553856,3358563327,AR
+3358563328,3358563839,CO
+3358563840,3358564095,VE
3358564096,3358567423,AR
3358567424,3358568447,CO
3358568448,3358578687,AR
3358578688,3358579711,CO
-3358579712,3358587903,AR
+3358579712,3358579967,VE
+3358579968,3358587903,AR
3358587904,3358588927,CL
3358588928,3358654463,PE
3358654464,3358658559,AR
@@ -124806,8 +128162,16 @@
3359505664,3359505919,CW
3359505920,3359506431,AR
3359506432,3359508479,US
-3359508480,3359514623,VE
-3359514624,3359516671,US
+3359508480,3359510783,VE
+3359510784,3359510815,US
+3359510816,3359510847,VE
+3359510848,3359511295,US
+3359511296,3359511551,VE
+3359511552,3359512575,US
+3359512576,3359513343,VE
+3359513344,3359513599,US
+3359513600,3359514111,VE
+3359514112,3359516671,US
3359516672,3359516927,VG
3359516928,3359517183,US
3359517184,3359517439,VG
@@ -124849,15 +128213,8 @@
3360118784,3360120831,AR
3360124928,3360125951,VE
3360125952,3360127999,BR
-3360128000,3360128295,HN
-3360128296,3360128303,IT
-3360128304,3360128319,HN
-3360128320,3360128327,IT
-3360128328,3360128543,HN
-3360128544,3360128575,US
-3360128576,3360128775,HN
-3360128776,3360128783,BE
-3360128784,3360129023,HN
+3360128000,3360128511,US
+3360128512,3360129023,HN
3360129024,3360145407,VE
3360145408,3360153599,CL
3360153600,3360157695,AR
@@ -124893,26 +128250,15 @@
3360669696,3360686079,MX
3360686080,3360698367,AR
3360698368,3360699135,UY
-3360699136,3360707839,AR
-3360707840,3360708095,US
-3360708096,3360708735,AR
-3360708736,3360708863,US
-3360708864,3360710527,AR
-3360710528,3360710655,US
+3360699136,3360710655,AR
3360710656,3360718847,HT
3360718848,3360763903,AR
3360765952,3360767999,CO
-3360768000,3360772351,AR
-3360772352,3360772479,BO
-3360772480,3360780991,AR
-3360780992,3360780995,BR
-3360780996,3360781055,AR
+3360768000,3360781055,AR
3360781056,3360781071,BR
3360781072,3360781599,AR
3360781600,3360781615,BS
-3360781616,3360781791,AR
-3360781792,3360781795,MX
-3360781796,3360788479,AR
+3360781616,3360788479,AR
3360788480,3360790527,CL
3360790528,3360849919,AR
3360849920,3360882687,VE
@@ -124968,9 +128314,7 @@
3361726464,3361734655,MX
3361734656,3362258943,BR
3362258944,3362324479,CL
-3362324480,3362337791,AR
-3362337792,3362338047,US
-3362338048,3362349055,AR
+3362324480,3362349055,AR
3362349056,3362351103,CR
3362351104,3362353151,AR
3362353152,3362355199,EC
@@ -125017,9 +128361,7 @@
3362552576,3362552591,MX
3362552592,3362552991,AR
3362552992,3362553007,MX
-3362553008,3362553167,AR
-3362553168,3362553183,DO
-3362553184,3362553791,AR
+3362553008,3362553791,AR
3362553792,3362553807,VI
3362553808,3362553855,AR
3362553856,3362557951,PY
@@ -125100,12 +128442,11 @@
3363504128,3363512319,PE
3363512320,3363553919,AR
3363553920,3363554303,US
-3363554304,3363554431,BR
-3363554432,3363555071,AR
-3363555072,3363555327,US
-3363555328,3363555839,AR
-3363555840,3363556607,US
-3363556608,3363557375,AR
+3363554304,3363555583,AR
+3363555584,3363555839,US
+3363555840,3363556095,AR
+3363556096,3363556351,US
+3363556352,3363557375,AR
3363557376,3363559423,BZ
3363559424,3363561471,AR
3363565568,3363569663,AR
@@ -125119,8 +128460,7 @@
3363601920,3363602175,AR
3363602176,3363602431,PA
3363602432,3363610623,CW
-3363614720,3363617791,AR
-3363617792,3363618815,PE
+3363614720,3363618815,AR
3363618816,3363627007,UY
3363627008,3363635199,EC
3363635200,3363651583,UY
@@ -125142,9 +128482,8 @@
3363831808,3367763967,BR
3367763968,3367804927,MX
3367804928,3367840767,BR
-3367840768,3367841023,HN
-3367841024,3367841039,CA
-3367841040,3367841407,HN
+3367840768,3367841279,US
+3367841280,3367841407,HN
3367841408,3367841423,CA
3367841424,3367841791,HN
3367841792,3368052991,BR
@@ -125266,13 +128605,11 @@
3381947392,3381952511,BR
3381952512,3381960703,MX
3381960704,3381962751,BR
-3381962752,3381962991,US
+3381962752,3381962991,HN
3381962992,3381962999,FR
-3381963000,3381963559,US
+3381963000,3381963559,HN
3381963560,3381963567,FR
-3381963568,3381963711,US
-3381963712,3381963727,CA
-3381963728,3381963775,US
+3381963568,3381963775,HN
3381963776,3381968895,BR
3381968896,3381972991,MX
3381972992,3381974015,BR
@@ -125336,8 +128673,7 @@
3382677504,3382681599,BR
3382681600,3382683647,MX
3382683648,3382685695,CL
-3382685696,3382686655,MX
-3382686656,3382686719,US
+3382685696,3382686719,MX
3382686720,3382689791,BR
3382689792,3382695935,MX
3382695936,3382696959,AR
@@ -125402,9 +128738,7 @@
3386556416,3386562047,PA
3386562048,3386562303,PE
3386562304,3386571263,PA
-3386571264,3386571327,BZ
-3386571328,3386571391,PA
-3386571392,3386571519,BZ
+3386571264,3386571519,BZ
3386571520,3386572799,PA
3386572800,3386589183,EC
3386589184,3386601471,AR
@@ -125471,11 +128805,9 @@
3387584512,3387585535,PE
3387585536,3387586047,AR
3387586048,3387586303,PE
-3387586304,3387586431,AR
-3387586432,3387587583,PE
-3387587584,3387588159,AR
-3387588160,3387588175,PE
-3387588176,3387600895,AR
+3387586304,3387586559,AR
+3387586560,3387587583,PE
+3387587584,3387600895,AR
3387600896,3387604991,CO
3387604992,3387613183,EC
3387613184,3387613439,US
@@ -125507,7 +128839,7 @@
3389016064,3389016575,JP
3389016576,3389017087,AU
3389017088,3389017343,JP
-3389017344,3389017599,HK
+3389017541,3389017541,HK
3389017600,3389017855,AU
3389017856,3389018111,VN
3389018112,3389018367,PG
@@ -125593,7 +128925,6 @@
3389194240,3389195775,AU
3389195776,3389196287,HK
3389196288,3389197567,AU
-3389197568,3389197823,IN
3389197824,3389198079,ID
3389198080,3389198335,IN
3389198336,3389202431,KR
@@ -125617,7 +128948,7 @@
3389226752,3389227007,IN
3389227008,3389227519,CN
3389227520,3389228031,PK
-3389228032,3389228799,AU
+3389228032,3389228543,AU
3389228800,3389229055,SG
3389229056,3389229311,JP
3389229312,3389229567,AU
@@ -125637,6 +128968,7 @@
3389284352,3389292543,BD
3389292544,3389300735,CN
3389300736,3389301247,ID
+3389301248,3389301759,HK
3389301760,3389302015,IN
3389302016,3389302527,AU
3389302528,3389302783,PK
@@ -125786,7 +129118,8 @@
3389595648,3389595903,CN
3389595904,3389596159,AU
3389596160,3389596671,CN
-3389596672,3389597439,SG
+3389596672,3389596927,MY
+3389596928,3389597439,SG
3389597440,3389597695,MY
3389597696,3389599743,MN
3389599744,3389600255,CN
@@ -125952,7 +129285,7 @@
3389962240,3389962751,CN
3389962752,3389963007,AU
3389963264,3389966335,AU
-3389966336,3389968383,SG
+3389966336,3389967359,SG
3389968384,3389968895,CN
3389968896,3389969663,AU
3389969664,3389969919,CN
@@ -126055,7 +129388,6 @@
3390504960,3390767103,JP
3390767104,3390769407,NZ
3390769408,3390769663,IN
-3390769664,3390770175,TH
3390770176,3390770431,CN
3390770432,3390770687,AU
3390770688,3390770943,CN
@@ -126070,7 +129402,7 @@
3390963712,3391094783,KR
3391094784,3391356927,JP
3391356928,3391369215,NZ
-3391369216,3391373311,AU
+3391369216,3391373311,SG
3391373312,3391414783,NZ
3391414784,3391415039,CN
3391415040,3391444479,NZ
@@ -126700,7 +130032,6 @@
3392418560,3392418815,SG
3392418816,3392419071,ID
3392419072,3392419327,IN
-3392419328,3392419839,PH
3392419840,3392420351,IN
3392420352,3392420863,ID
3392420864,3392421119,AU
@@ -126753,9 +130084,8 @@
3392508928,3392510975,HK
3392510976,3392511999,MM
3392512000,3392516095,BD
-3392516096,3392519167,AU
-3392519168,3392519679,NZ
-3392519680,3392524287,AU
+3392516096,3392520191,NZ
+3392520192,3392524287,AU
3392524288,3392528383,JP
3392528384,3392536575,ID
3392536576,3392602111,IN
@@ -126825,7 +130155,7 @@
3392833536,3392835583,AU
3392835584,3392839679,JP
3392839680,3392845823,ID
-3392845824,3392847871,HK
+3392845824,3392847871,SG
3392847872,3392856063,ID
3392856064,3392857087,AU
3392857088,3392857343,IN
@@ -126877,6 +130207,7 @@
3392926720,3392927231,IN
3392927232,3392927743,AU
3392927744,3392927999,IN
+3392928000,3392928255,HK
3392928256,3392928767,TW
3392928768,3392929279,VN
3392929280,3392929535,PK
@@ -126913,13 +130244,16 @@
3393016832,3393017855,HK
3393017856,3393018879,CN
3393018880,3393019903,AU
-3393019904,3393021439,ID
+3393019904,3393020159,ID
+3393020160,3393020415,HK
+3393020416,3393021439,ID
3393021440,3393021695,IN
3393021696,3393021951,HK
3393021952,3393022463,ID
3393022464,3393022975,VU
3393023232,3393023487,AU
3393023488,3393023743,SG
+3393023744,3393023999,HK
3393024000,3393024511,ID
3393024512,3393025023,NZ
3393025024,3393025279,AU
@@ -127152,6 +130486,7 @@
3393858816,3393859071,ID
3393859072,3393859327,AU
3393859328,3393859583,JP
+3393859584,3393859839,BD
3393859840,3393860095,AU
3393860096,3393860607,HK
3393860608,3393860863,CN
@@ -127785,7 +131120,7 @@
3397584896,3397586943,JP
3397586944,3397588991,CN
3397588992,3397591039,KR
-3397591040,3397595135,HK
+3397593088,3397595135,HK
3397595136,3397599231,CN
3397599232,3397603327,HK
3397603328,3397605375,KH
@@ -127897,7 +131232,7 @@
3398172672,3398180863,JP
3398180864,3398189055,IN
3398189056,3398205439,HK
-3398205440,3398208511,IN
+3398205440,3398207487,IN
3398208512,3398213631,CN
3398213632,3398221823,TW
3398221824,3398230015,JP
@@ -127937,9 +131272,9 @@
3398483968,3398484735,US
3398484736,3398484991,HK
3398484992,3398485247,AQ
-3398485248,3398485503,CN
+3398485248,3398485503,DZ
3398485504,3398485759,US
-3398485760,3398486015,AQ
+3398485760,3398486015,CN
3398486016,3398487039,BD
3398487040,3398488063,NZ
3398488064,3398492159,TW
@@ -128069,15 +131404,18 @@
3399139328,3399147519,TW
3399147520,3399155711,PK
3399155712,3399196671,ID
-3399196672,3399204863,AU
+3399196672,3399200767,AU
3399204864,3399221247,HK
3399221248,3399286783,SG
3399286784,3399303167,JP
3399303168,3399311359,IN
3399311360,3399319551,JP
-3399319552,3399332351,SG
+3399319552,3399331839,SG
+3399331840,3399332351,MY
3399332352,3399332863,AU
-3399332864,3399335935,SG
+3399332864,3399333375,HK
+3399333376,3399335423,MY
+3399335424,3399335935,IN
3399335936,3399344127,CN
3399344128,3399352319,JP
3399352320,3399389183,ID
@@ -128371,9 +131709,9 @@
3400649944,3400649951,HK
3400649952,3400650143,JP
3400650144,3400650159,HK
-3400650160,3400650409,JP
-3400650410,3400650410,AU
-3400650411,3400650751,JP
+3400650160,3400650407,JP
+3400650408,3400650431,AU
+3400650432,3400650751,JP
3400650752,3400654847,AU
3400654848,3400663039,IN
3400663040,3400683519,MY
@@ -129270,7 +132608,7 @@
3407294208,3407294463,CN
3407294464,3407300863,AU
3407300864,3407301119,CN
-3407301120,3407303935,AU
+3407301376,3407303935,AU
3407303936,3407304191,CN
3407304192,3407305727,AU
3407305728,3407306751,CN
@@ -129292,7 +132630,7 @@
3407328768,3407329023,CN
3407329024,3407329791,AU
3407329792,3407330303,CN
-3407330304,3407331327,AU
+3407330816,3407331327,AU
3407331328,3407331583,CN
3407331584,3407332607,AU
3407332608,3407333119,CN
@@ -129365,7 +132703,9 @@
3407403776,3407404031,CN
3407404032,3407410175,AU
3407410176,3407410431,CN
-3407410432,3407418111,AU
+3407410432,3407410943,AU
+3407410944,3407411199,US
+3407411200,3407418111,AU
3407418112,3407418879,CN
3407418880,3407425023,AU
3407425024,3407425279,CN
@@ -129373,7 +132713,7 @@
3407425536,3407427583,HK
3407427584,3407429631,AU
3407429632,3407430143,CN
-3407430144,3407436543,AU
+3407430400,3407436543,AU
3407436544,3407436799,CN
3407436800,3407438591,AU
3407438592,3407439103,CN
@@ -129548,7 +132888,7 @@
3407618304,3407619071,CN
3407619072,3407620863,AU
3407620864,3407621375,CN
-3407621376,3407623679,AU
+3407621376,3407623423,AU
3407623680,3407623935,CN
3407623936,3407624191,AU
3407624192,3407624447,CN
@@ -129566,7 +132906,7 @@
3407642624,3407643135,TH
3407643136,3407643391,AU
3407643392,3407643647,CN
-3407643648,3407644671,AU
+3407643648,3407644159,AU
3407644672,3407644927,CN
3407644928,3407645695,AU
3407645696,3407645951,CN
@@ -129631,7 +132971,8 @@
3407723264,3407723519,CN
3407723520,3407723775,AU
3407723776,3407724287,CN
-3407724288,3407727871,AU
+3407724288,3407726591,AU
+3407727616,3407727871,AU
3407727872,3407728127,CN
3407728128,3407729151,AU
3407729152,3407729407,CN
@@ -129851,7 +133192,9 @@
3407982080,3407982335,CN
3407982336,3407984895,AU
3407984896,3407985151,CN
-3407985152,3407987711,AU
+3407985152,3407985919,AU
+3407985920,3407986175,HK
+3407986176,3407987711,AU
3407987712,3407987967,PH
3407987968,3407988223,AU
3407988224,3407988735,IN
@@ -130113,7 +133456,9 @@
3409879296,3409879551,CN
3409879552,3409882111,AU
3409882112,3409883135,IN
-3409883136,3409887999,AU
+3409883136,3409884159,AU
+3409884160,3409885183,US
+3409885184,3409887999,AU
3409888000,3409888255,SG
3409888256,3409888511,AU
3409888512,3409888767,CN
@@ -130146,7 +133491,8 @@
3410813952,3410814975,IN
3410814976,3410817023,HK
3410817024,3410818047,CN
-3410818048,3410818815,JP
+3410818048,3410818559,JP
+3410818560,3410818815,SG
3410818816,3410819071,CN
3410819072,3410820095,IN
3410820096,3410821119,LA
@@ -130220,8 +133566,8 @@
3411051520,3411052543,CN
3411052544,3411052544,JP
3411052545,3411052799,HK
-3411052800,3411053055,JP
-3411053056,3411054591,HK
+3411052800,3411053567,JP
+3411053568,3411054591,HK
3411054592,3411058687,CN
3411058688,3411061247,AU
3411061248,3411061759,KH
@@ -130286,6 +133632,7 @@
3411189760,3411197951,AU
3411197952,3411202047,BD
3411202048,3411204607,AU
+3411204608,3411204863,BD
3411204864,3411205631,KR
3411205632,3411206143,HK
3411206144,3411210239,CN
@@ -130348,7 +133695,6 @@
3411550208,3411558399,CN
3411558400,3411566591,HK
3411566592,3411567615,IN
-3411567616,3411568639,GB
3411568640,3411569663,AU
3411569664,3411570687,HK
3411570688,3411574783,AU
@@ -130420,7 +133766,9 @@
3411836928,3411845119,MY
3411845120,3411853311,CN
3411853312,3411857407,IN
-3411857408,3411859249,JP
+3411857408,3411858175,JP
+3411858176,3411858431,HK
+3411858432,3411859249,JP
3411859250,3411859251,AU
3411859252,3411859815,JP
3411859816,3411859816,CN
@@ -130965,14 +134313,12 @@
3414670848,3414671359,MY
3414671360,3415080959,JP
3415080960,3415082239,MY
-3415082240,3415083007,SG
+3415082240,3415082495,SG
+3415082496,3415083007,MY
3415083008,3415083519,AU
3415083520,3415084031,SG
3415084032,3415084543,CN
-3415084544,3415085055,US
-3415085056,3415087615,SG
-3415087616,3415087871,US
-3415087872,3415088127,SG
+3415084544,3415088127,SG
3415088128,3415089151,HK
3415089152,3415097343,MY
3415097344,3415103487,ID
@@ -131072,7 +134418,6 @@
3415814656,3415815167,TH
3415815168,3415816191,IN
3415816192,3415817215,JP
-3415817216,3415818239,MY
3415818240,3415822335,JP
3415822336,3415822847,MY
3415822848,3415823103,MV
@@ -131429,9 +134774,7 @@
3418294272,3418296319,VN
3418296320,3418297343,HK
3418297344,3418298367,CN
-3418298368,3418298623,HK
-3418298624,3418298879,CN
-3418298880,3418299391,HK
+3418298368,3418299391,HK
3418299392,3418300415,CN
3418300416,3418300927,BD
3418300928,3418301439,IN
@@ -131611,8 +134954,11 @@
3419774976,3419783167,JP
3419783168,3419791359,PH
3419791360,3419873279,AU
-3419873280,3419877375,AF
+3419873280,3419873535,AF
+3419873536,3419873791,DE
+3419873792,3419877375,AF
3419877376,3419877631,ID
+3419877632,3419877887,IN
3419877888,3419878143,ID
3419878144,3419878399,IN
3419878400,3419879423,GU
@@ -131757,8 +135103,7 @@
3423366496,3423371263,US
3423371264,3423375359,ZA
3423375360,3423379455,CA
-3423379456,3423404031,US
-3423406080,3423410175,US
+3423379456,3423410175,US
3423410176,3423412223,BM
3423412224,3423416319,US
3423416320,3423417343,CA
@@ -132150,7 +135495,9 @@
3428646656,3428646911,CA
3428646912,3428660735,US
3428660736,3428661503,CA
-3428661504,3428721755,US
+3428661504,3428695567,US
+3428695568,3428695583,JP
+3428695584,3428721755,US
3428721756,3428721756,NO
3428721757,3428743167,US
3428743168,3428744191,CA
@@ -132160,11 +135507,13 @@
3428931464,3428931464,QA
3428931465,3428958207,US
3428958208,3428962303,CO
-3428962304,3429009479,US
-3429009480,3429009487,BE
+3428962304,3429009471,US
+3429009472,3429009487,BE
3429009488,3429027839,US
3429027840,3429028351,GB
-3429028352,3429028863,DE
+3429028352,3429028747,DE
+3429028748,3429028751,BE
+3429028752,3429028863,DE
3429028864,3429029375,FR
3429029376,3429171199,US
3429171200,3429236735,CA
@@ -132253,7 +135602,11 @@
3431072000,3431072255,HK
3431072256,3431114495,US
3431114496,3431114751,CA
-3431114752,3431468031,US
+3431114752,3431358463,US
+3431358464,3431358716,SE
+3431358717,3431358717,US
+3431358718,3431358975,SE
+3431358976,3431468031,US
3431468032,3431469055,CA
3431469056,3431470847,US
3431470848,3431471103,GB
@@ -132429,7 +135782,9 @@
3436684198,3436684198,DK
3436684199,3436697087,US
3436697088,3436697343,VE
-3436697344,3437232383,US
+3436697344,3436838911,US
+3436838912,3436969983,DE
+3436969984,3437232383,US
3437232384,3437232639,CA
3437232640,3437242879,US
3437242880,3437243135,CA
@@ -132524,7 +135879,9 @@
3437731584,3437731615,AF
3437731616,3437734399,US
3437734400,3437734655,SG
-3437734656,3437748223,US
+3437734656,3437741311,US
+3437741312,3437741567,HK
+3437741568,3437748223,US
3437748224,3437748479,GB
3437748480,3437748991,NL
3437748992,3437749247,US
@@ -132579,7 +135936,9 @@
3438252544,3438252799,US
3438252800,3438261759,CA
3438261760,3438262015,US
-3438262016,3438280703,CA
+3438262016,3438271487,CA
+3438271488,3438272511,US
+3438272512,3438280703,CA
3438280704,3438542847,US
3438542848,3438608383,CA
3438608384,3438610125,US
@@ -132602,7 +135961,11 @@
3439059712,3439059967,PR
3439059968,3439071103,US
3439071104,3439071135,MX
-3439071136,3448303615,US
+3439071136,3444220159,US
+3444220160,3444220415,JP
+3444220416,3444220671,US
+3444220672,3444220927,ES
+3444220928,3448303615,US
3448303616,3448303871,KY
3448303872,3448377343,US
3448377344,3448377855,AG
@@ -132817,7 +136180,7 @@
3451507712,3451715839,US
3451715840,3451724543,CA
3451724544,3451725311,US
-3451725568,3451726847,CA
+3451725312,3451726847,CA
3451726848,3451727359,US
3451727360,3451737343,CA
3451737344,3451737599,US
@@ -132882,7 +136245,9 @@
3452516352,3452658431,US
3452658432,3452658687,HK
3452658688,3452715007,US
-3452715008,3452723199,CA
+3452715008,3452720383,CA
+3452720384,3452720639,US
+3452720640,3452723199,CA
3452723200,3452730623,US
3452730624,3452730879,HK
3452730880,3452764671,US
@@ -133125,7 +136490,9 @@
3453554432,3453554687,GB
3453554688,3453555967,US
3453555968,3453556031,GB
-3453556032,3453599999,US
+3453556032,3453587023,US
+3453587024,3453587071,SG
+3453587072,3453599999,US
3453600000,3453600767,GB
3453600768,3453607935,US
3453607936,3453609983,KN
@@ -133579,7 +136946,9 @@
3460762368,3460762623,CA
3460762624,3460763391,US
3460763392,3460763647,VG
-3460763648,3460794623,US
+3460763648,3460785151,US
+3460785152,3460785919,CA
+3460785920,3460794623,US
3460794624,3460794879,CA
3460794880,3460878335,US
3460878336,3460878591,CA
@@ -133709,7 +137078,7 @@
3461332736,3461332991,SG
3461332992,3461356543,US
3461356544,3461357567,AS
-3461357568,3461409023,US
+3461357568,3461410815,US
3461410816,3461414911,CA
3461414912,3461462015,US
3461462016,3461462271,AU
@@ -133826,7 +137195,11 @@
3462661376,3462661631,SG
3462661632,3463004159,US
3463004160,3463006207,CO
-3463006208,3463043071,US
+3463006208,3463017471,US
+3463017472,3463017663,HN
+3463017664,3463017695,US
+3463017696,3463017727,HN
+3463017728,3463043071,US
3463043072,3463044095,ES
3463044096,3463089151,US
3463089152,3463090175,CA
@@ -133872,7 +137245,7 @@
3464203008,3464203263,RU
3464203264,3464203519,DE
3464203520,3464204799,US
-3464204800,3464205055,DK
+3464204800,3464205055,KW
3464205056,3464205311,NL
3464205312,3464205567,SE
3464205568,3464205823,US
@@ -133932,8 +137305,8 @@
3464630272,3464631295,US
3464631296,3464639487,CA
3464639488,3464639743,US
-3464639744,3464642047,CA
-3464642048,3464642559,US
+3464639744,3464641791,CA
+3464641792,3464642559,US
3464642560,3464642815,CA
3464642816,3464643071,US
3464643072,3464647935,CA
@@ -134019,7 +137392,9 @@
3466907648,3466909695,DE
3466909696,3466914303,US
3466914304,3466914559,FR
-3466914560,3466926551,US
+3466914560,3466926285,US
+3466926286,3466926286,FR
+3466926287,3466926551,US
3466926552,3466926559,IT
3466926560,3466929407,US
3466929408,3466929663,IT
@@ -134256,7 +137631,11 @@
3468683104,3468683279,US
3468683280,3468683311,HK
3468683312,3468685311,US
-3468685312,3468685663,IE
+3468685312,3468685327,IE
+3468685328,3468685343,US
+3468685344,3468685535,IE
+3468685536,3468685583,US
+3468685584,3468685663,IE
3468685664,3468685791,NL
3468685792,3468685807,US
3468685808,3468685823,NL
@@ -134300,9 +137679,9 @@
3468894208,3468902399,DE
3468902400,3469055743,US
3469055744,3469055999,CA
-3469056000,3469070335,US
-3469070336,3469070591,CA
-3469070592,3469176319,US
+3469056000,3469131775,US
+3469131776,3469132799,CA
+3469132800,3469176319,US
3469176320,3469176575,MX
3469176576,3469186303,US
3469186304,3469186559,MX
@@ -134494,15 +137873,10 @@
3475897504,3475906711,US
3475906712,3475906715,IE
3475906716,3475907735,US
-3475907736,3475907739,SG
-3475907740,3475907743,HK
-3475907744,3475907791,US
-3475907792,3475907795,IN
-3475907796,3475908151,US
+3475907736,3475907743,HK
+3475907744,3475908151,US
3475908152,3475908159,CA
-3475908160,3475908223,US
-3475908224,3475908227,GU
-3475908228,3475909139,US
+3475908160,3475909139,US
3475909140,3475909143,IE
3475909144,3475909359,US
3475909360,3475909367,IE
@@ -134562,11 +137936,7 @@
3475930624,3475930879,HK
3475930880,3475931135,US
3475931136,3475939327,HK
-3475939328,3475939427,US
-3475939428,3475939431,NL
-3475939432,3475939679,US
-3475939680,3475939687,GB
-3475939688,3475948031,US
+3475939328,3475948031,US
3475948032,3475948287,IE
3475948288,3475952511,US
3475952512,3475952639,SG
@@ -134575,15 +137945,9 @@
3475953024,3475953663,US
3475953664,3475953919,IE
3475953920,3475954175,SG
-3475954176,3475954547,US
-3475954548,3475954551,PT
-3475954552,3475954607,US
-3475954608,3475954611,SE
-3475954612,3475954631,US
-3475954632,3475954639,SG
-3475954640,3475954647,US
-3475954648,3475954651,CA
-3475954652,3475955711,US
+3475954176,3475954631,US
+3475954632,3475954635,SG
+3475954636,3475955711,US
3475955712,3475959807,SG
3475959808,3475996671,US
3475996672,3476029439,CA
@@ -134595,9 +137959,14 @@
3476447232,3476455423,CA
3476455424,3476881407,US
3476881408,3476946943,CA
-3476946944,3477384711,US
-3477384712,3477384719,CN
-3477384720,3477384735,US
+3476946944,3477229823,US
+3477229824,3477230079,CA
+3477230080,3477230591,NL
+3477230592,3477231103,US
+3477231104,3477231359,NL
+3477231360,3477235711,US
+3477235712,3477236223,GB
+3477236224,3477384735,US
3477384736,3477384743,IE
3477384744,3477384783,US
3477384784,3477384799,IE
@@ -134641,7 +138010,9 @@
3478732800,3478749183,DE
3478749184,3479207935,US
3479207936,3479240703,CA
-3479240704,3479568383,US
+3479240704,3479296007,US
+3479296008,3479296015,CA
+3479296016,3479568383,US
3479568384,3479633919,CA
3479633920,3479896063,US
3479896064,3479956479,CA
@@ -134897,16 +138268,26 @@
3482054144,3482054655,CA
3482054656,3482058239,US
3482058240,3482058495,CA
-3482058496,3482584063,US
-3482584064,3482599423,CA
-3482599424,3482600447,SG
-3482600448,3482615807,US
+3482058496,3482591231,US
+3482591232,3482595327,HK
+3482595328,3482599423,CA
+3482599424,3482603519,SG
+3482603520,3482605055,AU
+3482605056,3482605567,US
+3482605568,3482608639,JP
+3482608640,3482615807,US
3482615808,3482632191,CA
-3482632192,3482775551,US
+3482632192,3482758499,US
+3482758500,3482758527,VE
+3482758528,3482760447,US
+3482760448,3482760703,AI
+3482760704,3482775551,US
3482775552,3482779647,PR
3482779648,3482910719,US
3482910720,3482927103,CA
-3482927104,3483254783,US
+3482927104,3483025407,US
+3483025408,3483041791,DE
+3483041792,3483254783,US
3483254784,3483271167,AU
3483271168,3483336959,US
3483336960,3483337215,CA
@@ -135026,11 +138407,19 @@
3484647424,3484663807,CA
3484663808,3484762111,US
3484762112,3484778495,CA
-3484778496,3484884991,US
+3484778496,3484811263,US
+3484811264,3484815359,CA
+3484815360,3484884991,US
3484884992,3484893183,CA
3484893184,3485220863,US
3485220864,3485229055,CA
-3485229056,3485270015,US
+3485229056,3485237247,US
+3485237248,3485237759,GB
+3485237760,3485244415,US
+3485244416,3485245439,LU
+3485245440,3485246719,US
+3485246720,3485246975,CA
+3485246976,3485270015,US
3485270016,3485270527,FR
3485270528,3485270783,US
3485270784,3485270911,IN
@@ -135304,7 +138693,9 @@
3486632704,3486632959,JP
3486632960,3486633215,IT
3486633216,3486633471,GB
-3486633472,3486633983,US
+3486633472,3486633599,US
+3486633600,3486633727,CN
+3486633728,3486633983,US
3486633984,3486634239,HK
3486634240,3486634495,US
3486634496,3486634751,KR
@@ -135321,7 +138712,9 @@
3486637312,3486637823,BE
3486637824,3486638335,SE
3486638336,3486638591,FR
-3486638592,3486638847,US
+3486638592,3486638623,US
+3486638624,3486638639,CN
+3486638640,3486638847,US
3486638848,3486639103,DK
3486639104,3486639359,BE
3486639360,3486639615,SG
@@ -135332,7 +138725,9 @@
3486642176,3486642431,BR
3486642432,3486642687,PT
3486642688,3486642943,DK
-3486642944,3486646271,US
+3486642944,3486646015,US
+3486646016,3486646143,JP
+3486646144,3486646271,US
3486646272,3486662655,CA
3486662656,3486688255,US
3486688256,3486688511,GB
@@ -135365,7 +138760,13 @@
3487891456,3487907839,CA
3487907840,3487913471,US
3487913472,3487913983,CA
-3487913984,3487969791,US
+3487913984,3487920127,US
+3487920128,3487921407,NL
+3487921408,3487921663,US
+3487921664,3487922431,NL
+3487922432,3487922687,US
+3487922688,3487924223,NL
+3487924224,3487969791,US
3487969792,3487970047,KW
3487970048,3488014335,US
3488014336,3488022527,CA
@@ -135484,8 +138885,11 @@
3491585077,3491637247,US
3491637248,3491637759,CO
3491637760,3491651583,US
-3491651584,3491659775,VI
-3491659776,3491743743,US
+3491651584,3491658751,VI
+3491658752,3491659775,UM
+3491659776,3491712927,US
+3491712928,3491712959,TW
+3491712960,3491743743,US
3491743744,3491745791,CO
3491745792,3491830963,US
3491830964,3491830964,CO
@@ -135548,15 +138952,11 @@
3493039360,3493039615,AR
3493039616,3493039695,US
3493039696,3493039703,RO
-3493039704,3493073151,US
-3493073152,3493073407,BO
-3493073408,3493073663,US
-3493073664,3493073919,BO
-3493073920,3493081599,US
-3493081600,3493082623,PY
-3493082624,3493089023,US
+3493039704,3493089023,US
3493089024,3493089279,CM
-3493089280,3493140223,US
+3493089280,3493101055,US
+3493101056,3493101311,CU
+3493101312,3493140223,US
3493140224,3493140479,DE
3493140480,3493244927,US
3493244928,3493249023,PR
@@ -135789,7 +139189,11 @@
3495091200,3495098367,US
3495098368,3495100415,CA
3495100416,3495100927,IE
-3495100928,3495120895,US
+3495100928,3495109631,US
+3495109632,3495109887,CA
+3495109888,3495110143,US
+3495110144,3495110399,PR
+3495110656,3495120895,US
3495120896,3495122943,AG
3495122944,3495153663,US
3495153664,3495155711,CA
@@ -135925,7 +139329,7 @@
3496034304,3496050687,CA
3496050688,3496132607,US
3496132608,3496148991,CA
-3496148992,3496181759,US
+3496165376,3496181759,US
3496181760,3496189951,CA
3496189952,3496296447,US
3496296448,3496312831,CA
@@ -136020,7 +139424,11 @@
3500126464,3500126719,GB
3500126720,3500351487,US
3500351488,3500359679,JM
-3500359680,3500689407,US
+3500359680,3500554239,US
+3500554240,3500554751,DE
+3500554752,3500555775,US
+3500555776,3500556287,SE
+3500556288,3500689407,US
3500689408,3500689919,CL
3500689920,3500728319,US
3500728320,3500736511,KY
@@ -136624,7 +140032,11 @@
3510337280,3510337535,LC
3510337536,3510470927,US
3510470928,3510470935,IL
-3510470936,3510479791,US
+3510470936,3510478015,US
+3510478016,3510478023,CA
+3510478024,3510479103,US
+3510479104,3510479359,GU
+3510479360,3510479791,US
3510479792,3510479799,IE
3510479800,3510546431,US
3510546432,3510550527,CA
@@ -136642,7 +140054,17 @@
3511314216,3511314223,CA
3511314224,3511812095,US
3511812096,3511844863,CA
-3511844864,3512043519,US
+3511844864,3512012095,US
+3512012096,3512012159,GB
+3512012160,3512017407,US
+3512017408,3512017663,BR
+3512017664,3512019135,US
+3512019136,3512019151,MX
+3512019152,3512021503,US
+3512021504,3512021759,GB
+3512021760,3512024319,US
+3512024320,3512024575,AU
+3512024576,3512043519,US
3512043520,3512043775,FI
3512043776,3512052735,US
3512052736,3512052991,FI
@@ -136815,7 +140237,7 @@
3514724457,3514725247,US
3514725248,3514725248,UA
3514725249,3514761215,US
-3514826752,3514843135,CA
+3514761216,3514843135,CA
3514843136,3514993983,US
3514993984,3514993987,FR
3514993988,3514993991,DE
@@ -136842,7 +140264,9 @@
3515965440,3515973631,CA
3515973632,3515990015,US
3515990016,3516006399,CA
-3516006400,3516039167,US
+3516006400,3516010495,US
+3516010496,3516014591,PH
+3516014592,3516039167,US
3516039168,3516071935,CA
3516071936,3516088831,US
3516088832,3516088832,GB
@@ -137054,7 +140478,9 @@
3517610176,3517644799,US
3517644800,3517710335,CA
3517710336,3517718527,US
-3517718528,3517726719,CA
+3517718528,3517720011,CA
+3517720012,3517720015,US
+3517720016,3517726719,CA
3517726720,3517990911,US
3517990912,3517991423,CA
3517991424,3518058495,US
@@ -137182,7 +140608,9 @@
3519901696,3519930367,US
3519934464,3519938559,CA
3519938560,3519938815,AT
-3519938816,3519940607,IL
+3519938816,3519940095,IL
+3519940096,3519940351,DK
+3519940352,3519940607,IL
3519940608,3519940863,FR
3519940864,3519941375,IL
3519941376,3519941631,HU
@@ -137235,7 +140663,9 @@
3520390400,3520409599,US
3520409600,3520413439,DE
3520413440,3520413695,CA
-3520413696,3520454655,US
+3520413696,3520421887,US
+3520421888,3520430079,CA
+3520430080,3520454655,US
3520454656,3520462847,CA
3520462848,3520626687,US
3520626688,3520634879,CA
@@ -137259,9 +140689,7 @@
3521196544,3521216511,US
3521216512,3521220351,CA
3521220352,3521220607,US
-3521220608,3521224959,CA
-3521224960,3521225215,US
-3521225216,3521232895,CA
+3521220608,3521232895,CA
3521232896,3521249279,US
3521249280,3521314815,CA
3521314816,3521347583,US
@@ -137317,12 +140745,10 @@
3522199552,3522854911,US
3522854912,3522871295,CA
3522871296,3522879487,US
-3522879488,3522881023,GB
-3522881024,3522881535,US
-3522881536,3522883071,DE
-3522883072,3522883583,US
-3522883584,3522885631,NL
-3522885632,3522893823,US
+3522879488,3522881535,GB
+3522881536,3522883583,DE
+3522883584,3522887679,NL
+3522887680,3522893823,US
3522893824,3522894847,CA
3522894848,3522902015,US
3522902016,3522903039,CA
@@ -137663,14 +141089,19 @@
3526950912,3526951935,MY
3526951936,3526952959,JP
3526952960,3526953983,ID
-3526953984,3526954495,JP
-3526954496,3526954751,PH
-3526954752,3526955007,JP
+3526953984,3526955007,JP
3526955008,3526955263,US
3526955264,3526956287,JP
3526956288,3526956799,HK
-3526956800,3526966271,JP
-3526966272,3526966783,HK
+3526956800,3526957311,US
+3526957312,3526957823,TW
+3526957824,3526958335,HK
+3526958336,3526958847,SG
+3526958848,3526959359,VN
+3526959360,3526964735,JP
+3526964736,3526965503,AU
+3526965504,3526966527,JP
+3526966528,3526966783,HK
3526966784,3526967295,SG
3526967296,3526971439,JP
3526971440,3526971443,HK
@@ -137689,6 +141120,8 @@
3528396800,3528400895,AU
3528400896,3528404991,JP
3528404992,3528407039,NZ
+3528407040,3528408063,SG
+3528408064,3528409087,HK
3528409088,3528425471,CN
3528441856,3528445951,JP
3528445952,3528450047,ID
@@ -137727,9 +141160,7 @@
3534749696,3534757887,HK
3534757888,3534758143,AU
3534758144,3534758147,JP
-3534758148,3534758399,AU
-3534758400,3534758655,HK
-3534758656,3534758911,AU
+3534758148,3534758911,AU
3534758912,3534758927,PH
3534758928,3534758975,AU
3534758976,3534759039,PH
@@ -137913,8 +141344,8 @@
3557277696,3557279743,NL
3557279744,3557280255,US
3557280256,3557280511,DE
-3557280512,3557283839,NL
-3557283840,3557285887,PL
+3557280512,3557282815,NL
+3557282816,3557285887,PL
3557285888,3557294079,RU
3557294080,3557302271,DE
3557302272,3557310463,UA
@@ -138189,8 +141620,8 @@
3559197568,3559200143,SE
3559200144,3559200151,FI
3559200152,3559200255,SE
-3559200256,3559200511,FI
-3559200512,3559200639,SE
+3559200256,3559200383,FI
+3559200384,3559200639,SE
3559200640,3559200671,FI
3559200672,3559201607,SE
3559201608,3559201615,FI
@@ -138320,7 +141751,7 @@
3560079360,3560087551,FI
3560087552,3560095743,GB
3560095744,3560103935,FI
-3560103936,3560112127,IR
+3560103936,3560112127,US
3560112128,3560120319,DE
3560120320,3560128511,ES
3560128512,3560144895,HU
@@ -138501,7 +141932,9 @@
3561611520,3561611775,FR
3561611776,3561612543,GB
3561612544,3561612799,FR
-3561612800,3561613759,GB
+3561612800,3561613199,GB
+3561613200,3561613215,ES
+3561613216,3561613759,GB
3561613760,3561613823,FR
3561613824,3561614207,GB
3561614208,3561614335,FR
@@ -138534,7 +141967,9 @@
3561799680,3561807871,DE
3561807872,3561816063,BE
3561816064,3561824255,VA
-3561824256,3561828351,AT
+3561824256,3561827143,AT
+3561827144,3561827144,LI
+3561827145,3561828351,AT
3561828352,3561832447,LI
3561832448,3561840639,IT
3561840640,3561848831,PL
@@ -138861,7 +142296,8 @@
3564421120,3564429311,SA
3564429312,3564437503,KZ
3564437504,3564445695,LT
-3564445696,3564453887,BG
+3564445696,3564449791,GB
+3564449792,3564453887,ID
3564453888,3564462079,DE
3564462080,3564470271,CH
3564470272,3564478463,IL
@@ -138897,7 +142333,11 @@
3564733184,3564733215,DE
3564733216,3564733343,GB
3564733344,3564733351,DE
-3564733352,3564733807,GB
+3564733352,3564733416,GB
+3564733417,3564733420,DE
+3564733421,3564733421,GB
+3564733422,3564733422,DE
+3564733423,3564733807,GB
3564733808,3564733823,DE
3564733824,3564734457,GB
3564734458,3564734458,DE
@@ -138938,12 +142378,16 @@
3564882544,3564882551,NL
3564882552,3564882559,GB
3564882560,3564882591,NL
-3564882592,3564883071,GB
+3564882592,3564882617,GB
+3564882618,3564882618,NL
+3564882619,3564883071,GB
3564883072,3564883079,NL
3564883080,3564886271,GB
3564886272,3564886527,NL
3564886528,3564888991,GB
-3564888992,3564889007,ES
+3564888992,3564888993,ES
+3564888994,3564888994,NL
+3564888995,3564889007,ES
3564889008,3564889633,GB
3564889634,3564889634,NL
3564889635,3564895231,GB
@@ -138955,7 +142399,7 @@
3564913664,3564913919,ES
3564913920,3564914175,IE
3564914176,3564914431,FR
-3564914432,3564914687,IE
+3564914432,3564914687,NL
3564914688,3564915711,GB
3564915712,3564915712,IN
3564915713,3564916735,US
@@ -138981,7 +142425,9 @@
3564994560,3565002751,NL
3565002752,3565027327,NO
3565027328,3565035519,PL
-3565035520,3565043711,IE
+3565035520,3565042687,IE
+3565042688,3565043199,GB
+3565043200,3565043711,IE
3565043712,3565051903,AT
3565051904,3565060095,IQ
3565060096,3565068287,GB
@@ -139211,7 +142657,9 @@
3572355072,3572356095,CH
3572356096,3572357119,GB
3572357120,3572358143,NL
-3572358144,3572360191,GB
+3572358144,3572359423,GB
+3572359424,3572359679,CA
+3572359680,3572360191,GB
3572360192,3572360831,ES
3572360832,3572360895,MX
3572360896,3572361215,ES
@@ -139386,19 +142834,19 @@
3576125960,3576125963,BE
3576125964,3576126779,GB
3576126780,3576126783,ES
-3576126784,3576134653,GB
+3576126784,3576133199,GB
+3576133200,3576133215,FR
+3576133216,3576134653,GB
3576134654,3576134654,CH
3576134655,3576135679,GB
3576135680,3576168447,DE
3576168448,3576238463,GB
3576238464,3576238464,FR
-3576238465,3576248583,GB
-3576248584,3576248591,AT
-3576248592,3576248625,GB
+3576238465,3576248575,GB
+3576248576,3576248625,AT
3576248626,3576248626,SK
-3576248627,3576248727,GB
-3576248728,3576248735,AT
-3576248736,3576255303,GB
+3576248627,3576248831,AT
+3576248832,3576255303,GB
3576255304,3576255311,ES
3576255312,3576256511,GB
3576256512,3576258559,FR
@@ -139448,12 +142896,15 @@
3577479168,3577544703,ES
3577544704,3577596527,DE
3577596528,3577596543,IT
-3577596544,3577610239,DE
+3577596544,3577596671,DE
+3577596672,3577596735,IT
+3577596736,3577610239,DE
3577626176,3577626239,GB
3577628672,3577629695,CH
3577635840,3577636863,DE
3577636864,3577637887,GB
3577639744,3577639775,FR
+3577639920,3577639927,FR
3577641200,3577641215,FR
3577641472,3577641983,FR
3577650048,3577650063,NL
@@ -139578,7 +143029,6 @@
3580354560,3580358655,SE
3580358656,3580362751,LT
3580362752,3580624895,GB
-3580624896,3580626943,RU
3580626944,3580628991,PL
3580628992,3580631039,RU
3580631040,3580631551,SE
@@ -139743,6 +143193,7 @@
3582559824,3582559999,CH
3582560000,3582566399,MC
3582569024,3582569031,AT
+3582570472,3582570479,FR
3582570912,3582570943,FR
3582572416,3582572423,CH
3582574592,3582582783,DE
@@ -139897,6 +143348,7 @@
3583713280,3583721471,CZ
3583721472,3583729663,DE
3583729664,3583737855,TR
+3583742824,3583742831,DE
3583742976,3583743487,PL
3583743616,3583743743,GB
3583744112,3583744127,SE
@@ -139906,6 +143358,7 @@
3583744960,3583744991,GB
3583745216,3583745279,SE
3583745536,3583745663,CZ
+3583745784,3583745791,RO
3583746048,3583754239,PL
3583754240,3583762431,RU
3583762432,3583770623,CZ
@@ -140135,9 +143588,13 @@
3585553152,3585553407,NL
3585553408,3585553919,LT
3585553920,3585554175,RU
-3585554176,3585554529,LT
+3585554176,3585554471,LT
+3585554472,3585554472,RU
+3585554473,3585554529,LT
3585554530,3585554530,RU
-3585554531,3585556479,LT
+3585554531,3585554685,LT
+3585554686,3585554686,RU
+3585554687,3585556479,LT
3585556480,3585564671,DE
3585564672,3585572863,RU
3585572864,3585581055,IT
@@ -140300,17 +143757,15 @@
3586628192,3586628223,NL
3586628224,3586628255,AT
3586628256,3586628287,IE
-3586628288,3586628319,GB
+3586628288,3586628319,FI
3586628320,3586628351,AT
3586628352,3586629631,GB
-3586629632,3586631935,IE
-3586631936,3586632191,CN
-3586632192,3586633727,IE
+3586629632,3586633727,IE
3586633728,3586634047,GB
3586634048,3586634079,NL
3586634080,3586634239,GB
-3586634240,3586634527,NL
-3586634528,3586634543,GB
+3586634240,3586634495,NL
+3586634496,3586634543,GB
3586634544,3586634623,NL
3586634624,3586634783,GB
3586634784,3586634815,NL
@@ -140424,7 +143879,9 @@
3587239553,3587244031,GB
3587244032,3587260415,IT
3587260416,3587284991,DE
-3587284992,3587286527,FR
+3587284992,3587285247,FR
+3587285248,3587285503,IT
+3587285504,3587286527,FR
3587286784,3587289599,FR
3587290112,3587293183,FR
3587293184,3587309567,IT
@@ -140642,6 +144099,7 @@
3589767168,3589810431,RU
3589810432,3589810687,PL
3589810688,3589816319,RU
+3589818638,3589818638,DE
3589819562,3589819563,GB
3589825792,3589825807,DE
3589825808,3589825809,US
@@ -140678,9 +144136,7 @@
3590005056,3590005071,DE
3590005072,3590005119,GB
3590005120,3590005135,IT
-3590005136,3590005407,GB
-3590005408,3590005423,SE
-3590005424,3590009103,GB
+3590005136,3590009103,GB
3590009104,3590009119,DE
3590009120,3590009263,GB
3590009264,3590009279,DE
@@ -140815,8 +144271,8 @@
3625140224,3625148415,CA
3625148416,3625168895,US
3625168896,3625172991,CA
-3625172992,3625256959,US
-3625256960,3625257983,CA
+3625172992,3625257471,US
+3625257472,3625257983,CA
3625257984,3625261055,US
3625263104,3625287679,US
3625287680,3625295871,CA
@@ -140908,7 +144364,9 @@
3627069440,3627220223,US
3627220224,3627220479,CA
3627220480,3627299071,US
-3627299072,3627299327,IN
+3627299072,3627299084,IN
+3627299085,3627299085,US
+3627299086,3627299327,IN
3627299328,3627507711,US
3627507712,3627511807,CA
3627511808,3627532287,US
@@ -140921,7 +144379,11 @@
3627667565,3627667565,CA
3627667566,3627679743,US
3627679744,3627712511,CA
-3627712512,3627753471,US
+3627712512,3627749375,US
+3627749376,3627749631,BR
+3627749632,3627750655,US
+3627750656,3627750911,BR
+3627750912,3627753471,US
3627753472,3627753727,AR
3627753728,3627759071,US
3627759072,3627759103,GB
@@ -141077,7 +144539,9 @@
3628753920,3628754943,AT
3628754944,3628755967,BE
3628755968,3628756991,AR
-3628756992,3628759039,DE
+3628756992,3628757503,DE
+3628757504,3628758527,HK
+3628758528,3628759039,DE
3628759040,3628761087,CN
3628761088,3628834815,US
3628834816,3628843007,CA
@@ -141270,7 +144734,9 @@
3630956544,3631005695,CA
3631005696,3631017983,US
3631017984,3631022079,HK
-3631022080,3631112191,US
+3631022080,3631098263,US
+3631098264,3631098271,FR
+3631098272,3631112191,US
3631112192,3631112703,VC
3631112704,3631116543,BB
3631116544,3631117567,GD
@@ -141293,7 +144759,9 @@
3631665152,3631667199,CA
3631667200,3631667455,US
3631667456,3631668735,CA
-3631668736,3631806207,US
+3631668736,3631669247,US
+3631669248,3631677439,HK
+3631677440,3631806207,US
3631806208,3631806463,NL
3631806464,3631841279,US
3631841280,3631874047,CA
@@ -141471,13 +144939,15 @@
3634098176,3634167807,US
3634167808,3634189055,CA
3634189056,3634189311,US
-3634189312,3634193263,CA
+3634189312,3634189496,CA
+3634189497,3634189497,US
+3634189498,3634193263,CA
3634193264,3634193279,US
3634193280,3634193940,CA
3634193941,3634193941,US
-3634193942,3634194367,CA
-3634194368,3634194399,US
-3634194400,3634196479,CA
+3634193942,3634194175,CA
+3634194176,3634194431,US
+3634194432,3634196479,CA
3634196480,3634257919,US
3634257920,3634262015,SE
3634262016,3634286079,US
@@ -141486,7 +144956,8 @@
3634288896,3634289151,CA
3634289152,3634506495,US
3634506496,3634506751,CA
-3634506752,3634507519,US
+3634506752,3634507263,US
+3634507264,3634507519,RU
3634507520,3634507775,NL
3634507776,3634511871,US
3634511872,3634515967,CA
@@ -141666,7 +145137,9 @@
3637821440,3637829631,CA
3637829632,3638165503,US
3638165504,3638181887,CA
-3638181888,3638226687,US
+3638181888,3638222273,US
+3638222274,3638222274,JP
+3638222275,3638226687,US
3638226688,3638226943,NL
3638226944,3638227967,US
3638227968,3638228223,JP
@@ -141690,13 +145163,21 @@
3638509568,3638534143,CA
3638534144,3638697983,US
3638697984,3638706175,CA
-3638706176,3638874111,US
+3638706176,3638749183,US
+3638749184,3638749439,AI
+3638749440,3638753279,US
+3638753280,3638754303,GA
+3638754304,3638874111,US
3638874112,3638878207,CA
3638878208,3638880511,US
3638880512,3638880767,CA
3638880768,3638898943,US
3638898944,3638899455,MX
-3638899456,3638984703,US
+3638899456,3638956287,US
+3638956288,3638956543,GP
+3638956544,3638956799,US
+3638956800,3638957055,GP
+3638957056,3638984703,US
3638984704,3638992895,GT
3638992896,3638996991,US
3639001088,3639069439,US
@@ -141711,68 +145192,15 @@
3639279616,3639283711,CA
3639283712,3639390207,US
3639390208,3639394303,ZA
-3639394304,3639396351,US
-3639396352,3639396383,NE
-3639396384,3639396415,US
-3639396416,3639396431,PK
-3639396432,3639396447,US
-3639396448,3639396463,NG
-3639396464,3639396471,TZ
-3639396472,3639396487,US
-3639396488,3639396519,IN
-3639396520,3639396543,US
-3639396544,3639396551,TZ
-3639396552,3639396671,US
-3639396672,3639396735,NE
-3639396736,3639396743,IN
-3639396744,3639396863,US
-3639396864,3639396879,NE
-3639396880,3639396927,US
-3639396928,3639396959,FR
-3639396960,3639396975,NG
-3639396976,3639396991,US
-3639396992,3639397023,CD
-3639397024,3639397119,US
+3639394304,3639397119,US
3639397120,3639397375,IN
3639397376,3639397631,US
3639397632,3639397887,NG
-3639397888,3639398423,US
-3639398424,3639398431,LB
-3639398432,3639398439,US
-3639398440,3639398447,LB
-3639398448,3639398527,US
-3639398528,3639398591,SA
-3639398592,3639398599,LB
-3639398600,3639398655,US
-3639398656,3639398663,SA
-3639398664,3639399679,US
+3639397888,3639399679,US
3639399680,3639399935,HN
3639399936,3639400447,US
3639400448,3639401471,RS
-3639401472,3639401495,PK
-3639401496,3639401511,US
-3639401512,3639401519,ID
-3639401520,3639401535,US
-3639401536,3639401551,TZ
-3639401552,3639401559,LK
-3639401560,3639401623,US
-3639401624,3639401631,TZ
-3639401632,3639401647,US
-3639401648,3639401655,PK
-3639401656,3639401687,US
-3639401688,3639401727,PK
-3639401728,3639402015,US
-3639402016,3639402039,PK
-3639402040,3639402055,US
-3639402056,3639402071,PK
-3639402072,3639402079,US
-3639402080,3639402095,PK
-3639402096,3639402111,US
-3639402112,3639402175,NG
-3639402176,3639402191,PK
-3639402192,3639402199,US
-3639402200,3639402207,PK
-3639402208,3639402239,US
+3639401472,3639402239,US
3639402240,3639402495,GH
3639402496,3639525375,US
3639529472,3639533567,US
@@ -142698,7 +146126,9 @@
3647978516,3647979007,NL
3647979008,3647980543,DE
3647980544,3647981567,GB
-3647981568,3647984033,DE
+3647981568,3647983871,DE
+3647983872,3647983879,NL
+3647983880,3647984033,DE
3647984034,3647984034,NL
3647984035,3647987711,DE
3647987712,3647988223,IT
@@ -143114,7 +146544,8 @@
3652005888,3652009983,GB
3652009984,3652014079,RU
3652014080,3652018175,SA
-3652018176,3652022271,IE
+3652018176,3652022015,IE
+3652022016,3652022271,DE
3652022272,3652026367,ES
3652026368,3652034559,DE
3652034560,3652046847,PL
@@ -143445,8 +146876,6 @@
3701380096,3701381119,KH
3701381120,3701390335,IN
3701390336,3701391359,AU
-3701391360,3701392383,IN
-3701392384,3701393407,HK
3701393408,3701394431,MY
3701394432,3701395455,BD
3701395456,3701396479,MY
@@ -143691,7 +147120,6 @@
3749183488,3749838847,CN
3749838848,3749839871,SG
3749839872,3749840895,IN
-3749840896,3749841919,CN
3749841920,3749842943,AU
3749842944,3749843967,PH
3749843968,3749844991,ID
diff --git a/src/config/geoip6 b/src/config/geoip6
index f523d7bd02..c719438b21 100644
--- a/src/config/geoip6
+++ b/src/config/geoip6
@@ -1,8 +1,9 @@
-# Last updated based on January 5 2018 Maxmind GeoLite2 Country
+# Last updated based on March 8 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
600:8801:9400:5a1:948b:ab15:dde3:61a3,600:8801:9400:5a1:948b:ab15:dde3:61a3,US
+2000:db8::,2000:db8:ffff:ffff:ffff:ffff:ffff:ffff,US
2001:200::,2001:200:ffff:ffff:ffff:ffff:ffff:ffff,JP
2001:208::,2001:208:ffff:ffff:ffff:ffff:ffff:ffff,SG
2001:218::,2001:218:ffff:ffff:ffff:ffff:ffff:ffff,JP
@@ -210,7 +211,9 @@
2001:470:6e::,2001:470:6e:7fff:ffff:ffff:ffff:ffff,CZ
2001:470:6e:8000::,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:70:dff:ffff:ffff:ffff:ffff,US
+2001:470:6f:4a0::,2001:470:6f:cb1:ffff:ffff:ffff:ffff,US
+2001:470:6f:cb2::,2001:470:6f:cb2:ffff:ffff:ffff:ffff,CZ
+2001:470:6f:cb3::,2001:470:70:dff:ffff:ffff:ffff:ffff,US
2001:470:70:e00::,2001:470:70:fff:ffff:ffff:ffff:ffff,UA
2001:470:70:1000::,2001:470:70:ffff:ffff:ffff:ffff:ffff,US
2001:470:71::,2001:470:71:5ff:ffff:ffff:ffff:ffff,RU
@@ -842,7 +845,9 @@
2001:470:da9d::,2001:470:da9d:7fff:ffff:ffff:ffff:ffff,BR
2001:470:da9d:8000::,2001:470:dbba:ffff:ffff:ffff:ffff:ffff,US
2001:470:dbbb::,2001:470:dbbb:7fff:ffff:ffff:ffff:ffff,BR
-2001:470:dbbb:8000::,2001:470:dc23:ffff:ffff:ffff:ffff:ffff,US
+2001:470:dbbb:8000::,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:dc23:ffff:ffff:ffff:ffff:ffff,US
2001:470:dc24::,2001:470:dc24:7fff:ffff:ffff:ffff:ffff,SE
2001:470:dc24:8000::,2001:470:dc44:ffff:ffff:ffff:ffff:ffff,US
2001:470:dc45::,2001:470:dc45:7fff:ffff:ffff:ffff:ffff,SE
@@ -1116,7 +1121,7 @@
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:8f:ffff:ffff:ffff:ffff:ffff,US
+2001:504:80::,2001:504:90:ffff:ffff:ffff:ffff:ffff,US
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
@@ -1180,7 +1185,7 @@
2001:620::,2001:627:ffff:ffff:ffff:ffff:ffff:ffff,CH
2001:628::,2001:62f:ffff:ffff:ffff:ffff:ffff:ffff,AT
2001:630::,2001:630:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2001:638::,2001:638:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2001:638::,2001:63f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:640::,2001:640:ffff:ffff:ffff:ffff:ffff:ffff,RU
2001:648::,2001:64f:ffff:ffff:ffff:ffff:ffff:ffff,GR
2001:650::,2001:65f:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -1326,6 +1331,7 @@
2001:678:204::,2001:678:204:ffff:ffff:ffff:ffff:ffff,CH
2001:678:208::,2001:678:208:ffff:ffff:ffff:ffff:ffff,UA
2001:678:20c::,2001:678:20c:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:210::,2001:678:210:ffff:ffff:ffff:ffff:ffff,LU
2001:678:214::,2001:678:214:ffff:ffff:ffff:ffff:ffff,HU
2001:678:218::,2001:678:218:ffff:ffff:ffff:ffff:ffff,RO
2001:678:21c::,2001:678:21c:ffff:ffff:ffff:ffff:ffff,UA
@@ -1407,6 +1413,7 @@
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
@@ -1551,6 +1558,29 @@
2001:678:5a4::,2001:678:5a4:ffff:ffff:ffff:ffff:ffff,CZ
2001:678:5a8::,2001:678:5a8:ffff:ffff:ffff:ffff:ffff,AT
2001:678:5ac::,2001:678:5ac:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:5b0::,2001:678:5b1:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:5b8::,2001:678:5b8:ffff:ffff:ffff:ffff:ffff,SI
+2001:678:5bc::,2001:678:5bc:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:5c0::,2001:678:5c0:ffff:ffff:ffff:ffff:ffff,BE
+2001:678:5c4::,2001:678:5c4:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:5c8::,2001:678:5c8:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:5cc::,2001:678:5cc:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:5d0::,2001:678:5d0:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:5d4::,2001:678:5d4:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:5d8::,2001:678:5d8:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:5dc::,2001:678:5dc:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:5e0::,2001:678:5e0:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:5e4::,2001:678:5e4:ffff:ffff:ffff:ffff:ffff,US
+2001:678:5e8::,2001:678:5e8:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:5ec::,2001:678:5ec:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:5f0::,2001:678:5f0:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:5f4::,2001:678:5f4:ffff:ffff:ffff:ffff:ffff,PS
+2001:678:5f8::,2001:678:5f8:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:5fc::,2001:678:5fc:ffff:ffff:ffff:ffff:ffff,KG
+2001:678:600::,2001:678:600:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:604::,2001:678:604:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:608::,2001:678:608:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:60c::,2001:678:60c:ffff:ffff:ffff:ffff:ffff,PL
2001:67c::,2001:67c::ffff:ffff:ffff:ffff:ffff,IE
2001:67c:4::,2001:67c:4:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:8::,2001:67c:8:ffff:ffff:ffff:ffff:ffff,CH
@@ -1771,7 +1801,7 @@
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,SG
+2001:67c:370::,2001:67c:370:ffff:ffff:ffff:ffff:ffff,GB
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
@@ -1806,6 +1836,7 @@
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
2001:67c:40c::,2001:67c:40c:ffff:ffff:ffff:ffff:ffff,SE
@@ -2178,7 +2209,7 @@
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,SG
+2001:67c:1230::,2001:67c:1233:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:1240::,2001:67c:1240:ffff:ffff:ffff:ffff:ffff,IE
2001:67c:1244::,2001:67c:1244:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:1248::,2001:67c:1248:ffff:ffff:ffff:ffff:ffff,RO
@@ -2541,6 +2572,7 @@
2001:67c:18ec::,2001:67c:18ec:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:18f0::,2001:67c:18f0:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:18f4::,2001:67c:18f4:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:18f8::,2001:67c:18f8:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:18fc::,2001:67c:18fc:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:1900::,2001:67c:1903:ffff:ffff:ffff:ffff:ffff,BE
2001:67c:1910::,2001:67c:1910:ffff:ffff:ffff:ffff:ffff,SE
@@ -2588,6 +2620,7 @@
2001:67c:19d8::,2001:67c:19d8:ffff:ffff:ffff:ffff:ffff,SI
2001:67c:19dc::,2001:67c:19dc:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:19e0::,2001:67c:19e0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:19e4::,2001:67c:19e4:ffff:ffff:ffff:ffff:ffff,NO
2001:67c:19e8::,2001:67c:19e8:ffff:ffff:ffff:ffff:ffff,TR
2001:67c:19ec::,2001:67c:19ec:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:19f0::,2001:67c:19f0:ffff:ffff:ffff:ffff:ffff,RU
@@ -2603,14 +2636,17 @@
2001:67c:1b14::,2001:67c:1b14:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:1b18::,2001:67c:1b18:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:1b1c::,2001:67c:1b1c:ffff:ffff:ffff:ffff:ffff,LU
+2001:67c:1b20::,2001:67c:1b20:ffff:ffff:ffff:ffff:ffff,AT
2001:67c:1b24::,2001:67c:1b24:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:1b28::,2001:67c:1b28:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:1b2c::,2001:67c:1b2c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1b30::,2001:67c:1b30:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:1b34::,2001:67c:1b34:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:1b38::,2001:67c:1b38:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:1b3c::,2001:67c:1b3c:ffff:ffff:ffff:ffff:ffff,SI
2001:67c:1b40::,2001:67c:1b43:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:1b50::,2001:67c:1b50:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:1b54::,2001:67c:1b54:ffff:ffff:ffff:ffff:ffff,NO
2001:67c:1b58::,2001:67c:1b59:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:1b60::,2001:67c:1b60:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:1b64::,2001:67c:1b64:ffff:ffff:ffff:ffff:ffff,CZ
@@ -2642,6 +2678,7 @@
2001:67c:1bd0::,2001:67c:1bd0:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:1bd4::,2001:67c:1bd4:ffff:ffff:ffff:ffff:ffff,SK
2001:67c:1bd8::,2001:67c:1bd8:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:1bdc::,2001:67c:1bdc:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:1be0::,2001:67c:1be0:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:1be4::,2001:67c:1be4:ffff:ffff:ffff:ffff:ffff,FR
2001:67c:1be8::,2001:67c:1be8:ffff:ffff:ffff:ffff:ffff,FI
@@ -2929,7 +2966,6 @@
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
@@ -2938,6 +2974,7 @@
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:24ac::,2001:67c:24ac:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:24b0::,2001:67c:24b0:ffff:ffff:ffff:ffff:ffff,DE
@@ -2994,6 +3031,7 @@
2001:67c:259c::,2001:67c:259c:ffff:ffff:ffff:ffff:ffff,AE
2001:67c:25a0::,2001:67c:25a0:ffff:ffff:ffff:ffff:ffff,RO
2001:67c:25a4::,2001:67c:25a4:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:25a8::,2001:67c:25a8:ffff:ffff:ffff:ffff:ffff,FR
2001:67c:25ac::,2001:67c:25ac:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:25b0::,2001:67c:25b0:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:25b4::,2001:67c:25b4:ffff:ffff:ffff:ffff:ffff,SE
@@ -3213,7 +3251,6 @@
2001:67c:29ac::,2001:67c:29ac:ffff:ffff:ffff:ffff:ffff,CY
2001:67c:29b0::,2001:67c:29b1:ffff:ffff:ffff:ffff:ffff,CY
2001:67c:29b8::,2001:67c:29b8:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:29bc::,2001:67c:29bc:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:29c0::,2001:67c:29c1:ffff:ffff:ffff:ffff:ffff,FR
2001:67c:29c8::,2001:67c:29c8:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:29cc::,2001:67c:29cc:ffff:ffff:ffff:ffff:ffff,AT
@@ -3233,6 +3270,7 @@
2001:67c:2a04::,2001:67c:2a04:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2a08::,2001:67c:2a08:ffff:ffff:ffff:ffff:ffff,NO
2001:67c:2a0c::,2001:67c:2a0c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2a10::,2001:67c:2a10:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2a14::,2001:67c:2a14:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2a18::,2001:67c:2a18:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2a1c::,2001:67c:2a1c:ffff:ffff:ffff:ffff:ffff,DE
@@ -3320,7 +3358,6 @@
2001:67c:2b6c::,2001:67c:2b6c:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2b70::,2001:67c:2b70:ffff:ffff:ffff:ffff:ffff,DK
2001:67c:2b74::,2001:67c:2b74:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2b78::,2001:67c:2b79:ffff:ffff:ffff:ffff:ffff,GR
2001:67c:2b80::,2001:67c:2b80:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2b84::,2001:67c:2b84:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2b88::,2001:67c:2b88:ffff:ffff:ffff:ffff:ffff,RU
@@ -3405,6 +3442,7 @@
2001:67c:2cf4::,2001:67c:2cf4:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2cf8::,2001:67c:2cf8:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2cfc::,2001:67c:2cfc:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2d00::,2001:67c:2d00:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2d04::,2001:67c:2d04:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2d08::,2001:67c:2d08:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2d0c::,2001:67c:2d0c:ffff:ffff:ffff:ffff:ffff,DE
@@ -3489,7 +3527,6 @@
2001:67c:2e4c::,2001:67c:2e4c:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2e50::,2001:67c:2e50:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:2e54::,2001:67c:2e54:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:2e58::,2001:67c:2e58:ffff:ffff:ffff:ffff:ffff,UA
2001:67c:2e5c::,2001:67c:2e5c:ffff:ffff:ffff:ffff:ffff,UA
2001:67c:2e60::,2001:67c:2e60:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2e64::,2001:67c:2e64:ffff:ffff:ffff:ffff:ffff,NL
@@ -3552,11 +3589,11 @@
2001:67c:2f50::,2001:67c:2f50:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2f54::,2001:67c:2f54:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:2f58::,2001:67c:2f58:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:2f5c::,2001:67c:2f5c:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2f5c::,2001:67c:2f5c:ffff:ffff:ffff:ffff:ffff,BG
2001:67c:2f60::,2001:67c:2f60:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2f64::,2001:67c:2f64:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:2f68::,2001:67c:2f68:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:2f6c::,2001:67c:2f6c:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:2f6c::,2001:67c:2f6c:ffff:ffff:ffff:ffff:ffff,BG
2001:67c:2f70::,2001:67c:2f70:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:2f74::,2001:67c:2f74:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:2f78::,2001:67c:2f78:ffff:ffff:ffff:ffff:ffff,DE
@@ -3564,7 +3601,6 @@
2001:67c:2f80::,2001:67c:2f80:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2f84::,2001:67c:2f84:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2f88::,2001:67c:2f88:ffff:ffff:ffff:ffff:ffff,ZA
-2001:67c:2f8c::,2001:67c:2f8c:ffff:ffff:ffff:ffff:ffff,IT
2001:67c:2f90::,2001:67c:2f90:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2f94::,2001:67c:2f94:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:2f98::,2001:67c:2f98:ffff:ffff:ffff:ffff:ffff,CH
@@ -3585,6 +3621,7 @@
2001:67c:2fd4::,2001:67c:2fd4:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2fd8::,2001:67c:2fd8:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2fdc::,2001:67c:2fdc:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2fe0::,2001:67c:2fe0:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:2fe4::,2001:67c:2fe4:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2fe8::,2001:67c:2fe8:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:2fec::,2001:67c:2fec:ffff:ffff:ffff:ffff:ffff,PL
@@ -3795,6 +3832,7 @@
2001:7f8:80::,2001:7f8:80:ffff:ffff:ffff:ffff:ffff,UA
2001:7f8:81::,2001:7f8:81:ffff:ffff:ffff:ffff:ffff,FR
2001:7f8:82::,2001:7f8:82:ffff:ffff:ffff:ffff:ffff,RU
+2001:7f8:83::,2001:7f8:83:ffff:ffff:ffff:ffff:ffff,NL
2001:7f8:84::,2001:7f8:84:ffff:ffff:ffff:ffff:ffff,RU
2001:7f8:85::,2001:7f8:85:ffff:ffff:ffff:ffff:ffff,HU
2001:7f8:86::,2001:7f8:86:ffff:ffff:ffff:ffff:ffff,NL
@@ -3855,6 +3893,8 @@
2001:7f8:c1::,2001:7f8:c1:ffff:ffff:ffff:ffff:ffff,SE
2001:7f8:c2::,2001:7f8:c2:ffff:ffff:ffff:ffff:ffff,LB
2001:7f8:c3::,2001:7f8:c3:ffff:ffff:ffff:ffff:ffff,IE
+2001:7f8:c4::,2001:7f8:c4:ffff:ffff:ffff:ffff:ffff,LT
+2001:7f8:c5::,2001:7f8:c5: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
@@ -3998,7 +4038,7 @@
2001:9f0::,2001:9f7:ffff:ffff:ffff:ffff:ffff:ffff,FI
2001:a00::,2001:a00:ffff:ffff:ffff:ffff:ffff:ffff,AT
2001:a08::,2001:a08:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2001:a10::,2001:a10:ffff:ffff:ffff:ffff:ffff:ffff,PL
+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
@@ -4010,7 +4050,7 @@
2001:a60::,2001:a67:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:a68::,2001:a68:ffff:ffff:ffff:ffff:ffff:ffff,FI
2001:a70::,2001:a70:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2001:a78::,2001:a78:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2001:a78::,2001:a7f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:a80::,2001:a80:ffff:ffff:ffff:ffff:ffff:ffff,IT
2001:a88::,2001:a88:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:a90::,2001:a90:ffff:ffff:ffff:ffff:ffff:ffff,NO
@@ -4069,7 +4109,7 @@
2001:b10::,2001:b10:ffff:ffff:ffff:ffff:ffff:ffff,PL
2001:b18::,2001:b18:ffff:ffff:ffff:ffff:ffff:ffff,BG
2001:b20::,2001:b27:ffff:ffff:ffff:ffff:ffff:ffff,LU
-2001:b28::,2001:b28:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2001:b28::,2001:b28:ffff:ffff:ffff:ffff:ffff:ffff,NL
2001:b30::,2001:b37:ffff:ffff:ffff:ffff:ffff:ffff,RO
2001:b40::,2001:b40:ffff:ffff:ffff:ffff:ffff:ffff,IT
2001:b48::,2001:b4f:ffff:ffff:ffff:ffff:ffff:ffff,SE
@@ -4232,7 +4272,6 @@
2001:dec::,2001:dec::ffff:ffff:ffff:ffff:ffff,VU
2001:dec:8000::,2001:dec:8000:ffff:ffff:ffff:ffff:ffff,PK
2001:ded::,2001:ded::ffff:ffff:ffff:ffff:ffff,SG
-2001:ded:8000::,2001:ded:8000:ffff:ffff:ffff:ffff:ffff,IN
2001:dee::,2001:dee::ffff:ffff:ffff:ffff:ffff,HK
2001:dee:8000::,2001:dee:8001:ffff:ffff:ffff:ffff:ffff,NZ
2001:def::,2001:def::ffff:ffff:ffff:ffff:ffff,HK
@@ -4274,7 +4313,6 @@
2001:df0:71::,2001:df0:71:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:73::,2001:df0:74:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:75::,2001:df0:75:ffff:ffff:ffff:ffff:ffff,SG
-2001:df0:76::,2001:df0:76:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:77::,2001:df0:77:ffff:ffff:ffff:ffff:ffff,NZ
2001:df0:78::,2001:df0:78:ffff:ffff:ffff:ffff:ffff,HK
2001:df0:7b::,2001:df0:7b:ffff:ffff:ffff:ffff:ffff,AU
@@ -4457,7 +4495,6 @@
2001:df0:27f::,2001:df0:27f:ffff:ffff:ffff:ffff:ffff,JP
2001:df0:280::,2001:df0:28f:ffff:ffff:ffff:ffff:ffff,HK
2001:df0:290::,2001:df0:290:ffff:ffff:ffff:ffff:ffff,KR
-2001:df0:291::,2001:df0:291:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:292::,2001:df0:292:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:293::,2001:df0:293:ffff:ffff:ffff:ffff:ffff,JP
2001:df0:294::,2001:df0:294:ffff:ffff:ffff:ffff:ffff,AU
@@ -4577,7 +4614,6 @@
2001:df0:455::,2001:df0:455:ffff:ffff:ffff:ffff:ffff,IN
2001:df0:456::,2001:df0:456:ffff:ffff:ffff:ffff:ffff,JP
2001:df0:457::,2001:df0:457:ffff:ffff:ffff:ffff:ffff,MY
-2001:df0:458::,2001:df0:458:ffff:ffff:ffff:ffff:ffff,IN
2001:df0:45a::,2001:df0:45a:ffff:ffff:ffff:ffff:ffff,IN
2001:df0:45c::,2001:df0:45d:ffff:ffff:ffff:ffff:ffff,IN
2001:df0:45f::,2001:df0:45f:ffff:ffff:ffff:ffff:ffff,NZ
@@ -4682,7 +4718,6 @@
2001:df0:6600::,2001:df0:6600:ffff:ffff:ffff:ffff:ffff,SG
2001:df0:6700::,2001:df0:6700:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:6800::,2001:df0:6800:ffff:ffff:ffff:ffff:ffff,JP
-2001:df0:6900::,2001:df0:6900:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:6a00::,2001:df0:6a00:ffff:ffff:ffff:ffff:ffff,HK
2001:df0:6b00::,2001:df0:6b00:ffff:ffff:ffff:ffff:ffff,CN
2001:df0:6d00::,2001:df0:6d00:ffff:ffff:ffff:ffff:ffff,HK
@@ -4809,7 +4844,6 @@
2001:df0:ed00::,2001:df0:ed00:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:ee00::,2001:df0:ee00:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:ef00::,2001:df0:ef00:ffff:ffff:ffff:ffff:ffff,ID
-2001:df0:f000::,2001:df0:f000:ffff:ffff:ffff:ffff:ffff,HK
2001:df0:f100::,2001:df0:f100:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:f200::,2001:df0:f200:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:f300::,2001:df0:f300:ffff:ffff:ffff:ffff:ffff,ID
@@ -4823,7 +4857,6 @@
2001:df0:fb00::,2001:df0:fb00:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:fc00::,2001:df0:fc01:ffff:ffff:ffff:ffff:ffff,IN
2001:df0:fd00::,2001:df0:fd00:ffff:ffff:ffff:ffff:ffff,AU
-2001:df0:fe00::,2001:df0:fe00:ffff:ffff:ffff:ffff:ffff,IN
2001:df0:ff00::,2001:df0:ff00:ffff:ffff:ffff:ffff:ffff,PH
2001:df1:100::,2001:df1:100:ffff:ffff:ffff:ffff:ffff,IN
2001:df1:200::,2001:df1:200:ffff:ffff:ffff:ffff:ffff,NZ
@@ -4990,7 +5023,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:ac00::,2001:df1:ac00: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
@@ -5495,92 +5527,181 @@
2001:df3:b000::,2001:df3:b000:ffff:ffff:ffff:ffff:ffff,TH
2001:df3:b100::,2001:df3:b100:ffff:ffff:ffff:ffff:ffff,CN
2001:df3:b200::,2001:df3:b200:ffff:ffff:ffff:ffff:ffff,PK
+2001:df3:b300::,2001:df3:b300:ffff:ffff:ffff:ffff:ffff,IN
2001:df3:b400::,2001:df3:b400:ffff:ffff:ffff:ffff:ffff,AU
+2001:df3:b500::,2001:df3:b500:ffff:ffff:ffff:ffff:ffff,VN
2001:df3:b600::,2001:df3:b600:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df3:b700::,2001:df3:b700:ffff:ffff:ffff:ffff:ffff,VN
2001:df3:b800::,2001:df3:b800:ffff:ffff:ffff:ffff:ffff,IN
+2001:df3:b900::,2001:df3:b900:ffff:ffff:ffff:ffff:ffff,MY
2001:df3:ba00::,2001:df3:ba00:ffff:ffff:ffff:ffff:ffff,AU
2001:df3:bc00::,2001:df3:bc00:ffff:ffff:ffff:ffff:ffff,JP
+2001:df3:bd00::,2001:df3:bd00:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:be00::,2001:df3:be00:ffff:ffff:ffff:ffff:ffff,BD
+2001:df3:bf00::,2001:df3:bf00:ffff:ffff:ffff:ffff:ffff,IN
2001:df3:c000::,2001:df3:c000:ffff:ffff:ffff:ffff:ffff,ID
+2001:df3:c100::,2001:df3:c100:ffff:ffff:ffff:ffff:ffff,AU
2001:df3:c200::,2001:df3:c200:ffff:ffff:ffff:ffff:ffff,TH
+2001:df3:c300::,2001:df3:c300:ffff:ffff:ffff:ffff:ffff,SG
2001:df3:c400::,2001:df3:c400:ffff:ffff:ffff:ffff:ffff,AU
+2001:df3:c500::,2001:df3:c500:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:c600::,2001:df3:c600:ffff:ffff:ffff:ffff:ffff,AU
+2001:df3:c700::,2001:df3:c700:ffff:ffff:ffff:ffff:ffff,TH
2001:df3:c800::,2001:df3:c800:ffff:ffff:ffff:ffff:ffff,IN
+2001:df3:c900::,2001:df3:c900:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:ca00::,2001:df3:ca00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df3:cb00::,2001:df3:cb00:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:cc00::,2001:df3:cc00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df3:cd00::,2001:df3:cd00:ffff:ffff:ffff:ffff:ffff,HK
2001:df3:ce00::,2001:df3:ce00:ffff:ffff:ffff:ffff:ffff,MM
+2001:df3:cf00::,2001:df3:cf00:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:d000::,2001:df3:d000:ffff:ffff:ffff:ffff:ffff,AU
+2001:df3:d100::,2001:df3:d100:ffff:ffff:ffff:ffff:ffff,MY
2001:df3:d200::,2001:df3:d200:ffff:ffff:ffff:ffff:ffff,HK
+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
+2001:df3:db00::,2001:df3:db00:ffff:ffff:ffff:ffff:ffff,AU
2001:df3:dc00::,2001:df3:dc00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df3:dd00::,2001:df3:dd00:ffff:ffff:ffff:ffff:ffff,AU
2001:df3:de00::,2001:df3:de00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df3:df00::,2001:df3:df00:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:e000::,2001:df3:e000:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df3:e100::,2001:df3:e100:ffff:ffff:ffff:ffff:ffff,VN
2001:df3:e200::,2001:df3:e200:ffff:ffff:ffff:ffff:ffff,ID
+2001:df3:e300::,2001:df3:e300:ffff:ffff:ffff:ffff:ffff,BD
2001:df3:e400::,2001:df3:e400:ffff:ffff:ffff:ffff:ffff,IN
+2001:df3:e500::,2001:df3:e500:ffff:ffff:ffff:ffff:ffff,VN
2001:df3:e600::,2001:df3:e600:ffff:ffff:ffff:ffff:ffff,ID
+2001:df3:e700::,2001:df3:e700:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:e800::,2001:df3:e800:ffff:ffff:ffff:ffff:ffff,IN
+2001:df3:e900::,2001:df3:e900:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:ea00::,2001:df3:ea00:ffff:ffff:ffff:ffff:ffff,MV
+2001:df3:ed00::,2001:df3:ed00:ffff:ffff:ffff:ffff:ffff,AU
2001:df3:ee00::,2001:df3:ee00:ffff:ffff:ffff:ffff:ffff,TH
+2001:df3:ef00::,2001:df3:ef00:ffff:ffff:ffff:ffff:ffff,AU
2001:df3:f000::,2001:df3:f000:ffff:ffff:ffff:ffff:ffff,ID
+2001:df3:f100::,2001:df3:f100:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:f200::,2001:df3:f200:ffff:ffff:ffff:ffff:ffff,HK
+2001:df3:f300::,2001:df3:f300:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:f400::,2001:df3:f400:ffff:ffff:ffff:ffff:ffff,IN
+2001:df3:f500::,2001:df3:f500:ffff:ffff:ffff:ffff:ffff,IN
2001:df3:f600::,2001:df3:f600:ffff:ffff:ffff:ffff:ffff,VN
+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
2001:df3:fe00::,2001:df3:fe00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df3:ff00::,2001:df3:ff00:ffff:ffff:ffff:ffff:ffff,ID
2001:df4::,2001:df4::ffff:ffff:ffff:ffff:ffff,MY
+2001:df4:100::,2001:df4:100:ffff:ffff:ffff:ffff:ffff,VN
2001:df4:200::,2001:df4:200:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:300::,2001:df4:300:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:400::,2001:df4:400:ffff:ffff:ffff:ffff:ffff,ID
+2001:df4:500::,2001:df4:500:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:600::,2001:df4:600:ffff:ffff:ffff:ffff:ffff,ID
+2001:df4:700::,2001:df4:700:ffff:ffff:ffff:ffff:ffff,VN
2001:df4:800::,2001:df4:800:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:900::,2001:df4:900:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:a00::,2001:df4:a00:ffff:ffff:ffff:ffff:ffff,NP
+2001:df4:b00::,2001:df4:b00:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:c00::,2001:df4:c00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:d00::,2001:df4:d00:ffff:ffff:ffff:ffff:ffff,HK
2001:df4:e00::,2001:df4:e00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df4:f00::,2001:df4:f00:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:1000::,2001:df4:1000:ffff:ffff:ffff:ffff:ffff,HK
+2001:df4:1100::,2001:df4:1100:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:1200::,2001:df4:1200:ffff:ffff:ffff:ffff:ffff,HK
+2001:df4:1300::,2001:df4:1300:ffff:ffff:ffff:ffff:ffff,NZ
2001:df4:1400::,2001:df4:1400:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:1500::,2001:df4:1500:ffff:ffff:ffff:ffff:ffff,CN
2001:df4:1600::,2001:df4:1600:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:1700::,2001:df4:1700:ffff:ffff:ffff:ffff:ffff,IN
2001:df4:1800::,2001:df4:1800:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:1900::,2001:df4:1900:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:1a00::,2001:df4:1a00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:1b00::,2001:df4:1b00:ffff:ffff:ffff:ffff:ffff,LK
2001:df4:1c00::,2001:df4:1c00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:1d00::,2001:df4:1d00:ffff:ffff:ffff:ffff:ffff,HK
2001:df4:1e00::,2001:df4:1e00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:1f00::,2001:df4:1f00:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:2000::,2001:df4:2000:ffff:ffff:ffff:ffff:ffff,TH
+2001:df4:2100::,2001:df4:2100:ffff:ffff:ffff:ffff:ffff,BD
2001:df4:2200::,2001:df4:2200:ffff:ffff:ffff:ffff:ffff,MY
+2001:df4:2300::,2001:df4:2300:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:2400::,2001:df4:2400:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:2500::,2001:df4:2500:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:2600::,2001:df4:2600:ffff:ffff:ffff:ffff:ffff,SG
+2001:df4:2700::,2001:df4:2700:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:2800::,2001:df4:2800:ffff:ffff:ffff:ffff:ffff,HK
+2001:df4:2900::,2001:df4:2900:ffff:ffff:ffff:ffff:ffff,VN
2001:df4:2a00::,2001:df4:2a00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:2b00::,2001:df4:2b00:ffff:ffff:ffff:ffff:ffff,VN
2001:df4:2c00::,2001:df4:2c00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:2d00::,2001:df4:2d00:ffff:ffff:ffff:ffff:ffff,VN
2001:df4:2e00::,2001:df4:2e00:ffff:ffff:ffff:ffff:ffff,BD
+2001:df4:2f00::,2001:df4:2f00:ffff:ffff:ffff:ffff:ffff,CN
2001:df4:3000::,2001:df4:3000:ffff:ffff:ffff:ffff:ffff,TH
+2001:df4:3100::,2001:df4:3100:ffff:ffff:ffff:ffff:ffff,BD
2001:df4:3200::,2001:df4:3200:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:3300::,2001:df4:3300:ffff:ffff:ffff:ffff:ffff,IN
2001:df4:3400::,2001:df4:3400:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:3500::,2001:df4:3500:ffff:ffff:ffff:ffff:ffff,IN
2001:df4:3600::,2001:df4:3600:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:3700::,2001:df4:3700:ffff:ffff:ffff:ffff:ffff,HK
2001:df4:3800::,2001:df4:3800:ffff:ffff:ffff:ffff:ffff,BD
+2001:df4:3900::,2001:df4:3900:ffff:ffff:ffff:ffff:ffff,IN
2001:df4:3a00::,2001:df4:3a00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:3b00::,2001:df4:3b00:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:3c00::,2001:df4:3c00:ffff:ffff:ffff:ffff:ffff,BD
+2001:df4:3d00::,2001:df4:3d00:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:3e00::,2001:df4:3e00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:3f00::,2001:df4:3f00:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:4000::,2001:df4:400f:ffff:ffff:ffff:ffff:ffff,SG
+2001:df4:4100::,2001:df4:4100:ffff:ffff:ffff:ffff:ffff,PK
2001:df4:4200::,2001:df4:4200:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:4300::,2001:df4:4300:ffff:ffff:ffff:ffff:ffff,NZ
2001:df4:4400::,2001:df4:4400:ffff:ffff:ffff:ffff:ffff,ID
+2001:df4:4500::,2001:df4:4500:ffff:ffff:ffff:ffff:ffff,IN
2001:df4:4600::,2001:df4:4600:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:4700::,2001:df4:4700:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:4900::,2001:df4:4900:ffff:ffff:ffff:ffff:ffff,ID
+2001:df4:4b00::,2001:df4:4b00:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:4c00::,2001:df4:4c00:ffff:ffff:ffff:ffff:ffff,MY
+2001:df4:4d00::,2001:df4:4d00:ffff:ffff:ffff:ffff:ffff,NP
2001:df4:4e00::,2001:df4:4e00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:4f00::,2001:df4:4f00:ffff:ffff:ffff:ffff:ffff,NZ
2001:df4:5000::,2001:df4:5000:ffff:ffff:ffff:ffff:ffff,ID
+2001:df4:5100::,2001:df4:5100:ffff:ffff:ffff:ffff:ffff,IN
2001:df4:5200::,2001:df4:5200:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:5300::,2001:df4:5300:ffff:ffff:ffff:ffff:ffff,NZ
2001:df4:5400::,2001:df4:5400:ffff:ffff:ffff:ffff:ffff,ID
+2001:df4:5500::,2001:df4:5500:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:5600::,2001:df4:5600:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:5700::,2001:df4:5700:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:5800::,2001:df4:5800:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:5900::,2001:df4:5900:ffff:ffff:ffff:ffff:ffff,CN
2001:df4:5a00::,2001:df4:5a00:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df4:5b00::,2001:df4:5b00:ffff:ffff:ffff:ffff:ffff,MV
2001:df4:5c00::,2001:df4:5c00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:5d00::,2001:df4:5d00:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:5e00::,2001:df4:5e00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df4:5f00::,2001:df4:5f00:ffff:ffff:ffff:ffff:ffff,IN
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: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
+2001:df4:6700::,2001:df4:6700:ffff:ffff:ffff:ffff:ffff,IN
2001:df4:6800::,2001:df4:6800:ffff:ffff:ffff:ffff:ffff,SG
2001:df4:6a00::,2001:df4:6a00:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:6c00::,2001:df4:6c00:ffff:ffff:ffff:ffff:ffff,ID
@@ -5955,7 +6076,6 @@
2001:df7:8a00::,2001:df7:8a00:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:8e00::,2001:df7:8e00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:9200::,2001:df7:921f:ffff:ffff:ffff:ffff:ffff,IN
-2001:df7:9400::,2001:df7:9400:ffff:ffff:ffff:ffff:ffff,US
2001:df7:9600::,2001:df7:9600:ffff:ffff:ffff:ffff:ffff,HK
2001:df7:9800::,2001:df7:9800:ffff:ffff:ffff:ffff:ffff,NZ
2001:df7:9a00::,2001:df7:9a00:ffff:ffff:ffff:ffff:ffff,IN
@@ -6011,7 +6131,7 @@
2001:df7:fa00::,2001:df7:fa00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:fc00::,2001:df7:fc00:ffff:ffff:ffff:ffff:ffff,SG
2001:df7:fe00::,2001:df7:fe00:ffff:ffff:ffff:ffff:ffff,ID
-2001:df8::,2001:df8:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2001:df8::,2001:df8:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:df9::,2001:df9:ffff:ffff:ffff:ffff:ffff:ffff,NP
2001:dfa::,2001:dfa:ffff:ffff:ffff:ffff:ffff:ffff,JP
2001:e00::,2001:e01:ffff:ffff:ffff:ffff:ffff:ffff,ID
@@ -6056,8 +6176,7 @@
2001:f48::,2001:f48:ffff:ffff:ffff:ffff:ffff:ffff,KR
2001:f50::,2001:f50:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2001:f58::,2001:f58:ffff:ffff:ffff:ffff:ffff:ffff,JP
-2001:f60::,2001:f6f:ffff:ffff:ffff:ffff:ffff:ffff,JP
-2001:f80::,2001:f80:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2001:f60::,2001:f80:ffff:ffff:ffff:ffff:ffff:ffff,JP
2001:f88::,2001:f88:ffff:ffff:ffff:ffff:ffff:ffff,CN
2001:f90::,2001:f90:ffff:ffff:ffff:ffff:ffff:ffff,MO
2001:f98::,2001:f98:ffff:ffff:ffff:ffff:ffff:ffff,JP
@@ -6804,6 +6923,15 @@
2001:43f8:1050::,2001:43f8:1050:ffff:ffff:ffff:ffff:ffff,ZA
2001:43f8:1060::,2001:43f8:1060:ffff:ffff:ffff:ffff:ffff,NG
2001:43f8:1070::,2001:43f8:1070:ffff:ffff:ffff:ffff:ffff,ZA
+2001:43f8:1080::,2001:43f8:1080:ffff:ffff:ffff:ffff:ffff,TZ
+2001:43f8:1090::,2001:43f8:1090:ffff:ffff:ffff:ffff:ffff,ZA
+2001:43f8:10a0::,2001:43f8:10a0:ffff:ffff:ffff:ffff:ffff,MA
+2001:43f8:10b0::,2001:43f8:10b0:ffff:ffff:ffff:ffff:ffff,ZW
+2001:43f8:10c0::,2001:43f8:10c0:ffff:ffff:ffff:ffff:ffff,MA
+2001:43f8:10d0::,2001:43f8:10d0:ffff:ffff:ffff:ffff:ffff,ML
+2001:43f8:10e0::,2001:43f8:10e0:ffff:ffff:ffff:ffff:ffff,ML
+2001:43f8:10f0::,2001:43f8:10f0:ffff:ffff:ffff:ffff:ffff,MA
+2001:43f8:1100::,2001:43f8:1100:ffff:ffff:ffff:ffff:ffff,AO
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
@@ -7555,7 +7683,6 @@
2400:5880::,2400:5880:ffff:ffff:ffff:ffff:ffff:ffff,MY
2400:58c0::,2400:58c0:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:5900::,2400:5900:ffff:ffff:ffff:ffff:ffff:ffff,NZ
-2400:5940::,2400:5940:ffff:ffff:ffff:ffff:ffff:ffff,CN
2400:59c0::,2400:59c0:ffff:ffff:ffff:ffff:ffff:ffff,TH
2400:5a00::,2400:5a00:ffff:ffff:ffff:ffff:ffff:ffff,CN
2400:5a40::,2400:5a40:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -8077,8 +8204,8 @@
2400:cb00:8a::,2400:cb00:8f:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:90::,2400:cb00:90:ffff:ffff:ffff:ffff:ffff,PA
2400:cb00:91::,2400:cb00:91:ffff:ffff:ffff:ffff:ffff,US
-2400:cb00:92::,2400:cb00:92:ffff:ffff:ffff:ffff:ffff,IN
-2400:cb00:93::,2400:cb00:94:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:92::,2400:cb00:93:ffff:ffff:ffff:ffff:ffff,IN
+2400:cb00:94::,2400:cb00:94:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:95::,2400:cb00:95:ffff:ffff:ffff:ffff:ffff,EC
2400:cb00:96::,2400:cb00:96:ffff:ffff:ffff:ffff:ffff,AO
2400:cb00:97::,2400:cb00:97:ffff:ffff:ffff:ffff:ffff,BR
@@ -8100,7 +8227,8 @@
2400:cb00:114::,2400:cb00:114:ffff:ffff:ffff:ffff:ffff,AT
2400:cb00:115::,2400:cb00:116:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:117::,2400:cb00:117:ffff:ffff:ffff:ffff:ffff,AM
-2400:cb00:118::,2400:cb00:11f:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:118::,2400:cb00:118:ffff:ffff:ffff:ffff:ffff,TR
+2400:cb00:119::,2400:cb00:11f:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:120::,2400:cb00:120:ffff:ffff:ffff:ffff:ffff,RS
2400:cb00:121::,2400:cb00:121:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:122::,2400:cb00:122:ffff:ffff:ffff:ffff:ffff,DJ
@@ -8111,9 +8239,20 @@
2400:cb00:127::,2400:cb00:127:ffff:ffff:ffff:ffff:ffff,TH
2400:cb00:128::,2400:cb00:128:ffff:ffff:ffff:ffff:ffff,SE
2400:cb00:129::,2400:cb00:129:ffff:ffff:ffff:ffff:ffff,TH
-2400:cb00:12a::,2400:cb00:131:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:12a::,2400:cb00:12f:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:130::,2400:cb00:130:ffff:ffff:ffff:ffff:ffff,SA
+2400:cb00:131::,2400:cb00:131:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:132::,2400:cb00:132:ffff:ffff:ffff:ffff:ffff,UA
-2400:cb00:133::,2400:cb00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:133::,2400:cb00:138:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:139::,2400:cb00:139:ffff:ffff:ffff:ffff:ffff,MU
+2400:cb00:13a::,2400:cb00:141:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:142::,2400:cb00:142:ffff:ffff:ffff:ffff:ffff,NP
+2400:cb00:143::,2400:cb00:143:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:144::,2400:cb00:144:ffff:ffff:ffff:ffff:ffff,KH
+2400:cb00:145::,2400:cb00:145:ffff:ffff:ffff:ffff:ffff,IS
+2400:cb00:146::,2400:cb00:148:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:149::,2400:cb00:149:ffff:ffff:ffff:ffff:ffff,IL
+2400:cb00:14a::,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
@@ -8140,7 +8279,6 @@
2400:d180::,2400:d180:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:d1c0::,2400:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2400:d200::,2400:d200:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2400:d240::,2400:d240:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:d280::,2400:d280:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:d2c0::,2400:d2c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2400:d300::,2400:d300:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -8263,7 +8401,6 @@
2400:f240::,2400:f240:ffff:ffff:ffff:ffff:ffff:ffff,MM
2400:f280::,2400:f280:ffff:ffff:ffff:ffff:ffff:ffff,AU
2400:f2c0::,2400:f2c0:ffff:ffff:ffff:ffff:ffff:ffff,PH
-2400:f300::,2400:f300:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:f340::,2400:f340:ffff:ffff:ffff:ffff:ffff:ffff,ID
2400:f380::,2400:f380:ffff:ffff:ffff:ffff:ffff:ffff,AU
2400:f3c0::,2400:f3c0:ffff:ffff:ffff:ffff:ffff:ffff,HK
@@ -8669,7 +8806,7 @@
2401:5b40::,2401:5b40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2401:5b80::,2401:5b80:ffff:ffff:ffff:ffff:ffff:ffff,AU
2401:5bc0::,2401:5bc0:ffff:ffff:ffff:ffff:ffff:ffff,KH
-2401:5c00::,2401:5c00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2401:5c00::,2401:5c00:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2401:5c40::,2401:5c40:ffff:ffff:ffff:ffff:ffff:ffff,PH
2401:5c80::,2401:5c80:ffff:ffff:ffff:ffff:ffff:ffff,CN
2401:5cc0::,2401:5cc0:ffff:ffff:ffff:ffff:ffff:ffff,MY
@@ -8986,7 +9123,6 @@
2401:bec0::,2401:bec0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:bf00::,2401:bf00:ffff:ffff:ffff:ffff:ffff:ffff,JP
2401:bf40::,2401:bf40:ffff:ffff:ffff:ffff:ffff:ffff,AU
-2401:bf80::,2401:bf80:ffff:ffff:ffff:ffff:ffff:ffff,MY
2401:bfc0::,2401:bfc0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2401:c000::,2401:c000:ffff:ffff:ffff:ffff:ffff:ffff,BD
2401:c040::,2401:c040:ffff:ffff:ffff:ffff:ffff:ffff,NZ
@@ -9055,7 +9191,9 @@
2401:cd40::,2401:cd40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2401:cd80::,2401:cd80:1:ffff:ffff:ffff:ffff:ffff,AU
2401:cd80:2::,2401:cd80:2:ffff:ffff:ffff:ffff:ffff,NZ
-2401:cd80:3::,2401:cd81:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2401:cd80:3::,2401:cd80:4:ffff:ffff:ffff:ffff:ffff,AU
+2401:cd80:5::,2401:cd80:5:ffff:ffff:ffff:ffff:ffff,US
+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
@@ -9238,7 +9376,9 @@
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:ffff:ffff:ffff:ffff:ffff:ffff,US
+2401:f9c0::,2401:f9c0:cdcc:ffff:ffff:ffff:ffff:ffff,US
+2401:f9c0:cdcd::,2401:f9c0:cdcd:ffff:ffff:ffff:ffff:ffff,CN
+2401:f9c0:cdce::,2401:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2401:fa00::,2401:fa00::ffff:ffff:ffff:ffff:ffff,AU
2401:fa00:1::,2401:fa00:2:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:3::,2401:fa00:3:ffff:ffff:ffff:ffff:ffff,SG
@@ -9294,7 +9434,9 @@
2401:fa00:60::,2401:fa00:60:7fff:ffff:ffff:ffff:ffff,US
2401:fa00:60:8000::,2401:fa00:f7:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:f8::,2401:fa00:f8:ffff:ffff:ffff:ffff:ffff,PH
-2401:fa00:f9::,2401:fa00:47f:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:f9::,2401:fa00:fe:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:ff::,2401:fa00:ff:ffff:ffff:ffff:ffff:ffff,AU
+2401:fa00:100::,2401:fa00:47f:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:480::,2401:fa00:480:7fff:ffff:ffff:ffff:ffff,US
2401:fa00:480:8000::,2401:fa00:ffff:ffff:ffff:ffff:ffff:ffff,IN
2401:fa40::,2401:fa40:ffff:ffff:ffff:ffff:ffff:ffff,IN
@@ -9467,7 +9609,9 @@
2402:2800::,2402:2800:ffff:ffff:ffff:ffff:ffff:ffff,IN
2402:2840::,2402:2840:ffff:ffff:ffff:ffff:ffff:ffff,JP
2402:2880::,2402:2880:ffff:ffff:ffff:ffff:ffff:ffff,AF
-2402:28c0::,2402:28c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2402:28c0::,2402:28c0:1:ffff:ffff:ffff:ffff:ffff,GB
+2402:28c0:2::,2402:28c0:2:ffff:ffff:ffff:ffff:ffff,US
+2402:28c0:3::,2402:28c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2402:2900::,2402:2900:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:2940::,2402:2940:ffff:ffff:ffff:ffff:ffff:ffff,FJ
2402:2980::,2402:2980:ffff:ffff:ffff:ffff:ffff:ffff,NZ
@@ -9585,136 +9729,252 @@
2402:4680::,2402:4680:ffff:ffff:ffff:ffff:ffff:ffff,HK
2402:46c0::,2402:46c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:4700::,2402:4700:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2402:4740::,2402:4740:ffff:ffff:ffff:ffff:ffff:ffff,KH
2402:4780::,2402:4780:ffff:ffff:ffff:ffff:ffff:ffff,TH
+2402:47c0::,2402:47c0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2402:4800::,2402:4800:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2402:4840::,2402:4840:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:4880::,2402:4880:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:48c0::,2402:48c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:4900::,2402:4900:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2402:4940::,2402:4940:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:4980::,2402:4980:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:49c0::,2402:49c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:4a00::,2402:4a00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:4a40::,2402:4a40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:4a80::,2402:4a80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:4ac0::,2402:4ac0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:4b00::,2402:4b00:ffff:ffff:ffff:ffff:ffff:ffff,MY
+2402:4b40::,2402:4b40:ffff:ffff:ffff:ffff:ffff:ffff,HK
2402:4b80::,2402:4b80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:4bc0::,2402:4bc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:4c00::,2402:4c01:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2402:4c40::,2402:4c40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:4c80::,2402:4c80:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:4cc0::,2402:4cc0:ffff:ffff:ffff:ffff:ffff:ffff,IN
2402:4d00::,2402:4d00:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2402:4d40::,2402:4d40:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:4d80::,2402:4d80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:4dc0::,2402:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:4e00::,2402:4e00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:4e40::,2402:4e40:ffff:ffff:ffff:ffff:ffff:ffff,AF
2402:4e80::,2402:4e80:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:4ec0::,2402:4ec0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:4f00::,2402:4f00:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2402:4f40::,2402:4f40:ffff:ffff:ffff:ffff:ffff:ffff,PH
2402:4f80::,2402:4f80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:4fc0::,2402:4fc0:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2402:5040::,2402:5040:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:5080::,2402:5080:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2402:50c0::,2402:50c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5100::,2402:5100:ffff:ffff:ffff:ffff:ffff:ffff,KH
+2402:5140::,2402:5140:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5180::,2402:5180:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:51c0::,2402:51c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5200::,2402:5200:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:5240::,2402:5240:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5280::,2402:5280:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:52c0::,2402:52c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5300::,2402:5300:ffff:ffff:ffff:ffff:ffff:ffff,VN
+2402:5340::,2402:5340:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5380::,2402:5380:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2402:53c0::,2402:53c0:ffff:ffff:ffff:ffff:ffff:ffff,IN
2402:5400::,2402:5400:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2402:5440::,2402:5440:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:5480::,2402:5480:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:54c0::,2402:54c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:5500::,2402:5500:ffff:ffff:ffff:ffff:ffff:ffff,PH
+2402:5540::,2402:5540:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:5580::,2402:5580:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2402:55c0::,2402:55c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:5600::,2402:5600:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:5640::,2402:5640:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:5680::,2402:5680:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2402:56c0::,2402:56c0:ffff:ffff:ffff:ffff:ffff:ffff,JP
2402:5700::,2402:5700:ffff:ffff:ffff:ffff:ffff:ffff,MY
+2402:5740::,2402:5740:ffff:ffff:ffff:ffff:ffff:ffff,IN
2402:5780::,2402:5780:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2402:57c0::,2402:57c0:ffff:ffff:ffff:ffff:ffff:ffff,IN
2402:5800::,2402:5800:ffff:ffff:ffff:ffff:ffff:ffff,KR
+2402:5840::,2402:5840:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:5880::,2402:5880:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:58c0::,2402:58c0:ffff:ffff:ffff:ffff:ffff:ffff,PG
2402:5900::,2402:5900:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2402:5940::,2402:5940:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5980::,2402:5980:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2402:59c0::,2402:59c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5a00::,2402:5a00:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2402:5a40::,2402:5a40:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:5ac0::,2402:5ac0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:5b00::,2402:5b00:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2402:5b40::,2402:5b40:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:5bc0::,2402:5bc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5c00::,2402:5c00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:5c40::,2402:5c40:ffff:ffff:ffff:ffff:ffff:ffff,US
2402:5c80::,2402:5c80:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2402:5cc0::,2402:5cc0:ffff:ffff:ffff:ffff:ffff:ffff,CA
2402:5d00::,2402:5d00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:5d40::,2402:5d40:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:5d80::,2402:5d80:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2402:5dc0::,2402:5dc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2402:5e00::,2402:5e00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:5e40::,2402:5e40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5e80::,2402:5e80:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2402:5ec0::,2402:5ec0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5f00::,2402:5f00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2402:5f40::,2402:5f40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:5f80::,2402:5f80:ffff:ffff:ffff:ffff:ffff:ffff,SG
-2402:6000::,2402:6000:ff:ffff:ffff:ffff:ffff:ffff,AU
-2402:6000:100::,2402:6000:100:7fff:ffff:ffff:ffff:ffff,NZ
-2402:6000:100:8000::,2402:6000:100:ffff:ffff:ffff:ffff:ffff,AU
-2402:6000:101::,2402:6000:101:7fff:ffff:ffff:ffff:ffff,NZ
-2402:6000:101:8000::,2402:6000:103:ffff:ffff:ffff:ffff:ffff,AU
-2402:6000:104::,2402:6000:104:ffff:ffff:ffff:ffff:ffff,NZ
-2402:6000:105::,2402:6000:10f:ffff:ffff:ffff:ffff:ffff,AU
-2402:6000:110::,2402:6000:110:7fff:ffff:ffff:ffff:ffff,NZ
-2402:6000:110:8000::,2402:6000:202:ffff:ffff:ffff:ffff:ffff,AU
-2402:6000:203::,2402:6000:203:7fff:ffff:ffff:ffff:ffff,NZ
-2402:6000:203:8000::,2402:6000:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:5fc0::,2402:5fc0:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2402:6000::,2402:6000:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2402:6040::,2402:6040:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:60c0::,2402:60c0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2402:6100::,2402:6100:ffff:ffff:ffff:ffff:ffff:ffff,KR
+2402:6140::,2402:6140:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2402:61c0::,2402:61c0:ffff:ffff:ffff:ffff:ffff:ffff,PH
2402:6200::,2402:6200:ffff:ffff:ffff:ffff:ffff:ffff,GU
+2402:6240::,2402:6240:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:6280::,2402:6280:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:62c0::,2402:62c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:6340::,2402:6340:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2402:63c0::,2402:63c0:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2402:6400::,2402:6400:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:6440::,2402:6440:ffff:ffff:ffff:ffff:ffff:ffff,VN
2402:6480::,2402:6480:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2402:64c0::,2402:64c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:6500::,2402:6500:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:6540::,2402:6540:ffff:ffff:ffff:ffff:ffff:ffff,MM
2402:6580::,2402:6580:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:65c0::,2402:65c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:6600::,2402:6600:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:6640::,2402:6640:ffff:ffff:ffff:ffff:ffff:ffff,NP
2402:6680::,2402:6680:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2402:66c0::,2402:66c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:6700::,2402:6700:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2402:6740::,2402:6740:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:6780::,2402:6780:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:67c0::,2402:67c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:6800::,2402:6800:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2402:6840::,2402:6840:ffff:ffff:ffff:ffff:ffff:ffff,LA
2402:6880::,2402:6880:ffff:ffff:ffff:ffff:ffff:ffff,TH
+2402:68c0::,2402:68c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:6900::,2402:6900:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:6940::,2402:6940:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:6980::,2402:6980:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2402:69c0::,2402:69c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:6a00::,2402:6a00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:6a40::,2402:6a40:ffff:ffff:ffff:ffff:ffff:ffff,IN
2402:6a80::,2402:6a80:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2402:6ac0::,2402:6ac0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:6b00::,2402:6b00:38b0:ffff:ffff:ffff:ffff:ffff,JP
2402:6b00:38b1::,2402:6b00:38b1:7fff:ffff:ffff:ffff:ffff,US
2402:6b00:38b1:8000::,2402:6b00:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2402:6b40::,2402:6b40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:6b80::,2402:6b80:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:6bc0::,2402:6bc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:6c00::,2402:6c00:ffff:ffff:ffff:ffff:ffff:ffff,MY
+2402:6c40::,2402:6c40:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:6c80::,2402:6c80:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2402:6cc0::,2402:6cc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2402:6d00::,2402:6d00:ffff:ffff:ffff:ffff:ffff:ffff,PF
2402:6d80::,2402:6d80:ffff:ffff:ffff:ffff:ffff:ffff,PH
+2402:6dc0::,2402:6dc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:6e00::,2402:6e00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:6e40::,2402:6e40:ffff:ffff:ffff:ffff:ffff:ffff,HK
2402:6e80::,2402:6e80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:6ec0::,2402:6ec0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:6f00::,2402:6f00:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2402:6f40::,2402:6f40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:6f80::,2402:6f80:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2402:6fc0::,2402:6fc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:7000::,2402:7000:ffff:ffff:ffff:ffff:ffff:ffff,KR
+2402:7040::,2402:7040:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:7080::,2402:7080:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:70c0::,2402:70c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:7100::,2402:7100:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2402:7140::,2402:7140:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:7180::,2402:7180:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2402:71c0::,2402:71c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:7200::,2402:7200:ffff:ffff:ffff:ffff:ffff:ffff,TK
+2402:7240::,2402:7240:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:7280::,2402:7280:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:72c0::,2402:72c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:7300::,2402:7300:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2402:7340::,2402:7340:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:7380::,2402:7380:7ff:ffff:ffff:ffff:ffff:ffff,JP
2402:7380:800::,2402:7380:fff:ffff:ffff:ffff:ffff:ffff,HK
+2402:73c0::,2402:73c0:ffff:ffff:ffff:ffff:ffff:ffff,JP
2402:7400::,2402:7400:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:7440::,2402:7440:ffff:ffff:ffff:ffff:ffff:ffff,JP
2402:7480::,2402:7481:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2402:74c0::,2402:74c0:ffff:ffff:ffff:ffff:ffff:ffff,KH
2402:7500::,2402:7500:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2402:7540::,2402:7540:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:75c0::,2402:75c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:7600::,2402:7600:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:7640::,2402:7640:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:7680::,2402:7680:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:76c0::,2402:76c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:7700::,2402:7700:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2402:7740::,2402:7740:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:7780::,2402:7780:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2402:77c0::,2402:77c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:7800::,2402:7800:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:7840::,2402:7840:ffff:ffff:ffff:ffff:ffff:ffff,HK
2402:7880::,2402:7880:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2402:78c0::,2402:78c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:7900::,2402:7900:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:7940::,2402:7940:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:7980::,2402:7980:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2402:79c0::,2402:79c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2402:7a00::,2402:7a00:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2402:7a40::,2402:7a40:ffff:ffff:ffff:ffff:ffff:ffff,KH
2402:7a80::,2402:7a80:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2402:7ac0::,2402:7ac0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:7b00::,2402:7b00:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2402:7b40::,2402:7b40:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:7b80::,2402:7b80:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:7bc0::,2402:7bc0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:7c00::,2402:7c00:ffff:ffff:ffff:ffff:ffff:ffff,PK
+2402:7c40::,2402:7c40:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:7c80::,2402:7c80:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:7d00::,2402:7d00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:7d40::,2402:7d40:ffff:ffff:ffff:ffff:ffff:ffff,SG
2402:7d80::,2402:7d80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:7dc0::,2402:7dc0:ffff:ffff:ffff:ffff:ffff:ffff,NP
2402:7e00::,2402:7e00:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2402:7e40::,2402:7e40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:7e80::,2402:7e80:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:7ec0::,2402:7ec0:ffff:ffff:ffff:ffff:ffff:ffff,MM
2402:7f00::,2402:7f00:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2402:7f40::,2402:7f40:ffff:ffff:ffff:ffff:ffff:ffff,IN
2402:7f80::,2402:7f80:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2402:7fc0::,2402:7fc0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:8000::,2402:8000:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:8040::,2402:8040:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:8080::,2402:8080:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:80c0::,2402:80c0:ffff:ffff:ffff:ffff:ffff:ffff,IN
2402:8100::,2402:8100:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2402:8140::,2402:8140:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:8180::,2402:8180:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:81c0::,2402:81c0:ffff:ffff:ffff:ffff:ffff:ffff,IN
2402:8200::,2402:8200:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2402:8240::,2402:8240:ffff:ffff:ffff:ffff:ffff:ffff,JP
2402:8280::,2402:8280:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:82c0::,2402:82c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:8300::,2402:8300:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:8340::,2402:8340:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:8380::,2402:8380:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2402:83c0::,2402:83c0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2402:8400::,2402:8400:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2402:8440::,2402:8440:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:8480::,2402:8480:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2402:84c0::,2402:84c0:ffff:ffff:ffff:ffff:ffff:ffff,MY
+2402:8540::,2402:8540:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2402:85c0::,2402:85c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:8600::,2402:8600:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2402:8640::,2402:8640:ffff:ffff:ffff:ffff:ffff:ffff,BD
2402:8680::,2402:8680:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2402:86c0::,2402:86c0:ffff:ffff:ffff:ffff:ffff:ffff,IN
2402:8700::,2402:8700:ffff:ffff:ffff:ffff:ffff:ffff,AU
2402:8780::,2402:8780:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:8800::,2402:8800:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -9962,7 +10222,9 @@
2403:300:a08::,2403:300:a08:ffff:ffff:ffff:ffff:ffff,AU
2403:300:a09::,2403:300:a09:ffff:ffff:ffff:ffff:ffff,SG
2403:300:a0a::,2403:300:a0a:ffff:ffff:ffff:ffff:ffff,HK
-2403:300:a0b::,2403:300:a13:ffff:ffff:ffff:ffff:ffff,SG
+2403:300:a0b::,2403:300:a0b:ffff:ffff:ffff:ffff:ffff,SG
+2403:300:a0c::,2403:300:a0c:ffff:ffff:ffff:ffff:ffff,JP
+2403:300:a0d::,2403:300:a13:ffff:ffff:ffff:ffff:ffff,SG
2403:300:a14::,2403:300:a14:ffff:ffff:ffff:ffff:ffff,JP
2403:300:a15::,2403:300:ffff:ffff:ffff:ffff:ffff:ffff,SG
2403:380::,2403:380:ffff:ffff:ffff:ffff:ffff:ffff,HK
@@ -10070,7 +10332,6 @@
2403:2e80::,2403:2e80:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:2f00::,2403:2f00:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2403:2f80::,2403:2f80:ffff:ffff:ffff:ffff:ffff:ffff,AU
-2403:3080::,2403:3080:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:3100::,2403:3100:ffff:ffff:ffff:ffff:ffff:ffff,SG
2403:3180::,2403:3180:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:3200::,2403:3200:ffff:ffff:ffff:ffff:ffff:ffff,JP
@@ -10173,7 +10434,6 @@
2403:6300::,2403:6300:ffff:ffff:ffff:ffff:ffff:ffff,KR
2403:6380::,2403:6380:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:6400::,2403:6400:ffff:ffff:ffff:ffff:ffff:ffff,HK
-2403:6480::,2403:6480:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:6500::,2403:6500:ffff:ffff:ffff:ffff:ffff:ffff,KR
2403:6580::,2403:6580:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:6600::,2403:6600:ffff:ffff:ffff:ffff:ffff:ffff,KH
@@ -10752,7 +11012,6 @@
2404:7f80::,2404:7f80:ffff:ffff:ffff:ffff:ffff:ffff,IN
2404:8000::,2404:8000:ffff:ffff:ffff:ffff:ffff:ffff,ID
2404:8100::,2404:8100:ffff:ffff:ffff:ffff:ffff:ffff,MY
-2404:8180::,2404:8180:ffff:ffff:ffff:ffff:ffff:ffff,PK
2404:8200::,2404:8200:ffff:ffff:ffff:ffff:ffff:ffff,JP
2404:8280::,2404:8280:ffff:ffff:ffff:ffff:ffff:ffff,AU
2404:8300::,2404:8300:ffff:ffff:ffff:ffff:ffff:ffff,PK
@@ -11436,7 +11695,6 @@
2405:c880::,2405:c880:ffff:ffff:ffff:ffff:ffff:ffff,CN
2405:c900::,2405:c900:ffff:ffff:ffff:ffff:ffff:ffff,AU
2405:c980::,2405:c980:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2405:ca00::,2405:ca00:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2405:ca80::,2405:ca80:ffff:ffff:ffff:ffff:ffff:ffff,CN
2405:cb00::,2405:cb00:ffff:ffff:ffff:ffff:ffff:ffff,VN
2405:cb80::,2405:cb80:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -11668,7 +11926,6 @@
2406:4700::,2406:4700:ffff:ffff:ffff:ffff:ffff:ffff,SG
2406:4800::,2406:4800:ffff:ffff:ffff:ffff:ffff:ffff,SG
2406:4880::,2406:4880:ffff:ffff:ffff:ffff:ffff:ffff,AU
-2406:4900::,2406:4900:ffff:ffff:ffff:ffff:ffff:ffff,MY
2406:4980::,2406:4980:ffff:ffff:ffff:ffff:ffff:ffff,CN
2406:4a00::,2406:4a00:ffff:ffff:ffff:ffff:ffff:ffff,AU
2406:4a80::,2406:4a80:ffff:ffff:ffff:ffff:ffff:ffff,NO
@@ -11953,7 +12210,9 @@
2406:da00:2000::,2406:da00:20ff:ffff:ffff:ffff:ffff:ffff,KR
2406:da00:2100::,2406:da00:3fff:ffff:ffff:ffff:ffff:ffff,US
2406:da00:4000::,2406:da00:40ff:ffff:ffff:ffff:ffff:ffff,JP
-2406:da00:4100::,2406:da00:7fff:ffff:ffff:ffff:ffff:ffff,US
+2406:da00:4100::,2406:da00:5fff:ffff:ffff:ffff:ffff:ffff,US
+2406:da00:6000::,2406:da00:60ff:ffff:ffff:ffff:ffff:ffff,JP
+2406:da00:6100::,2406:da00:7fff:ffff:ffff:ffff:ffff:ffff,US
2406:da00:8000::,2406:da00:80ff:ffff:ffff:ffff:ffff:ffff,SG
2406:da00:8100::,2406:da00:9fff:ffff:ffff:ffff:ffff:ffff,US
2406:da00:a000::,2406:da00:a0ff:ffff:ffff:ffff:ffff:ffff,IN
@@ -11963,7 +12222,9 @@
2406:da12::,2406:da12:fff:ffff:ffff:ffff:ffff:ffff,KR
2406:da12:1000::,2406:da13:ffff:ffff:ffff:ffff:ffff:ffff,US
2406:da14::,2406:da14:fff:ffff:ffff:ffff:ffff:ffff,JP
-2406:da14:1000::,2406:da17:ffff:ffff:ffff:ffff:ffff:ffff,US
+2406:da14:1000::,2406:da15:ffff:ffff:ffff:ffff:ffff:ffff,US
+2406:da16::,2406:da16:fff:ffff:ffff:ffff:ffff:ffff,JP
+2406:da16:1000::,2406:da17:ffff:ffff:ffff:ffff:ffff:ffff,US
2406:da18::,2406:da18:fff:ffff:ffff:ffff:ffff:ffff,SG
2406:da18:1000::,2406:da19:ffff:ffff:ffff:ffff:ffff:ffff,US
2406:da1a::,2406:da1a:fff:ffff:ffff:ffff:ffff:ffff,IN
@@ -11973,7 +12234,9 @@
2406:daa0:2000::,2406:daa0:20ff:ffff:ffff:ffff:ffff:ffff,KR
2406:daa0:2100::,2406:daa0:3fff:ffff:ffff:ffff:ffff:ffff,US
2406:daa0:4000::,2406:daa0:40ff:ffff:ffff:ffff:ffff:ffff,JP
-2406:daa0:4100::,2406:daa0:7fff:ffff:ffff:ffff:ffff:ffff,US
+2406:daa0:4100::,2406:daa0:5fff:ffff:ffff:ffff:ffff:ffff,US
+2406:daa0:6000::,2406:daa0:60ff:ffff:ffff:ffff:ffff:ffff,JP
+2406:daa0:6100::,2406:daa0:7fff:ffff:ffff:ffff:ffff:ffff,US
2406:daa0:8000::,2406:daa0:80ff:ffff:ffff:ffff:ffff:ffff,SG
2406:daa0:8100::,2406:daa0:9fff:ffff:ffff:ffff:ffff:ffff,US
2406:daa0:a000::,2406:daa0:a0ff:ffff:ffff:ffff:ffff:ffff,IN
@@ -11983,7 +12246,9 @@
2406:daf8:2000::,2406:daf8:20ff:ffff:ffff:ffff:ffff:ffff,KR
2406:daf8:2100::,2406:daf8:3fff:ffff:ffff:ffff:ffff:ffff,US
2406:daf8:4000::,2406:daf8:40ff:ffff:ffff:ffff:ffff:ffff,JP
-2406:daf8:4100::,2406:daf8:7fff:ffff:ffff:ffff:ffff:ffff,US
+2406:daf8:4100::,2406:daf8:5fff:ffff:ffff:ffff:ffff:ffff,US
+2406:daf8:6000::,2406:daf8:60ff:ffff:ffff:ffff:ffff:ffff,JP
+2406:daf8:6100::,2406:daf8:7fff:ffff:ffff:ffff:ffff:ffff,US
2406:daf8:8000::,2406:daf8:80ff:ffff:ffff:ffff:ffff:ffff,SG
2406:daf8:8100::,2406:daf8:9fff:ffff:ffff:ffff:ffff:ffff,US
2406:daf8:a000::,2406:daf8:a0ff:ffff:ffff:ffff:ffff:ffff,IN
@@ -11993,7 +12258,9 @@
2406:daf9:2000::,2406:daf9:20ff:ffff:ffff:ffff:ffff:ffff,KR
2406:daf9:2100::,2406:daf9:3fff:ffff:ffff:ffff:ffff:ffff,US
2406:daf9:4000::,2406:daf9:40ff:ffff:ffff:ffff:ffff:ffff,JP
-2406:daf9:4100::,2406:daf9:7fff:ffff:ffff:ffff:ffff:ffff,US
+2406:daf9:4100::,2406:daf9:5fff:ffff:ffff:ffff:ffff:ffff,US
+2406:daf9:6000::,2406:daf9:60ff:ffff:ffff:ffff:ffff:ffff,JP
+2406:daf9:6100::,2406:daf9:7fff:ffff:ffff:ffff:ffff:ffff,US
2406:daf9:8000::,2406:daf9:80ff:ffff:ffff:ffff:ffff:ffff,SG
2406:daf9:8100::,2406:daf9:9fff:ffff:ffff:ffff:ffff:ffff,US
2406:daf9:a000::,2406:daf9:a0ff:ffff:ffff:ffff:ffff:ffff,IN
@@ -12003,7 +12270,9 @@
2406:dafa:2000::,2406:dafa:20ff:ffff:ffff:ffff:ffff:ffff,KR
2406:dafa:2100::,2406:dafa:3fff:ffff:ffff:ffff:ffff:ffff,US
2406:dafa:4000::,2406:dafa:40ff:ffff:ffff:ffff:ffff:ffff,JP
-2406:dafa:4100::,2406:dafa:7fff:ffff:ffff:ffff:ffff:ffff,US
+2406:dafa:4100::,2406:dafa:5fff:ffff:ffff:ffff:ffff:ffff,US
+2406:dafa:6000::,2406:dafa:60ff:ffff:ffff:ffff:ffff:ffff,JP
+2406:dafa:6100::,2406:dafa:7fff:ffff:ffff:ffff:ffff:ffff,US
2406:dafa:8000::,2406:dafa:80ff:ffff:ffff:ffff:ffff:ffff,SG
2406:dafa:8100::,2406:dafa:9fff:ffff:ffff:ffff:ffff:ffff,US
2406:dafa:a000::,2406:dafa:a0ff:ffff:ffff:ffff:ffff:ffff,IN
@@ -12013,7 +12282,9 @@
2406:dafc:2000::,2406:dafc:20ff:ffff:ffff:ffff:ffff:ffff,KR
2406:dafc:2100::,2406:dafc:3fff:ffff:ffff:ffff:ffff:ffff,US
2406:dafc:4000::,2406:dafc:40ff:ffff:ffff:ffff:ffff:ffff,JP
-2406:dafc:4100::,2406:dafc:7fff:ffff:ffff:ffff:ffff:ffff,US
+2406:dafc:4100::,2406:dafc:5fff:ffff:ffff:ffff:ffff:ffff,US
+2406:dafc:6000::,2406:dafc:60ff:ffff:ffff:ffff:ffff:ffff,JP
+2406:dafc:6100::,2406:dafc:7fff:ffff:ffff:ffff:ffff:ffff,US
2406:dafc:8000::,2406:dafc:80ff:ffff:ffff:ffff:ffff:ffff,SG
2406:dafc:8100::,2406:dafc:9fff:ffff:ffff:ffff:ffff:ffff,US
2406:dafc:a000::,2406:dafc:a0ff:ffff:ffff:ffff:ffff:ffff,IN
@@ -12023,7 +12294,9 @@
2406:dafe:2000::,2406:dafe:20ff:ffff:ffff:ffff:ffff:ffff,KR
2406:dafe:2100::,2406:dafe:3fff:ffff:ffff:ffff:ffff:ffff,US
2406:dafe:4000::,2406:dafe:40ff:ffff:ffff:ffff:ffff:ffff,JP
-2406:dafe:4100::,2406:dafe:7fff:ffff:ffff:ffff:ffff:ffff,US
+2406:dafe:4100::,2406:dafe:5fff:ffff:ffff:ffff:ffff:ffff,US
+2406:dafe:6000::,2406:dafe:60ff:ffff:ffff:ffff:ffff:ffff,JP
+2406:dafe:6100::,2406:dafe:7fff:ffff:ffff:ffff:ffff:ffff,US
2406:dafe:8000::,2406:dafe:80ff:ffff:ffff:ffff:ffff:ffff,SG
2406:dafe:8100::,2406:dafe:9fff:ffff:ffff:ffff:ffff:ffff,US
2406:dafe:a000::,2406:dafe:a0ff:ffff:ffff:ffff:ffff:ffff,IN
@@ -12033,7 +12306,9 @@
2406:daff:2000::,2406:daff:20ff:ffff:ffff:ffff:ffff:ffff,KR
2406:daff:2100::,2406:daff:3fff:ffff:ffff:ffff:ffff:ffff,US
2406:daff:4000::,2406:daff:40ff:ffff:ffff:ffff:ffff:ffff,JP
-2406:daff:4100::,2406:daff:7fff:ffff:ffff:ffff:ffff:ffff,US
+2406:daff:4100::,2406:daff:5fff:ffff:ffff:ffff:ffff:ffff,US
+2406:daff:6000::,2406:daff:60ff:ffff:ffff:ffff:ffff:ffff,JP
+2406:daff:6100::,2406:daff:7fff:ffff:ffff:ffff:ffff:ffff,US
2406:daff:8000::,2406:daff:80ff:ffff:ffff:ffff:ffff:ffff,SG
2406:daff:8100::,2406:daff:9fff:ffff:ffff:ffff:ffff:ffff,US
2406:daff:a000::,2406:daff:a0ff:ffff:ffff:ffff:ffff:ffff,IN
@@ -12544,7 +12819,6 @@
2407:e080::,2407:e080:ffff:ffff:ffff:ffff:ffff:ffff,CN
2407:e100::,2407:e100:ffff:ffff:ffff:ffff:ffff:ffff,HK
2407:e180::,2407:e180:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2407:e200::,2407:e200:ffff:ffff:ffff:ffff:ffff:ffff,MY
2407:e280::,2407:e280:ffff:ffff:ffff:ffff:ffff:ffff,CN
2407:e300::,2407:e301:ffff:ffff:ffff:ffff:ffff:ffff,HK
2407:e380::,2407:e380:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -12802,6 +13076,33 @@
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:fe88::,2602:fe88:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe89::,2602:fe89:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe8a::,2602:fe8a:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe8b::,2602:fe8b:fff:ffff:ffff:ffff:ffff:ffff,CA
+2602:fe8c::,2602:fe8c:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe8d::,2602:fe8d:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe8e::,2602:fe8e:fff:ffff:ffff:ffff:ffff:ffff,LC
+2602:fe8f::,2602:fe8f:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe90::,2602:fe90:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe91::,2602:fe91:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe92::,2602:fe92:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe93::,2602:fe93:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe94::,2602:fe94:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe95::,2602:fe95:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe96::,2602:fe96:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe97::,2602:fe97:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe98::,2602:fe98:fff:ffff:ffff:ffff:ffff:ffff,CA
+2602:fe99::,2602:fe99:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe9a::,2602:fe9a:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe9b::,2602:fe9b:fff:ffff:ffff:ffff:ffff:ffff,CA
+2602:fe9c::,2602:fe9c:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe9d::,2602:fe9d:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe9e::,2602:fe9e:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe9f::,2602:fe9f:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fea0::,2602:fea0:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fea1::,2602:fea1:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fea2::,2602:fea2:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fea3::,2602:fea3:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fea4::,2602:fea4:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fea5::,2602:fea5:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -12920,7 +13221,6 @@
2602:ff28::,2602:ff28:fff:ffff:ffff:ffff:ffff:ffff,US
2602:ff29::,2602:ff29:fff:ffff:ffff:ffff:ffff:ffff,US
2602:ff2a::,2602:ff2b:fff:ffff:ffff:ffff:ffff:ffff,US
-2602:ff2c::,2602:ff2c:fff:ffff:ffff:ffff:ffff:ffff,US
2602:ff2d::,2602:ff2d:fff:ffff:ffff:ffff:ffff:ffff,US
2602:ff2e::,2602:ff2e:fff:ffff:ffff:ffff:ffff:ffff,US
2602:ff2f::,2602:ff2f:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -13101,9 +13401,7 @@
2602:ffe4::,2602:ffe4:fff:ffff:ffff:ffff:ffff:ffff,US
2602:ffe5::,2602:ffe5:fff:ffff:ffff:ffff:ffff:ffff,US
2602:ffe7::,2602:ffe7:fff:ffff:ffff:ffff:ffff:ffff,PR
-2602:ffe8::,2602:ffe8:3ff:ffff:ffff:ffff:ffff:ffff,US
2602:ffe8:400::,2602:ffe8:4ff:ffff:ffff:ffff:ffff:ffff,AU
-2602:ffe8:500::,2602:ffe8:ffff:ffff:ffff:ffff:ffff:ffff,US
2602:ffea::,2602:ffeb:fff:ffff:ffff:ffff:ffff:ffff,US
2602:ffec::,2602:ffec:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:ffed::,2602:ffed:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -13133,8 +13431,12 @@
2603:1016:200::,2603:1016:201:3f:ffff:ffff:ffff:ffff,AU
2603:1016:201:40::,2603:1016:227:ffff:ffff:ffff:ffff:ffff,US
2603:1016:228::,2603:1016:228:ffff:ffff:ffff:ffff:ffff,AU
-2603:1016:229::,2603:1016:fff:ffff:ffff:ffff:ffff:ffff,US
-2603:1016:1000::,2603:1016:13ff:ffff:ffff:ffff:ffff:ffff,AU
+2603:1016:229::,2603:1016:400:ffff:ffff:ffff:ffff:ffff,US
+2603:1016:401::,2603:1016:402:ffff:ffff:ffff:ffff:ffff,AU
+2603:1016:403::,2603:1016:fff:ffff:ffff:ffff:ffff:ffff,US
+2603:1016:1000::,2603:1016:11ff:ffff:ffff:ffff:ffff:ffff,AU
+2603:1016:1200::,2603:1016:12ff:ffff:ffff:ffff:ffff:ffff,US
+2603:1016:1300::,2603:1016:13ff:ffff:ffff:ffff:ffff:ffff,AU
2603:1016:1400::,2603:1018:ffff:ffff:ffff:ffff:ffff:ffff,US
2603:1019::,2603:1019:100:ffff:ffff:ffff:ffff:ffff,AU
2603:1019:101::,2603:1019:1ff:ffff:ffff:ffff:ffff:ffff,US
@@ -13222,16 +13524,17 @@
2603:1029:400::,2603:1029:4ff:ffff:ffff:ffff:ffff:ffff,IE
2603:1029:500::,2603:1029:5ff:ffff:ffff:ffff:ffff:ffff,US
2603:1029:600::,2603:1029:605:ffff:ffff:ffff:ffff:ffff,NL
-2603:1029:606::,2603:1029:606:ffff:ffff:ffff:ffff:ffff,SE
-2603:1029:607::,2603:1029:7ff:ffff:ffff:ffff:ffff:ffff,US
-2603:1029:800::,2603:1029:802:ffff:ffff:ffff:ffff:ffff,GB
-2603:1029:803::,2603:1029:aff:ffff:ffff:ffff:ffff:ffff,US
+2603:1029:606::,2603:1029:7ff:ffff:ffff:ffff:ffff:ffff,US
+2603:1029:800::,2603:1029:801:ffff:ffff:ffff:ffff:ffff,GB
+2603:1029:802::,2603:1029:aff:ffff:ffff:ffff:ffff:ffff,US
2603:1029:b00::,2603:1029:cff:ffff:ffff:ffff:ffff:ffff,GB
2603:1029:d00::,2603:1030:207:ffff:ffff:ffff:ffff:ffff,US
2603:1030:208::,2603:1030:20b:ffff:ffff:ffff:ffff:ffff,CA
2603:1030:20c::,2603:1030:eff:ffff:ffff:ffff:ffff:ffff,US
2603:1030:f00::,2603:1030:10ff:ffff:ffff:ffff:ffff:ffff,CA
-2603:1030:1100::,2603:1036:aff:ffff:ffff:ffff:ffff:ffff,US
+2603:1030:1100::,2603:1036:308:ffff:ffff:ffff:ffff:ffff,US
+2603:1036:309::,2603:1036:30a:ffff:ffff:ffff:ffff:ffff,CA
+2603:1036:30b::,2603:1036:aff:ffff:ffff:ffff:ffff:ffff,US
2603:1036:b00::,2603:1036:cff:ffff:ffff:ffff:ffff:ffff,CA
2603:1036:d00::,2603:1037::d:ffff:ffff:ffff:ffff,US
2603:1037:0:e::,2603:1037::f:ffff:ffff:ffff:ffff,CA
@@ -13241,8 +13544,7 @@
2603:1039:e00::,2603:1039:eff:ffff:ffff:ffff:ffff:ffff,CA
2603:1039:f00::,2603:1039:fff:ffff:ffff:ffff:ffff:ffff,US
2603:1039:1000::,2603:1039:10ff:ffff:ffff:ffff:ffff:ffff,CA
-2603:1039:1100::,2603:1039:1100:ffff:ffff:ffff:ffff:ffff,PR
-2603:1039:1101::,2603:103f:ffff:ffff:ffff:ffff:ffff:ffff,US
+2603:1039:1100::,2603:103f:ffff:ffff:ffff:ffff:ffff:ffff,US
2603:1040::,2603:1040:ff:ffff:ffff:ffff:ffff:ffff,SG
2603:1040:100::,2603:1040:1ff:ffff:ffff:ffff:ffff:ffff,MY
2603:1040:200::,2603:1040:2ff:ffff:ffff:ffff:ffff:ffff,HK
@@ -13252,9 +13554,9 @@
2603:1040:600::,2603:1040:6ff:ffff:ffff:ffff:ffff:ffff,JP
2603:1040:700::,2603:1040:7ff:ffff:ffff:ffff:ffff:ffff,US
2603:1040:800::,2603:1040:8ff:ffff:ffff:ffff:ffff:ffff,IN
-2603:1040:900::,2603:1040:9ff:ffff:ffff:ffff:ffff:ffff,US
+2603:1040:900::,2603:1040:9ff:ffff:ffff:ffff:ffff:ffff,AE
2603:1040:a00::,2603:1040:aff:ffff:ffff:ffff:ffff:ffff,IN
-2603:1040:b00::,2603:1040:bff:ffff:ffff:ffff:ffff:ffff,US
+2603:1040:b00::,2603:1040:bff:ffff:ffff:ffff:ffff:ffff,AE
2603:1040:c00::,2603:1040:cff:ffff:ffff:ffff:ffff:ffff,IN
2603:1040:d00::,2603:1040:dff:ffff:ffff:ffff:ffff:ffff,US
2603:1040:e00::,2603:1040:fff:ffff:ffff:ffff:ffff:ffff,KR
@@ -13283,7 +13585,17 @@
2603:1046:82b::,2603:1046:82b:ffff:ffff:ffff:ffff:ffff,KR
2603:1046:82c::,2603:1046:8ff:ffff:ffff:ffff:ffff:ffff,US
2603:1046:900::,2603:1046:9ff:ffff:ffff:ffff:ffff:ffff,IN
-2603:1046:a00::,2603:1046:ffff:ffff:ffff:ffff:ffff:ffff,US
+2603:1046:a00::,2603:1046:bff:ffff:ffff:ffff:ffff:ffff,US
+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: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
+2603:1046:c04::,2603:1046:c06:ffff:ffff:ffff:ffff:ffff,IN
+2603:1046:c07::,2603:1046:c08:ffff:ffff:ffff:ffff:ffff,KR
+2603:1046:c09::,2603:1046:c0a:ffff:ffff:ffff:ffff:ffff,JP
+2603:1046:c0b::,2603:1046:ffff:ffff:ffff:ffff:ffff:ffff,US
2603:1047::,2603:1047::ffff:ffff:ffff:ffff,KR
2603:1047:0:1::,2603:1047::1:ffff:ffff:ffff:ffff,HK
2603:1047:0:2::,2603:1047::3:ffff:ffff:ffff:ffff,SG
@@ -13336,11 +13648,12 @@
2603:1047:200::,2603:1047:2ff:ffff:ffff:ffff:ffff:ffff,HK
2603:1047:300::,2603:1047:4ff:ffff:ffff:ffff:ffff:ffff,JP
2603:1047:500::,2603:1047:5ff:ffff:ffff:ffff:ffff:ffff,KR
-2603:1047:600::,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
-2603:1049:203::,2603:1049:2ff:ffff:ffff:ffff:ffff:ffff,US
+2603:1047:600::,2603:1047:7ff:ffff:ffff:ffff:ffff:ffff,IN
+2603:1047:800::,2603:1048:ffff:ffff:ffff:ffff:ffff:ffff,US
+2603:1049::,2603:1049:2:ffff:ffff:ffff:ffff:ffff,SG
+2603:1049:3::,2603:1049:1ff:ffff:ffff:ffff:ffff:ffff,US
+2603:1049:200::,2603:1049:201:ffff:ffff:ffff:ffff:ffff,HK
+2603:1049:202::,2603:1049:2ff:ffff:ffff:ffff:ffff:ffff,US
2603:1049:300::,2603:1049:300:ffff:ffff:ffff:ffff:ffff,KR
2603:1049:301::,2603:1049:3ff:ffff:ffff:ffff:ffff:ffff,US
2603:1049:400::,2603:1049:4ff:ffff:ffff:ffff:ffff:ffff,JP
@@ -13360,21 +13673,13 @@
2603:1050:210::,2603:1050:21f:ffff:ffff:ffff:ffff:ffff,CL
2603:1050:220::,2603:1050:2ff:ffff:ffff:ffff:ffff:ffff,US
2603:1050:300::,2603:1050:3ff:ffff:ffff:ffff:ffff:ffff,CL
-2603:1050:400::,2603:1055:ffff:ffff:ffff:ffff:ffff:ffff,US
-2603:1056::,2603:1056:2:3f:ffff:ffff:ffff:ffff,BR
-2603:1056:2:40::,2603:1056:1f:ffff:ffff:ffff:ffff:ffff,US
-2603:1056:20::,2603:1056:20:ffff:ffff:ffff:ffff:ffff,BR
-2603:1056:21::,2603:1056:27:ffff:ffff:ffff:ffff:ffff,US
-2603:1056:28::,2603:1056:28:ffff:ffff:ffff:ffff:ffff,BR
-2603:1056:29::,2603:1056:1ff:ffff:ffff:ffff:ffff:ffff,US
+2603:1050:400::,2603:1056:1ff:ffff:ffff:ffff:ffff:ffff,US
2603:1056:200::,2603:1056:2ff:ffff:ffff:ffff:ffff:ffff,BR
2603:1056:300::,2603:1056:3ff:ffff:ffff:ffff:ffff:ffff,US
2603:1056:400::,2603:1056:4ff:ffff:ffff:ffff:ffff:ffff,BR
2603:1056:500::,2603:1056:5ff:ffff:ffff:ffff:ffff:ffff,US
2603:1056:600::,2603:1056:6ff:ffff:ffff:ffff:ffff:ffff,CL
-2603:1056:700::,2603:1056:c00:ffff:ffff:ffff:ffff:ffff,US
-2603:1056:c01::,2603:1056:c01:fff:ffff:ffff:ffff:ffff,BR
-2603:1056:c01:1000::,2603:1056:c01:ffff:ffff:ffff:ffff:ffff,US
+2603:1056:700::,2603:1056:c01:ffff:ffff:ffff:ffff:ffff,US
2603:1056:c02::,2603:1056:c03:ffff:ffff:ffff:ffff:ffff,BR
2603:1056:c04::,2603:1056:c04:ffff:ffff:ffff:ffff:ffff,CL
2603:1056:c05::,2603:1057:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13397,6 +13702,7 @@
2603:8000::,2603:80ff:ffff:ffff:ffff:ffff:ffff:ffff,US
2603:9000::,2603:90ff:ffff:ffff:ffff:ffff:ffff:ffff,US
2603:a000::,2603:a0ff:ffff:ffff:ffff:ffff:ffff:ffff,US
+2603:b000::,2603:b0ff:ffff:ffff:ffff:ffff:ffff:ffff,US
2604::,2604::ffff:ffff:ffff:ffff:ffff:ffff,US
2604:10::,2604:10:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:50::,2604:50:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13518,7 +13824,7 @@
2604:1e00::,2604:1e00:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:1e40::,2604:1e40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:1e80::,2604:1e80:ffff:ffff:ffff:ffff:ffff:ffff,CA
-2604:1ec0::,2604:1ec0:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2604:1ec0::,2604:1ec0:fff:ffff:ffff:ffff:ffff:ffff,CA
2604:1f00::,2604:1f00:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:1f40::,2604:1f40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:1f80::,2604:1f80:ffff:ffff:ffff:ffff:ffff:ffff,CA
@@ -13888,7 +14194,6 @@
2604:7cc0::,2604:7cc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:7d40::,2604:7d40:ffff:ffff:ffff:ffff:ffff:ffff,CA
2604:7d80::,2604:7d80:ffff:ffff:ffff:ffff:ffff:ffff,US
-2604:7dc0::,2604:7dc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:7e00::,2604:7e00:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:7e40::,2604:7e40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:7e80::,2604:7e80:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13923,7 +14228,7 @@
2604:85c0::,2604:85c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:8600::,2604:8600:ffff:ffff:ffff:ffff:ffff:ffff,CA
2604:8640::,2604:8640:ffff:ffff:ffff:ffff:ffff:ffff,US
-2604:86c0::,2604:86c0:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2604:86c0::,2604:86c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:8700::,2604:8700:fff:ffff:ffff:ffff:ffff:ffff,US
2604:8740::,2604:8740:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:8780::,2604:8780:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13968,54 +14273,105 @@
2604:9180::,2604:9180:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:91c0::,2604:91c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9200::,2604:9200:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9240::,2604:9240:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9280::,2604:9280:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:92c0::,2604:92c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9300::,2604:9300:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9340::,2604:9340:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9380::,2604:9380:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2604:93c0::,2604:93c0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9440::,2604:9440:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9480::,2604:9480:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:94c0::,2604:94c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9500::,2604:9500:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9540::,2604:9540:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9580::,2604:9580:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:95c0::,2604:95c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9600::,2604:9600:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9640::,2604:9640:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:96c0::,2604:96c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9700::,2604:9700:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9740::,2604:9740:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9780::,2604:9780:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:97c0::,2604:97c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9800::,2604:9800:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9840::,2604:9840:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9880::,2604:9880:fff:ffff:ffff:ffff:ffff:ffff,CA
+2604:98c0::,2604:98c0:ffff:ffff:ffff:ffff:ffff:ffff,PR
2604:9900::,2604:9900:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9940::,2604:9940:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9980::,2604:9980:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:99c0::,2604:99c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9a00::,2604:9a00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9a40::,2604:9a40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9a80::,2604:9a80:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9ac0::,2604:9ac0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9b00::,2604:9b00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9b40::,2604:9b40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9b80::,2604:9b80:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9bc0::,2604:9bc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9c00::,2604:9c00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9c40::,2604:9c40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9c80::,2604:9c80:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9cc0::,2604:9cc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9d00::,2604:9d00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9d40::,2604:9d40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9d80::,2604:9d80:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9dc0::,2604:9dc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9e00::,2604:9e0f:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9e40::,2604:9e40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9e80::,2604:9e80:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2604:9ec0::,2604:9ec0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9f00::,2604:9f00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9f40::,2604:9f40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:9f80::,2604:9f80:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:9fc0::,2604:9fc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a000::,2604:a000:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a040::,2604:a040:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a080::,2604:a080:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a0c0::,2604:a0c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a100::,2604:a100:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a140::,2604:a140:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a180::,2604:a180:ffff:ffff:ffff:ffff:ffff:ffff,BB
+2604:a1c0::,2604:a1c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a200::,2604:a200:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a240::,2604:a240:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a280::,2604:a280:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2604:a2c0::,2604:a2c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a300::,2604:a300:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a340::,2604:a340:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a3c0::,2604:a3c0:ffff:ffff:ffff:ffff:ffff:ffff,CA
2604:a400::,2604:a400:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a440::,2604:a440:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a480::,2604:a480:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a4c0::,2604:a4c0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a540::,2604:a540:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a580::,2604:a580:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a5c0::,2604:a5c0:ffff:ffff:ffff:ffff:ffff:ffff,CA
2604:a600::,2604:a600:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a640::,2604:a640:ffff:ffff:ffff:ffff:ffff:ffff,CA
2604:a680::,2604:a680:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a6c0::,2604:a6c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a700::,2604:a700:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a740::,2604:a740:ffff:ffff:ffff:ffff:ffff:ffff,CA
2604:a780::,2604:a780:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a7c0::,2604:a7c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a800::,2604:a800:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a840::,2604:a840:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a880::,2604:a880:cac:ffff:ffff:ffff:ffff:ffff,US
2604:a880:cad::,2604:a880:cad:7fff:ffff:ffff:ffff:ffff,CA
2604:a880:cad:8000::,2604:a880:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a8c0::,2604:a8c0:ffff:ffff:ffff:ffff:ffff:ffff,CA
2604:a900::,2604:a900:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a940::,2604:a940:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:a980::,2604:a980:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:a9c0::,2604:a9c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:aa00::,2604:aa00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:aa40::,2604:aa40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:aa80::,2604:aa80:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:aac0::,2604:aac0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:ab00::,2604:ab00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:ab40::,2604:ab40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:ab80::,2604:ab80:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:ac00::,2604:ac00:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:ac80::,2604:ac80:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14092,7 +14448,6 @@
2604:d180::,2604:d180:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:d200::,2604:d200:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:d280::,2604:d280:ffff:ffff:ffff:ffff:ffff:ffff,US
-2604:d300::,2604:d300:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:d380::,2604:d380:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:d400::,2604:d400:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:d480::,2604:d480:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14128,7 +14483,6 @@
2604:e580::,2604:e580:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:e600::,2604:e600:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:e680::,2604:e680:ffff:ffff:ffff:ffff:ffff:ffff,US
-2604:e700::,2604:e700:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:e780::,2604:e780:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:e800::,2604:e800:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:e880::,2604:e880:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14150,7 +14504,6 @@
2604:f200::,2604:f200:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:f280::,2604:f280:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:f300::,2604:f300:ffff:ffff:ffff:ffff:ffff:ffff,US
-2604:f380::,2604:f380:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:f400::,2604:f400:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:f480::,2604:f480:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:f500::,2604:f500:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14178,7 +14531,6 @@
2605:80::,2605:80:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:100::,2605:100:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:180::,2605:180:ffff:ffff:ffff:ffff:ffff:ffff,US
-2605:200::,2605:200:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:280::,2605:280:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:300::,2605:300:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:380::,2605:380:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14701,7 +15053,6 @@
2606:c00:5:8000::,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:e00::,2606:e00:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:e80::,2606:e80:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:f00::,2606:f00:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:f80::,2606:f80:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -15400,7 +15751,7 @@
2607:4f80::,2607:4f80:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:5000::,2607:5006:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:5080::,2607:5080:ffff:ffff:ffff:ffff:ffff:ffff,US
-2607:5100::,2607:5100:ffff:ffff:ffff:ffff:ffff:ffff,US
+2607:5100::,2607:510f:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:5180::,2607:5180:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:5200::,2607:5201:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:5280::,2607:5280:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -15675,7 +16026,6 @@
2607:d980::,2607:d980:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:da00::,2607:da00:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:da80::,2607:da80:ffff:ffff:ffff:ffff:ffff:ffff,US
-2607:db80::,2607:db80:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:dc00::,2607:dc00:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:dc80::,2607:dc80:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:dd00::,2607:dd00:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -15989,7 +16339,9 @@
2607:f8e0::,2607:f8e0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f8e8::,2607:f8e8:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f8f0::,2607:f8f0:ffff:ffff:ffff:ffff:ffff:ffff,CA
-2607:f8f8::,2607:f8f8:ffff:ffff:ffff:ffff:ffff:ffff,US
+2607:f8f8::,2607:f8f8:202:29ff:ffff:ffff:ffff:ffff,US
+2607:f8f8:202:2a00::,2607:f8f8:202:2a00:ffff:ffff:ffff:ffff,ID
+2607:f8f8:202:2a01::,2607:f8f8:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f900::,2607:f900:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f908::,2607:f908:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f910::,2607:f910:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -16120,7 +16472,7 @@
2607:fd00::,2607:fd00:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:fd08::,2607:fd08:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:fd10::,2607:fd10:ffff:ffff:ffff:ffff:ffff:ffff,US
-2607:fd28::,2607:fd28:ffff:ffff:ffff:ffff:ffff:ffff,US
+2607:fd28:a004::,2607:fd28:a004:7fff:ffff:ffff:ffff:ffff,US
2607:fd30::,2607:fd30:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:fd38::,2607:fd38:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:fd40::,2607:fd40:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -16286,7 +16638,6 @@
2620:0:20::,2620::20:ffff:ffff:ffff:ffff:ffff,US
2620:0:30::,2620::37:ffff:ffff:ffff:ffff:ffff,US
2620:0:60::,2620::60:ffff:ffff:ffff:ffff:ffff,US
-2620:0:70::,2620::70:ffff:ffff:ffff:ffff:ffff,US
2620:0:80::,2620::80:ffff:ffff:ffff:ffff:ffff,US
2620:0:90::,2620::90:ffff:ffff:ffff:ffff:ffff,US
2620:0:a0::,2620::a0:ffff:ffff:ffff:ffff:ffff,US
@@ -16613,7 +16964,6 @@
2620:4:c000::,2620:4:c000:ffff:ffff:ffff:ffff:ffff,US
2620:4:e000::,2620:4:e000:ffff:ffff:ffff:ffff:ffff,US
2620:5::,2620:5::ffff:ffff:ffff:ffff:ffff,US
-2620:5:2000::,2620:5:2000:ffff:ffff:ffff:ffff:ffff,US
2620:5:4000::,2620:5:400f:ffff:ffff:ffff:ffff:ffff,US
2620:5:8000::,2620:5:8000:ffff:ffff:ffff:ffff:ffff,US
2620:5:a000::,2620:5:a000:ffff:ffff:ffff:ffff:ffff,US
@@ -16632,14 +16982,12 @@
2620:7:4000::,2620:7:4000:ffff:ffff:ffff:ffff:ffff,US
2620:7:6000::,2620:7:6000:ffff:ffff:ffff:ffff:ffff,US
2620:7:8000::,2620:7:8000:ffff:ffff:ffff:ffff:ffff,US
-2620:7:a000::,2620:7:a000:ffff:ffff:ffff:ffff:ffff,US
2620:7:c000::,2620:7:c000:ffff:ffff:ffff:ffff:ffff,US
2620:7:e000::,2620:7:e000:ffff:ffff:ffff:ffff:ffff,US
2620:8::,2620:8:7f:ffff:ffff:ffff:ffff:ffff,CA
2620:8:4300::,2620:8:4300:ffff:ffff:ffff:ffff:ffff,US
2620:8:8200::,2620:8:8200:ffff:ffff:ffff:ffff:ffff,US
2620:8:c100::,2620:8:c100:ffff:ffff:ffff:ffff:ffff,US
-2620:9::,2620:9::ffff:ffff:ffff:ffff:ffff,US
2620:9:2000::,2620:9:2000:ffff:ffff:ffff:ffff:ffff,US
2620:9:4000::,2620:9:4000:ffff:ffff:ffff:ffff:ffff,US
2620:9:6000::,2620:9:6000:ffff:ffff:ffff:ffff:ffff,US
@@ -16947,7 +17295,7 @@
2620:34:4000::,2620:34:4000:ffff:ffff:ffff:ffff:ffff,US
2620:34:6000::,2620:34:600f:ffff:ffff:ffff:ffff:ffff,US
2620:34:8000::,2620:34:8000:ffff:ffff:ffff:ffff:ffff,US
-2620:34:a000::,2620:34:a000:ffff:ffff:ffff:ffff:ffff,US
+2620:34:a000::,2620:34:a00f:ffff:ffff:ffff:ffff:ffff,US
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:2000::,2620:35:2000:ffff:ffff:ffff:ffff:ffff,US
@@ -17018,24 +17366,45 @@
2620:3e:c000::,2620:3e:c000:ffff:ffff:ffff:ffff:ffff,US
2620:3e:e000::,2620:3e:e000:ffff:ffff:ffff:ffff:ffff,US
2620:3f::,2620:3f::ffff:ffff:ffff:ffff:ffff,US
+2620:3f:2000::,2620:3f:2000:ffff:ffff:ffff:ffff:ffff,US
2620:3f:4000::,2620:3f:4000:ffff:ffff:ffff:ffff:ffff,US
+2620:3f:6000::,2620:3f:6000:ffff:ffff:ffff:ffff:ffff,US
2620:3f:8000::,2620:3f:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:3f:a000::,2620:3f:a000:ffff:ffff:ffff:ffff:ffff,US
2620:3f:c000::,2620:3f:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:40::,2620:40::ffff:ffff:ffff:ffff:ffff,US
+2620:40:2000::,2620:40:2000:ffff:ffff:ffff:ffff:ffff,US
2620:40:4000::,2620:40:4000:ffff:ffff:ffff:ffff:ffff,US
+2620:40:6000::,2620:40:6000:ffff:ffff:ffff:ffff:ffff,US
2620:40:8000::,2620:40:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:40:a000::,2620:40:a000:ffff:ffff:ffff:ffff:ffff,US
2620:40:c000::,2620:40:c000:ffff:ffff:ffff:ffff:ffff,US
+2620:40:e000::,2620:40:e000:ffff:ffff:ffff:ffff:ffff,US
2620:41::,2620:41:1:ffff:ffff:ffff:ffff:ffff,US
+2620:41:2000::,2620:41:2000:ffff:ffff:ffff:ffff:ffff,US
+2620:41:6000::,2620:41:6000:ffff:ffff:ffff:ffff:ffff,US
2620:41:8000::,2620:41:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:41:a000::,2620:41:a000:ffff:ffff:ffff:ffff:ffff,US
2620:42::,2620:42::ffff:ffff:ffff:ffff:ffff,US
+2620:42:2000::,2620:42:2000:ffff:ffff:ffff:ffff:ffff,US
2620:42:4000::,2620:42:4000:ffff:ffff:ffff:ffff:ffff,US
+2620:42:6000::,2620:42:6000:ffff:ffff:ffff:ffff:ffff,US
+2620:42:a000::,2620:42:a000:ffff:ffff:ffff:ffff:ffff,US
2620:42:c000::,2620:42:c000:ffff:ffff:ffff:ffff:ffff,CA
+2620:42:e000::,2620:42:e000:ffff:ffff:ffff:ffff:ffff,CA
2620:43::,2620:43::ffff:ffff:ffff:ffff:ffff,US
+2620:43:2000::,2620:43:2000:ffff:ffff:ffff:ffff:ffff,US
2620:43:4000::,2620:43:4000:ffff:ffff:ffff:ffff:ffff,US
+2620:43:6000::,2620:43:6000:ffff:ffff:ffff:ffff:ffff,US
2620:43:8000::,2620:43:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:43:a000::,2620:43:a000:ffff:ffff:ffff:ffff:ffff,US
+2620:43:e000::,2620:43:e000:ffff:ffff:ffff:ffff:ffff,US
2620:44::,2620:44:1:ffff:ffff:ffff:ffff:ffff,US
+2620:44:2000::,2620:44:2000:ffff:ffff:ffff:ffff:ffff,US
2620:44:4000::,2620:44:4000:ffff:ffff:ffff:ffff:ffff,US
+2620:44:6000::,2620:44:6000:ffff:ffff:ffff:ffff:ffff,US
2620:44:8000::,2620:44:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:44:a000::,2620:44:a000:ffff:ffff:ffff:ffff:ffff,US
2620:45::,2620:45::ffff:ffff:ffff:ffff:ffff,CA
2620:45:4000::,2620:45:4000:ffff:ffff:ffff:ffff:ffff,US
2620:45:8000::,2620:45:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -17616,7 +17985,6 @@
2620:d9::,2620:d9::ffff:ffff:ffff:ffff:ffff,US
2620:d9:4000::,2620:d9:4000:ffff:ffff:ffff:ffff:ffff,US
2620:d9:8000::,2620:d9:8000:ffff:ffff:ffff:ffff:ffff,US
-2620:d9:c000::,2620:d9:c000:ffff:ffff:ffff:ffff:ffff,US
2620:da::,2620:da::ffff:ffff:ffff:ffff:ffff,US
2620:da:4000::,2620:da:4000:ffff:ffff:ffff:ffff:ffff,US
2620:da:c000::,2620:da:c000:ffff:ffff:ffff:ffff:ffff,US
@@ -17684,7 +18052,6 @@
2620:ea::,2620:ea:f:ffff:ffff:ffff:ffff:ffff,US
2620:ea:4000::,2620:ea:4000:ffff:ffff:ffff:ffff:ffff,US
2620:ea:8000::,2620:ea:8000:ffff:ffff:ffff:ffff:ffff,US
-2620:ea:c000::,2620:ea:c000:ffff:ffff:ffff:ffff:ffff,US
2620:eb::,2620:eb::ffff:ffff:ffff:ffff:ffff,US
2620:eb:4000::,2620:eb:4000:ffff:ffff:ffff:ffff:ffff,US
2620:eb:8000::,2620:eb:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -17883,7 +18250,6 @@
2620:106:e000::,2620:106:e0ff:ffff:ffff:ffff:ffff:ffff,US
2620:106:f000::,2620:106:f00f:ffff:ffff:ffff:ffff:ffff,CA
2620:107::,2620:107:ff:ffff:ffff:ffff:ffff:ffff,US
-2620:107:1000::,2620:107:100f:ffff:ffff:ffff:ffff:ffff,US
2620:107:2000::,2620:107:200f:ffff:ffff:ffff:ffff:ffff,US
2620:107:3000::,2620:107:300f:ffff:ffff:ffff:ffff:ffff,US
2620:107:4000::,2620:107:4000:77ff:ffff:ffff:ffff:ffff,US
@@ -18618,6 +18984,30 @@
2620:134:f000::,2620:134:f00f:ffff:ffff:ffff:ffff:ffff,US
2620:135::,2620:135:f:ffff:ffff:ffff:ffff:ffff,US
2620:135:1000::,2620:135:100f:ffff:ffff:ffff:ffff:ffff,US
+2620:135:2000::,2620:135:20ff:ffff:ffff:ffff:ffff:ffff,US
+2620:135:3000::,2620:135:300f:ffff:ffff:ffff:ffff:ffff,US
+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: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
+2620:135:b000::,2620:135:b0ff:ffff:ffff:ffff:ffff:ffff,US
+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: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: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
+2620:136:8000::,2620:136:80ff:ffff:ffff:ffff:ffff:ffff,US
+2620:136:9000::,2620:136:90ff: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
@@ -18913,7 +19303,6 @@
2800:c10::,2800:c10:ffff:ffff:ffff:ffff:ffff:ffff,EC
2800:c20::,2800:c20:ffff:ffff:ffff:ffff:ffff:ffff,CR
2800:c30::,2800:c30:ffff:ffff:ffff:ffff:ffff:ffff,AR
-2800:c40::,2800:c40:ffff:ffff:ffff:ffff:ffff:ffff,EC
2800:c50::,2800:c50:ffff:ffff:ffff:ffff:ffff:ffff,AR
2800:c70::,2800:c70:ffff:ffff:ffff:ffff:ffff:ffff,PY
2800:c80::,2800:c80:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -18927,7 +19316,7 @@
2800:d00::,2800:d00:ffff:ffff:ffff:ffff:ffff:ffff,AR
2800:d10::,2800:d10:ffff:ffff:ffff:ffff:ffff:ffff,AR
2800:d20::,2800:d20:ffff:ffff:ffff:ffff:ffff:ffff,DO
-2800:e00::,2800:eff:ffff:ffff:ffff:ffff:ffff:ffff,TT
+2800:e00::,2800:e0f:ffff:ffff:ffff:ffff:ffff:ffff,TT
2800:1000::,2800:10ff:ffff:ffff:ffff:ffff:ffff:ffff,VE
2800:2000::,2800:2fff:ffff:ffff:ffff:ffff:ffff:ffff,AR
2800:a000::,2800:a000:ffff:ffff:ffff:ffff:ffff:ffff,VE
@@ -19016,6 +19405,7 @@
2801:10:4000::,2801:10:4000:ffff:ffff:ffff:ffff:ffff,AR
2801:10:5000::,2801:10:5000:ffff:ffff:ffff:ffff:ffff,BO
2801:10:6000::,2801:10:6000:ffff:ffff:ffff:ffff:ffff,HN
+2801:10:7000::,2801:10:7000:ffff:ffff:ffff:ffff:ffff,CO
2801:10:8000::,2801:10:8000:ffff:ffff:ffff:ffff:ffff,AR
2801:10:9000::,2801:10:9000:ffff:ffff:ffff:ffff:ffff,PY
2801:10:a000::,2801:10:a000:ffff:ffff:ffff:ffff:ffff,AR
@@ -19044,6 +19434,7 @@
2801:12:4000::,2801:12:4000:ffff:ffff:ffff:ffff:ffff,CO
2801:12:5000::,2801:12:5000:ffff:ffff:ffff:ffff:ffff,AR
2801:12:6000::,2801:12:6000:ffff:ffff:ffff:ffff:ffff,SV
+2801:12:7000::,2801:12:7000:ffff:ffff:ffff:ffff:ffff,CO
2801:12:8000::,2801:12:8000:ffff:ffff:ffff:ffff:ffff,AR
2801:12:9000::,2801:12:9000:ffff:ffff:ffff:ffff:ffff,AR
2801:12:b000::,2801:12:b000:ffff:ffff:ffff:ffff:ffff,AR
@@ -19060,6 +19451,7 @@
2801:13:8000::,2801:13:8000:ffff:ffff:ffff:ffff:ffff,SV
2801:13:9000::,2801:13:9000:ffff:ffff:ffff:ffff:ffff,AR
2801:13:a000::,2801:13:a000:ffff:ffff:ffff:ffff:ffff,CO
+2801:13:b000::,2801:13:b000:ffff:ffff:ffff:ffff:ffff,AR
2801:13:c000::,2801:13:c000:ffff:ffff:ffff:ffff:ffff,TT
2801:13:d000::,2801:13:d000:ffff:ffff:ffff:ffff:ffff,AR
2801:13:e000::,2801:13:e000:ffff:ffff:ffff:ffff:ffff,CO
@@ -19069,6 +19461,7 @@
2801:14:3000::,2801:14:3000:ffff:ffff:ffff:ffff:ffff,CO
2801:14:5000::,2801:14:5000:ffff:ffff:ffff:ffff:ffff,NI
2801:14:6000::,2801:14:6000:ffff:ffff:ffff:ffff:ffff,BO
+2801:14:7000::,2801:14:7000:ffff:ffff:ffff:ffff:ffff,CL
2801:14:8000::,2801:14:8000:ffff:ffff:ffff:ffff:ffff,CO
2801:14:9000::,2801:14:9000:ffff:ffff:ffff:ffff:ffff,CL
2801:14:a000::,2801:14:a001:ffff:ffff:ffff:ffff:ffff,UY
@@ -19083,9 +19476,10 @@
2801:15:4000::,2801:15:4000:ffff:ffff:ffff:ffff:ffff,CO
2801:15:5000::,2801:15:5000:ffff:ffff:ffff:ffff:ffff,CO
2801:15:6000::,2801:15:6000:ffff:ffff:ffff:ffff:ffff,SV
-2801:15:8000::,2801:15:8000:ffff:ffff:ffff:ffff:ffff,CR
+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: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
@@ -19113,15 +19507,16 @@
2801:17:8000::,2801:17:8000:ffff:ffff:ffff:ffff:ffff,CR
2801:17:9000::,2801:17:9000:ffff:ffff:ffff:ffff:ffff,PA
2801:17:a000::,2801:17:a000:ffff:ffff:ffff:ffff:ffff,HT
+2801:17:b000::,2801:17:b000:ffff:ffff:ffff:ffff:ffff,CL
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:18::,2801:18::ffff:ffff:ffff:ffff:ffff,CR
-2801:18:1000::,2801:18:1000:ffff:ffff:ffff:ffff:ffff,PA
2801:18:2000::,2801:18:2000:ffff:ffff:ffff:ffff:ffff,CO
2801:18:3000::,2801:18:3000:ffff:ffff:ffff:ffff:ffff,CO
2801:18:5000::,2801:18:5000:ffff:ffff:ffff:ffff:ffff,CO
2801:18:6000::,2801:18:6000:ffff:ffff:ffff:ffff:ffff,AR
+2801:18:7000::,2801:18:7000:ffff:ffff:ffff:ffff:ffff,BO
2801:18:8000::,2801:18:8000:ffff:ffff:ffff:ffff:ffff,AR
2801:18:9000::,2801:18:900f:ffff:ffff:ffff:ffff:ffff,CO
2801:18:a000::,2801:18:a000:ffff:ffff:ffff:ffff:ffff,BO
@@ -19147,6 +19542,7 @@
2801:1a:1000::,2801:1a:1000:ffff:ffff:ffff:ffff:ffff,CL
2801:1a:3000::,2801:1a:3000:ffff:ffff:ffff:ffff:ffff,EC
2801:1a:5000::,2801:1a:5000:ffff:ffff:ffff:ffff:ffff,AR
+2801:1a:7000::,2801:1a:7000:ffff:ffff:ffff:ffff:ffff,BO
2801:1a:8000::,2801:1a:8000:ffff:ffff:ffff:ffff:ffff,CL
2801:1a:9000::,2801:1a:9000:ffff:ffff:ffff:ffff:ffff,DO
2801:1a:a000::,2801:1a:a000:ffff:ffff:ffff:ffff:ffff,AR
@@ -19164,6 +19560,7 @@
2801:1b:8000::,2801:1b:8000:ffff:ffff:ffff:ffff:ffff,CL
2801:1b:9000::,2801:1b:9000:ffff:ffff:ffff:ffff:ffff,CL
2801:1b:a000::,2801:1b:a000:ffff:ffff:ffff:ffff:ffff,AR
+2801:1b:b000::,2801:1b:b000:ffff:ffff:ffff:ffff:ffff,CL
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
@@ -19174,6 +19571,7 @@
2801:1c:4000::,2801:1c:4000:ffff:ffff:ffff:ffff:ffff,CO
2801:1c:5000::,2801:1c:5000:ffff:ffff:ffff:ffff:ffff,CL
2801:1c:6000::,2801:1c:6000:ffff:ffff:ffff:ffff:ffff,PA
+2801:1c:7000::,2801:1c:7000:ffff:ffff:ffff:ffff:ffff,AR
2801:1c:8000::,2801:1c:8000:ffff:ffff:ffff:ffff:ffff,EC
2801:1c:a000::,2801:1c:a000:ffff:ffff:ffff:ffff:ffff,CO
2801:1c:b000::,2801:1c:b000:ffff:ffff:ffff:ffff:ffff,AR
@@ -19190,6 +19588,7 @@
2801:1d:8000::,2801:1d:8000:ffff:ffff:ffff:ffff:ffff,AR
2801:1d:9000::,2801:1d:9000:ffff:ffff:ffff:ffff:ffff,CO
2801:1d:a000::,2801:1d:a00f:ffff:ffff:ffff:ffff:ffff,CR
+2801:1d:b000::,2801:1d:b000:ffff:ffff:ffff:ffff:ffff,CO
2801:1d:c000::,2801:1d:c000:ffff:ffff:ffff:ffff:ffff,AR
2801:1d:d000::,2801:1d:d000:ffff:ffff:ffff:ffff:ffff,BO
2801:1d:e000::,2801:1d:e000:ffff:ffff:ffff:ffff:ffff,CO
@@ -19215,6 +19614,7 @@
2801:1f:8000::,2801:1f:8000:ffff:ffff:ffff:ffff:ffff,AR
2801:1f:9000::,2801:1f:9000:ffff:ffff:ffff:ffff:ffff,AR
2801:1f:a000::,2801:1f:a000:ffff:ffff:ffff:ffff:ffff,CL
+2801:1f:b000::,2801:1f:b000:ffff:ffff:ffff:ffff:ffff,CL
2801:1f:c000::,2801:1f:c000:ffff:ffff:ffff:ffff:ffff,CR
2801:1f:d000::,2801:1f:d000:ffff:ffff:ffff:ffff:ffff,CO
2801:1f:e000::,2801:1f:e000:ffff:ffff:ffff:ffff:ffff,AR
@@ -19300,7 +19700,6 @@
2801:80:530::,2801:80:530:ffff:ffff:ffff:ffff:ffff,BR
2801:80:540::,2801:80:540:ffff:ffff:ffff:ffff:ffff,BR
2801:80:550::,2801:80:550:ffff:ffff:ffff:ffff:ffff,BR
-2801:80:560::,2801:80:560:ffff:ffff:ffff:ffff:ffff,BR
2801:80:570::,2801:80:570:ffff:ffff:ffff:ffff:ffff,BR
2801:80:580::,2801:80:581:ffff:ffff:ffff:ffff:ffff,BR
2801:80:590::,2801:80:590:ffff:ffff:ffff:ffff:ffff,BR
@@ -19596,6 +19995,8 @@
2801:80:22e0::,2801:80:22e0:ffff:ffff:ffff:ffff:ffff,BR
2801:80:22f0::,2801:80:22f0:ffff:ffff:ffff:ffff:ffff,BR
2801:80:2300::,2801:80:2300:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2310::,2801:80:2310:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2320::,2801:80:2320: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
@@ -19632,7 +20033,7 @@
2801:c4:10::,2801:c4:10:ffff:ffff:ffff:ffff:ffff,MX
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:1b:ffff:ffff:ffff:ffff:ffff,MX
+2801:c4:19::,2801:c4:1c:ffff:ffff:ffff:ffff:ffff,MX
2801:c4:20::,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
@@ -19684,6 +20085,7 @@
2801:1c4::,2801:1c4:f:ffff:ffff:ffff:ffff:ffff,CO
2801:1c8::,2801:1c8:fff:ffff:ffff:ffff:ffff:ffff,CO
2801:1d0::,2801:1d0:f:ffff:ffff:ffff:ffff:ffff,CO
+2801:1d4::,2801:1d4:fff:ffff:ffff:ffff:ffff:ffff,CR
2801:1d8::,2801:1d8:fff:ffff:ffff:ffff:ffff:ffff,CO
2801:1e0::,2801:1e0:7f:ffff:ffff:ffff:ffff:ffff,AR
2801:1e4::,2801:1e4:3f:ffff:ffff:ffff:ffff:ffff,CO
@@ -19719,6 +20121,7 @@
2803:240::,2803:240:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:280::,2803:280:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:2c0::,2803:2c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:320::,2803:320:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:340::,2803:340:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:380::,2803:380:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:3c0::,2803:3c0:ffff:ffff:ffff:ffff:ffff:ffff,PY
@@ -19757,6 +20160,7 @@
2803:a80::,2803:a80:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:ac0::,2803:ac0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:b00::,2803:b00:ffff:ffff:ffff:ffff:ffff:ffff,EC
+2803:b20::,2803:b20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:b40::,2803:b40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:b80::,2803:b80:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:bc0::,2803:bc0:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19766,6 +20170,7 @@
2803:c80::,2803:c80:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:cc0::,2803:cc0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:d00::,2803:d00:ffff:ffff:ffff:ffff:ffff:ffff,GY
+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:dc0::,2803:dc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19796,6 +20201,7 @@
2803:1280::,2803:1280:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:12c0::,2803:12c0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:1300::,2803:1300:ffff:ffff:ffff:ffff:ffff:ffff,CR
+2803:1320::,2803:1320:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:1340::,2803:1340:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:1380::,2803:1380:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:13c0::,2803:13c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19830,6 +20236,7 @@
2803:1a80::,2803:1a80:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:1ac0::,2803:1ac0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:1b00::,2803:1b00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:1b20::,2803:1b20:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:1b40::,2803:1b40:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:1b80::,2803:1b80:ffff:ffff:ffff:ffff:ffff:ffff,TT
2803:1bc0::,2803:1bc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19838,6 +20245,7 @@
2803:1c80::,2803:1c80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:1cc0::,2803:1cc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:1d00::,2803:1d00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:1d20::,2803:1d20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:1d40::,2803:1d40:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:1d80::,2803:1d80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:1dc0::,2803:1dc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19865,6 +20273,7 @@
2803:2280::,2803:2280:ffff:ffff:ffff:ffff:ffff:ffff,BZ
2803:22c0::,2803:22c0:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:2300::,2803:2300:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:2320::,2803:2320:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:2340::,2803:2340:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:2380::,2803:2380:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:23c0::,2803:23c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19903,6 +20312,7 @@
2803:2a80::,2803:2a80:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:2ac0::,2803:2ac0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:2b00::,2803:2b00:ffff:ffff:ffff:ffff:ffff:ffff,PA
+2803:2b20::,2803:2b20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:2b40::,2803:2b40:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:2b80::,2803:2b80:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:2bc0::,2803:2bc0:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19911,6 +20321,7 @@
2803:2c80::,2803:2c80:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:2cc0::,2803:2cc0:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:2d00::,2803:2d00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:2d20::,2803:2d20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:2d40::,2803:2d40:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:2d80::,2803:2d80:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:2dc0::,2803:2dc0:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19938,6 +20349,7 @@
2803:3280::,2803:3280:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:32c0::,2803:32c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:3300::,2803:3300:ffff:ffff:ffff:ffff:ffff:ffff,PE
+2803:3320::,2803:3320:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:3340::,2803:3340:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3380::,2803:3380:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:33c0::,2803:33c0:ffff:ffff:ffff:ffff:ffff:ffff,DO
@@ -19947,6 +20359,7 @@
2803:3480::,2803:3480:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:34c0::,2803:34c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:3500::,2803:3500:ffff:ffff:ffff:ffff:ffff:ffff,AR
+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:35c0::,2803:35c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19984,6 +20397,7 @@
2803:3c80::,2803:3c80:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:3cc0::,2803:3cc0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:3d00::,2803:3d00:ffff:ffff:ffff:ffff:ffff:ffff,BZ
+2803:3d20::,2803:3d20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3d40::,2803:3d40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3d80::,2803:3d80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3dc0::,2803:3dc0:ffff:ffff:ffff:ffff:ffff:ffff,CO
@@ -20011,6 +20425,7 @@
2803:4280::,2803:4280:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:42c0::,2803:42c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:4300::,2803:4300:ffff:ffff:ffff:ffff:ffff:ffff,PA
+2803:4320::,2803:4320:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:4340::,2803:4340:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:4380::,2803:4380:ffff:ffff:ffff:ffff:ffff:ffff,BO
2803:43c0::,2803:43c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -20048,6 +20463,7 @@
2803:4a80::,2803:4a80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4ac0::,2803:4ac0:ffff:ffff:ffff:ffff:ffff:ffff,BO
2803:4b00::,2803:4b00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:4b20::,2803:4b20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4b40::,2803:4b40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4b80::,2803:4b80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4bc0::,2803:4bc0:ffff:ffff:ffff:ffff:ffff:ffff,HN
@@ -20057,6 +20473,7 @@
2803:4c80::,2803:4c80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4cc0::,2803:4cc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4d00::,2803:4d00:ffff:ffff:ffff:ffff:ffff:ffff,CL
+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:4dc0::,2803:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,DO
@@ -20085,6 +20502,7 @@
2803:5280::,2803:5280:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:52c0::,2803:52c0:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:5300::,2803:5300:ffff:ffff:ffff:ffff:ffff:ffff,GT
+2803:5320::,2803:5320:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:5340::,2803:5340:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:5380::,2803:5380:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:53c0::,2803:53c0:ffff:ffff:ffff:ffff:ffff:ffff,GF
@@ -20131,6 +20549,7 @@
2803:5c80::,2803:5c80:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:5cc0::,2803:5cc0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:5d00::,2803:5d00:ffff:ffff:ffff:ffff:ffff:ffff,SV
+2803:5d20::,2803:5d20:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:5d40::,2803:5d40:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:5d80::,2803:5d80:ffff:ffff:ffff:ffff:ffff:ffff,BZ
2803:5dc0::,2803:5dc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20158,6 +20577,7 @@
2803:6280::,2803:6280:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:62c0::,2803:62c0:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:6300::,2803:6300:ffff:ffff:ffff:ffff:ffff:ffff,GT
+2803:6320::,2803:6320:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:6340::,2803:6340:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:6380::,2803:6380:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:63c0::,2803:63c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20195,6 +20615,7 @@
2803:6a80::,2803:6a80:ffff:ffff:ffff:ffff:ffff:ffff,NI
2803:6ac0::,2803:6ac0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6b00::,2803:6b00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:6b20::,2803:6b20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6b40::,2803:6b40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6b80::,2803:6b80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6bc0::,2803:6bc0:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -20204,6 +20625,7 @@
2803:6c80::,2803:6c80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6cc0::,2803:6cc0:ffff:ffff:ffff:ffff:ffff:ffff,SV
2803:6d00::,2803:6d00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:6d20::,2803:6d20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6d40::,2803:6d40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6d80::,2803:6d80:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:6dc0::,2803:6dc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20232,6 +20654,7 @@
2803:7280::,2803:7280:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:72c0::,2803:72c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:7300::,2803:7300:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:7320::,2803:7320:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:7340::,2803:7340:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:7380::,2803:7380:ffff:ffff:ffff:ffff:ffff:ffff,SX
2803:73c0::,2803:73c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20241,6 +20664,7 @@
2803:7480::,2803:7480:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:74c0::,2803:74c0:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:7500::,2803:7500:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:7520::,2803:7520:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:7540::,2803:7540:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:7580::,2803:7580:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:75c0::,2803:75c0:ffff:ffff:ffff:ffff:ffff:ffff,VE
@@ -20278,6 +20702,7 @@
2803:7c80::,2803:7c80:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:7cc0::,2803:7cc0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:7d00::,2803:7d00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:7d20::,2803:7d20:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:7d40::,2803:7d40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:7d80::,2803:7d80:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:7dc0::,2803:7dc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20306,6 +20731,7 @@
2803:8280::,2803:8280:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:82c0::,2803:82c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:8300::,2803:8300:ffff:ffff:ffff:ffff:ffff:ffff,EC
+2803:8320::,2803:8320:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:8340::,2803:8340:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:8380::,2803:8380:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:83c0::,2803:83c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20343,6 +20769,7 @@
2803:8a80::,2803:8a80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:8ac0::,2803:8ac0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:8b00::,2803:8b00:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:8b20::,2803:8b20:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:8b40::,2803:8b40:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:8b80::,2803:8b80:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:8bc0::,2803:8bc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20352,6 +20779,7 @@
2803:8c80::,2803:8c80:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:8cc0::,2803:8cc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:8d00::,2803:8d00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:8d20::,2803:8d20:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:8d43::,2803:8d43:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:8d80::,2803:8d80:ffff:ffff:ffff:ffff:ffff:ffff,UY
2803:8dc0::,2803:8dc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20380,6 +20808,7 @@
2803:9280::,2803:9280:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:92c0::,2803:92c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9300::,2803:9300:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:9320::,2803:9320:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9340::,2803:9340:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:9380::,2803:9380:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:93c0::,2803:93c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20426,6 +20855,7 @@
2803:9c80::,2803:9c80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9cc0::,2803:9cc0:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:9d00::,2803:9d00:ffff:ffff:ffff:ffff:ffff:ffff,SV
+2803:9d20::,2803:9d20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9d40::,2803:9d40:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:9d80::,2803:9d80:ffff:ffff:ffff:ffff:ffff:ffff,SV
2803:9dc0::,2803:9dc0:ffff:ffff:ffff:ffff:ffff:ffff,EC
@@ -20453,6 +20883,7 @@
2803:a240::,2803:a240:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:a280::,2803:a280:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:a2c0::,2803:a2c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:a320::,2803:a320:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:a340::,2803:a340:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:a380::,2803:a380:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:a3c0::,2803:a3c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20490,6 +20921,7 @@
2803:aa80::,2803:aa80:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:aac0::,2803:aac0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ab00::,2803:ab00:ffff:ffff:ffff:ffff:ffff:ffff,DO
+2803:ab20::,2803:ab20:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:ab40::,2803:ab40:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:ab80::,2803:ab80:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:abc0::,2803:abc0:ffff:ffff:ffff:ffff:ffff:ffff,EC
@@ -20498,6 +20930,7 @@
2803:ac80::,2803:ac80:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:acc0::,2803:acc0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:ad00::,2803:ad00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:ad20::,2803:ad20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ad40::,2803:ad40:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:ad80::,2803:ad80:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:adc0::,2803:adc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20513,7 +20946,6 @@
2803:b000::,2803:b000:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:b020::,2803:b020:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:b080::,2803:b080:ffff:ffff:ffff:ffff:ffff:ffff,BZ
-2803:b0c0::,2803:b0c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:b100::,2803:b100:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:b120::,2803:b120:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:b140::,2803:b140:ffff:ffff:ffff:ffff:ffff:ffff,CR
@@ -20525,6 +20957,7 @@
2803:b280::,2803:b280:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:b2c0::,2803:b2c0:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:b300::,2803:b300:ffff:ffff:ffff:ffff:ffff:ffff,PY
+2803:b320::,2803:b320:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:b340::,2803:b340:ffff:ffff:ffff:ffff:ffff:ffff,SX
2803:b380::,2803:b380:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:b3c0::,2803:b3c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -20534,6 +20967,7 @@
2803:b480::,2803:b480:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:b4c0::,2803:b4c0:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:b500::,2803:b500:ffff:ffff:ffff:ffff:ffff:ffff,VE
+2803:b520::,2803:b520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:b540::,2803:b540:ffff:ffff:ffff:ffff:ffff:ffff,BO
2803:b580::,2803:b580:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:b5c0::,2803:b5c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
@@ -20570,6 +21004,7 @@
2803:bc80::,2803:bc80:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:bcc0::,2803:bcc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:bd00::,2803:bd00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:bd20::,2803:bd20:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:bd40::,2803:bd40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:bd80::,2803:bd80:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:bdc0::,2803:bdc0:ffff:ffff:ffff:ffff:ffff:ffff,CR
@@ -20598,6 +21033,7 @@
2803:c280::,2803:c280:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:c2c0::,2803:c2c0:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:c300::,2803:c300:ffff:ffff:ffff:ffff:ffff:ffff,GT
+2803:c320::,2803:c320:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:c340::,2803:c340:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:c380::,2803:c380:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:c3c0::,2803:c3c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
@@ -20636,6 +21072,7 @@
2803:ca80::,2803:ca80:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:cac0::,2803:cac0:ffff:ffff:ffff:ffff:ffff:ffff,HT
2803:cb00::,2803:cb00:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:cb20::,2803:cb20:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:cb40::,2803:cb40:ffff:ffff:ffff:ffff:ffff:ffff,SV
2803:cb80::,2803:cb80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:cbc0::,2803:cbc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20645,6 +21082,7 @@
2803:cc80::,2803:cc80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ccc0::,2803:ccc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:cd00::,2803:cd00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:cd20::,2803:cd20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:cd40::,2803:cd40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:cd80::,2803:cd80:ffff:ffff:ffff:ffff:ffff:ffff,TT
2803:cdc0::,2803:cdc0:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -20674,6 +21112,7 @@
2803:d240::,2803:d240:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:d280::,2803:d280:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:d2c0::,2803:d2c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:d320::,2803:d320:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:d340::,2803:d340:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:d380::,2803:d380:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:d3c0::,2803:d3c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -20721,6 +21160,7 @@
2803:dc80::,2803:dc80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:dcc0::,2803:dcc0:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:dd00::,2803:dd00:ffff:ffff:ffff:ffff:ffff:ffff,PA
+2803:dd20::,2803:dd20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:dd40::,2803:dd40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:dd80::,2803:dd80:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:ddc0::,2803:ddc0:ffff:ffff:ffff:ffff:ffff:ffff,PE
@@ -20749,6 +21189,7 @@
2803:e280::,2803:e280:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e2c0::,2803:e2c0:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:e300::,2803:e300:ffff:ffff:ffff:ffff:ffff:ffff,CR
+2803:e320::,2803:e320:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:e340::,2803:e340:ffff:ffff:ffff:ffff:ffff:ffff,GY
2803:e380::,2803:e380:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:e3c0::,2803:e3c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20786,6 +21227,7 @@
2803:ea80::,2803:ea80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:eac0::,2803:eac0:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:eb00::,2803:eb00:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:eb20::,2803:eb20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:eb40::,2803:eb40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:eb80::,2803:eb80:7fff:ffff:ffff:ffff:ffff:ffff,AR
2803:eb80:8000::,2803:eb80:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -20795,7 +21237,7 @@
2803:ec40::,2803:ec40:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:ec80::,2803:ec80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ecc0::,2803:ecc0:ffff:ffff:ffff:ffff:ffff:ffff,CL
-2803:ed00::,2803:ed00:ffff:ffff:ffff:ffff:ffff:ffff,PE
+2803:ed20::,2803:ed20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ed40::,2803:ed40:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:ed80::,2803:ed80:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:edc0::,2803:edc0:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -20824,6 +21266,7 @@
2803:f280::,2803:f280:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:f2c0::,2803:f2c0:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:f300::,2803:f300:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:f320::,2803:f320:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:f340::,2803:f340:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:f380::,2803:f380:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:f3c0::,2803:f3c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -20833,6 +21276,7 @@
2803:f480::,2803:f480:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:f4c0::,2803:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:f500::,2803:f500:ffff:ffff:ffff:ffff:ffff:ffff,CW
+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:f5c0::,2803:f5c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -20869,6 +21313,7 @@
2803:fc80::,2803:fc80:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:fcc0::,2803:fcc0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:fd00::,2803:fd00:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:fd20::,2803:fd20:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:fd40::,2803:fd40:ffff:ffff:ffff:ffff:ffff:ffff,SV
2803:fd80::,2803:fd80:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:fdc0::,2803:fdc0:ffff:ffff:ffff:ffff:ffff:ffff,PE
@@ -21104,7 +21549,6 @@
2804:3c0::,2804:3c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3c4::,2804:3c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3c8::,2804:3c8:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:3cc::,2804:3cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3d0::,2804:3d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3d4::,2804:3d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3d8::,2804:3d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -21393,7 +21837,7 @@
2804:884::,2804:884:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:888::,2804:888:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:88c::,2804:88c:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:890::,2804:890:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:890::,2804:890:ffff:ffff:ffff:ffff:ffff:ffff,US
2804:894::,2804:894:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:898::,2804:898:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:89c::,2804:89c:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22717,7 +23161,6 @@
2804:1df8::,2804:1df8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1dfc::,2804:1dfc:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1e00::,2804:1e00:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:1e04::,2804:1e04:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1e08::,2804:1e08:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1e0c::,2804:1e0c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1e10::,2804:1e10:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22802,6 +23245,7 @@
2804:1f2e::,2804:1f2e:ffff:ffff:ffff:ffff:ffff:ffff,BR
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: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
@@ -22883,7 +23327,6 @@
2804:2140::,2804:2140:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2144::,2804:2144:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2148::,2804:2148:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:214c::,2804:214c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2150::,2804:2150:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2154::,2804:2154:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2158::,2804:2158:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -23513,7 +23956,6 @@
2804:2b74::,2804:2b74:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2b78::,2804:2b78:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2b7c::,2804:2b7c:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:2b80::,2804:2b80:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2b84::,2804:2b84:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2b88::,2804:2b88:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2b8c::,2804:2b8c:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -23523,7 +23965,6 @@
2804:2b9c::,2804:2b9c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2ba0::,2804:2ba0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2ba4::,2804:2ba4:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:2ba8::,2804:2ba8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2bac::,2804:2bac:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2bb0::,2804:2bb0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2bb4::,2804:2bb4:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -23560,7 +24001,6 @@
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
@@ -24883,7 +25323,7 @@
2804:40e0::,2804:40e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:40e4::,2804:40e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:40e8::,2804:40e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:40ec::,2804:40ec:ffff:ffff:ffff:ffff:ffff:ffff,US
+2804:40ec::,2804:40ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:40f0::,2804:40f0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:40f4::,2804:40f4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:40f8::,2804:40f8:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -25363,6 +25803,139 @@
2804:4860::,2804:4860:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:4864::,2804:4864:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:4868::,2804:4868:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:486c::,2804:486c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4870::,2804:4870:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4874::,2804:4874:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4878::,2804:4878:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:487c::,2804:487c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4880::,2804:4880:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4884::,2804:4884:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4888::,2804:4888:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:488c::,2804:488c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4890::,2804:4890:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4894::,2804:4894:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4898::,2804:4898:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:489c::,2804:489c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48a0::,2804:48a0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48a4::,2804:48a4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48a8::,2804:48a8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48ac::,2804:48ac:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48b0::,2804:48b0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48b4::,2804:48b4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48b8::,2804:48b8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48bc::,2804:48bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48c0::,2804:48c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48c4::,2804:48c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48c8::,2804:48c8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48cc::,2804:48cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48d0::,2804:48d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48d4::,2804:48d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48d8::,2804:48d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48dc::,2804:48dc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48e0::,2804:48e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48e4::,2804:48e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48e8::,2804:48e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48ec::,2804:48ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48f0::,2804:48f0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48f4::,2804:48f4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48f8::,2804:48f8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:48fc::,2804:48fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4900::,2804:4900:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4904::,2804:4904:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4908::,2804:4908:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:490c::,2804:490c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4910::,2804:4910:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4914::,2804:4914:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4918::,2804:4918:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:491c::,2804:491c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4920::,2804:4920:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4924::,2804:4924:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4928::,2804:4928:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:492c::,2804:492c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4930::,2804:4930:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4934::,2804:4934:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4938::,2804:4938:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:493c::,2804:493c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4940::,2804:4940:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4944::,2804:4944:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4948::,2804:4948:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:494c::,2804:494c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4950::,2804:4950:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4954::,2804:4954:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4958::,2804:4958:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:495c::,2804:495c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4960::,2804:4960:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4964::,2804:4964:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4968::,2804:4968:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:496c::,2804:496c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4970::,2804:4970:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4974::,2804:4974:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4978::,2804:4978:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:497c::,2804:497c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4980::,2804:4980:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4984::,2804:4984:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4988::,2804:4988:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:498c::,2804:498c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4990::,2804:4990:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4994::,2804:4994:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4998::,2804:4998:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:499c::,2804:499c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49a0::,2804:49a0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49a4::,2804:49a4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49a8::,2804:49a8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49ac::,2804:49ac:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49b0::,2804:49b0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49b4::,2804:49b4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49b8::,2804:49b8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49bc::,2804:49bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49c0::,2804:49c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49c4::,2804:49c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49c8::,2804:49c8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49cc::,2804:49cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49d0::,2804:49d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49d4::,2804:49d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49d8::,2804:49d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49dc::,2804:49dc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49e0::,2804:49e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49e4::,2804:49e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49e8::,2804:49e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49ec::,2804:49ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49f0::,2804:49f0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49f4::,2804:49f4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49f8::,2804:49f8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:49fc::,2804:49fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a00::,2804:4a00:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a04::,2804:4a04:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a08::,2804:4a08:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a0c::,2804:4a0c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a10::,2804:4a10:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a14::,2804:4a14:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a18::,2804:4a18:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a1c::,2804:4a1c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a20::,2804:4a20:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a24::,2804:4a24:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a28::,2804:4a28:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a2c::,2804:4a2c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a30::,2804:4a30:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a34::,2804:4a34:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a38::,2804:4a38:ffff:ffff:ffff:ffff:ffff:ffff,US
+2804:4a3c::,2804:4a3c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a40::,2804:4a40:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a44::,2804:4a44:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a48::,2804:4a48:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a4c::,2804:4a4c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a50::,2804:4a50:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a54::,2804:4a54:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a58::,2804:4a58:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a5c::,2804:4a5c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a60::,2804:4a60:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a64::,2804:4a64:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a68::,2804:4a68:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a6c::,2804:4a6c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a70::,2804:4a70:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a74::,2804:4a74:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a78::,2804:4a78:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:4a7c::,2804:4a7c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2806::,2806:f:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:200::,2806:216::ffff:ffff:ffff:ffff:ffff,MX
2806:217::,2806:220:ffff:ffff:ffff:ffff:ffff:ffff,MX
@@ -25371,8 +25944,7 @@
2806:238:10::,2806:238:10:ffff:ffff:ffff:ffff:ffff,MX
2806:239::,2806:240:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:250::,2806:250:ffff:ffff:ffff:ffff:ffff:ffff,MX
-2806:260::,2806:260:ffff:ffff:ffff:ffff:ffff:ffff,MX
-2806:270::,2806:270:ffff:ffff:ffff:ffff:ffff:ffff,MX
+2806:260::,2806:270:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:280::,2806:290:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:2a0::,2806:2a0:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:2b0::,2806:2b0:ffff:ffff:ffff:ffff:ffff:ffff,MX
@@ -25383,7 +25955,7 @@
2806:2e6:e:8000::,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:2f6:ffff:ffff:ffff:ffff:ffff:ffff,MX
+2806:2f6::,2806:2fb:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:300::,2806:300:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:310::,2806:310:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:320::,2806:320:ffff:ffff:ffff:ffff:ffff:ffff,MX
@@ -25471,7 +26043,7 @@
2a00:e70::,2a00:e70:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a00:e78::,2a00:e7b:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:e80::,2a00:e80:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a00:e88::,2a00:e88:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a00:e88::,2a00:e8f:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:e90::,2a00:e90:ffff:ffff:ffff:ffff:ffff:ffff,RS
2a00:e98::,2a00:e98:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a00:ea0::,2a00:ea7:ffff:ffff:ffff:ffff:ffff:ffff,NO
@@ -25711,7 +26283,7 @@
2a00:1410::,2a00:1410:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:1418::,2a00:1418:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1420::,2a00:1420:ffff:ffff:ffff:ffff:ffff:ffff,SI
-2a00:1428::,2a00:1428:ffff:ffff:ffff:ffff:ffff:ffff,LT
+2a00:1428::,2a00:142f:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a00:1430::,2a00:1430:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:1440::,2a00:1440:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:1448::,2a00:144f:ffff:ffff:ffff:ffff:ffff:ffff,SI
@@ -25872,8 +26444,7 @@
2a00:1938::,2a00:1938:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:1940::,2a00:1940:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:1948::,2a00:1948:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a00:1950::,2a00:1950:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a00:1958::,2a00:1958:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a00:1950::,2a00:1958:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:1960::,2a00:1960:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:1968::,2a00:196f:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a00:1970::,2a00:1970:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -25958,8 +26529,7 @@
2a00:1bb8::,2a00:1bb8:ffff:ffff:ffff:ffff:ffff:ffff,HR
2a00:1bc0::,2a00:1bc0:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a00:1bc8::,2a00:1bc8:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a00:1bd0::,2a00:1bd0:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a00:1bd8::,2a00:1bd8:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a00:1bd0::,2a00:1bd8:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:1be0::,2a00:1be7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a00:1be8::,2a00:1bef:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a00:1bf0::,2a00:1bf0:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -26012,7 +26582,7 @@
2a00:1d68::,2a00:1d68:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a00:1d70::,2a00:1d70:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a00:1d78::,2a00:1d78:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a00:1d80::,2a00:1d80:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a00:1d80::,2a00:1d80:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:1d88::,2a00:1d88:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a00:1d90::,2a00:1d90:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:1da0::,2a00:1da0:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -26348,7 +26918,7 @@
2a00:5bc0::,2a00:5bc0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:5be0::,2a00:5be0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:5c00::,2a00:5c00:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a00:5c20::,2a00:5c20:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a00:5c20::,2a00:5c23:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a00:5c40::,2a00:5c47:ffff:ffff:ffff:ffff:ffff:ffff,MK
2a00:5c60::,2a00:5c60:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:5c80::,2a00:5c80:ffff:ffff:ffff:ffff:ffff:ffff,SE
@@ -26404,7 +26974,6 @@
2a00:6300::,2a00:6300:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:6320::,2a00:6320:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:6340::,2a00:6340:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a00:6360::,2a00:6360:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:6380::,2a00:6380:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a00:63a0::,2a00:63a0:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a00:63c0::,2a00:63c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -26452,7 +27021,6 @@
2a00:6920::,2a00:6920:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a00:6940::,2a00:6940:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a00:6960::,2a00:6960:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a00:6980::,2a00:6980:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a00:69a0::,2a00:69a0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a00:69c0::,2a00:69c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:69e0::,2a00:69e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -26611,7 +27179,9 @@
2a00:79e0:27::,2a00:79e0:27:ffff:ffff:ffff:ffff:ffff,NL
2a00:79e0:28::,2a00:79e0:30:ffff:ffff:ffff:ffff:ffff,CH
2a00:79e0:31::,2a00:79e0:31:ffff:ffff:ffff:ffff:ffff,SK
-2a00:79e0:32::,2a00:79e0:3f:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:32::,2a00:79e0:34:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:35::,2a00:79e0:35:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:36::,2a00:79e0:3f:ffff:ffff:ffff:ffff:ffff,CH
2a00:79e0:40::,2a00:79e0:40:7fff:ffff:ffff:ffff:ffff,IE
2a00:79e0:40:8000::,2a00:79e0:ffe2:4ff:ffff:ffff:ffff:ffff,CH
2a00:79e0:ffe2:500::,2a00:79e0:ffe2:5ff:ffff:ffff:ffff:ffff,IE
@@ -26750,7 +27320,7 @@
2a00:8ae0::,2a00:8ae0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:8b00::,2a00:8b00:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:8b20::,2a00:8b20:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a00:8b40::,2a00:8b40:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a00:8b40::,2a00:8b47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:8b60::,2a00:8b60:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:8b80::,2a00:8b80:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a00:8ba0::,2a00:8ba0:ffff:ffff:ffff:ffff:ffff:ffff,AL
@@ -27019,7 +27589,7 @@
2a00:aca0::,2a00:aca0:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a00:acc0::,2a00:acc0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a00:ace0::,2a00:ace0:ffff:ffff:ffff:ffff:ffff:ffff,BE
-2a00:ad00::,2a00:ad00:ffff:ffff:ffff:ffff:ffff:ffff,RS
+2a00:ad00::,2a00:ad07:ffff:ffff:ffff:ffff:ffff:ffff,RS
2a00:ad20::,2a00:ad20:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a00:ad40::,2a00:ad47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:ad60::,2a00:ad60:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -27511,7 +28081,7 @@
2a00:ec00::,2a00:ec00:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a00:ec20::,2a00:ec23:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:ec40::,2a00:ec47:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:ec80::,2a00:ec80:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a00:ec80::,2a00:ec87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:eca0::,2a00:eca0:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a00:ecc0::,2a00:ecc0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:ece0::,2a00:ece7:ffff:ffff:ffff:ffff:ffff:ffff,RO
@@ -27720,22 +28290,20 @@
2a01:111:2007::,2a01:111:2007:ffff:ffff:ffff:ffff:ffff,AU
2a01:111:2008::,2a01:111:2008:ffff:ffff:ffff:ffff:ffff,US
2a01:111:2009::,2a01:111:2009:ffff:ffff:ffff:ffff:ffff,GB
-2a01:111:200a::,2a01:111:2010:ffff:ffff:ffff:ffff:ffff,US
-2a01:111:2011::,2a01:111:2011:ffff:ffff:ffff:ffff:ffff,PR
+2a01:111:200a::,2a01:111:200c:ffff:ffff:ffff:ffff:ffff,US
+2a01:111:200d::,2a01:111:200d:ffff:ffff:ffff:ffff:ffff,GB
+2a01:111:200e::,2a01:111:2010:ffff:ffff:ffff:ffff:ffff,US
+2a01:111:2011::,2a01:111:2011:ffff:ffff:ffff:ffff:ffff,GB
2a01:111:2012::,2a01:111:2013:ffff:ffff:ffff:ffff:ffff,US
-2a01:111:2014::,2a01:111:2015:ffff:ffff:ffff:ffff:ffff,GB
-2a01:111:2016::,2a01:111:2016::ffff:ffff:ffff:ffff,US
-2a01:111:2016:1::,2a01:111:2016:ffff:ffff:ffff:ffff:ffff,GB
+2a01:111:2014::,2a01:111:2016:ffff:ffff:ffff:ffff:ffff,GB
2a01:111:2017::,2a01:111:2017:ffff:ffff:ffff:ffff:ffff,BR
2a01:111:2018::,2a01:111:2019:ffff:ffff:ffff:ffff:ffff,US
2a01:111:201a::,2a01:111:201a:ffff:ffff:ffff:ffff:ffff,SG
2a01:111:201b::,2a01:111:201c:ffff:ffff:ffff:ffff:ffff,US
2a01:111:201d::,2a01:111:201d:ffff:ffff:ffff:ffff:ffff,HK
-2a01:111:201e::,2a01:111:201f:ffff:ffff:ffff:ffff:ffff,US
+2a01:111:201e::,2a01:111:201f:ffff:ffff:ffff:ffff:ffff,GB
2a01:111:2020::,2a01:111:2020:ffff:ffff:ffff:ffff:ffff,NL
-2a01:111:2021::,2a01:111:2022:ffff:ffff:ffff:ffff:ffff,GB
-2a01:111:2023::,2a01:111:2023::ffff:ffff:ffff:ffff,SE
-2a01:111:2023:1::,2a01:111:2025:ffff:ffff:ffff:ffff:ffff,GB
+2a01:111:2021::,2a01:111:2025:ffff:ffff:ffff:ffff:ffff,GB
2a01:111:2026::,2a01:111:2026:ffff:ffff:ffff:ffff:ffff,IE
2a01:111:2027::,2a01:111:2027:ffff:ffff:ffff:ffff:ffff,NL
2a01:111:2028::,2a01:111:2028:ffff:ffff:ffff:ffff:ffff,GB
@@ -27750,10 +28318,9 @@
2a01:111:2034::,2a01:111:2034:ffff:ffff:ffff:ffff:ffff,AU
2a01:111:2035::,2a01:111:2035:ffff:ffff:ffff:ffff:ffff,SG
2a01:111:2036::,2a01:111:2036:ffff:ffff:ffff:ffff:ffff,JP
-2a01:111:2037::,2a01:111:2037:ffff:ffff:ffff:ffff:ffff,NL
-2a01:111:2038::,2a01:111:2038:ffff:ffff:ffff:ffff:ffff,US
+2a01:111:2037::,2a01:111:2038:ffff:ffff:ffff:ffff:ffff,GB
2a01:111:2039::,2a01:111:2039:ffff:ffff:ffff:ffff:ffff,AU
-2a01:111:203a::,2a01:111:203a:ffff:ffff:ffff:ffff:ffff,BR
+2a01:111:203a::,2a01:111:203a:ffff:ffff:ffff:ffff:ffff,GB
2a01:111:203b::,2a01:111:203b:ffff:ffff:ffff:ffff:ffff,AT
2a01:111:203c::,2a01:111:203c:ffff:ffff:ffff:ffff:ffff,US
2a01:111:203d::,2a01:111:203d:ffff:ffff:ffff:ffff:ffff,NL
@@ -27793,9 +28360,7 @@
2a01:111:f103:1000::,2a01:111:f103:1fff:ffff:ffff:ffff:ffff,SG
2a01:111:f103:2000::,2a01:111:f20a:ffff:ffff:ffff:ffff:ffff,GB
2a01:111:f20b::,2a01:111:f20b:ffff:ffff:ffff:ffff:ffff,IE
-2a01:111:f20c::,2a01:111:f20f:ffff:ffff:ffff:ffff:ffff,GB
-2a01:111:f210::,2a01:111:f210:ffff:ffff:ffff:ffff:ffff,US
-2a01:111:f211::,2a01:111:f306:178f:ffff:ffff:ffff:ffff,GB
+2a01:111:f20c::,2a01:111:f306:178f:ffff:ffff:ffff:ffff,GB
2a01:111:f306:1790::,2a01:111:f306:1791:ffff:ffff:ffff:ffff,US
2a01:111:f306:1792::,2a01:111:f30b:178f:ffff:ffff:ffff:ffff,GB
2a01:111:f30b:1790::,2a01:111:f30b:1790:ffff:ffff:ffff:ffff,US
@@ -27847,8 +28412,8 @@
2a01:111:f400:31e1::,2a01:111:f400:33ff:ffff:ffff:ffff:ffff,GB
2a01:111:f400:3400::,2a01:111:f400:3432:ffff:ffff:ffff:ffff,US
2a01:111:f400:3433::,2a01:111:f400:3bff:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:3c00::,2a01:111:f400:47ff:ffff:ffff:ffff:ffff,US
-2a01:111:f400:4800::,2a01:111:f400:4bff:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:3c00::,2a01:111:f400:43ff:ffff:ffff:ffff:ffff,US
+2a01:111:f400:4400::,2a01:111:f400:4bff:ffff:ffff:ffff:ffff,GB
2a01:111:f400:4c00::,2a01:111:f400:4fff:ffff:ffff:ffff:ffff,US
2a01:111:f400:5000::,2a01:111:f400:5013:ffff:ffff:ffff:ffff,GB
2a01:111:f400:5014::,2a01:111:f400:502a:ffff:ffff:ffff:ffff,US
@@ -27928,9 +28493,9 @@
2a01:111:f400:6030::,2a01:111:f400:6031:ffff:ffff:ffff:ffff,SG
2a01:111:f400:6032::,2a01:111:f400:6033:ffff:ffff:ffff:ffff,MY
2a01:111:f400:6034::,2a01:111:f400:6035:ffff:ffff:ffff:ffff,HK
-2a01:111:f400:6036::,2a01:111:f400:6039:ffff:ffff:ffff:ffff,BR
-2a01:111:f400:603a::,2a01:111:f400:603d:ffff:ffff:ffff:ffff,US
-2a01:111:f400:603e::,2a01:111:f400:6043:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:6036::,2a01:111:f400:6037:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:6038::,2a01:111:f400:6039:ffff:ffff:ffff:ffff,BR
+2a01:111:f400:603a::,2a01:111:f400:6043:ffff:ffff:ffff:ffff,GB
2a01:111:f400:6044::,2a01:111:f400:6045:ffff:ffff:ffff:ffff,US
2a01:111:f400:6046::,2a01:111:f400:6047:ffff:ffff:ffff:ffff,IN
2a01:111:f400:6048::,2a01:111:f400:6049:ffff:ffff:ffff:ffff,GB
@@ -27970,8 +28535,7 @@
2a01:111:f400:6096::,2a01:111:f400:6096:ffff:ffff:ffff:ffff,GB
2a01:111:f400:6097::,2a01:111:f400:6098:ffff:ffff:ffff:ffff,US
2a01:111:f400:6099::,2a01:111:f400:6099:ffff:ffff:ffff:ffff,CL
-2a01:111:f400:609a::,2a01:111:f400:60a5:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:60a6::,2a01:111:f400:60a6:ffff:ffff:ffff:ffff,BR
+2a01:111:f400:609a::,2a01:111:f400:60a6:ffff:ffff:ffff:ffff,GB
2a01:111:f400:60a7::,2a01:111:f400:60a8:ffff:ffff:ffff:ffff,CA
2a01:111:f400:60a9::,2a01:111:f400:60a9:ffff:ffff:ffff:ffff,GB
2a01:111:f400:60aa::,2a01:111:f400:60ab:ffff:ffff:ffff:ffff,DE
@@ -28000,13 +28564,7 @@
2a01:111:f400:70b7::,2a01:111:f400:70d1:ffff:ffff:ffff:ffff,HK
2a01:111:f400:70d2::,2a01:111:f400:70e6:ffff:ffff:ffff:ffff,GB
2a01:111:f400:70e7::,2a01:111:f400:7116:ffff:ffff:ffff:ffff,IE
-2a01:111:f400:7117::,2a01:111:f400:73ff:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:7400::,2a01:111:f400:742d:ffff:ffff:ffff:ffff,US
-2a01:111:f400:742e::,2a01:111:f400:7431:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:7432::,2a01:111:f400:7432:ffff:ffff:ffff:ffff,US
-2a01:111:f400:7433::,2a01:111:f400:74ff:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:7500::,2a01:111:f400:77ff:ffff:ffff:ffff:ffff,US
-2a01:111:f400:7800::,2a01:111:f400:7c0f:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7117::,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:7e01:ffff:ffff:ffff:ffff,GB
@@ -28236,7 +28794,7 @@
2a01:111:f400:f511::,2a01:111:f400:f531:ffff:ffff:ffff:ffff,US
2a01:111:f400:f532::,2a01:111:f400:f53f:ffff:ffff:ffff:ffff,IE
2a01:111:f400:f540::,2a01:111:f400:f543:ffff:ffff:ffff:ffff,US
-2a01:111:f400:f544::,2a01:111:f400:f547:ffff:ffff:ffff:ffff,BR
+2a01:111:f400:f544::,2a01:111:f400:f547:ffff:ffff:ffff:ffff,GB
2a01:111:f400:f548::,2a01:111:f400:f54e:ffff:ffff:ffff:ffff,HK
2a01:111:f400:f54f::,2a01:111:f400:f554:ffff:ffff:ffff:ffff,JP
2a01:111:f400:f555::,2a01:111:f400:f556:ffff:ffff:ffff:ffff,SG
@@ -28332,8 +28890,9 @@
2a01:111:f402:5400::,2a01:111:f402:57ff:ffff:ffff:ffff:ffff,JP
2a01:111:f402:5800::,2a01:111:f402:5bff:ffff:ffff:ffff:ffff,NL
2a01:111:f402:5c00::,2a01:111:f402:5fff:ffff:ffff:ffff:ffff,AU
-2a01:111:f402:6000::,2a01:111:f402:63ff:ffff:ffff:ffff:ffff,JP
-2a01:111:f402:6400::,2a01:111:f402:6fff:ffff:ffff:ffff:ffff,GB
+2a01:111:f402:6000::,2a01:111:f402:67ff:ffff:ffff:ffff:ffff,JP
+2a01:111:f402:6800::,2a01:111:f402:6bff:ffff:ffff:ffff:ffff,HK
+2a01:111:f402:6c00::,2a01:111:f402:6fff:ffff:ffff:ffff:ffff,US
2a01:111:f402:7000::,2a01:111:f402:77ff:ffff:ffff:ffff:ffff,AU
2a01:111:f402:7800::,2a01:111:f402:7bff:ffff:ffff:ffff:ffff,US
2a01:111:f402:7c00::,2a01:111:f402:7fff:ffff:ffff:ffff:ffff,IE
@@ -28355,8 +28914,8 @@
2a01:111:f402:b000::,2a01:111:f402:b3ff:ffff:ffff:ffff:ffff,GB
2a01:111:f402:b400::,2a01:111:f402:b402:ffff:ffff:ffff:ffff,SG
2a01:111:f402:b403::,2a01:111:f402:b404:ffff:ffff:ffff:ffff,GB
-2a01:111:f402:b405::,2a01:111:f402:b406:ffff:ffff:ffff:ffff,SG
-2a01:111:f402:b407::,2a01:111:f402:b7ff:ffff:ffff:ffff:ffff,GB
+2a01:111:f402:b405::,2a01:111:f402:b407:ffff:ffff:ffff:ffff,SG
+2a01:111:f402:b408::,2a01:111:f402:b7ff:ffff:ffff:ffff:ffff,GB
2a01:111:f402:b800::,2a01:111:f402:bbff:ffff:ffff:ffff:ffff,FR
2a01:111:f402:bc00::,2a01:111:f402:bfff:ffff:ffff:ffff:ffff,JP
2a01:111:f402:c000::,2a01:111:f402:c3ff:ffff:ffff:ffff:ffff,FR
@@ -28429,7 +28988,7 @@
2a01:198::,2a01:198:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:1a0::,2a01:1a0:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a01:1a8::,2a01:1a8:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a01:1b0::,2a01:1b0:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a01:1b0::,2a01:1b7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a01:1b8::,2a01:1b8:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a01:1c0::,2a01:1c0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a01:1c8::,2a01:1cf:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -28563,7 +29122,11 @@
2a01:4f0::,2a01:4f0:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a01:4f8::,2a01:4f8:bc:ffff:ffff:ffff:ffff:ffff,DE
2a01:4f8:bd::,2a01:4f8:bd:7fff:ffff:ffff:ffff:ffff,NL
-2a01:4f8:bd:8000::,2a01:4ff:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a01:4f8:bd:8000::,2a01:4f8:151:226:ffff:ffff:ffff:ffff,DE
+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: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
@@ -28716,7 +29279,7 @@
2a01:45e0::,2a01:45e0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a01:4600::,2a01:4600:ffff:ffff:ffff:ffff:ffff:ffff,BH
2a01:4620::,2a01:4620:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a01:4640::,2a01:4640:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a01:4640::,2a01:4647:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a01:4660::,2a01:4660:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a01:4680::,2a01:4680:ffff:ffff:ffff:ffff:ffff:ffff,RS
2a01:46a0::,2a01:46a0:ffff:ffff:ffff:ffff:ffff:ffff,SA
@@ -28945,7 +29508,7 @@
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:6140:ffff:ffff:ffff:ffff:ffff:ffff,FI
+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
2a01:61a0::,2a01:61a0:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -28981,7 +29544,7 @@
2a01:65a0::,2a01:65a0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a01:65c0::,2a01:65c0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a01:65e0::,2a01:65e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a01:6600::,2a01:6600:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a01:6600::,2a01:6607:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a01:6620::,2a01:6620:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a01:6640::,2a01:6647:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a01:6680::,2a01:6680:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -29037,7 +29600,7 @@
2a01:6c60:12::,2a01:6c60:12:ffff:ffff:ffff:ffff:ffff,ES
2a01:6c60:13::,2a01:6c60:fff:ffff:ffff:ffff:ffff:ffff,GB
2a01:6c60:1000::,2a01:6c60:1fff:ffff:ffff:ffff:ffff:ffff,US
-2a01:6c60:2000::,2a01:6c60:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a01:6c60:2000::,2a01:6c67:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:6ca0::,2a01:6ca0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:6ce0::,2a01:6ce0:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a01:6d00::,2a01:6d00:ffff:ffff:ffff:ffff:ffff:ffff,SE
@@ -29793,7 +30356,7 @@
2a02:d0::,2a02:d0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:d8::,2a02:d8:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a02:e0::,2a02:e0:ffff:ffff:ffff:ffff:ffff:ffff,TR
-2a02:e8::,2a02:e8:ffff:ffff:ffff:ffff:ffff:ffff,SI
+2a02:e8::,2a02:ef:ffff:ffff:ffff:ffff:ffff:ffff,SI
2a02:f0::,2a02:f0:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a02:f8::,2a02:f8:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a02:100::,2a02:100:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -29971,7 +30534,7 @@
2a02:678::,2a02:678:ffff:ffff:ffff:ffff:ffff:ffff,LU
2a02:680::,2a02:680:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a02:688::,2a02:688:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a02:690::,2a02:690:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a02:690::,2a02:697:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:698::,2a02:698:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:6a0::,2a02:6a0:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:6a8::,2a02:6a8:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -30086,13 +30649,11 @@
2a02:a10::,2a02:a10::ffff:ffff:ffff:ffff:ffff,US
2a02:a10:1::,2a02:a10:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a02:a11::,2a02:a17:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a02:a18::,2a02:a18:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a02:a20::,2a02:a20:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a02:a18::,2a02:a20:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a02:a28::,2a02:a28:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a02:a30::,2a02:a30:ffff:ffff:ffff:ffff:ffff:ffff,MD
2a02:a38::,2a02:a38:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a02:a40::,2a02:a40:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a02:a48::,2a02:a4f:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a02:a40::,2a02:a4f:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a02:a50::,2a02:a50:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a02:a58::,2a02:a58:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a02:a60::,2a02:a60:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -30453,7 +31014,7 @@
2a02:2228::,2a02:2228:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:2230::,2a02:2230:ffff:ffff:ffff:ffff:ffff:ffff,SI
2a02:2240::,2a02:2247:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a02:2248::,2a02:2248:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a02:2248::,2a02:224f:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a02:2250::,2a02:2250:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:2258::,2a02:2258:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a02:2260::,2a02:2260:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -30602,7 +31163,6 @@
2a02:2710::,2a02:2710:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a02:2718::,2a02:271f:ffff:ffff:ffff:ffff:ffff:ffff,YE
2a02:2720::,2a02:2720:ffff:ffff:ffff:ffff:ffff:ffff,RO
-2a02:2728::,2a02:2728:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a02:2730::,2a02:2730:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a02:2738::,2a02:2738:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:2740::,2a02:2740:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -30998,7 +31558,7 @@
2a02:5980::,2a02:5980:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a02:59a0::,2a02:59a0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a02:59c0::,2a02:59c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a02:59e0::,2a02:59e0:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a02:59e0::,2a02:59e7:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a02:5a20::,2a02:5a20:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:5a40::,2a02:5a40:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a02:5a60::,2a02:5a60:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -31135,7 +31695,6 @@
2a02:6b40::,2a02:6b40:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a02:6b60::,2a02:6b60:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a02:6b80::,2a02:6b80:ffff:ffff:ffff:ffff:ffff:ffff,IS
-2a02:6ba0::,2a02:6ba7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:6bc0::,2a02:6bc0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:6be0::,2a02:6be0:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a02:6c00::,2a02:6c00:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -31171,7 +31730,7 @@
2a02:6ea0:ca00::,2a02:6ea0:cc00::,GB
2a02:6ea0:cc00::1,2a02:6ea0:cc00::1,US
2a02:6ea0:cc00::2,2a02:6ea0:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a02:6ec0::,2a02:6ec0:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a02:6ec0::,2a02:6ec7:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a02:6f00::,2a02:6f00:ffff:ffff:ffff:ffff:ffff:ffff,LU
2a02:6f20::,2a02:6f20:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:6f40::,2a02:6f40:ffff:ffff:ffff:ffff:ffff:ffff,HU
@@ -31816,7 +32375,7 @@
2a03:1340::,2a03:1340:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a03:1360::,2a03:1360:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a03:1380::,2a03:1380:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a03:13a0::,2a03:13a0:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a03:13a0::,2a03:13a7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:13c0::,2a03:13c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:13e0::,2a03:13e0:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a03:1400::,2a03:1400:ffff:ffff:ffff:ffff:ffff:ffff,NO
@@ -31835,7 +32394,6 @@
2a03:15e0::,2a03:15e0:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a03:1600::,2a03:1600:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a03:1620::,2a03:1620:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a03:1640::,2a03:1640:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:1660::,2a03:1660:ffff:ffff:ffff:ffff:ffff:ffff,KW
2a03:1680::,2a03:1680:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a03:16a0::,2a03:16a0:ffff:ffff:ffff:ffff:ffff:ffff,ME
@@ -31868,7 +32426,7 @@
2a03:1a40::,2a03:1a40:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:1a60::,2a03:1a60:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:1a80::,2a03:1a80:ffff:ffff:ffff:ffff:ffff:ffff,AT
-2a03:1aa0::,2a03:1aa0:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2a03:1aa0::,2a03:1aa0:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a03:1ac0::,2a03:1ac0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:1ae0::,2a03:1ae0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:1b00::,2a03:1b00:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -33181,7 +33739,9 @@
2a03:b0a0::,2a03:b0a0:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a03:b0c0::,2a03:b0c0::ffff:ffff:ffff:ffff:ffff,NL
2a03:b0c0:1::,2a03:b0c0:1:ffff:ffff:ffff:ffff:ffff,GB
-2a03:b0c0:2::,2a03:b0c0:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a03:b0c0:2::,2a03:b0c0:3:cf:ffff:ffff:ffff:ffff,NL
+2a03:b0c0:3:d0::,2a03:b0c0:3:d0:ffff:ffff:ffff:ffff,DE
+2a03:b0c0:3:d1::,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
@@ -34293,7 +34853,6 @@
2a03:cd40::,2a03:cd40:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a03:cd80::,2a03:cd80:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a03:cdc0::,2a03:cdc0:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a03:ce00::,2a03:ce00:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:ce40::,2a03:ce47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:ce80::,2a03:ce80:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:cec0::,2a03:cec0:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -34484,7 +35043,6 @@
2a03:fb00::,2a03:fb00:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:fb40::,2a03:fb47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a03:fb80::,2a03:fb80:ffff:ffff:ffff:ffff:ffff:ffff,DK
-2a03:fbc0::,2a03:fbc0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:fc00::,2a03:fc07:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a03:fc40::,2a03:fc40:ffff:ffff:ffff:ffff:ffff:ffff,RS
2a03:fc80::,2a03:fc87:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -34904,7 +35462,7 @@
2a04:6440::,2a04:6447:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a04:6480::,2a04:6487:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a04:64c0::,2a04:64c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a04:6500::,2a04:6507:ffff:ffff:ffff:ffff:ffff:ffff,IS
+2a04:6500::,2a04:6507:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a04:6540::,2a04:6547:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a04:6580::,2a04:6587:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a04:65c0::,2a04:65c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -35053,7 +35611,7 @@
2a04:87c0::,2a04:87c7:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a04:8840::,2a04:8847:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a04:8880::,2a04:8887:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a04:88c0::,2a04:88c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a04:88c0::,2a04:88c7:ffff:ffff:ffff:ffff:ffff:ffff,SC
2a04:8900::,2a04:8907:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a04:8940::,2a04:8947:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a04:8980::,2a04:8987:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -35426,10 +35984,14 @@
2a04:e4c0:14::,2a04:e4c0:14:ffff:ffff:ffff:ffff:ffff,RO
2a04:e4c0:15::,2a04:e4c0:15:ffff:ffff:ffff:ffff:ffff,CZ
2a04:e4c0:16::,2a04:e4c0:16:ffff:ffff:ffff:ffff:ffff,PL
+2a04:e4c0:17::,2a04:e4c0:17:ffff:ffff:ffff:ffff:ffff,DK
+2a04:e4c0:18::,2a04:e4c0:18:ffff:ffff:ffff:ffff:ffff,IE
2a04:e4c0:20::,2a04:e4c0:20:ffff:ffff:ffff:ffff:ffff,JP
2a04:e4c0:21::,2a04:e4c0:21:ffff:ffff:ffff:ffff:ffff,AU
+2a04:e4c0:22::,2a04:e4c0:22:ffff:ffff:ffff:ffff:ffff,IN
2a04:e4c0:30::,2a04:e4c0:30:ffff:ffff:ffff:ffff:ffff,ZA
2a04:e4c0:31::,2a04:e4c0:31:ffff:ffff:ffff:ffff:ffff,AE
+2a04:e4c0:40::,2a04:e4c0:40:ffff:ffff:ffff:ffff:ffff,BR
2a04:e500::,2a04:e507:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a04:e540::,2a04:e547:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a04:e580::,2a04:e587:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -35841,7 +36403,7 @@
2a05:4f40::,2a05:4f47:ffff:ffff:ffff:ffff:ffff:ffff,HR
2a05:4fc0::,2a05:4fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:5000::,2a05:5007:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a05:5040::,2a05:5047:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a05:5040::,2a05:5047:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a05:5080::,2a05:5080:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:50a0::,2a05:50a3:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a05:50c0::,2a05:50c7:ffff:ffff:ffff:ffff:ffff:ffff,IQ
@@ -36068,7 +36630,6 @@
2a05:8940::,2a05:8947:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a05:8980::,2a05:8987:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:8a00::,2a05:8a07:ffff:ffff:ffff:ffff:ffff:ffff,TR
-2a05:8a40::,2a05:8a47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a05:8a80::,2a05:8a87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a05:8ac0::,2a05:8ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:8b00::,2a05:8b07:ffff:ffff:ffff:ffff:ffff:ffff,LB
@@ -36285,7 +36846,6 @@
2a05:c2c0::,2a05:c2c7:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a05:c300::,2a05:c307:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a05:c340::,2a05:c347:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a05:c380::,2a05:c387:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a05:c3c0::,2a05:c3c7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a05:c480::,2a05:c487:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a05:c4c0::,2a05:c4c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -36611,11 +37171,9 @@
2a06:5c0::,2a06:5c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a06:600::,2a06:607:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a06:640::,2a06:647:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2a06:680::,2a06:687:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:6c0::,2a06:6c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a06:700::,2a06:707:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a06:740::,2a06:747:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a06:780::,2a06:787:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a06:7c0::,2a06:7c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a06:800::,2a06:807:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:840::,2a06:847:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -36773,7 +37331,7 @@
2a06:2e80::,2a06:2e87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:2ec0::,2a06:2ec7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:2f00::,2a06:2f07:ffff:ffff:ffff:ffff:ffff:ffff,QA
-2a06:2f40::,2a06:2f47:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a06:2f40::,2a06:2f47:ffff:ffff:ffff:ffff:ffff:ffff,AT
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
@@ -36797,8 +37355,8 @@
2a06:3500::,2a06:3507:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a06:3540::,2a06:3547:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:3580::,2a06:3587:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2a06:35c0::,2a06:35c7:ffff:ffff:ffff:ffff:ffff:ffff,RO
-2a06:3600::,2a06:3607:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a06:35c0::,2a06:35c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a06:3600::,2a06:3607:ffff:ffff:ffff:ffff:ffff:ffff,US
2a06:3640::,2a06:3647:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a06:3680::,2a06:3687:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a06:36c0::,2a06:36c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -36819,7 +37377,7 @@
2a06:3b00::,2a06:3b07:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a06:3b40::,2a06:3b47:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a06:3b80::,2a06:3b87:ffff:ffff:ffff:ffff:ffff:ffff,IL
-2a06:3bc0::,2a06:3bc7:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a06:3bc0::,2a06:3bc7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a06:3c00::,2a06:3c07:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a06:3c40::,2a06:3c47:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a06:3c80::,2a06:3c87:ffff:ffff:ffff:ffff:ffff:ffff,CY
@@ -36894,7 +37452,7 @@
2a06:4cc0::,2a06:4cc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:4d00::,2a06:4d07:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a06:4d40::,2a06:4d47:ffff:ffff:ffff:ffff:ffff:ffff,SA
-2a06:4d80::,2a06:4d87:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a06:4d80::,2a06:4d87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a06:4dc0::,2a06:4dc7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a06:4e00::,2a06:4e07:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:4e40::,2a06:4e47:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36915,7 +37473,7 @@
2a06:5207:100::,2a06:5207:100:ffff:ffff:ffff:ffff:ffff,US
2a06:5207:101::,2a06:5207:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a06:5240::,2a06:5247:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:5280::,2a06:5287:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a06:5280::,2a06:5287:ffff:ffff:ffff:ffff:ffff:ffff,US
2a06:5300::,2a06:5307:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:5340::,2a06:5347:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a06:5380::,2a06:5387:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -37088,7 +37646,6 @@
2a06:7f00::,2a06:7f07:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a06:7f40::,2a06:7f47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:7f80::,2a06:7f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:7fc0::,2a06:7fc7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a06:8000::,2a06:8007:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:8040::,2a06:8047:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a06:8080::,2a06:8087:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -37116,7 +37673,9 @@
2a06:8187:fe13::,2a06:8187:fe13:7fff:ffff:ffff:ffff:ffff,DO
2a06:8187:fe13:8000::,2a06:8187:fe16:ffff:ffff:ffff:ffff:ffff,GB
2a06:8187:fe17::,2a06:8187:fe17:ffff:ffff:ffff:ffff:ffff,CA
-2a06:8187:fe18::,2a06:8187:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a06:8187:fe18::,2a06:8187:fe24:ffff:ffff:ffff:ffff:ffff,GB
+2a06:8187:fe25::,2a06:8187:fe25:ffff:ffff:ffff:ffff:ffff,HR
+2a06:8187:fe26::,2a06:8187:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:81c0::,2a06:81c7:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a06:8200::,2a06:8207:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a06:8240::,2a06:8247:ffff:ffff:ffff:ffff:ffff:ffff,MY
@@ -37292,7 +37851,9 @@
2a06:abc0::,2a06:abc7:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a06:ac00::,2a06:ac07:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a06:ac40::,2a06:ac47:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:ac80::,2a06:ac87:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a06:ac80::,2a06:ac80:10:ffff:ffff:ffff:ffff:ffff,DE
+2a06:ac80:11::,2a06:ac80:11:ffff:ffff:ffff:ffff:ffff,US
+2a06:ac80:12::,2a06:ac87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:acc0::,2a06:acc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:ad00::,2a06:ad07:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a06:ad40::,2a06:ad47:ffff:ffff:ffff:ffff:ffff:ffff,TR
@@ -37350,7 +37911,6 @@
2a06:bac0::,2a06:bac7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a06:bb00::,2a06:bb07:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a06:bb80::,2a06:bb87:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:bbc0::,2a06:bbc7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a06:bc00::,2a06:bc07:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a06:bc40::,2a06:bc47:ffff:ffff:ffff:ffff:ffff:ffff,US
2a06:bc80::,2a06:bc87:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -37365,7 +37925,7 @@
2a06:bec0::,2a06:bec7:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a06:bf00::,2a06:bf07:ffff:ffff:ffff:ffff:ffff:ffff,IS
2a06:bf40::,2a06:bf47:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a06:bf80::,2a06:bf87:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a06:bf80::,2a06:bf87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:bfc0::,2a06:bfc7:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a06:c000::,2a06:c007:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:c040::,2a06:c047:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -37389,7 +37949,7 @@
2a06:c4c0::,2a06:c4c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a06:c500::,2a06:c507:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a06:c580::,2a06:c587:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:c5c0::,2a06:c5c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a06:c5c0::,2a06:c5c7:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a06:c600::,2a06:c607:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a06:c640::,2a06:c647:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a06:c680::,2a06:c687:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -37453,7 +38013,9 @@
2a06:d580::,2a06:d587:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a06:d5c0::,2a06:d5c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:d600::,2a06:d607:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a06:d640::,2a06:d647:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a06:d640::,2a06:d642:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a06:d643::,2a06:d643:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a06:d644::,2a06:d647:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:d680::,2a06:d687:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:d700::,2a06:d707:ffff:ffff:ffff:ffff:ffff:ffff,IS
2a06:d740::,2a06:d747:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -37488,7 +38050,7 @@
2a06:df00::,2a06:df07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a06:df40::,2a06:df47:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a06:df80::,2a06:df87:ffff:ffff:ffff:ffff:ffff:ffff,RO
-2a06:dfc0::,2a06:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a06:dfc0::,2a06:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a06:e000::,2a06:e007:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a06:e040::,2a06:e047:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a06:e080::,2a06:e087:ffff:ffff:ffff:ffff:ffff:ffff,IR
@@ -37540,11 +38102,15 @@
2a06:e881:2100::,2a06:e881:210f:ffff:ffff:ffff:ffff:ffff,DE
2a06:e881:2110::,2a06:e881:2502:ffff:ffff:ffff:ffff:ffff,CH
2a06:e881:2503::,2a06:e881:2503:7fff:ffff:ffff:ffff:ffff,JP
-2a06:e881:2503:8000::,2a06:e881:f000:ffff:ffff:ffff:ffff:ffff,CH
+2a06:e881:2503:8000::,2a06:e881:36ff:ffff:ffff:ffff:ffff:ffff,CH
+2a06:e881:3700::,2a06:e881:370f:ffff:ffff:ffff:ffff:ffff,DE
+2a06:e881:3710::,2a06:e881:4000:ffff:ffff:ffff:ffff:ffff,CH
+2a06:e881:4001::,2a06:e881:4001:ffff:ffff:ffff:ffff:ffff,GB
+2a06:e881:4002::,2a06:e881:f000:ffff:ffff:ffff:ffff:ffff,CH
2a06:e881:f001::,2a06:e881:f001:7fff:ffff:ffff:ffff:ffff,GB
2a06:e881:f001:8000::,2a06:e887:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a06:e8c0::,2a06:e8c7:ffff:ffff:ffff:ffff:ffff:ffff,LV
-2a06:e900::,2a06:e907:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a06:e900::,2a06:e907:ffff:ffff:ffff:ffff:ffff:ffff,US
2a06:e940::,2a06:e947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:e980::,2a06:e987:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a06:e9c0::,2a06:e9c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -37762,7 +38328,11 @@
2a07:1c44:3600::,2a07:1c44:36ff:ffff:ffff:ffff:ffff:ffff,GB
2a07:1c44:3700::,2a07:1c44:3fff:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c44:4000::,2a07:1c44:40ff:ffff:ffff:ffff:ffff:ffff,US
-2a07:1c44:4100::,2a07:1c44:4fff:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:4100::,2a07:1c44:42ff:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:4300::,2a07:1c44:430f:ffff:ffff:ffff:ffff:ffff,HR
+2a07:1c44:4310::,2a07:1c44:4310:ffff:ffff:ffff:ffff:ffff,DE
+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:1c47:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c80::,2a07:1c87:ffff:ffff:ffff:ffff:ffff:ffff,SE
@@ -37883,7 +38453,7 @@
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,GI
+2a07:3b80::,2a07:3b87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:3bc0::,2a07:3bc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:3c00::,2a07:3c07:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:3c40::,2a07:3c47:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -38224,7 +38794,7 @@
2a07:90c0::,2a07:90c7:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a07:9100::,2a07:9107:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:9140::,2a07:9147:ffff:ffff:ffff:ffff:ffff:ffff,SK
-2a07:9180::,2a07:9187:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a07:9180::,2a07:9187:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:91c0::,2a07:91c7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a07:9200::,2a07:9207:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a07:9240::,2a07:9247:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -38326,7 +38896,9 @@
2a07:a840::,2a07:a847:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a07:a880::,2a07:a887:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a07:a8c0::,2a07:a8c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a07:a900::,2a07:a905:ffef:ffff:ffff:ffff:ffff:ffff,GB
+2a07:a900::,2a07:a904:fff:ffff:ffff:ffff:ffff:ffff,GB
+2a07:a904:1000::,2a07:a904:10ff:ffff:ffff:ffff:ffff:ffff,NL
+2a07:a904:1100::,2a07:a905:ffef:ffff:ffff:ffff:ffff:ffff,GB
2a07:a905:fff0::,2a07:a905:fff0:ffff:ffff:ffff:ffff:ffff,US
2a07:a905:fff1::,2a07:a907:50b:ffff:ffff:ffff:ffff:ffff,GB
2a07:a907:50c::,2a07:a907:50c:7fff:ffff:ffff:ffff:ffff,DE
@@ -38409,7 +38981,7 @@
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,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
2a07:bc00::,2a07:bc07:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -38467,7 +39039,9 @@
2a07:c940::,2a07:c947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:c980::,2a07:c987:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:c9c0::,2a07:c9c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a07:ca00::,2a07:ca07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:ca00::,2a07:ca03:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:ca04::,2a07:ca04:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a07:ca05::,2a07:ca07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:ca40::,2a07:ca47:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:ca80::,2a07:ca87:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a07:cac0::,2a07:cac7:ffff:ffff:ffff:ffff:ffff:ffff,CY
@@ -38606,7 +39180,7 @@
2a0a:1fc0::,2a0a:1fc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:2000::,2a0a:2007:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a0a:2040::,2a0a:2047:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0a:2080::,2a0a:2087:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0a:2080::,2a0a:2087:ffff:ffff:ffff:ffff:ffff:ffff,IN
2a0a:20c0::,2a0a:20c7:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0a:2100::,2a0a:2107:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:2140::,2a0a:2147:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -39223,7 +39797,9 @@
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:b387:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0a:b380::,2a0a:b382:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0a:b383::,2a0a:b384:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0a:b385::,2a0a:b387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:b3c0::,2a0a:b3c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:b400::,2a0a:b407:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:b440::,2a0a:b447:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -39502,6 +40078,7 @@
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:f9c5::,2a0a:f9c5:ffff:ffff:ffff:ffff:ffff:ffff,US
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
@@ -39662,7 +40239,8 @@
2a0b:2100::,2a0b:2107:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0b:2140::,2a0b:2147:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:2180::,2a0b:2180:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a0b:21c0::,2a0b:21c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:21c0::,2a0b:21c0:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:21c1::,2a0b:21c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:2200::,2a0b:2207:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0b:2240::,2a0b:2247:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0b:2280::,2a0b:2287:ffff:ffff:ffff:ffff:ffff:ffff,IE
@@ -39709,7 +40287,9 @@
2a0b:2cc0::,2a0b:2cc7:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0b:2d00::,2a0b:2d07:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:2d40::,2a0b:2d40:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a0b:2d80::,2a0b:2d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0b:2d80::,2a0b:2d84: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
@@ -39769,7 +40349,8 @@
2a0b:3b80::,2a0b:3b87:ffff:ffff:ffff:ffff:ffff:ffff,RS
2a0b:3bc0::,2a0b:3bc0:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a0b:3c00::,2a0b:3c07:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:3c40::,2a0b:3c47:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:3c40::,2a0b:3c46:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:3c47::,2a0b:3c47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0b:3c80::,2a0b:3c87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:3cc0::,2a0b:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0b:3d00::,2a0b:3d07:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -39781,7 +40362,7 @@
2a0b:3e80::,2a0b:3e87:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0b:3ec0::,2a0b:3ec7:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a0b:3f00::,2a0b:3f07:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0b:3f40::,2a0b:3f47:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:3f40::,2a0b:3f47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0b:3f80::,2a0b:3f87:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0b:3fc0::,2a0b:3fc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0b:4000::,2a0b:4007:ffff:ffff:ffff:ffff:ffff:ffff,SK
@@ -39797,7 +40378,9 @@
2a0b:4280::,2a0b:4287:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0b:42c0::,2a0b:42c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0b:4300::,2a0b:4307:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:4340::,2a0b:4340:98:ffff:ffff:ffff:ffff:ffff,DE
+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:98:ffff:ffff:ffff:ffff:ffff,DE
2a0b:4340:99::,2a0b:4340:99:7fff:ffff:ffff:ffff:ffff,CN
2a0b:4340:99:8000::,2a0b:4342:1fff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:4342:2000::,2a0b:4342:2000:7fff:ffff:ffff:ffff:ffff,RU
@@ -40672,7 +41255,9 @@
2a0c:3a00::,2a0c:3a07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:3a80::,2a0c:3a87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:3b00::,2a0c:3b07:ffff:ffff:ffff:ffff:ffff:ffff,MD
-2a0c:3b80::,2a0c:3b87:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0c:3b80::,2a0c:3b80:4c48:ffff:ffff:ffff:ffff:ffff,CH
+2a0c:3b80:4c49::,2a0c:3b80:4c49:ffff:ffff:ffff:ffff:ffff,LI
+2a0c:3b80:4c4a::,2a0c:3b87:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:3c00::,2a0c:3c07:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:3c80::,2a0c:3c87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:3d00::,2a0c:3d07:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -40686,405 +41271,801 @@
2a0c:4100::,2a0c:4107:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:4180::,2a0c:4187:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:4200::,2a0c:4207:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0c:4280::,2a0c:4287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:4300::,2a0c:4300:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:4380::,2a0c:4387:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:4400::,2a0c:4400:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:4480::,2a0c:4487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:4500::,2a0c:4507:ffff:ffff:ffff:ffff:ffff:ffff,CY
+2a0c:4580::,2a0c:4587:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:4600::,2a0c:4607:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0c:4680::,2a0c:4687:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:4700::,2a0c:4707:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0c:4780::,2a0c:4787:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a0c:4800::,2a0c:4807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:4880::,2a0c:4887:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:4900::,2a0c:4907:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0c:4980::,2a0c:4987:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:4a00::,2a0c:4a07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:4a80::,2a0c:4a87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:4b00::,2a0c:4b07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:4b80::,2a0c:4b87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:4c00::,2a0c:4c07:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0c:4c80::,2a0c:4c87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:4d00::,2a0c:4d07:ffff:ffff:ffff:ffff:ffff:ffff,SC
+2a0c:4d80::,2a0c:4d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:4e00::,2a0c:4e00:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:4e80::,2a0c:4e87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:4f00::,2a0c:4f07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0c:4f80::,2a0c:4f87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:5000::,2a0c:5003:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:5080::,2a0c:5087:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:5100::,2a0c:5107:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:5180::,2a0c:5187:ffff:ffff:ffff:ffff:ffff:ffff,QA
2a0c:5200::,2a0c:5207:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0c:5280::,2a0c:5287:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:5300::,2a0c:5307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:5380::,2a0c:5387:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0c:5400::,2a0c:5407:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0c:5480::,2a0c:5487:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:5500::,2a0c:5500:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0c:5580::,2a0c:5587:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:5600::,2a0c:5607:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:5680::,2a0c:5687:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:5700::,2a0c:5707:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a0c:5780::,2a0c:5787:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:5800::,2a0c:5807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:5880::,2a0c:5887:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:5900::,2a0c:5907:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:5980::,2a0c:5987:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:5a00::,2a0c:5a07:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a0c:5a80::,2a0c:5a87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:5b00::,2a0c:5b07:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0c:5b80::,2a0c:5b87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:5c00::,2a0c:5c07:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0c:5c80::,2a0c:5c87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:5d00::,2a0c:5d07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0c:5d80::,2a0c:5d87:ffff:ffff:ffff:ffff:ffff:ffff,UZ
2a0c:5e00::,2a0c:5e00:ffff:ffff:ffff:ffff:ffff:ffff,GR
+2a0c:5e80::,2a0c:5e87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:5f00::,2a0c:5f00:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:5f80::,2a0c:5f87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:6000::,2a0c:6007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:6080::,2a0c:6087:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:6100::,2a0c:6107:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:6180::,2a0c:6187:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:6200::,2a0c:6207:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:6280::,2a0c:6287:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:6300::,2a0c:6307:ffff:ffff:ffff:ffff:ffff:ffff,RS
+2a0c:6380::,2a0c:6387:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:6400::,2a0c:6400:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:6480::,2a0c:6487:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:6500::,2a0c:6507:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:6580::,2a0c:6587:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:6600::,2a0c:6607:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:6680::,2a0c:6687:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6700::,2a0c:6707:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0c:6780::,2a0c:6787:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:6800::,2a0c:6800:ffff:ffff:ffff:ffff:ffff:ffff,HU
+2a0c:6880::,2a0c:6880:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:6900::,2a0c:6907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:6980::,2a0c:6987:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6a00::,2a0c:6a07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0c:6a80::,2a0c:6a87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:6b00::,2a0c:6b07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:6b80::,2a0c:6b87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:6c00::,2a0c:6c00:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0c:6c80::,2a0c:6c87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:6d00::,2a0c:6d00:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:6d80::,2a0c:6d87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:6e00::,2a0c:6e07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0c:6e80::,2a0c:6e87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:6f00::,2a0c:6f07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:6f80::,2a0c:6f87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7000::,2a0c:7007:ffff:ffff:ffff:ffff:ffff:ffff,IS
+2a0c:7080::,2a0c:7087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7100::,2a0c:7107:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:7180::,2a0c:7187:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:7200::,2a0c:7207:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:7280::,2a0c:7287:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:7300::,2a0c:7300:ffff:ffff:ffff:ffff:ffff:ffff,CY
+2a0c:7380::,2a0c:7387:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0c:7400::,2a0c:7407:ffff:ffff:ffff:ffff:ffff:ffff,BE
+2a0c:7480::,2a0c:7487:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0c:7500::,2a0c:7507:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:7580::,2a0c:7587:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:7600::,2a0c:7607:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a0c:7680::,2a0c:7680:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:7700::,2a0c:7700:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0c:7780::,2a0c:7787:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:7800::,2a0c:7807:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0c:7880::,2a0c:7887:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7900::,2a0c:7907:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0c:7980::,2a0c:7987:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7a00::,2a0c:7a07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0c:7a80::,2a0c:7a87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:7b00::,2a0c:7b07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:7b80::,2a0c:7b87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7c00::,2a0c:7c07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:7c80::,2a0c:7c87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7d00::,2a0c:7d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:7d80::,2a0c:7d87:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a0c:7e00::,2a0c:7e07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0c:7e80::,2a0c:7e87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:7f00::,2a0c:7f07:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0c:7f80::,2a0c:7f87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8000::,2a0c:8007:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0c:8080::,2a0c:8080:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:8100::,2a0c:8107:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0c:8180::,2a0c:8187:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:8200::,2a0c:8207:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a0c:8280::,2a0c:8287:ffff:ffff:ffff:ffff:ffff:ffff,CY
2a0c:8300::,2a0c:8307:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:8380::,2a0c:8387:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:8400::,2a0c:8407:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:8480::,2a0c:8487:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:8500::,2a0c:8507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:8580::,2a0c:8587:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8600::,2a0c:8607:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:8680::,2a0c:8687:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:8700::,2a0c:8707:ffff:ffff:ffff:ffff:ffff:ffff,EE
+2a0c:8780::,2a0c:8787:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:8800::,2a0c:8807:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:8880::,2a0c:8887:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:8900::,2a0c:8900:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0c:8980::,2a0c:8987:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0c:8a00::,2a0c:8a07:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0c:8a80::,2a0c:8a87:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:8b00::,2a0c:8b00:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0c:8b80::,2a0c:8b87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:8c00::,2a0c:8c07:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0c:8c80::,2a0c:8c80:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:8d00::,2a0c:8d07:ffff:ffff:ffff:ffff:ffff:ffff,LV
+2a0c:8d80::,2a0c:8d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8e00::,2a0c:8e07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:8e80::,2a0c:8e87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:8f00::,2a0c:8f07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0c:8f80::,2a0c:8f87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:9000::,2a0c:9007:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0c:9080::,2a0c:9087:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:9100::,2a0c:9107:ffff:ffff:ffff:ffff:ffff:ffff,SA
+2a0c:9180::,2a0c:9187:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:9200::,2a0c:9207:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:9280::,2a0c:9287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:9300::,2a0c:9307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:9380::,2a0c:9387:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:9400::,2a0c:9407:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:9480::,2a0c:9487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:9500::,2a0c:9500:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0c:9580::,2a0c:9587:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:9600::,2a0c:9607:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a0c:9680::,2a0c:9687:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:9700::,2a0c:9700:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:9780::,2a0c:9787:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:9800::,2a0c:9807:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0c:9880::,2a0c:9887:ffff:ffff:ffff:ffff:ffff:ffff,IM
2a0c:9900::,2a0c:9900:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:9980::,2a0c:9987:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:9a00::,2a0c:9a00:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:9a80::,2a0c:9a87:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:9b00::,2a0c:9b07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:9b80::,2a0c:9b87:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:9c00::,2a0c:9c07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0c:9c80::,2a0c:9c87:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:9d00::,2a0c:9d07:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0c:9d80::,2a0c:9d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:9e00::,2a0c:9e07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:9e80::,2a0c:9e87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:9f00::,2a0c:9f07:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0c:9f80::,2a0c:9f87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:a000::,2a0c:a007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:a080::,2a0c:a087:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:a100::,2a0c:a107:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:a180::,2a0c:a187:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a200::,2a0c:a207:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a0c:a280::,2a0c:a287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a300::,2a0c:a307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:a380::,2a0c:a387:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:a400::,2a0c:a407:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:a480::,2a0c:a487:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:a500::,2a0c:a500:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:a580::,2a0c:a587:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:a600::,2a0c:a607:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:a680::,2a0c:a687:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0c:a700::,2a0c:a707:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0c:a780::,2a0c:a781:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:a800::,2a0c:a807:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0c:a880::,2a0c:a887:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:a900::,2a0c:a900:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:a980::,2a0c:a987:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:aa00::,2a0c:aa07:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0c:aa80::,2a0c:aa87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:ab00::,2a0c:ab07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:ab80::,2a0c:ab87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:ac00::,2a0c:ac07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:ac80::,2a0c:ac87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:ad00::,2a0c:ad07:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0c:ad80::,2a0c:ad87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:ae00::,2a0c:ae07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:ae80::,2a0c:ae80:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:af00::,2a0c:af07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:af80::,2a0c:af87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:b000::,2a0c:b007:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0c:b080::,2a0c:b087:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:b100::,2a0c:b107:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0c:b180::,2a0c:b187:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:b200::,2a0c:b207:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0c:b280::,2a0c:b287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b300::,2a0c:b307:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0c:b380::,2a0c:b387:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:b400::,2a0c:b407:ffff:ffff:ffff:ffff:ffff:ffff,HU
+2a0c:b480::,2a0c:b487:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:b500::,2a0c:b507:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:b580::,2a0c:b587:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b600::,2a0c:b607:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2a0c:b680::,2a0c:b687:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b700::,2a0c:b707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:b780::,2a0c:b780:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0c:b800::,2a0c:b807:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0c:b880::,2a0c:b887:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:b900::,2a0c:b907:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0c:b980::,2a0c:b987:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:ba00::,2a0c:ba07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:ba80::,2a0c:ba87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:bb00::,2a0c:bb07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:bb80::,2a0c:bb87:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:bc00::,2a0c:bc07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:bc80::,2a0c:bc87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:bd00::,2a0c:bd07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:bd80::,2a0c:bd87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:be00::,2a0c:be00:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:be80::,2a0c:be87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:bf00::,2a0c:bf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:bf80::,2a0c:bf87:ffff:ffff:ffff:ffff:ffff:ffff,CY
2a0c:c000::,2a0c:c007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:c080::,2a0c:c087:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:c100::,2a0c:c107:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:c180::,2a0c:c186:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:c187::,2a0c:c187:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:c200::,2a0c:c200:ffff:ffff:ffff:ffff:ffff:ffff,SK
+2a0c:c280::,2a0c:c287:ffff:ffff:ffff:ffff:ffff:ffff,MT
2a0c:c300::,2a0c:c307:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:c380::,2a0c:c380:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:c400::,2a0c:c400:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a0c:c480::,2a0c:c487:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:c500::,2a0c:c500:ffff:ffff:ffff:ffff:ffff:ffff,SK
+2a0c:c580::,2a0c:c587:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:c600::,2a0c:c600:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:c680::,2a0c:c687:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:c700::,2a0c:c707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:c780::,2a0c:c787:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:c800::,2a0c:c807:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:c880::,2a0c:c887:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a0c:c900::,2a0c:c907:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:c980::,2a0c:c987:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:ca00::,2a0c:ca07:ffff:ffff:ffff:ffff:ffff:ffff,KW
+2a0c:ca80::,2a0c:ca87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:cb00::,2a0c:cb07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:cb80::,2a0c:cb87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:cc00::,2a0c:cc00:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0c:cc80::,2a0c:cc87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:cd00::,2a0c:cd00:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0c:cd80::,2a0c:cd80:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a0c:ce00::,2a0c:ce07:ffff:ffff:ffff:ffff:ffff:ffff,IE
+2a0c:ce80::,2a0c:ce87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:cf00::,2a0c:cf07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0c:cf80::,2a0c:cf87:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:d000::,2a0c:d007:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0c:d080::,2a0c:d080:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0c:d100::,2a0c:d107:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:d180::,2a0c:d187:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:d200::,2a0c:d207:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:d280::,2a0c:d283:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:d300::,2a0c:d307:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0c:d380::,2a0c:d387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:d400::,2a0c:d407:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:d480::,2a0c:d487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:d500::,2a0c:d507:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a0c:d580::,2a0c:d587:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:d600::,2a0c:d607:ffff:ffff:ffff:ffff:ffff:ffff,IQ
+2a0c:d680::,2a0c:d687:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:d700::,2a0c:d707:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0c:d780::,2a0c:d787:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:d800::,2a0c:d807:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:d880::,2a0c:d880:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:d900::,2a0c:d907:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0c:d980::,2a0c:d987:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:da00::,2a0c:da07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:da80::,2a0c:da87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:db00::,2a0c:db07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0c:db80::,2a0c:db87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:dc00::,2a0c:dc00:ffff:ffff:ffff:ffff:ffff:ffff,IE
+2a0c:dc80::,2a0c:dc80:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:dd00::,2a0c:dd07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:dd80::,2a0c:dd87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:de00::,2a0c:de07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:de80::,2a0c:de87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:df00::,2a0c:df07:ffff:ffff:ffff:ffff:ffff:ffff,IQ
+2a0c:df80::,2a0c:df87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:e000::,2a0c:e007:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:e080::,2a0c:e087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:e100::,2a0c:e107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:e180::,2a0c:e187:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a0c:e200::,2a0c:e207:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0c:e280::,2a0c:e280:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a0c:e300::,2a0c:e307:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:e380::,2a0c:e380:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:e400::,2a0c:e407:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:e480::,2a0c:e487:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:e500::,2a0c:e507:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0c:e580::,2a0c:e587:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0c:e600::,2a0c:e607:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:e680::,2a0c:e687:ffff:ffff:ffff:ffff:ffff:ffff,HR
2a0c:e700::,2a0c:e707:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:e780::,2a0c:e787:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:e800::,2a0c:e807:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:e880::,2a0c:e887:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:e900::,2a0c:e907:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0c:e980::,2a0c:e987:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:ea00::,2a0c:ea07:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0c:ea80::,2a0c:ea87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:eb00::,2a0c:eb00:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:eb80::,2a0c:eb87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:ec00::,2a0c:ec07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0c:ec80::,2a0c:ec80:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0c:ed00::,2a0c:ed07:ffff:ffff:ffff:ffff:ffff:ffff,AZ
+2a0c:ed80::,2a0c:ed87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:ee00::,2a0c:ee07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:ee80::,2a0c:ee87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:ef00::,2a0c:ef00:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:ef01::,2a0c:ef01:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:ef02::,2a0c:ef02:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:ef03::,2a0c:ef07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:ef80::,2a0c:ef87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:f000::,2a0c:f000:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:f080::,2a0c:f083:ffff:ffff:ffff:ffff:ffff:ffff,KZ
2a0c:f100::,2a0c:f107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:f180::,2a0c:f187:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:f200::,2a0c:f207:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:f280::,2a0c:f287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:f300::,2a0c:f307:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:f380::,2a0c:f387:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:f400::,2a0c:f407:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a0c:f480::,2a0c:f487:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:f500::,2a0c:f507:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0c:f580::,2a0c:f587:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0c:f600::,2a0c:f607:ffff:ffff:ffff:ffff:ffff:ffff,SK
+2a0c:f680::,2a0c:f687:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:f700::,2a0c:f707:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0c:f780::,2a0c:f787:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:f800::,2a0c:f807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:f880::,2a0c:f887:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:f900::,2a0c:f907:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0c:f980::,2a0c:f987:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:fa00::,2a0c:fa00:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0c:fa80::,2a0c:fa87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:fb00::,2a0c:fb07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:fb80::,2a0c:fb87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:fc00::,2a0c:fc07:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a0c:fc80::,2a0c:fc87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:fd00::,2a0c:fd07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0c:fd80::,2a0c:fd87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:fe00::,2a0c:fe07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0c:fe80::,2a0c:fe87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:ff00::,2a0c:ff07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:ff80::,2a0c:ff87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d::,2a0d:7:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:80::,2a0d:87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:100::,2a0d:107:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:180::,2a0d:187:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:200::,2a0d:207:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:280::,2a0d:287:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:300::,2a0d:307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:380::,2a0d:387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:400::,2a0d:407:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:480::,2a0d:487:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:500::,2a0d:507:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:580::,2a0d:580:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:600::,2a0d:607:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a0d:680::,2a0d:687:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:700::,2a0d:707:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:780::,2a0d:787:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:800::,2a0d:807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:880::,2a0d:887:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:900::,2a0d:900:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a0d:980::,2a0d:987:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:a00::,2a0d:a07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:a80::,2a0d:a87:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0d:b00::,2a0d:b07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:b80::,2a0d:b80:ffff:ffff:ffff:ffff:ffff:ffff,SI
2a0d:c00::,2a0d:c07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:c80::,2a0d:c87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:d00::,2a0d:d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:d80::,2a0d:d83:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e00::,2a0d:e07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e80::,2a0d:e87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:f00::,2a0d:f07:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a0d:f80::,2a0d:f87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:1000::,2a0d:1007:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:1080::,2a0d:1087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:1100::,2a0d:1107:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:1180::,2a0d:1187:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:1200::,2a0d:1207:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:1280::,2a0d:1287:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:1300::,2a0d:1307:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:1380::,2a0d:1387:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:1400::,2a0d:1403:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:1480::,2a0d:1487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:1500::,2a0d:1500:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:1580::,2a0d:1580:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:1600::,2a0d:1600:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:1680::,2a0d:1687:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:1700::,2a0d:1707:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:1780::,2a0d:1787:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:1800::,2a0d:1807:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:1880::,2a0d:1887:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:1900::,2a0d:1907:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:1980::,2a0d:1987:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:1a00::,2a0d:1a07:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a0d:1a80::,2a0d:1a87:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:1b00::,2a0d:1b07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:1b80::,2a0d:1b80:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:1c00::,2a0d:1c07:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:1c80::,2a0d:1c87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1d00::,2a0d:1d07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:1d80::,2a0d:1d87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1e00::,2a0d:1e07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:1e80::,2a0d:1e87:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:1f00::,2a0d:1f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:1f80::,2a0d:1f80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2000::,2a0d:2007:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:2080::,2a0d:2087:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:2100::,2a0d:2107:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:2180::,2a0d:2187:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:2200::,2a0d:2207:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:2280::,2a0d:2287:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:2300::,2a0d:2307:ffff:ffff:ffff:ffff:ffff:ffff,HU
+2a0d:2380::,2a0d:2380:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:2400::,2a0d:2407:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:2480::,2a0d:2487:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2500::,2a0d:2507:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:2580::,2a0d:2587:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:2600::,2a0d:2607:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:2680::,2a0d:2687:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:2700::,2a0d:2707:ffff:ffff:ffff:ffff:ffff:ffff,EE
+2a0d:2780::,2a0d:2787:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:2800::,2a0d:2807:ffff:ffff:ffff:ffff:ffff:ffff,IL
+2a0d:2880::,2a0d:2887:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:2900::,2a0d:2907:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:2980::,2a0d:2987:ffff:ffff:ffff:ffff:ffff:ffff,KW
2a0d:2a00::,2a0d:2a07:ffff:ffff:ffff:ffff:ffff:ffff,IE
+2a0d:2a80::,2a0d:2a87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:2b00::,2a0d:2b07:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a0d:2b80::,2a0d:2b87:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0d:2c00::,2a0d:2c07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:2c80::,2a0d:2c87:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:2d00::,2a0d:2d00:ffff:ffff:ffff:ffff:ffff:ffff,BY
+2a0d:2d80::,2a0d:2d87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2e00::,2a0d:2e07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:2e80::,2a0d:2e87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:2f00::,2a0d:2f07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:2f80::,2a0d:2f87:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0d:3000::,2a0d:3007:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:3080::,2a0d:3087:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:3100::,2a0d:3107:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:3180::,2a0d:3187:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:3200::,2a0d:3207:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:3280::,2a0d:3287:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:3300::,2a0d:3307:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:3380::,2a0d:3387:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:3400::,2a0d:3400:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:3480::,2a0d:3487:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:3500::,2a0d:3507:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:3580::,2a0d:3587:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:3600::,2a0d:3607:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:3680::,2a0d:3680:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:3700::,2a0d:3707:ffff:ffff:ffff:ffff:ffff:ffff,SK
+2a0d:3780::,2a0d:3787:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:3800::,2a0d:3807:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:3880::,2a0d:3887:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:3900::,2a0d:3907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:3980::,2a0d:3987:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a0d:3a00::,2a0d:3a07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:3a80::,2a0d:3a87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:3b00::,2a0d:3b07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:3b80::,2a0d:3b87:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a0d:3c00::,2a0d:3c07:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:3c80::,2a0d:3c80:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:3d00::,2a0d:3d07:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:3d80::,2a0d:3d87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:3e00::,2a0d:3e07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:3e80::,2a0d:3e87:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:3f00::,2a0d:3f00:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:3f80::,2a0d:3f87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:4000::,2a0d:4007:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:4080::,2a0d:4087:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:4100::,2a0d:4100:ffff:ffff:ffff:ffff:ffff:ffff,SY
+2a0d:4180::,2a0d:4187:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:4200::,2a0d:4207:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:4280::,2a0d:4287:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:4300::,2a0d:4307:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:4380::,2a0d:4387:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:4400::,2a0d:4407:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:4480::,2a0d:4487:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:4500::,2a0d:4507:ffff:ffff:ffff:ffff:ffff:ffff,MK
+2a0d:4580::,2a0d:4587:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:4600::,2a0d:4607:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:4680::,2a0d:4687:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:4700::,2a0d:4707:ffff:ffff:ffff:ffff:ffff:ffff,IE
+2a0d:4780::,2a0d:4787:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:4800::,2a0d:4807:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:4880::,2a0d:4887:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:4900::,2a0d:4900:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:4980::,2a0d:4980:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:4a00::,2a0d:4a00:ffff:ffff:ffff:ffff:ffff:ffff,SK
+2a0d:4a80::,2a0d:4a87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:4b00::,2a0d:4b07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:4b80::,2a0d:4b87:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:4c00::,2a0d:4c07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:4c80::,2a0d:4c87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:4d00::,2a0d:4d07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:4d80::,2a0d:4d87:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:4e00::,2a0d:4e07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:4e80::,2a0d:4e87:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:4f00::,2a0d:4f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:4f80::,2a0d:4f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:5000::,2a0d:5007:ffff:ffff:ffff:ffff:ffff:ffff,LT
+2a0d:5080::,2a0d:5087:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:5100::,2a0d:5107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:5180::,2a0d:5187:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:5200::,2a0d:5207:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:5280::,2a0d:5287:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:5300::,2a0d:5307:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:5380::,2a0d:5387:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:5400::,2a0d:5407:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:5480::,2a0d:5487:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:5500::,2a0d:5507:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:5580::,2a0d:5587:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:5600::,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:5607:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:5680::,2a0d:5687:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:5700::,2a0d:5707:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:5780::,2a0d:5787:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:5800::,2a0d:5807:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:5880::,2a0d:5887:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:5900::,2a0d:5907:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:5980::,2a0d:5987:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:5a00::,2a0d:5a07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:5a80::,2a0d:5a87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:5b00::,2a0d:5b07:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0d:5c00::,2a0d:5c07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:5b80::,2a0d:5b87:ffff:ffff:ffff:ffff:ffff:ffff,FR
+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:5c80::,2a0d:5c87:ffff:ffff:ffff:ffff:ffff:ffff,MK
2a0d:5d00::,2a0d:5d07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:5d80::,2a0d:5d87:ffff:ffff:ffff:ffff:ffff:ffff,MK
2a0d:5e00::,2a0d:5e07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:5e80::,2a0d:5e87:ffff:ffff:ffff:ffff:ffff:ffff,MK
2a0d:5f00::,2a0d:5f03:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:5f80::,2a0d:5f87:ffff:ffff:ffff:ffff:ffff:ffff,MK
2a0d:6000::,2a0d:6007:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:6080::,2a0d:6087:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:6100::,2a0d:6107:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:6180::,2a0d:6187:ffff:ffff:ffff:ffff:ffff:ffff,MK
2a0d:6200::,2a0d:6207:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0d:6280::,2a0d:6287:ffff:ffff:ffff:ffff:ffff:ffff,MK
2a0d:6300::,2a0d:6307:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:6380::,2a0d:6387:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:6400::,2a0d:6400:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:6480::,2a0d:6480:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:6500::,2a0d:6507:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:6580::,2a0d:6587:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:6600::,2a0d:6607:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:6680::,2a0d:6687:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:6700::,2a0d:6707:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:6780::,2a0d:6787:ffff:ffff:ffff:ffff:ffff:ffff,MK
2a0d:6800::,2a0d:6807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:6880::,2a0d:6887:ffff:ffff:ffff:ffff:ffff:ffff,MK
2a0d:6900::,2a0d:6907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:6980::,2a0d:6987:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:6a00::,2a0d:6a07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:6a80::,2a0d:6a87:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:6b00::,2a0d:6b07:ffff:ffff:ffff:ffff:ffff:ffff,EE
+2a0d:6b80::,2a0d:6b87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:6c00::,2a0d:6c07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:6c80::,2a0d:6c87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:6d00::,2a0d:6d07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:6d80::,2a0d:6d87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:6e00::,2a0d:6e07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:6e80::,2a0d:6e87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:6f00::,2a0d:6f07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:6f80::,2a0d:6f87:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:7000::,2a0d:7000:ffff:ffff:ffff:ffff:ffff:ffff,IE
+2a0d:7080::,2a0d:7087:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:7100::,2a0d:7107:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:7180::,2a0d:7187:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:7200::,2a0d:7207:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2a0d:7280::,2a0d:7287:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:7300::,2a0d:7307:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:7380::,2a0d:7387:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:7400::,2a0d:7407:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:7480::,2a0d:7487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:7500::,2a0d:7500:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:7580::,2a0d:7587:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:7600::,2a0d:7607:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:7680::,2a0d:7687:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:7700::,2a0d:7707:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:7780::,2a0d:7787:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:7800::,2a0d:7807:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0d:7900::,2a0d:7907:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:7880::,2a0d:7887:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:7980::,2a0d:7980:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:7a00::,2a0d:7a07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:7a80::,2a0d:7a80:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:7b00::,2a0d:7b07:ffff:ffff:ffff:ffff:ffff:ffff,SA
+2a0d:7b80::,2a0d:7b87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:7c00::,2a0d:7c07:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0d:7c80::,2a0d:7c80:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:7d00::,2a0d:7d07:ffff:ffff:ffff:ffff:ffff:ffff,IQ
+2a0d:7d80::,2a0d:7d87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:7e00::,2a0d:7e00:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:7e80::,2a0d:7e87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:7f00::,2a0d:7f07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:7f80::,2a0d:7f87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:8000::,2a0d:8007:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:8080::,2a0d:8087:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:8100::,2a0d:8100:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:8180::,2a0d:8187:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:8200::,2a0d:8207:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:8280::,2a0d:8287:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:8300::,2a0d:8307:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:8380::,2a0d:8387:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:8400::,2a0d:8400:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:8480::,2a0d:8487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:8500::,2a0d:8507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:8580::,2a0d:8580:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:8600::,2a0d:8607:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:8680::,2a0d:8687:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:8700::,2a0d:8707:ffff:ffff:ffff:ffff:ffff:ffff,CY
+2a0d:8780::,2a0d:8787:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:8800::,2a0d:8807:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:8880::,2a0d:8887:ffff:ffff:ffff:ffff:ffff:ffff,GR
2a0d:8900::,2a0d:8907:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:8980::,2a0d:8987:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:8a00::,2a0d:8a00:ffff:ffff:ffff:ffff:ffff:ffff,GE
+2a0d:8a80::,2a0d:8a87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:8b00::,2a0d:8b07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:8b80::,2a0d:8b87:ffff:ffff:ffff:ffff:ffff:ffff,SY
2a0d:8c00::,2a0d:8c07:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:8c80::,2a0d:8c87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:8d00::,2a0d:8d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:8d80::,2a0d:8d80:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:8e00::,2a0d:8e07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:8e80::,2a0d:8e87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:8f00::,2a0d:8f07:ffff:ffff:ffff:ffff:ffff:ffff,EE
+2a0d:8f80::,2a0d:8f87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:9000::,2a0d:9007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:9080::,2a0d:9087:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:9100::,2a0d:9100:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:9180::,2a0d:9187:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:9200::,2a0d:9207:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:9280::,2a0d:9280:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:9300::,2a0d:9307:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:9380::,2a0d:9387:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:9400::,2a0d:9407:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:9480::,2a0d:9487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:9500::,2a0d:9507:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:9580::,2a0d:9587:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:9600::,2a0d:9600:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a0d:9680::,2a0d:9687:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:9700::,2a0d:9700:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:9780::,2a0d:9787:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:9800::,2a0d:9807:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a0d:9880::,2a0d:9887:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:9900::,2a0d:9907:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:9980::,2a0d:9987:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0d:9a00::,2a0d:9a07:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0d:9a80::,2a0d:9a87:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:9b00::,2a0d:9b07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:9b80::,2a0d:9b87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:9c00::,2a0d:9c00:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:9c80::,2a0d:9c87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:9d00::,2a0d:9d07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:9d80::,2a0d:9d80:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:9e00::,2a0d:9e07:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:9e80::,2a0d:9e87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:9f00::,2a0d:9f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:9f80::,2a0d:9f87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:a000::,2a0d:a007:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0d:a080::,2a0d:a080:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:a100::,2a0d:a107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:a180::,2a0d:a187:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:a200::,2a0d:a207:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:a280::,2a0d:a287:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:a300::,2a0d:a307:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:a380::,2a0d:a387:ffff:ffff:ffff:ffff:ffff:ffff,LU
2a0d:a400::,2a0d:a407:ffff:ffff:ffff:ffff:ffff:ffff,HU
+2a0d:a480::,2a0d:a487:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:a500::,2a0d:a507:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0d:a580::,2a0d:a587:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:a600::,2a0d:a603:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:a680::,2a0d:a680:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a0d:a700::,2a0d:a707:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:a780::,2a0d:a787:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:a800::,2a0d:a807:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:a880::,2a0d:a887:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:a900::,2a0d:a907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:a980::,2a0d:a987:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:aa00::,2a0d:aa07:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:aa80::,2a0d:aa87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:ab00::,2a0d:ab07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:ab80::,2a0d:ab80:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:ac00::,2a0d:ac07:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:ac80::,2a0d:ac87:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:ad00::,2a0d:ad07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:ad80::,2a0d:ad87:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0d:ae00::,2a0d:ae07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0d:ae80::,2a0d:ae80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:af00::,2a0d:af07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:af80::,2a0d:af87:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:b000::,2a0d:b007:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:b080::,2a0d:b080:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0d:b100::,2a0d:b107:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:b180::,2a0d:b187:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:b200::,2a0d:b207:ffff:ffff:ffff:ffff:ffff:ffff,KZ
+2a0d:b280::,2a0d:b287:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:b300::,2a0d:b307:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0d:b380::,2a0d:b387:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:b400::,2a0d:b407:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:b480::,2a0d:b480:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:b500::,2a0d:b507:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:b580::,2a0d:b580:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:b600::,2a0d:b607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:b680::,2a0d:b687:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:b700::,2a0d:b707:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0d:b780::,2a0d:b787:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:b800::,2a0d:b807:ffff:ffff:ffff:ffff:ffff:ffff,AM
+2a0d:b880::,2a0d:b887:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:b900::,2a0d:b907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:b980::,2a0d:b987:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:ba00::,2a0d:ba07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:ba80::,2a0d:ba87:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:bb00::,2a0d:bb07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:bb80::,2a0d:bb87:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:bc00::,2a0d:bc07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:bc80::,2a0d:bc87:ffff:ffff:ffff:ffff:ffff:ffff,GE
2a0d:bd00::,2a0d:bd07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:bd80::,2a0d:bd87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:be00::,2a0d:be07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:be80::,2a0d:be87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:bf00::,2a0d:bf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:bf80::,2a0d:bf87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:c000::,2a0d:c007:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:c080::,2a0d:c080:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:c100::,2a0d:c107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:c180::,2a0d:c187:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a0d:c200::,2a0d:c207:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:c280::,2a0d:c287:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:c300::,2a0d:c307:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0d:c380::,2a0d:c387:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0d:c400::,2a0d:c407:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:c480::,2a0d:c487:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:c500::,2a0d:c507:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:c580::,2a0d:c587:ffff:ffff:ffff:ffff:ffff:ffff,RU
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,RU
+2a0d:c780::,2a0d:c787:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:c800::,2a0d:c807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:c880::,2a0d:c887:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:c900::,2a0d:c907:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:c980::,2a0d:c987:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:ca00::,2a0d:ca07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:ca80::,2a0d:ca87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:cb00::,2a0d:cb07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:cb80::,2a0d:cb87:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:cc00::,2a0d:cc07:ffff:ffff:ffff:ffff:ffff:ffff,AL
2a0d:cd00::,2a0d:cd07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ce00::,2a0d:ce07:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -41152,6 +42133,10 @@
2c0f:ee48::,2c0f:ee48:ffff:ffff:ffff:ffff:ffff:ffff,ZA
2c0f:ee50::,2c0f:ee50:ffff:ffff:ffff:ffff:ffff:ffff,SN
2c0f:ee58::,2c0f:ee58:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ee60::,2c0f:ee60:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ee68::,2c0f:ee68:ffff:ffff:ffff:ffff:ffff:ffff,KE
+2c0f:ee70::,2c0f:ee70:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ee78::,2c0f:ee78:ffff:ffff:ffff:ffff:ffff:ffff,ZA
2c0f:f000::,2c0f:f000:ffff:ffff:ffff:ffff:ffff:ffff,DZ
2c0f:f008::,2c0f:f008:ffff:ffff:ffff:ffff:ffff:ffff,KE
2c0f:f010::,2c0f:f010:ffff:ffff:ffff:ffff:ffff:ffff,ZA
@@ -41609,9 +42594,9 @@
2c0f:feb0:1f::,2c0f:feb0:1f:7fff:ffff:ffff:ffff:ffff,ZA
2c0f:feb0:1f:8000::,2c0f:feb0:1f:ffff:ffff:ffff:ffff:ffff,MU
2c0f:feb0:20::,2c0f:feb0:20:7fff:ffff:ffff:ffff:ffff,ZA
-2c0f:feb0:20:8000::,2c0f:feb0:2f:7fff:ffff:ffff:ffff:ffff,MU
-2c0f:feb0:2f:8000::,2c0f:feb0:2f:ffff:ffff:ffff:ffff:ffff,ZA
-2c0f:feb0:30::,2c0f:feb1:ffff:ffff:ffff:ffff:ffff:ffff,MU
+2c0f:feb0:20:8000::,2c0f:feb0:2c:ffff:ffff:ffff:ffff:ffff,MU
+2c0f:feb0:2d::,2c0f:feb0:31:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:feb0:32::,2c0f:feb1:ffff:ffff:ffff:ffff:ffff:ffff,MU
2c0f:feb8::,2c0f:feb8:ffff:ffff:ffff:ffff:ffff:ffff,ZM
2c0f:fec0::,2c0f:fec0:ffff:ffff:ffff:ffff:ffff:ffff,UG
2c0f:fec8::,2c0f:fec8:ffff:ffff:ffff:ffff:ffff:ffff,SD
diff --git a/src/ext/ed25519/donna/ed25519_tor.c b/src/ext/ed25519/donna/ed25519_tor.c
index 44ec562f02..84fc3850a2 100644
--- a/src/ext/ed25519/donna/ed25519_tor.c
+++ b/src/ext/ed25519/donna/ed25519_tor.c
@@ -132,7 +132,7 @@ ED25519_FN(curved25519_scalarmult_basepoint) (curved25519_key pk, const curved25
}
/*
- Tor has a specific idea of how an Ed25519 implementaion should behave.
+ Tor has a specific idea of how an Ed25519 implementation should behave.
Implement such a beast using the ed25519-donna primitives/internals.
* Private key generation using Tor's CSPRNG.
diff --git a/src/ext/rust b/src/ext/rust
-Subproject 240296800824e40b10cb8c16da0e71156335394
+Subproject fbc0c25785696a25b9cbc09ed645cc8d404ee0f
diff --git a/src/or/bridges.c b/src/or/bridges.c
index 383c33fa61..29d00f37ba 100644
--- a/src/or/bridges.c
+++ b/src/or/bridges.c
@@ -356,7 +356,7 @@ bridge_resolve_conflicts(const tor_addr_t *addr, uint16_t port,
{
/* Iterate the already-registered bridge list:
- If you find a bridge with the same adress and port, mark it for
+ If you find a bridge with the same address and port, mark it for
removal. It doesn't make sense to have two active bridges with
the same IP:PORT. If the bridge in question has a different
digest or transport than <b>digest</b>/<b>transport_name</b>,
@@ -458,7 +458,6 @@ bridge_add_from_config(bridge_line_t *bridge_line)
if (bridge_line->transport_name)
b->transport_name = bridge_line->transport_name;
b->fetch_status.schedule = DL_SCHED_BRIDGE;
- b->fetch_status.backoff = DL_SCHED_RANDOM_EXPONENTIAL;
b->fetch_status.increment_on = DL_SCHED_INCREMENT_ATTEMPT;
/* We can't reset the bridge's download status here, because UseBridges
* might be 0 now, and it might be changed to 1 much later. */
@@ -637,8 +636,7 @@ fetch_bridge_descriptors(const or_options_t *options, time_t now)
SMARTLIST_FOREACH_BEGIN(bridge_list, bridge_info_t *, bridge)
{
/* This resets the download status on first use */
- if (!download_status_is_ready(&bridge->fetch_status, now,
- IMPOSSIBLE_TO_DOWNLOAD))
+ if (!download_status_is_ready(&bridge->fetch_status, now))
continue; /* don't bother, no need to retry yet */
if (routerset_contains_bridge(options->ExcludeNodes, bridge)) {
download_status_mark_impossible(&bridge->fetch_status);
diff --git a/src/or/channel.c b/src/or/channel.c
index 1afd451908..18fa1655a4 100644
--- a/src/or/channel.c
+++ b/src/or/channel.c
@@ -31,7 +31,7 @@
* channel_set_cell_handlers(). Currently, this is passed back to the command
* subsystem which is command_process_cell().
*
- * NOTE: For now, the seperation between channels and specialized channels
+ * NOTE: For now, the separation between channels and specialized channels
* (like channeltls) is not that well defined. So the channeltls layer calls
* channel_process_cell() which originally comes from the connection subsytem.
* This should be hopefully be fixed with #23993.
@@ -52,7 +52,6 @@
* Define this so channel.h gives us things only channel_t subclasses
* should touch.
*/
-
#define TOR_CHANNEL_INTERNAL_
/* This one's for stuff only channel.c and the test suite should see */
@@ -175,9 +174,8 @@ static void channel_listener_force_xfree(channel_listener_t *chan_l);
**********************************/
/**
- * Indicate whether a given channel state is valid
+ * Indicate whether a given channel state is valid.
*/
-
int
channel_state_is_valid(channel_state_t state)
{
@@ -201,9 +199,8 @@ channel_state_is_valid(channel_state_t state)
}
/**
- * Indicate whether a given channel listener state is valid
+ * Indicate whether a given channel listener state is valid.
*/
-
int
channel_listener_state_is_valid(channel_listener_state_t state)
{
@@ -225,13 +222,12 @@ channel_listener_state_is_valid(channel_listener_state_t state)
}
/**
- * Indicate whether a channel state transition is valid
+ * Indicate whether a channel state transition is valid.
*
* This function takes two channel states and indicates whether a
* transition between them is permitted (see the state definitions and
* transition table in or.h at the channel_state_t typedef).
*/
-
int
channel_state_can_transition(channel_state_t from, channel_state_t to)
{
@@ -272,13 +268,12 @@ channel_state_can_transition(channel_state_t from, channel_state_t to)
}
/**
- * Indicate whether a channel listener state transition is valid
+ * Indicate whether a channel listener state transition is valid.
*
* This function takes two channel listener states and indicates whether a
* transition between them is permitted (see the state definitions and
* transition table in or.h at the channel_listener_state_t typedef).
*/
-
int
channel_listener_state_can_transition(channel_listener_state_t from,
channel_listener_state_t to)
@@ -309,9 +304,8 @@ channel_listener_state_can_transition(channel_listener_state_t from,
}
/**
- * Return a human-readable description for a channel state
+ * Return a human-readable description for a channel state.
*/
-
const char *
channel_state_to_string(channel_state_t state)
{
@@ -345,9 +339,8 @@ channel_state_to_string(channel_state_t state)
}
/**
- * Return a human-readable description for a channel listenier state
+ * Return a human-readable description for a channel listener state.
*/
-
const char *
channel_listener_state_to_string(channel_listener_state_t state)
{
@@ -379,12 +372,11 @@ channel_listener_state_to_string(channel_listener_state_t state)
***************************************/
/**
- * Register a channel
+ * Register a channel.
*
* This function registers a newly created channel in the global lists/maps
* of active channels.
*/
-
void
channel_register(channel_t *chan)
{
@@ -437,12 +429,11 @@ channel_register(channel_t *chan)
}
/**
- * Unregister a channel
+ * Unregister a channel.
*
* This function removes a channel from the global lists and maps and is used
* when freeing a closed/errored channel.
*/
-
void
channel_unregister(channel_t *chan)
{
@@ -477,12 +468,11 @@ channel_unregister(channel_t *chan)
}
/**
- * Register a channel listener
+ * Register a channel listener.
*
- * This function registers a newly created channel listner in the global
+ * This function registers a newly created channel listener in the global
* lists/maps of active channel listeners.
*/
-
void
channel_listener_register(channel_listener_t *chan_l)
{
@@ -519,12 +509,11 @@ channel_listener_register(channel_listener_t *chan_l)
}
/**
- * Unregister a channel listener
+ * Unregister a channel listener.
*
* This function removes a channel listener from the global lists and maps
* and is used when freeing a closed/errored channel listener.
*/
-
void
channel_listener_unregister(channel_listener_t *chan_l)
{
@@ -555,13 +544,12 @@ channel_listener_unregister(channel_listener_t *chan_l)
*********************************/
/**
- * Add a channel to the digest map
+ * Add a channel to the digest map.
*
* This function adds a channel to the digest map and inserts it into the
* correct linked list if channels with that remote endpoint identity digest
* already exist.
*/
-
STATIC void
channel_add_to_digest_map(channel_t *chan)
{
@@ -594,12 +582,11 @@ channel_add_to_digest_map(channel_t *chan)
}
/**
- * Remove a channel from the digest map
+ * Remove a channel from the digest map.
*
* This function removes a channel from the digest map and the linked list of
* channels for that digest if more than one exists.
*/
-
static void
channel_remove_from_digest_map(channel_t *chan)
{
@@ -647,13 +634,12 @@ channel_remove_from_digest_map(channel_t *chan)
***************************/
/**
- * Find channel by global ID
+ * Find channel by global ID.
*
* This function searches for a channel by the global_identifier assigned
* at initialization time. This identifier is unique for the lifetime of the
* Tor process.
*/
-
channel_t *
channel_find_by_global_id(uint64_t global_identifier)
{
@@ -691,7 +677,7 @@ channel_remote_identity_matches(const channel_t *chan,
}
/**
- * Find channel by RSA/Ed25519 identity of of the remote endpoint
+ * Find channel by RSA/Ed25519 identity of of the remote endpoint.
*
* This function looks up a channel by the digest of its remote endpoint's RSA
* identity key. If <b>ed_id</b> is provided and nonzero, only a channel
@@ -730,12 +716,11 @@ channel_find_by_remote_identity(const char *rsa_id_digest,
}
/**
- * Get next channel with digest
+ * Get next channel with digest.
*
* This function takes a channel and finds the next channel in the list
* with the same digest.
*/
-
channel_t *
channel_next_with_rsa_identity(channel_t *chan)
{
@@ -822,13 +807,12 @@ channel_check_for_duplicates(void)
}
/**
- * Initialize a channel
+ * Initialize a channel.
*
* This function should be called by subclasses to set up some per-channel
* variables. I.e., this is the superclass constructor. Before this, the
* channel should be allocated with tor_malloc_zero().
*/
-
void
channel_init(channel_t *chan)
{
@@ -860,13 +844,12 @@ channel_init(channel_t *chan)
}
/**
- * Initialize a channel listener
+ * Initialize a channel listener.
*
* This function should be called by subclasses to set up some per-channel
* variables. I.e., this is the superclass constructor. Before this, the
* channel listener should be allocated with tor_malloc_zero().
*/
-
void
channel_init_listener(channel_listener_t *chan_l)
{
@@ -883,7 +866,6 @@ channel_init_listener(channel_listener_t *chan_l)
* Free a channel; nothing outside of channel.c and subclasses should call
* this - it frees channels after they have closed and been unregistered.
*/
-
void
channel_free_(channel_t *chan)
{
@@ -936,7 +918,6 @@ channel_free_(channel_t *chan)
* should call this - it frees channel listeners after they have closed and
* been unregistered.
*/
-
void
channel_listener_free_(channel_listener_t *chan_l)
{
@@ -964,7 +945,6 @@ channel_listener_free_(channel_listener_t *chan_l)
* use-only function should be called only from channel_free_all() when
* shutting down the Tor process.
*/
-
static void
channel_force_xfree(channel_t *chan)
{
@@ -1005,11 +985,10 @@ channel_force_xfree(channel_t *chan)
}
/**
- * Free a channel listener and skip the state/reigstration asserts; this
+ * Free a channel listener and skip the state/registration asserts; this
* internal-use-only function should be called only from channel_free_all()
* when shutting down the Tor process.
*/
-
static void
channel_listener_force_xfree(channel_listener_t *chan_l)
{
@@ -1042,12 +1021,11 @@ channel_listener_force_xfree(channel_listener_t *chan_l)
}
/**
- * Set the listener for a channel listener
+ * Set the listener for a channel listener.
*
* This function sets the handler for new incoming channels on a channel
* listener.
*/
-
void
channel_listener_set_listener_fn(channel_listener_t *chan_l,
channel_listener_fn_ptr listener)
@@ -1066,12 +1044,11 @@ channel_listener_set_listener_fn(channel_listener_t *chan_l,
}
/**
- * Return the fixed-length cell handler for a channel
+ * Return the fixed-length cell handler for a channel.
*
* This function gets the handler for incoming fixed-length cells installed
* on a channel.
*/
-
channel_cell_handler_fn_ptr
channel_get_cell_handler(channel_t *chan)
{
@@ -1084,12 +1061,11 @@ channel_get_cell_handler(channel_t *chan)
}
/**
- * Return the variable-length cell handler for a channel
+ * Return the variable-length cell handler for a channel.
*
* This function gets the handler for incoming variable-length cells
* installed on a channel.
*/
-
channel_var_cell_handler_fn_ptr
channel_get_var_cell_handler(channel_t *chan)
{
@@ -1102,12 +1078,11 @@ channel_get_var_cell_handler(channel_t *chan)
}
/**
- * Set both cell handlers for a channel
+ * Set both cell handlers for a channel.
*
* This function sets both the fixed-length and variable length cell handlers
* for a channel.
*/
-
void
channel_set_cell_handlers(channel_t *chan,
channel_cell_handler_fn_ptr cell_handler,
@@ -1143,13 +1118,12 @@ channel_set_cell_handlers(channel_t *chan,
*/
/**
- * Mark a channel for closure
+ * Mark a channel for closure.
*
* This function tries to close a channel_t; it will go into the CLOSING
* state, and eventually the lower layer should put it into the CLOSED or
* ERROR state. Then, channel_run_cleanup() will eventually free it.
*/
-
void
channel_mark_for_close(channel_t *chan)
{
@@ -1183,13 +1157,12 @@ channel_mark_for_close(channel_t *chan)
}
/**
- * Mark a channel listener for closure
+ * Mark a channel listener for closure.
*
* This function tries to close a channel_listener_t; it will go into the
* CLOSING state, and eventually the lower layer should put it into the CLOSED
* or ERROR state. Then, channel_run_cleanup() will eventually free it.
*/
-
void
channel_listener_mark_for_close(channel_listener_t *chan_l)
{
@@ -1224,13 +1197,12 @@ channel_listener_mark_for_close(channel_listener_t *chan_l)
}
/**
- * Close a channel from the lower layer
+ * Close a channel from the lower layer.
*
* Notify the channel code that the channel is being closed due to a non-error
* condition in the lower layer. This does not call the close() method, since
* the lower layer already knows.
*/
-
void
channel_close_from_lower_layer(channel_t *chan)
{
@@ -1253,13 +1225,12 @@ channel_close_from_lower_layer(channel_t *chan)
}
/**
- * Notify that the channel is being closed due to an error condition
+ * Notify that the channel is being closed due to an error condition.
*
* This function is called by the lower layer implementing the transport
* when a channel must be closed due to an error condition. This does not
* call the channel's close method, since the lower layer already knows.
*/
-
void
channel_close_for_error(channel_t *chan)
{
@@ -1281,13 +1252,12 @@ channel_close_for_error(channel_t *chan)
}
/**
- * Notify that the lower layer is finished closing the channel
+ * Notify that the lower layer is finished closing the channel.
*
* This function should be called by the lower layer when a channel
* is finished closing and it should be regarded as inactive and
* freed by the channel code.
*/
-
void
channel_closed(channel_t *chan)
{
@@ -1314,12 +1284,11 @@ channel_closed(channel_t *chan)
}
/**
- * Clear the identity_digest of a channel
+ * Clear the identity_digest of a channel.
*
* This function clears the identity digest of the remote endpoint for a
* channel; this is intended for use by the lower layer.
*/
-
void
channel_clear_identity_digest(channel_t *chan)
{
@@ -1344,7 +1313,7 @@ channel_clear_identity_digest(channel_t *chan)
}
/**
- * Set the identity_digest of a channel
+ * Set the identity_digest of a channel.
*
* This function sets the identity digest of the remote endpoint for a
* channel; this is intended for use by the lower layer.
@@ -1403,12 +1372,11 @@ channel_set_identity_digest(channel_t *chan,
}
/**
- * Clear the remote end metadata (identity_digest) of a channel
+ * Clear the remote end metadata (identity_digest) of a channel.
*
* This function clears all the remote end info from a channel; this is
* intended for use by the lower layer.
*/
-
void
channel_clear_remote_end(channel_t *chan)
{
@@ -1435,10 +1403,9 @@ channel_clear_remote_end(channel_t *chan)
/**
* Write to a channel the given packed cell.
*
- *
* Two possible errors can happen. Either the channel is not opened or the
* lower layer (specialized channel) failed to write it. In both cases, it is
- * the caller responsability to free the cell.
+ * the caller responsibility to free the cell.
*/
static int
write_packed_cell(channel_t *chan, packed_cell_t *cell)
@@ -1484,7 +1451,7 @@ write_packed_cell(channel_t *chan, packed_cell_t *cell)
}
/**
- * Write a packed cell to a channel
+ * Write a packed cell to a channel.
*
* Write a packed cell to a channel using the write_cell() method. This is
* called by the transport-independent code to deliver a packed cell to a
@@ -1514,7 +1481,7 @@ channel_write_packed_cell(channel_t *chan, packed_cell_t *cell)
ret = write_packed_cell(chan, cell);
end:
- /* Whatever happens, we free the cell. Either an error occured or the cell
+ /* Whatever happens, we free the cell. Either an error occurred or the cell
* was put on the connection outbuf, both cases we have ownership of the
* cell and we free it. */
packed_cell_free(cell);
@@ -1522,13 +1489,12 @@ channel_write_packed_cell(channel_t *chan, packed_cell_t *cell)
}
/**
- * Change channel state
+ * Change channel state.
*
* This internal and subclass use only function is used to change channel
* state, performing all transition validity checks and whatever actions
* are appropriate to the state transition in question.
*/
-
static void
channel_change_state_(channel_t *chan, channel_state_t to_state)
{
@@ -1642,13 +1608,12 @@ channel_change_state_open(channel_t *chan)
}
/**
- * Change channel listener state
+ * Change channel listener state.
*
* This internal and subclass use only function is used to change channel
* listener state, performing all transition validity checks and whatever
* actions are appropriate to the state transition in question.
*/
-
void
channel_listener_change_state(channel_listener_t *chan_l,
channel_listener_state_t to_state)
@@ -1717,11 +1682,12 @@ channel_listener_change_state(channel_listener_t *chan_l,
}
}
-/* Maximum number of cells that is allowed to flush at once withing
+/* Maximum number of cells that is allowed to flush at once within
* channel_flush_some_cells(). */
#define MAX_CELLS_TO_GET_FROM_CIRCUITS_FOR_UNLIMITED 256
-/* Try to flush cells of the given channel chan up to a maximum of num_cells.
+/**
+ * Try to flush cells of the given channel chan up to a maximum of num_cells.
*
* This is called by the scheduler when it wants to flush cells from the
* channel's circuit queue(s) to the connection outbuf (not yet on the wire).
@@ -1776,7 +1742,7 @@ channel_flush_some_cells, (channel_t *chan, ssize_t num_cells))
}
/**
- * Check if any cells are available
+ * Check if any cells are available.
*
* This is used by the scheduler to know if the channel has more to flush
* after a scheduling round.
@@ -1793,12 +1759,11 @@ channel_more_to_flush, (channel_t *chan))
}
/**
- * Notify the channel we're done flushing the output in the lower layer
+ * Notify the channel we're done flushing the output in the lower layer.
*
* Connection.c will call this when we've flushed the output; there's some
* dirreq-related maintenance to do.
*/
-
void
channel_notify_flushed(channel_t *chan)
{
@@ -1811,12 +1776,11 @@ channel_notify_flushed(channel_t *chan)
}
/**
- * Process the queue of incoming channels on a listener
+ * Process the queue of incoming channels on a listener.
*
* Use a listener's registered callback to process as many entries in the
* queue of incoming channels as possible.
*/
-
void
channel_listener_process_incoming(channel_listener_t *listener)
{
@@ -1858,18 +1822,17 @@ channel_listener_process_incoming(channel_listener_t *listener)
}
/**
- * Take actions required when a channel becomes open
+ * Take actions required when a channel becomes open.
*
* Handle actions we should do when we know a channel is open; a lot of
* this comes from the old connection_or_set_state_open() of connection_or.c.
*
* Because of this mechanism, future channel_t subclasses should take care
- * not to change a channel to from CHANNEL_STATE_OPENING to CHANNEL_STATE_OPEN
+ * not to change a channel from CHANNEL_STATE_OPENING to CHANNEL_STATE_OPEN
* until there is positive confirmation that the network is operational.
* In particular, anything UDP-based should not make this transition until a
* packet is received from the other side.
*/
-
void
channel_do_open_actions(channel_t *chan)
{
@@ -1884,11 +1847,10 @@ channel_do_open_actions(channel_t *chan)
if (started_here) {
circuit_build_times_network_is_live(get_circuit_build_times_mutable());
- rep_hist_note_connect_succeeded(chan->identity_digest, now);
router_set_status(chan->identity_digest, 1);
} else {
- /* only report it to the geoip module if it's not a known router */
- if (!connection_or_digest_is_known_relay(chan->identity_digest)) {
+ /* only report it to the geoip module if it's a client */
+ if (channel_is_client(chan)) {
if (channel_get_addr_if_possible(chan, &remote_addr)) {
char *transport_name = NULL;
channel_tls_t *tlschan = BASE_CHAN_TO_TLS(chan);
@@ -1938,13 +1900,12 @@ channel_do_open_actions(channel_t *chan)
}
/**
- * Queue an incoming channel on a listener
+ * Queue an incoming channel on a listener.
*
* Internal and subclass use only function to queue an incoming channel from
* a listener. A subclass of channel_listener_t should call this when a new
* incoming channel is created.
*/
-
void
channel_listener_queue_incoming(channel_listener_t *listener,
channel_t *incoming)
@@ -2045,13 +2006,12 @@ packed_cell_is_destroy(channel_t *chan,
}
/**
- * Send destroy cell on a channel
+ * Send destroy cell on a channel.
*
* Write a destroy cell with circ ID <b>circ_id</b> and reason <b>reason</b>
* onto channel <b>chan</b>. Don't perform range-checking on reason:
* we may want to propagate reasons from other cells.
*/
-
int
channel_send_destroy(circid_t circ_id, channel_t *chan, int reason)
{
@@ -2087,12 +2047,11 @@ channel_send_destroy(circid_t circ_id, channel_t *chan, int reason)
}
/**
- * Dump channel statistics to the log
+ * Dump channel statistics to the log.
*
* This is called from dumpstats() in main.c and spams the log with
* statistics on channels.
*/
-
void
channel_dumpstats(int severity)
{
@@ -2119,12 +2078,11 @@ channel_dumpstats(int severity)
}
/**
- * Dump channel listener statistics to the log
+ * Dump channel listener statistics to the log.
*
* This is called from dumpstats() in main.c and spams the log with
* statistics on channel listeners.
*/
-
void
channel_listener_dumpstats(int severity)
{
@@ -2151,28 +2109,11 @@ channel_listener_dumpstats(int severity)
}
/**
- * Set the cmux policy on all active channels
- */
-
-void
-channel_set_cmux_policy_everywhere(circuitmux_policy_t *pol)
-{
- if (!active_channels) return;
-
- SMARTLIST_FOREACH_BEGIN(active_channels, channel_t *, curr) {
- if (curr->cmux) {
- circuitmux_set_policy(curr->cmux, pol);
- }
- } SMARTLIST_FOREACH_END(curr);
-}
-
-/**
- * Clean up channels
+ * Clean up channels.
*
* This gets called periodically from run_scheduled_events() in main.c;
* it cleans up after closed channels.
*/
-
void
channel_run_cleanup(void)
{
@@ -2194,12 +2135,11 @@ channel_run_cleanup(void)
}
/**
- * Clean up channel listeners
+ * Clean up channel listeners.
*
* This gets called periodically from run_scheduled_events() in main.c;
* it cleans up after closed channel listeners.
*/
-
void
channel_listener_run_cleanup(void)
{
@@ -2221,9 +2161,8 @@ channel_listener_run_cleanup(void)
}
/**
- * Free a list of channels for channel_free_all()
+ * Free a list of channels for channel_free_all().
*/
-
static void
channel_free_list(smartlist_t *channels, int mark_for_close)
{
@@ -2253,9 +2192,8 @@ channel_free_list(smartlist_t *channels, int mark_for_close)
}
/**
- * Free a list of channel listeners for channel_free_all()
+ * Free a list of channel listeners for channel_free_all().
*/
-
static void
channel_listener_free_list(smartlist_t *listeners, int mark_for_close)
{
@@ -2282,14 +2220,13 @@ channel_listener_free_list(smartlist_t *listeners, int mark_for_close)
}
/**
- * Close all channels and free everything
+ * Close all channels and free everything.
*
* This gets called from tor_free_all() in main.c to clean up on exit.
* It will close all registered channels and free associated storage,
* then free the all_channels, active_channels, listening_channels and
* finished_channels lists and also channel_identity_map.
*/
-
void
channel_free_all(void)
{
@@ -2354,7 +2291,7 @@ channel_free_all(void)
}
/**
- * Connect to a given addr/port/digest
+ * Connect to a given addr/port/digest.
*
* This sets up a new outgoing channel; in the future if multiple
* channel_t subclasses are available, this is where the selection policy
@@ -2363,7 +2300,6 @@ channel_free_all(void)
* single abstract object encapsulating all the protocol details of
* how to contact an OR.
*/
-
channel_t *
channel_connect(const tor_addr_t *addr, uint16_t port,
const char *id_digest,
@@ -2373,7 +2309,7 @@ channel_connect(const tor_addr_t *addr, uint16_t port,
}
/**
- * Decide which of two channels to prefer for extending a circuit
+ * Decide which of two channels to prefer for extending a circuit.
*
* This function is called while extending a circuit and returns true iff
* a is 'better' than b. The most important criterion here is that a
@@ -2382,7 +2318,6 @@ channel_connect(const tor_addr_t *addr, uint16_t port,
*
* This is based on the former connection_or_is_better() of connection_or.c
*/
-
int
channel_is_better(channel_t *a, channel_t *b)
{
@@ -2434,7 +2369,7 @@ channel_is_better(channel_t *a, channel_t *b)
}
/**
- * Get a channel to extend a circuit
+ * Get a channel to extend a circuit.
*
* Pick a suitable channel to extend a circuit to given the desired digest
* the address we believe is correct for that digest; this tries to see
@@ -2443,7 +2378,6 @@ channel_is_better(channel_t *a, channel_t *b)
* and our next action, and set *launch_out to a boolean indicated whether
* the caller should try to launch a new channel with channel_connect().
*/
-
channel_t *
channel_get_for_extend(const char *rsa_id_digest,
const ed25519_public_key_t *ed_id,
@@ -2548,12 +2482,11 @@ channel_get_for_extend(const char *rsa_id_digest,
}
/**
- * Describe the transport subclass for a channel
+ * Describe the transport subclass for a channel.
*
* Invoke a method to get a string description of the lower-layer
* transport for this channel.
*/
-
const char *
channel_describe_transport(channel_t *chan)
{
@@ -2564,12 +2497,11 @@ channel_describe_transport(channel_t *chan)
}
/**
- * Describe the transport subclass for a channel listener
+ * Describe the transport subclass for a channel listener.
*
* Invoke a method to get a string description of the lower-layer
* transport for this channel listener.
*/
-
const char *
channel_listener_describe_transport(channel_listener_t *chan_l)
{
@@ -2580,11 +2512,10 @@ channel_listener_describe_transport(channel_listener_t *chan_l)
}
/**
- * Dump channel statistics
+ * Dump channel statistics.
*
- * Dump statistics for one channel to the log
+ * Dump statistics for one channel to the log.
*/
-
MOCK_IMPL(void,
channel_dump_statistics, (channel_t *chan, int severity))
{
@@ -2767,11 +2698,10 @@ channel_dump_statistics, (channel_t *chan, int severity))
}
/**
- * Dump channel listener statistics
+ * Dump channel listener statistics.
*
- * Dump statistics for one channel listener to the log
+ * Dump statistics for one channel listener to the log.
*/
-
void
channel_listener_dump_statistics(channel_listener_t *chan_l, int severity)
{
@@ -2834,11 +2764,10 @@ channel_listener_dump_statistics(channel_listener_t *chan_l, int severity)
}
/**
- * Invoke transport-specific stats dump for channel
+ * Invoke transport-specific stats dump for channel.
*
- * If there is a lower-layer statistics dump method, invoke it
+ * If there is a lower-layer statistics dump method, invoke it.
*/
-
void
channel_dump_transport_statistics(channel_t *chan, int severity)
{
@@ -2848,11 +2777,10 @@ channel_dump_transport_statistics(channel_t *chan, int severity)
}
/**
- * Invoke transport-specific stats dump for channel listener
+ * Invoke transport-specific stats dump for channel listener.
*
- * If there is a lower-layer statistics dump method, invoke it
+ * If there is a lower-layer statistics dump method, invoke it.
*/
-
void
channel_listener_dump_transport_statistics(channel_listener_t *chan_l,
int severity)
@@ -2863,7 +2791,7 @@ channel_listener_dump_transport_statistics(channel_listener_t *chan_l,
}
/**
- * Return text description of the remote endpoint
+ * Return text description of the remote endpoint.
*
* This function return a test provided by the lower layer of the remote
* endpoint for this channel; it should specify the actual address connected
@@ -2896,7 +2824,7 @@ channel_get_actual_remote_address(channel_t *chan)
}
/**
- * Return text description of the remote endpoint canonical address
+ * Return text description of the remote endpoint canonical address.
*
* This function return a test provided by the lower layer of the remote
* endpoint for this channel; it should use the known canonical address for
@@ -2934,7 +2862,7 @@ channel_get_addr_if_possible,(channel_t *chan, tor_addr_t *addr_out))
else return 0;
}
-/*
+/**
* Return true iff the channel has any cells on the connection outbuf waiting
* to be sent onto the network.
*/
@@ -2949,12 +2877,11 @@ channel_has_queued_writes(channel_t *chan)
}
/**
- * Check the is_bad_for_new_circs flag
+ * Check the is_bad_for_new_circs flag.
*
* This function returns the is_bad_for_new_circs flag of the specified
* channel.
*/
-
int
channel_is_bad_for_new_circs(channel_t *chan)
{
@@ -2964,11 +2891,10 @@ channel_is_bad_for_new_circs(channel_t *chan)
}
/**
- * Mark a channel as bad for new circuits
+ * Mark a channel as bad for new circuits.
*
* Set the is_bad_for_new_circs_flag on chan.
*/
-
void
channel_mark_bad_for_new_circs(channel_t *chan)
{
@@ -2978,13 +2904,12 @@ channel_mark_bad_for_new_circs(channel_t *chan)
}
/**
- * Get the client flag
+ * Get the client flag.
*
* This returns the client flag of a channel, which will be set if
* command_process_create_cell() in command.c thinks this is a connection
* from a client.
*/
-
int
channel_is_client(const channel_t *chan)
{
@@ -2994,11 +2919,10 @@ channel_is_client(const channel_t *chan)
}
/**
- * Set the client flag
+ * Set the client flag.
*
- * Mark a channel as being from a client
+ * Mark a channel as being from a client.
*/
-
void
channel_mark_client(channel_t *chan)
{
@@ -3008,11 +2932,10 @@ channel_mark_client(channel_t *chan)
}
/**
- * Clear the client flag
+ * Clear the client flag.
*
- * Mark a channel as being _not_ from a client
+ * Mark a channel as being _not_ from a client.
*/
-
void
channel_clear_client(channel_t *chan)
{
@@ -3022,12 +2945,11 @@ channel_clear_client(channel_t *chan)
}
/**
- * Get the canonical flag for a channel
+ * Get the canonical flag for a channel.
*
* This returns the is_canonical for a channel; this flag is determined by
* the lower layer and can't be set in a transport-independent way.
*/
-
int
channel_is_canonical(channel_t *chan)
{
@@ -3038,12 +2960,11 @@ channel_is_canonical(channel_t *chan)
}
/**
- * Test if the canonical flag is reliable
+ * Test if the canonical flag is reliable.
*
* This function asks if the lower layer thinks it's safe to trust the
- * result of channel_is_canonical()
+ * result of channel_is_canonical().
*/
-
int
channel_is_canonical_is_reliable(channel_t *chan)
{
@@ -3054,12 +2975,11 @@ channel_is_canonical_is_reliable(channel_t *chan)
}
/**
- * Test incoming flag
+ * Test incoming flag.
*
* This function gets the incoming flag; this is set when a listener spawns
* a channel. If this returns true the channel was remotely initiated.
*/
-
int
channel_is_incoming(channel_t *chan)
{
@@ -3069,12 +2989,11 @@ channel_is_incoming(channel_t *chan)
}
/**
- * Set the incoming flag
+ * Set the incoming flag.
*
* This function is called when a channel arrives on a listening channel
* to mark it as incoming.
*/
-
void
channel_mark_incoming(channel_t *chan)
{
@@ -3084,7 +3003,7 @@ channel_mark_incoming(channel_t *chan)
}
/**
- * Test local flag
+ * Test local flag.
*
* This function gets the local flag; the lower layer should set this when
* setting up the channel if is_local_addr() is true for all of the
@@ -3092,7 +3011,6 @@ channel_mark_incoming(channel_t *chan)
* used to decide whether to declare the network reachable when seeing incoming
* traffic on the channel.
*/
-
int
channel_is_local(channel_t *chan)
{
@@ -3102,13 +3020,12 @@ channel_is_local(channel_t *chan)
}
/**
- * Set the local flag
+ * Set the local flag.
*
* This internal-only function should be called by the lower layer if the
* channel is to a local address. See channel_is_local() above or the
- * description of the is_local bit in channel.h
+ * description of the is_local bit in channel.h.
*/
-
void
channel_mark_local(channel_t *chan)
{
@@ -3118,14 +3035,13 @@ channel_mark_local(channel_t *chan)
}
/**
- * Mark a channel as remote
+ * Mark a channel as remote.
*
* This internal-only function should be called by the lower layer if the
* channel is not to a local address but has previously been marked local.
* See channel_is_local() above or the description of the is_local bit in
* channel.h
*/
-
void
channel_mark_remote(channel_t *chan)
{
@@ -3135,13 +3051,12 @@ channel_mark_remote(channel_t *chan)
}
/**
- * Test outgoing flag
+ * Test outgoing flag.
*
* This function gets the outgoing flag; this is the inverse of the incoming
* bit set when a listener spawns a channel. If this returns true the channel
* was locally initiated.
*/
-
int
channel_is_outgoing(channel_t *chan)
{
@@ -3151,12 +3066,11 @@ channel_is_outgoing(channel_t *chan)
}
/**
- * Mark a channel as outgoing
+ * Mark a channel as outgoing.
*
* This function clears the incoming flag and thus marks a channel as
* outgoing.
*/
-
void
channel_mark_outgoing(channel_t *chan)
{
@@ -3169,8 +3083,8 @@ channel_mark_outgoing(channel_t *chan)
* Flow control queries *
***********************/
-/*
- * Estimate the number of writeable cells
+/**
+ * Estimate the number of writeable cells.
*
* Ask the lower layer for an estimate of how many cells it can accept.
*/
@@ -3199,12 +3113,11 @@ channel_num_cells_writeable(channel_t *chan)
********************/
/**
- * Update the created timestamp for a channel
+ * Update the created timestamp for a channel.
*
* This updates the channel's created timestamp and should only be called
* from channel_init().
*/
-
void
channel_timestamp_created(channel_t *chan)
{
@@ -3216,12 +3129,11 @@ channel_timestamp_created(channel_t *chan)
}
/**
- * Update the created timestamp for a channel listener
+ * Update the created timestamp for a channel listener.
*
* This updates the channel listener's created timestamp and should only be
* called from channel_init_listener().
*/
-
void
channel_listener_timestamp_created(channel_listener_t *chan_l)
{
@@ -3233,7 +3145,7 @@ channel_listener_timestamp_created(channel_listener_t *chan_l)
}
/**
- * Update the last active timestamp for a channel
+ * Update the last active timestamp for a channel.
*
* This function updates the channel's last active timestamp; it should be
* called by the lower layer whenever there is activity on the channel which
@@ -3242,7 +3154,6 @@ channel_listener_timestamp_created(channel_listener_t *chan_l)
* but it should be updated for things like the v3 handshake and stuff that
* produce activity only visible to the lower layer.
*/
-
void
channel_timestamp_active(channel_t *chan)
{
@@ -3258,9 +3169,8 @@ channel_timestamp_active(channel_t *chan)
}
/**
- * Update the last active timestamp for a channel listener
+ * Update the last active timestamp for a channel listener.
*/
-
void
channel_listener_timestamp_active(channel_listener_t *chan_l)
{
@@ -3278,7 +3188,6 @@ channel_listener_timestamp_active(channel_listener_t *chan_l)
* should be called whenever a new incoming channel is accepted on a
* listener.
*/
-
void
channel_listener_timestamp_accepted(channel_listener_t *chan_l)
{
@@ -3291,12 +3200,11 @@ channel_listener_timestamp_accepted(channel_listener_t *chan_l)
}
/**
- * Update client timestamp
+ * Update client timestamp.
*
* This function is called by relay.c to timestamp a channel that appears to
* be used as a client.
*/
-
void
channel_timestamp_client(channel_t *chan)
{
@@ -3308,12 +3216,11 @@ channel_timestamp_client(channel_t *chan)
}
/**
- * Update the recv timestamp
+ * Update the recv timestamp.
*
* This is called whenever we get an incoming cell from the lower layer.
* This also updates the active timestamp.
*/
-
void
channel_timestamp_recv(channel_t *chan)
{
@@ -3329,11 +3236,11 @@ channel_timestamp_recv(channel_t *chan)
}
/**
- * Update the xmit timestamp
+ * Update the xmit timestamp.
+ *
* This is called whenever we pass an outgoing cell to the lower layer. This
* also updates the active timestamp.
*/
-
void
channel_timestamp_xmit(channel_t *chan)
{
@@ -3354,9 +3261,8 @@ channel_timestamp_xmit(channel_t *chan)
**************************************************************/
/**
- * Query created timestamp for a channel
+ * Query created timestamp for a channel.
*/
-
time_t
channel_when_created(channel_t *chan)
{
@@ -3366,9 +3272,8 @@ channel_when_created(channel_t *chan)
}
/**
- * Query client timestamp
+ * Query client timestamp.
*/
-
time_t
channel_when_last_client(channel_t *chan)
{
@@ -3378,9 +3283,8 @@ channel_when_last_client(channel_t *chan)
}
/**
- * Query xmit timestamp
+ * Query xmit timestamp.
*/
-
time_t
channel_when_last_xmit(channel_t *chan)
{
@@ -3390,12 +3294,11 @@ channel_when_last_xmit(channel_t *chan)
}
/**
- * Check if a channel matches an extend_info_t
+ * Check if a channel matches an extend_info_t.
*
* This function calls the lower layer and asks if this channel matches a
* given extend_info_t.
*/
-
int
channel_matches_extend_info(channel_t *chan, extend_info_t *extend_info)
{
@@ -3412,7 +3315,6 @@ channel_matches_extend_info(channel_t *chan, extend_info_t *extend_info)
* This function calls into the lower layer and asks if this channel thinks
* it matches a given target address for circuit extension purposes.
*/
-
int
channel_matches_target_addr_for_extend(channel_t *chan,
const tor_addr_t *target)
@@ -3425,12 +3327,11 @@ channel_matches_target_addr_for_extend(channel_t *chan,
}
/**
- * Return the total number of circuits used by a channel
+ * Return the total number of circuits used by a channel.
*
* @param chan Channel to query
* @return Number of circuits using this as n_chan or p_chan
*/
-
unsigned int
channel_num_circuits(channel_t *chan)
{
@@ -3441,10 +3342,10 @@ channel_num_circuits(channel_t *chan)
}
/**
- * Set up circuit ID generation
+ * Set up circuit ID generation.
*
* This is called when setting up a channel and replaces the old
- * connection_or_set_circid_type()
+ * connection_or_set_circid_type().
*/
MOCK_IMPL(void,
channel_set_circid_type,(channel_t *chan,
diff --git a/src/or/channel.h b/src/or/channel.h
index 9128403ce7..6cf8cd7f72 100644
--- a/src/or/channel.h
+++ b/src/or/channel.h
@@ -38,7 +38,6 @@ typedef enum {
* to a particular node, and once constructed support the abstract operations
* defined below.
*/
-
struct channel_s {
/** Magic number for type-checking cast macros */
uint32_t magic;
@@ -423,9 +422,6 @@ void channel_free_all(void);
void channel_dumpstats(int severity);
void channel_listener_dumpstats(int severity);
-/* Set the cmux policy on all active channels */
-void channel_set_cmux_policy_everywhere(circuitmux_policy_t *pol);
-
#ifdef TOR_CHANNEL_INTERNAL_
#ifdef CHANNEL_PRIVATE_
diff --git a/src/or/channelpadding.c b/src/or/channelpadding.c
index 70a906d232..5da3009e67 100644
--- a/src/or/channelpadding.c
+++ b/src/or/channelpadding.c
@@ -69,7 +69,7 @@ static int consensus_nf_pad_single_onion;
/**
* This macro tells us if either end of the channel is connected to a client.
* (If we're not a server, we're definitely a client. If the channel thinks
- * its a client, use that. Then finally verify in the consensus).
+ * it's a client, use that. Then finally verify in the consensus).
*/
#define CHANNEL_IS_CLIENT(chan, options) \
(!public_server_mode((options)) || channel_is_client(chan) || \
diff --git a/src/or/channeltls.c b/src/or/channeltls.c
index ba35178520..54d94f6109 100644
--- a/src/or/channeltls.c
+++ b/src/or/channeltls.c
@@ -34,7 +34,6 @@
* Define this so channel.h gives us things only channel_t subclasses
* should touch.
*/
-
#define TOR_CHANNEL_INTERNAL_
#define CHANNELTLS_PRIVATE
@@ -132,7 +131,6 @@ static void channel_tls_process_padding_negotiate_cell(cell_t *cell,
* Do parts of channel_tls_t initialization common to channel_tls_connect()
* and channel_tls_handle_incoming().
*/
-
STATIC void
channel_tls_common_init(channel_tls_t *tlschan)
{
@@ -162,19 +160,17 @@ channel_tls_common_init(channel_tls_t *tlschan)
chan->write_var_cell = channel_tls_write_var_cell_method;
chan->cmux = circuitmux_alloc();
- if (cell_ewma_enabled()) {
- circuitmux_set_policy(chan->cmux, &ewma_policy);
- }
+ /* We only have one policy for now so always set it to EWMA. */
+ circuitmux_set_policy(chan->cmux, &ewma_policy);
}
/**
- * Start a new TLS channel
+ * Start a new TLS channel.
*
* Launch a new OR connection to <b>addr</b>:<b>port</b> and expect to
* handshake with an OR with identity digest <b>id_digest</b>, and wrap
* it in a channel_tls_t.
*/
-
channel_t *
channel_tls_connect(const tor_addr_t *addr, uint16_t port,
const char *id_digest,
@@ -233,12 +229,11 @@ channel_tls_connect(const tor_addr_t *addr, uint16_t port,
}
/**
- * Return the current channel_tls_t listener
+ * Return the current channel_tls_t listener.
*
* Returns the current channel listener for incoming TLS connections, or
* NULL if none has been established
*/
-
channel_listener_t *
channel_tls_get_listener(void)
{
@@ -246,12 +241,11 @@ channel_tls_get_listener(void)
}
/**
- * Start a channel_tls_t listener if necessary
+ * Start a channel_tls_t listener if necessary.
*
* Return the current channel_tls_t listener, or start one if we haven't yet,
* and return that.
*/
-
channel_listener_t *
channel_tls_start_listener(void)
{
@@ -278,12 +272,11 @@ channel_tls_start_listener(void)
}
/**
- * Free everything on shutdown
+ * Free everything on shutdown.
*
* Not much to do here, since channel_free_all() takes care of a lot, but let's
* get rid of the listener.
*/
-
void
channel_tls_free_all(void)
{
@@ -314,9 +307,8 @@ channel_tls_free_all(void)
}
/**
- * Create a new channel around an incoming or_connection_t
+ * Create a new channel around an incoming or_connection_t.
*/
-
channel_t *
channel_tls_handle_incoming(or_connection_t *orconn)
{
@@ -359,7 +351,6 @@ channel_tls_handle_incoming(or_connection_t *orconn)
/**
* Cast a channel_tls_t to a channel_t.
*/
-
channel_t *
channel_tls_to_base(channel_tls_t *tlschan)
{
@@ -372,7 +363,6 @@ channel_tls_to_base(channel_tls_t *tlschan)
* Cast a channel_t to a channel_tls_t, with appropriate type-checking
* asserts.
*/
-
channel_tls_t *
channel_tls_from_base(channel_t *chan)
{
@@ -388,11 +378,10 @@ channel_tls_from_base(channel_t *chan)
*******************************************/
/**
- * Close a channel_tls_t
+ * Close a channel_tls_t.
*
- * This implements the close method for channel_tls_t
+ * This implements the close method for channel_tls_t.
*/
-
static void
channel_tls_close_method(channel_t *chan)
{
@@ -411,12 +400,11 @@ channel_tls_close_method(channel_t *chan)
}
/**
- * Describe the transport for a channel_tls_t
+ * Describe the transport for a channel_tls_t.
*
* This returns the string "TLS channel on connection <id>" to the upper
* layer.
*/
-
static const char *
channel_tls_describe_transport_method(channel_t *chan)
{
@@ -446,7 +434,7 @@ channel_tls_describe_transport_method(channel_t *chan)
}
/**
- * Free a channel_tls_t
+ * Free a channel_tls_t.
*
* This is called by the generic channel layer when freeing a channel_tls_t;
* this happens either on a channel which has already reached
@@ -455,7 +443,6 @@ channel_tls_describe_transport_method(channel_t *chan)
* have an orconn active (which connection_free_all() will get to later),
* so we should null out its channel pointer now.
*/
-
static void
channel_tls_free_method(channel_t *chan)
{
@@ -470,9 +457,8 @@ channel_tls_free_method(channel_t *chan)
}
/**
- * Get an estimate of the average TLS overhead for the upper layer
+ * Get an estimate of the average TLS overhead for the upper layer.
*/
-
static double
channel_tls_get_overhead_estimate_method(channel_t *chan)
{
@@ -505,13 +491,12 @@ channel_tls_get_overhead_estimate_method(channel_t *chan)
}
/**
- * Get the remote address of a channel_tls_t
+ * Get the remote address of a channel_tls_t.
*
* This implements the get_remote_addr method for channel_tls_t; copy the
* remote endpoint of the channel to addr_out and return 1 (always
* succeeds for this transport).
*/
-
static int
channel_tls_get_remote_addr_method(channel_t *chan, tor_addr_t *addr_out)
{
@@ -535,8 +520,8 @@ channel_tls_get_remote_addr_method(channel_t *chan, tor_addr_t *addr_out)
* This implements the get_transport_name for channel_tls_t. If the
* channel uses a pluggable transport, copy its name to
* <b>transport_out</b> and return 0. If the channel did not use a
- * pluggable transport, return -1. */
-
+ * pluggable transport, return -1.
+ */
static int
channel_tls_get_transport_name_method(channel_t *chan, char **transport_out)
{
@@ -554,14 +539,13 @@ channel_tls_get_transport_name_method(channel_t *chan, char **transport_out)
}
/**
- * Get endpoint description of a channel_tls_t
+ * Get endpoint description of a channel_tls_t.
*
* This implements the get_remote_descr method for channel_tls_t; it returns
* a text description of the remote endpoint of the channel suitable for use
- * in log messages. The req parameter is 0 for the canonical address or 1 for
+ * in log messages. The req parameter is 0 for the canonical address or 1 for
* the actual address seen.
*/
-
static const char *
channel_tls_get_remote_descr_method(channel_t *chan, int flags)
{
@@ -617,12 +601,11 @@ channel_tls_get_remote_descr_method(channel_t *chan, int flags)
}
/**
- * Tell the upper layer if we have queued writes
+ * Tell the upper layer if we have queued writes.
*
* This implements the has_queued_writes method for channel_tls t_; it returns
* 1 iff we have queued writes on the outbuf of the underlying or_connection_t.
*/
-
static int
channel_tls_has_queued_writes_method(channel_t *chan)
{
@@ -645,13 +628,12 @@ channel_tls_has_queued_writes_method(channel_t *chan)
}
/**
- * Tell the upper layer if we're canonical
+ * Tell the upper layer if we're canonical.
*
* This implements the is_canonical method for channel_tls_t; if req is zero,
* it returns whether this is a canonical channel, and if it is one it returns
* whether that can be relied upon.
*/
-
static int
channel_tls_is_canonical_method(channel_t *chan, int req)
{
@@ -684,12 +666,11 @@ channel_tls_is_canonical_method(channel_t *chan, int req)
}
/**
- * Check if we match an extend_info_t
+ * Check if we match an extend_info_t.
*
* This implements the matches_extend_info method for channel_tls_t; the upper
* layer wants to know if this channel matches an extend_info_t.
*/
-
static int
channel_tls_matches_extend_info_method(channel_t *chan,
extend_info_t *extend_info)
@@ -720,7 +701,6 @@ channel_tls_matches_extend_info_method(channel_t *chan,
* layer wants to know if this channel matches a target address when extending
* a circuit.
*/
-
static int
channel_tls_matches_target_method(channel_t *chan,
const tor_addr_t *target)
@@ -755,7 +735,6 @@ channel_tls_matches_target_method(channel_t *chan,
* Tell the upper layer how many bytes we have queued and not yet
* sent.
*/
-
static size_t
channel_tls_num_bytes_queued_method(channel_t *chan)
{
@@ -768,13 +747,12 @@ channel_tls_num_bytes_queued_method(channel_t *chan)
}
/**
- * Tell the upper layer how many cells we can accept to write
+ * Tell the upper layer how many cells we can accept to write.
*
* This implements the num_cells_writeable method for channel_tls_t; it
* returns an estimate of the number of cells we can accept with
* channel_tls_write_*_cell().
*/
-
static int
channel_tls_num_cells_writeable_method(channel_t *chan)
{
@@ -799,12 +777,11 @@ channel_tls_num_cells_writeable_method(channel_t *chan)
}
/**
- * Write a cell to a channel_tls_t
+ * Write a cell to a channel_tls_t.
*
* This implements the write_cell method for channel_tls_t; given a
* channel_tls_t and a cell_t, transmit the cell_t.
*/
-
static int
channel_tls_write_cell_method(channel_t *chan, cell_t *cell)
{
@@ -828,7 +805,7 @@ channel_tls_write_cell_method(channel_t *chan, cell_t *cell)
}
/**
- * Write a packed cell to a channel_tls_t
+ * Write a packed cell to a channel_tls_t.
*
* This implements the write_packed_cell method for channel_tls_t; given a
* channel_tls_t and a packed_cell_t, transmit the packed_cell_t.
@@ -836,7 +813,6 @@ channel_tls_write_cell_method(channel_t *chan, cell_t *cell)
* Return 0 on success or negative value on error. The caller must free the
* packed cell.
*/
-
static int
channel_tls_write_packed_cell_method(channel_t *chan,
packed_cell_t *packed_cell)
@@ -863,12 +839,11 @@ channel_tls_write_packed_cell_method(channel_t *chan,
}
/**
- * Write a variable-length cell to a channel_tls_t
+ * Write a variable-length cell to a channel_tls_t.
*
* This implements the write_var_cell method for channel_tls_t; given a
* channel_tls_t and a var_cell_t, transmit the var_cell_t.
*/
-
static int
channel_tls_write_var_cell_method(channel_t *chan, var_cell_t *var_cell)
{
@@ -896,11 +871,10 @@ channel_tls_write_var_cell_method(channel_t *chan, var_cell_t *var_cell)
************************************************/
/**
- * Close a channel_listener_t
+ * Close a channel_listener_t.
*
- * This implements the close method for channel_listener_t
+ * This implements the close method for channel_listener_t.
*/
-
static void
channel_tls_listener_close_method(channel_listener_t *chan_l)
{
@@ -936,12 +910,11 @@ channel_tls_listener_close_method(channel_listener_t *chan_l)
}
/**
- * Describe the transport for a channel_listener_t
+ * Describe the transport for a channel_listener_t.
*
* This returns the string "TLS channel (listening)" to the upper
* layer.
*/
-
static const char *
channel_tls_listener_describe_transport_method(channel_listener_t *chan_l)
{
@@ -955,12 +928,11 @@ channel_tls_listener_describe_transport_method(channel_listener_t *chan_l)
******************************************************/
/**
- * Handle an orconn state change
+ * Handle an orconn state change.
*
* This function will be called by connection_or.c when the or_connection_t
* associated with this channel_tls_t changes state.
*/
-
void
channel_tls_handle_state_change_on_orconn(channel_tls_t *chan,
or_connection_t *conn,
@@ -1011,13 +983,12 @@ channel_tls_handle_state_change_on_orconn(channel_tls_t *chan,
#ifdef KEEP_TIMING_STATS
/**
- * Timing states wrapper
+ * Timing states wrapper.
*
* This is a wrapper function around the actual function that processes the
* <b>cell</b> that just arrived on <b>chan</b>. Increment <b>*time</b>
* by the number of microseconds used by the call to <b>*func(cell, chan)</b>.
*/
-
static void
channel_tls_time_process_cell(cell_t *cell, channel_tls_t *chan, int *time,
void (*func)(cell_t *, channel_tls_t *))
@@ -1046,7 +1017,7 @@ channel_tls_time_process_cell(cell_t *cell, channel_tls_t *chan, int *time,
#endif /* defined(KEEP_TIMING_STATS) */
/**
- * Handle an incoming cell on a channel_tls_t
+ * Handle an incoming cell on a channel_tls_t.
*
* This is called from connection_or.c to handle an arriving cell; it checks
* for cell types specific to the handshake for this transport protocol and
@@ -1058,7 +1029,6 @@ channel_tls_time_process_cell(cell_t *cell, channel_tls_t *chan, int *time,
* for copying in the case that it queues; we merely pass pointers through
* which we get from connection_or_process_cells_from_inbuf().
*/
-
void
channel_tls_handle_cell(cell_t *cell, or_connection_t *conn)
{
@@ -1160,7 +1130,7 @@ channel_tls_handle_cell(cell_t *cell, or_connection_t *conn)
}
/**
- * Handle an incoming variable-length cell on a channel_tls_t
+ * Handle an incoming variable-length cell on a channel_tls_t.
*
* Process a <b>var_cell</b> that was just received on <b>conn</b>. Keep
* internal statistics about how many of each cell we've processed so far
@@ -1176,7 +1146,6 @@ channel_tls_handle_cell(cell_t *cell, or_connection_t *conn)
* caller always frees them after this function returns, so this function
* should never free var_cell.
*/
-
void
channel_tls_handle_var_cell(var_cell_t *var_cell, or_connection_t *conn)
{
@@ -1341,7 +1310,7 @@ channel_tls_handle_var_cell(var_cell_t *var_cell, or_connection_t *conn)
}
/**
- * Update channel marks after connection_or.c has changed an address
+ * Update channel marks after connection_or.c has changed an address.
*
* This is called from connection_or_init_conn_from_address() after the
* connection's _base.addr or real_addr fields have potentially been changed
@@ -1350,7 +1319,6 @@ channel_tls_handle_var_cell(var_cell_t *var_cell, or_connection_t *conn)
* remote router by looking it up in the consensus after we finish the
* handshake and know an authenticated identity digest.
*/
-
void
channel_tls_update_marks(or_connection_t *conn)
{
@@ -1379,12 +1347,11 @@ channel_tls_update_marks(or_connection_t *conn)
}
/**
- * Check if this cell type is allowed before the handshake is finished
+ * Check if this cell type is allowed before the handshake is finished.
*
* Return true if <b>command</b> is a cell command that's allowed to start a
* V3 handshake.
*/
-
static int
command_allowed_before_handshake(uint8_t command)
{
@@ -1399,14 +1366,13 @@ command_allowed_before_handshake(uint8_t command)
}
/**
- * Start a V3 handshake on an incoming connection
+ * Start a V3 handshake on an incoming connection.
*
* Called when we as a server receive an appropriate cell while waiting
* either for a cell or a TLS handshake. Set the connection's state to
* "handshaking_v3', initializes the or_handshake_state field as needed,
* and add the cell to the hash of incoming cells.)
*/
-
static int
enter_v3_handshake_with_cell(var_cell_t *cell, channel_tls_t *chan)
{
@@ -1447,7 +1413,6 @@ enter_v3_handshake_with_cell(var_cell_t *cell, channel_tls_t *chan)
* we support, pick the highest version we have in common, and continue the
* negotiation from there.
*/
-
static void
channel_tls_process_versions_cell(var_cell_t *cell, channel_tls_t *chan)
{
@@ -1588,7 +1553,7 @@ channel_tls_process_versions_cell(var_cell_t *cell, channel_tls_t *chan)
}
}
- /* We set this after sending the verions cell. */
+ /* We set this after sending the versions cell. */
/*XXXXX symbolic const.*/
TLS_CHAN_TO_BASE(chan)->wide_circ_ids =
chan->conn->link_proto >= MIN_LINK_PROTO_FOR_WIDE_CIRC_IDS;
@@ -1622,7 +1587,7 @@ channel_tls_process_versions_cell(var_cell_t *cell, channel_tls_t *chan)
}
/**
- * Process a 'padding_negotiate' cell
+ * Process a 'padding_negotiate' cell.
*
* This function is called to handle an incoming PADDING_NEGOTIATE cell;
* enable or disable padding accordingly, and read and act on its timeout
@@ -1659,12 +1624,11 @@ channel_tls_process_padding_negotiate_cell(cell_t *cell, channel_tls_t *chan)
}
/**
- * Process a 'netinfo' cell
+ * Process a 'netinfo' cell.
*
* This function is called to handle an incoming NETINFO cell; read and act
* on its contents, and set the connection state to "open".
*/
-
static void
channel_tls_process_netinfo_cell(cell_t *cell, channel_tls_t *chan)
{
@@ -2167,7 +2131,7 @@ channel_tls_process_certs_cell(var_cell_t *cell, channel_tls_t *chan)
}
/**
- * Process an AUTH_CHALLENGE cell from a channel_tls_t
+ * Process an AUTH_CHALLENGE cell from a channel_tls_t.
*
* This function is called to handle an incoming AUTH_CHALLENGE cell on a
* channel_tls_t; if we weren't supposed to get one (for example, because we're
@@ -2176,7 +2140,6 @@ channel_tls_process_certs_cell(var_cell_t *cell, channel_tls_t *chan)
* want to authenticate, just drop it. If the cell is well-formed *and* we
* want to authenticate, send an AUTHENTICATE cell and then a NETINFO cell.
*/
-
STATIC void
channel_tls_process_auth_challenge_cell(var_cell_t *cell, channel_tls_t *chan)
{
@@ -2270,7 +2233,7 @@ channel_tls_process_auth_challenge_cell(var_cell_t *cell, channel_tls_t *chan)
}
/**
- * Process an AUTHENTICATE cell from a channel_tls_t
+ * Process an AUTHENTICATE cell from a channel_tls_t.
*
* If it's ill-formed or we weren't supposed to get one or we're not doing a
* v3 handshake, then mark the connection. If it does not authenticate the
@@ -2278,7 +2241,6 @@ channel_tls_process_auth_challenge_cell(var_cell_t *cell, channel_tls_t *chan)
* we didn't get a CERTS cell, etc) mark the connection. Otherwise, accept
* the identity of the router on the other side of the connection.
*/
-
STATIC void
channel_tls_process_authenticate_cell(var_cell_t *cell, channel_tls_t *chan)
{
diff --git a/src/or/circpathbias.c b/src/or/circpathbias.c
index f4bd5ea2fa..c1c1ca31be 100644
--- a/src/or/circpathbias.c
+++ b/src/or/circpathbias.c
@@ -1467,7 +1467,7 @@ pathbias_measure_close_rate(entry_guard_t *guard)
*
* XXX: The attempt count transfer stuff here might be done
* better by keeping separate pending counters that get
- * transfered at circuit close. See ticket #8160.
+ * transferred at circuit close. See ticket #8160.
*/
static void
pathbias_scale_close_rates(entry_guard_t *guard)
@@ -1527,7 +1527,7 @@ pathbias_scale_close_rates(entry_guard_t *guard)
*
* XXX: The attempt count transfer stuff here might be done
* better by keeping separate pending counters that get
- * transfered at circuit close. See ticket #8160.
+ * transferred at circuit close. See ticket #8160.
*/
void
pathbias_scale_use_rates(entry_guard_t *guard)
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 9c049a24b3..b3b543348c 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -347,45 +347,6 @@ circuit_log_path(int severity, unsigned int domain, origin_circuit_t *circ)
tor_free(s);
}
-/** Tell the rep(utation)hist(ory) module about the status of the links
- * in <b>circ</b>. Hops that have become OPEN are marked as successfully
- * extended; the _first_ hop that isn't open (if any) is marked as
- * unable to extend.
- */
-/* XXXX Someday we should learn from OR circuits too. */
-void
-circuit_rep_hist_note_result(origin_circuit_t *circ)
-{
- crypt_path_t *hop;
- const char *prev_digest = NULL;
- hop = circ->cpath;
- if (!hop) /* circuit hasn't started building yet. */
- return;
- if (server_mode(get_options())) {
- const routerinfo_t *me = router_get_my_routerinfo();
- if (!me)
- return;
- prev_digest = me->cache_info.identity_digest;
- }
- do {
- const node_t *node = node_get_by_id(hop->extend_info->identity_digest);
- if (node) { /* Why do we check this? We know the identity. -NM XXXX */
- if (prev_digest) {
- if (hop->state == CPATH_STATE_OPEN)
- rep_hist_note_extend_succeeded(prev_digest, node->identity);
- else {
- rep_hist_note_extend_failed(prev_digest, node->identity);
- break;
- }
- }
- prev_digest = node->identity;
- } else {
- prev_digest = NULL;
- }
- hop=hop->next;
- } while (hop!=circ->cpath);
-}
-
/** Return 1 iff every node in circ's cpath definitely supports ntor. */
static int
circuit_cpath_supports_ntor(const origin_circuit_t *circ)
@@ -1075,7 +1036,6 @@ circuit_build_no_more_hops(origin_circuit_t *circ)
}
pathbias_count_build_success(circ);
- circuit_rep_hist_note_result(circ);
if (is_usable_for_streams)
circuit_has_opened(circ); /* do other actions as necessary */
@@ -1095,7 +1055,7 @@ circuit_build_no_more_hops(origin_circuit_t *circ)
clear_broken_connection_map(1);
if (server_mode(options) && !check_whether_orport_reachable(options)) {
inform_testing_reachability();
- consider_testing_reachability(1, 1);
+ router_do_reachability_checks(1, 1);
}
}
@@ -1651,7 +1611,7 @@ onionskin_answer(or_circuit_t *circ,
* rend_service_launch_establish_intro())
*
* - We are a router testing its own reachabiity
- * (CIRCUIT_PURPOSE_TESTING, via consider_testing_reachability())
+ * (CIRCUIT_PURPOSE_TESTING, via router_do_reachability_checks())
*
* onion_pick_cpath_exit() bypasses us (by not calling
* new_route_len()) in the one-hop tunnel case, so we don't need to
@@ -2223,7 +2183,7 @@ pick_restricted_middle_node(router_crn_flags_t flags,
* Max number of restricted nodes before we alert the user and try
* to load balance for them.
*
- * The most agressive vanguard design had 16 nodes at layer3.
+ * The most aggressive vanguard design had 16 nodes at layer3.
* Let's give a small ceiling above that. */
#define MAX_SANE_RESTRICTED_NODES 20
/* If the user (or associated tor controller) selected only a few nodes,
@@ -2906,8 +2866,10 @@ extend_info_from_node(const node_t *node, int for_direct_connect)
valid_addr = fascist_firewall_choose_address_node(node,
FIREWALL_OR_CONNECTION,
0, &ap);
- else
- valid_addr = !node_get_prim_orport(node, &ap);
+ else {
+ node_get_prim_orport(node, &ap);
+ valid_addr = tor_addr_port_is_valid_ap(&ap, 0);
+ }
if (valid_addr)
log_debug(LD_CIRC, "using %s for %s",
diff --git a/src/or/circuitbuild.h b/src/or/circuitbuild.h
index 1014477663..bea31ad0dd 100644
--- a/src/or/circuitbuild.h
+++ b/src/or/circuitbuild.h
@@ -17,7 +17,6 @@ char *circuit_list_path(origin_circuit_t *circ, int verbose);
char *circuit_list_path_for_controller(origin_circuit_t *circ);
void circuit_log_path(int severity, unsigned int domain,
origin_circuit_t *circ);
-void circuit_rep_hist_note_result(origin_circuit_t *circ);
origin_circuit_t *origin_circuit_init(uint8_t purpose, int flags);
origin_circuit_t *circuit_establish_circuit(uint8_t purpose,
extend_info_t *exit,
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 8c02cd1c19..f362b8e97f 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -82,6 +82,9 @@
#include "routerlist.h"
#include "routerset.h"
#include "channelpadding.h"
+#include "compress_lzma.h"
+#include "compress_zlib.h"
+#include "compress_zstd.h"
#include "ht.h"
@@ -403,9 +406,6 @@ circuit_set_p_circid_chan(or_circuit_t *or_circ, circid_t id,
circuit_set_circid_chan_helper(circ, CELL_DIRECTION_IN, id, chan);
if (chan) {
- tor_assert(bool_eq(or_circ->p_chan_cells.n,
- or_circ->next_active_on_p_chan));
-
chan->timestamp_last_had_circuits = approx_time();
}
@@ -428,8 +428,6 @@ circuit_set_n_circid_chan(circuit_t *circ, circid_t id,
circuit_set_circid_chan_helper(circ, CELL_DIRECTION_OUT, id, chan);
if (chan) {
- tor_assert(bool_eq(circ->n_chan_cells.n, circ->next_active_on_n_chan));
-
chan->timestamp_last_had_circuits = approx_time();
}
@@ -806,9 +804,9 @@ circuit_purpose_to_string(uint8_t purpose)
case CIRCUIT_PURPOSE_INTRO_POINT:
return "Acting as intro point";
case CIRCUIT_PURPOSE_REND_POINT_WAITING:
- return "Acting as rendevous (pending)";
+ return "Acting as rendezvous (pending)";
case CIRCUIT_PURPOSE_REND_ESTABLISHED:
- return "Acting as rendevous (established)";
+ return "Acting as rendezvous (established)";
case CIRCUIT_PURPOSE_C_GENERAL:
return "General-purpose client";
case CIRCUIT_PURPOSE_C_INTRODUCING:
@@ -897,8 +895,10 @@ init_circuit_base(circuit_t *circ)
/** If we haven't yet decided on a good timeout value for circuit
* building, we close idle circuits aggressively so we can get more
- * data points. */
-#define IDLE_TIMEOUT_WHILE_LEARNING (1*60)
+ * data points. These are the default, min, and max consensus values */
+#define DFLT_IDLE_TIMEOUT_WHILE_LEARNING (3*60)
+#define MIN_IDLE_TIMEOUT_WHILE_LEARNING (10)
+#define MAX_IDLE_TIMEOUT_WHILE_LEARNING (1000*60)
/** Allocate space for a new circuit, initializing with <b>p_circ_id</b>
* and <b>p_conn</b>. Add it to the global circuit list.
@@ -931,7 +931,11 @@ origin_circuit_new(void)
circuit_build_times_needs_circuits(get_circuit_build_times())) {
/* Circuits should be shorter lived if we need more of them
* for learning a good build timeout */
- circ->circuit_idle_timeout = IDLE_TIMEOUT_WHILE_LEARNING;
+ circ->circuit_idle_timeout =
+ networkstatus_get_param(NULL, "cbtlearntimeout",
+ DFLT_IDLE_TIMEOUT_WHILE_LEARNING,
+ MIN_IDLE_TIMEOUT_WHILE_LEARNING,
+ MAX_IDLE_TIMEOUT_WHILE_LEARNING);
} else {
// This should always be larger than the current port prediction time
// remaining, or else we'll end up with the case where a circuit times out
@@ -951,7 +955,11 @@ origin_circuit_new(void)
"%d seconds of predictive building remaining.",
circ->circuit_idle_timeout,
prediction_time_remaining);
- circ->circuit_idle_timeout = IDLE_TIMEOUT_WHILE_LEARNING;
+ circ->circuit_idle_timeout =
+ networkstatus_get_param(NULL, "cbtlearntimeout",
+ DFLT_IDLE_TIMEOUT_WHILE_LEARNING,
+ MIN_IDLE_TIMEOUT_WHILE_LEARNING,
+ MAX_IDLE_TIMEOUT_WHILE_LEARNING);
}
log_info(LD_CIRC,
@@ -1986,8 +1994,7 @@ circuit_mark_all_dirty_circs_as_unusable(void)
* - If state is onionskin_pending, remove circ from the onion_pending
* list.
* - If circ isn't open yet: call circuit_build_failed() if we're
- * the origin, and in either case call circuit_rep_hist_note_result()
- * to note stats.
+ * the origin.
* - If purpose is C_INTRODUCE_ACK_WAIT, report the intro point
* failure we just had to the hidden service client module.
* - If purpose is C_INTRODUCING and <b>reason</b> isn't TIMEOUT,
@@ -2123,7 +2130,6 @@ circuit_about_to_free(circuit_t *circ)
if (CIRCUIT_IS_ORIGIN(circ)) {
origin_circuit_t *ocirc = TO_ORIGIN_CIRCUIT(circ);
circuit_build_failed(ocirc); /* take actions if necessary */
- circuit_rep_hist_note_result(ocirc);
}
}
if (circ->state == CIRCUIT_STATE_CHAN_WAIT) {
@@ -2468,12 +2474,17 @@ circuits_handle_oom(size_t current_allocation)
log_notice(LD_GENERAL, "We're low on memory (cell queues total alloc:"
" %"TOR_PRIuSZ" buffer total alloc: %" TOR_PRIuSZ ","
" tor compress total alloc: %" TOR_PRIuSZ
+ " (zlib: %" TOR_PRIuSZ ", zstd: %" TOR_PRIuSZ ","
+ " lzma: %" TOR_PRIuSZ "),"
" rendezvous cache total alloc: %" TOR_PRIuSZ "). Killing"
" circuits withover-long queues. (This behavior is controlled by"
" MaxMemInQueues.)",
cell_queues_get_total_allocation(),
buf_get_total_allocation(),
tor_compress_get_total_allocation(),
+ tor_zlib_get_total_allocation(),
+ tor_zstd_get_total_allocation(),
+ tor_lzma_get_total_allocation(),
rend_cache_get_total_allocation());
{
diff --git a/src/or/circuitmux.c b/src/or/circuitmux.c
index fe3d8f1332..f9f5faa057 100644
--- a/src/or/circuitmux.c
+++ b/src/or/circuitmux.c
@@ -114,13 +114,6 @@ struct circuitmux_s {
*/
chanid_circid_muxinfo_map_t *chanid_circid_map;
- /*
- * Double-linked ring of circuits with queued cells waiting for room to
- * free up on this connection's outbuf. Every time we pull cells from
- * a circuit, we advance this pointer to the next circuit in the ring.
- */
- struct circuit_t *active_circuits_head, *active_circuits_tail;
-
/** List of queued destroy cells */
destroy_cell_queue_t destroy_cell_queue;
/** Boolean: True iff the last cell to circuitmux_get_first_active_circuit
@@ -177,17 +170,6 @@ struct chanid_circid_muxinfo_t {
};
/*
- * Internal-use #defines
- */
-
-#ifdef CMUX_PARANOIA
-#define circuitmux_assert_okay_paranoid(cmux) \
- circuitmux_assert_okay(cmux)
-#else
-#define circuitmux_assert_okay_paranoid(cmux)
-#endif /* defined(CMUX_PARANOIA) */
-
-/*
* Static function declarations
*/
@@ -199,21 +181,9 @@ chanid_circid_entry_hash(chanid_circid_muxinfo_t *a);
static chanid_circid_muxinfo_t *
circuitmux_find_map_entry(circuitmux_t *cmux, circuit_t *circ);
static void
-circuitmux_make_circuit_active(circuitmux_t *cmux, circuit_t *circ,
- cell_direction_t direction);
+circuitmux_make_circuit_active(circuitmux_t *cmux, circuit_t *circ);
static void
-circuitmux_make_circuit_inactive(circuitmux_t *cmux, circuit_t *circ,
- cell_direction_t direction);
-static inline void
-circuitmux_move_active_circ_to_tail(circuitmux_t *cmux, circuit_t *circ,
- cell_direction_t direction);
-static inline circuit_t **
-circuitmux_next_active_circ_p(circuitmux_t *cmux, circuit_t *circ);
-static inline circuit_t **
-circuitmux_prev_active_circ_p(circuitmux_t *cmux, circuit_t *circ);
-static void circuitmux_assert_okay_pass_one(circuitmux_t *cmux);
-static void circuitmux_assert_okay_pass_two(circuitmux_t *cmux);
-static void circuitmux_assert_okay_pass_three(circuitmux_t *cmux);
+circuitmux_make_circuit_inactive(circuitmux_t *cmux, circuit_t *circ);
/* Static global variables */
@@ -223,119 +193,6 @@ static int64_t global_destroy_ctr = 0;
/* Function definitions */
/**
- * Linked list helpers
- */
-
-/**
- * Move an active circuit to the tail of the cmux's active circuits list;
- * used by circuitmux_notify_xmit_cells().
- */
-
-static inline void
-circuitmux_move_active_circ_to_tail(circuitmux_t *cmux, circuit_t *circ,
- cell_direction_t direction)
-{
- circuit_t **next_p = NULL, **prev_p = NULL;
- circuit_t **next_prev = NULL, **prev_next = NULL;
- circuit_t **tail_next = NULL;
- or_circuit_t *or_circ = NULL;
-
- tor_assert(cmux);
- tor_assert(circ);
-
- circuitmux_assert_okay_paranoid(cmux);
-
- /* Figure out our next_p and prev_p for this cmux/direction */
- if (direction) {
- if (direction == CELL_DIRECTION_OUT) {
- tor_assert(circ->n_mux == cmux);
- next_p = &(circ->next_active_on_n_chan);
- prev_p = &(circ->prev_active_on_n_chan);
- } else {
- or_circ = TO_OR_CIRCUIT(circ);
- tor_assert(or_circ->p_mux == cmux);
- next_p = &(or_circ->next_active_on_p_chan);
- prev_p = &(or_circ->prev_active_on_p_chan);
- }
- } else {
- if (circ->n_mux == cmux) {
- next_p = &(circ->next_active_on_n_chan);
- prev_p = &(circ->prev_active_on_n_chan);
- } else {
- or_circ = TO_OR_CIRCUIT(circ);
- tor_assert(or_circ->p_mux == cmux);
- next_p = &(or_circ->next_active_on_p_chan);
- prev_p = &(or_circ->prev_active_on_p_chan);
- }
- }
- tor_assert(next_p);
- tor_assert(prev_p);
-
- /* Check if this really is an active circuit */
- if ((*next_p == NULL && *prev_p == NULL) &&
- !(circ == cmux->active_circuits_head ||
- circ == cmux->active_circuits_tail)) {
- /* Not active, no-op */
- return;
- }
-
- /* Check if this is already the tail */
- if (circ == cmux->active_circuits_tail) return;
-
- /* Okay, we have to move it; figure out next_prev and prev_next */
- if (*next_p) next_prev = circuitmux_prev_active_circ_p(cmux, *next_p);
- if (*prev_p) prev_next = circuitmux_next_active_circ_p(cmux, *prev_p);
- /* Adjust the previous node's next pointer, if any */
- if (prev_next) *prev_next = *next_p;
- /* Otherwise, we were the head */
- else cmux->active_circuits_head = *next_p;
- /* Adjust the next node's previous pointer, if any */
- if (next_prev) *next_prev = *prev_p;
- /* We're out of the list; now re-attach at the tail */
- /* Adjust our next and prev pointers */
- *next_p = NULL;
- *prev_p = cmux->active_circuits_tail;
- /* Set the next pointer of the tail, or the head if none */
- if (cmux->active_circuits_tail) {
- tail_next = circuitmux_next_active_circ_p(cmux,
- cmux->active_circuits_tail);
- *tail_next = circ;
- } else {
- cmux->active_circuits_head = circ;
- }
- /* Set the tail to this circuit */
- cmux->active_circuits_tail = circ;
-
- circuitmux_assert_okay_paranoid(cmux);
-}
-
-static inline circuit_t **
-circuitmux_next_active_circ_p(circuitmux_t *cmux, circuit_t *circ)
-{
- tor_assert(cmux);
- tor_assert(circ);
-
- if (circ->n_mux == cmux) return &(circ->next_active_on_n_chan);
- else {
- tor_assert(TO_OR_CIRCUIT(circ)->p_mux == cmux);
- return &(TO_OR_CIRCUIT(circ)->next_active_on_p_chan);
- }
-}
-
-static inline circuit_t **
-circuitmux_prev_active_circ_p(circuitmux_t *cmux, circuit_t *circ)
-{
- tor_assert(cmux);
- tor_assert(circ);
-
- if (circ->n_mux == cmux) return &(circ->prev_active_on_n_chan);
- else {
- tor_assert(TO_OR_CIRCUIT(circ)->p_mux == cmux);
- return &(TO_OR_CIRCUIT(circ)->prev_active_on_p_chan);
- }
-}
-
-/**
* Helper for chanid_circid_cell_count_map_t hash table: compare the channel
* ID and circuit ID for a and b, and return less than, equal to, or greater
* than zero appropriately.
@@ -406,11 +263,6 @@ circuitmux_detach_all_circuits(circuitmux_t *cmux, smartlist_t *detached_out)
circuit_t *circ = NULL;
tor_assert(cmux);
- /*
- * Don't circuitmux_assert_okay_paranoid() here; this gets called when
- * channels are being freed and have already been unregistered, so
- * the channel ID lookups it does will fail.
- */
i = HT_START(chanid_circid_muxinfo_map, cmux->chanid_circid_map);
while (i) {
@@ -435,7 +287,7 @@ circuitmux_detach_all_circuits(circuitmux_t *cmux, smartlist_t *detached_out)
*/
if (to_remove->muxinfo.cell_count > 0) {
- circuitmux_make_circuit_inactive(cmux, circ, CELL_DIRECTION_OUT);
+ circuitmux_make_circuit_inactive(cmux, circ);
}
/* Clear n_mux */
@@ -450,7 +302,7 @@ circuitmux_detach_all_circuits(circuitmux_t *cmux, smartlist_t *detached_out)
*/
if (to_remove->muxinfo.cell_count > 0) {
- circuitmux_make_circuit_inactive(cmux, circ, CELL_DIRECTION_IN);
+ circuitmux_make_circuit_inactive(cmux, circ);
}
/*
@@ -606,9 +458,7 @@ circuitmux_clear_policy(circuitmux_t *cmux)
tor_assert(cmux);
/* Internally, this is just setting policy to NULL */
- if (cmux->policy) {
- circuitmux_set_policy(cmux, NULL);
- }
+ circuitmux_set_policy(cmux, NULL);
}
/**
@@ -944,7 +794,6 @@ circuitmux_attach_circuit,(circuitmux_t *cmux, circuit_t *circ,
tor_assert(circ);
tor_assert(direction == CELL_DIRECTION_IN ||
direction == CELL_DIRECTION_OUT);
- circuitmux_assert_okay_paranoid(cmux);
/*
* Figure out which channel we're using, and get the circuit's current
@@ -1002,10 +851,10 @@ circuitmux_attach_circuit,(circuitmux_t *cmux, circuit_t *circ,
*/
if (hashent->muxinfo.cell_count > 0 && cell_count == 0) {
--(cmux->n_active_circuits);
- circuitmux_make_circuit_inactive(cmux, circ, direction);
+ circuitmux_make_circuit_inactive(cmux, circ);
} else if (hashent->muxinfo.cell_count == 0 && cell_count > 0) {
++(cmux->n_active_circuits);
- circuitmux_make_circuit_active(cmux, circ, direction);
+ circuitmux_make_circuit_active(cmux, circ);
}
cmux->n_cells -= hashent->muxinfo.cell_count;
cmux->n_cells += cell_count;
@@ -1033,7 +882,7 @@ circuitmux_attach_circuit,(circuitmux_t *cmux, circuit_t *circ,
hashent->muxinfo.cell_count = cell_count;
hashent->muxinfo.direction = direction;
/* Allocate policy specific circuit data if we need it */
- if (cmux->policy && cmux->policy->alloc_circ_data) {
+ if (cmux->policy->alloc_circ_data) {
/* Assert that we have the means to free policy-specific data */
tor_assert(cmux->policy->free_circ_data);
/* Allocate it */
@@ -1053,25 +902,14 @@ circuitmux_attach_circuit,(circuitmux_t *cmux, circuit_t *circ,
if (direction == CELL_DIRECTION_OUT) circ->n_mux = cmux;
else TO_OR_CIRCUIT(circ)->p_mux = cmux;
- /* Make sure the next/prev pointers are NULL */
- if (direction == CELL_DIRECTION_OUT) {
- circ->next_active_on_n_chan = NULL;
- circ->prev_active_on_n_chan = NULL;
- } else {
- TO_OR_CIRCUIT(circ)->next_active_on_p_chan = NULL;
- TO_OR_CIRCUIT(circ)->prev_active_on_p_chan = NULL;
- }
-
/* Update counters */
++(cmux->n_circuits);
if (cell_count > 0) {
++(cmux->n_active_circuits);
- circuitmux_make_circuit_active(cmux, circ, direction);
+ circuitmux_make_circuit_active(cmux, circ);
}
cmux->n_cells += cell_count;
}
-
- circuitmux_assert_okay_paranoid(cmux);
}
/**
@@ -1095,7 +933,6 @@ circuitmux_detach_circuit,(circuitmux_t *cmux, circuit_t *circ))
tor_assert(cmux);
tor_assert(cmux->chanid_circid_map);
tor_assert(circ);
- circuitmux_assert_okay_paranoid(cmux);
/* See if we have it for n_chan/n_circ_id */
if (circ->n_chan) {
@@ -1133,7 +970,7 @@ circuitmux_detach_circuit,(circuitmux_t *cmux, circuit_t *circ))
if (hashent->muxinfo.cell_count > 0) {
--(cmux->n_active_circuits);
/* This does policy notifies, so comes before freeing policy data */
- circuitmux_make_circuit_inactive(cmux, circ, last_searched_direction);
+ circuitmux_make_circuit_inactive(cmux, circ);
}
cmux->n_cells -= hashent->muxinfo.cell_count;
@@ -1162,8 +999,6 @@ circuitmux_detach_circuit,(circuitmux_t *cmux, circuit_t *circ))
/* Free the hash entry */
tor_free(hashent);
}
-
- circuitmux_assert_okay_paranoid(cmux);
}
/**
@@ -1172,94 +1007,22 @@ circuitmux_detach_circuit,(circuitmux_t *cmux, circuit_t *circ))
*/
static void
-circuitmux_make_circuit_active(circuitmux_t *cmux, circuit_t *circ,
- cell_direction_t direction)
+circuitmux_make_circuit_active(circuitmux_t *cmux, circuit_t *circ)
{
- circuit_t **next_active = NULL, **prev_active = NULL, **next_prev = NULL;
- circuitmux_t *circuit_cmux = NULL;
- chanid_circid_muxinfo_t *hashent = NULL;
- channel_t *chan = NULL;
- circid_t circ_id;
- int already_active;
-
tor_assert(cmux);
+ tor_assert(cmux->policy);
tor_assert(circ);
- tor_assert(direction == CELL_DIRECTION_OUT ||
- direction == CELL_DIRECTION_IN);
- /*
- * Don't circuitmux_assert_okay_paranoid(cmux) here because the cell count
- * already got changed and we have to update the list for it to be consistent
- * again.
- */
-
- /* Get the right set of active list links for this direction */
- if (direction == CELL_DIRECTION_OUT) {
- next_active = &(circ->next_active_on_n_chan);
- prev_active = &(circ->prev_active_on_n_chan);
- circuit_cmux = circ->n_mux;
- chan = circ->n_chan;
- circ_id = circ->n_circ_id;
- } else {
- next_active = &(TO_OR_CIRCUIT(circ)->next_active_on_p_chan);
- prev_active = &(TO_OR_CIRCUIT(circ)->prev_active_on_p_chan);
- circuit_cmux = TO_OR_CIRCUIT(circ)->p_mux;
- chan = TO_OR_CIRCUIT(circ)->p_chan;
- circ_id = TO_OR_CIRCUIT(circ)->p_circ_id;
- }
-
- /* Assert that it is attached to this mux and a channel */
- tor_assert(cmux == circuit_cmux);
- tor_assert(chan != NULL);
-
- /*
- * Check if the circuit really was inactive; if it's active, at least one
- * of the next_active and prev_active pointers will not be NULL, or this
- * circuit will be either the head or tail of the list for this cmux.
- */
- already_active = (*prev_active != NULL || *next_active != NULL ||
- cmux->active_circuits_head == circ ||
- cmux->active_circuits_tail == circ);
-
- /* If we're already active, log a warning and finish */
- if (already_active) {
- log_warn(LD_CIRC,
- "Circuit %u on channel " U64_FORMAT " was already active",
- (unsigned)circ_id, U64_PRINTF_ARG(chan->global_identifier));
- return;
- }
-
- /*
- * This is going at the head of the list; if the old head is not NULL,
- * then its prev pointer should point to this.
- */
- *next_active = cmux->active_circuits_head; /* Next is old head */
- *prev_active = NULL; /* Prev is NULL (this will be the head) */
- if (cmux->active_circuits_head) {
- /* The list had an old head; update its prev pointer */
- next_prev =
- circuitmux_prev_active_circ_p(cmux, cmux->active_circuits_head);
- tor_assert(next_prev);
- *next_prev = circ;
- } else {
- /* The list was empty; this becomes the tail as well */
- cmux->active_circuits_tail = circ;
- }
- /* This becomes the new head of the list */
- cmux->active_circuits_head = circ;
/* Policy-specific notification */
- if (cmux->policy &&
- cmux->policy->notify_circ_active) {
+ if (cmux->policy->notify_circ_active) {
/* Okay, we need to check the circuit for policy data now */
- hashent = circuitmux_find_map_entry(cmux, circ);
+ chanid_circid_muxinfo_t *hashent = circuitmux_find_map_entry(cmux, circ);
/* We should have found something */
tor_assert(hashent);
/* Notify */
cmux->policy->notify_circ_active(cmux, cmux->policy_data,
circ, hashent->muxinfo.policy_data);
}
-
- circuitmux_assert_okay_paranoid(cmux);
}
/**
@@ -1268,112 +1031,22 @@ circuitmux_make_circuit_active(circuitmux_t *cmux, circuit_t *circ,
*/
static void
-circuitmux_make_circuit_inactive(circuitmux_t *cmux, circuit_t *circ,
- cell_direction_t direction)
+circuitmux_make_circuit_inactive(circuitmux_t *cmux, circuit_t *circ)
{
- circuit_t **next_active = NULL, **prev_active = NULL;
- circuit_t **next_prev = NULL, **prev_next = NULL;
- circuitmux_t *circuit_cmux = NULL;
- chanid_circid_muxinfo_t *hashent = NULL;
- channel_t *chan = NULL;
- circid_t circ_id;
- int already_inactive;
-
tor_assert(cmux);
+ tor_assert(cmux->policy);
tor_assert(circ);
- tor_assert(direction == CELL_DIRECTION_OUT ||
- direction == CELL_DIRECTION_IN);
- /*
- * Don't circuitmux_assert_okay_paranoid(cmux) here because the cell count
- * already got changed and we have to update the list for it to be consistent
- * again.
- */
-
- /* Get the right set of active list links for this direction */
- if (direction == CELL_DIRECTION_OUT) {
- next_active = &(circ->next_active_on_n_chan);
- prev_active = &(circ->prev_active_on_n_chan);
- circuit_cmux = circ->n_mux;
- chan = circ->n_chan;
- circ_id = circ->n_circ_id;
- } else {
- next_active = &(TO_OR_CIRCUIT(circ)->next_active_on_p_chan);
- prev_active = &(TO_OR_CIRCUIT(circ)->prev_active_on_p_chan);
- circuit_cmux = TO_OR_CIRCUIT(circ)->p_mux;
- chan = TO_OR_CIRCUIT(circ)->p_chan;
- circ_id = TO_OR_CIRCUIT(circ)->p_circ_id;
- }
-
- /* Assert that it is attached to this mux and a channel */
- tor_assert(cmux == circuit_cmux);
- tor_assert(chan != NULL);
-
- /*
- * Check if the circuit really was active; if it's inactive, the
- * next_active and prev_active pointers will be NULL and this circuit
- * will not be the head or tail of the list for this cmux.
- */
- already_inactive = (*prev_active == NULL && *next_active == NULL &&
- cmux->active_circuits_head != circ &&
- cmux->active_circuits_tail != circ);
-
- /* If we're already inactive, log a warning and finish */
- if (already_inactive) {
- log_warn(LD_CIRC,
- "Circuit %d on channel " U64_FORMAT " was already inactive",
- (unsigned)circ_id, U64_PRINTF_ARG(chan->global_identifier));
- return;
- }
-
- /* Remove from the list; first get next_prev and prev_next */
- if (*next_active) {
- /*
- * If there's a next circuit, its previous circuit becomes this
- * circuit's previous circuit.
- */
- next_prev = circuitmux_prev_active_circ_p(cmux, *next_active);
- } else {
- /* Else, the tail becomes this circuit's previous circuit */
- next_prev = &(cmux->active_circuits_tail);
- }
-
- /* Got next_prev, now prev_next */
- if (*prev_active) {
- /*
- * If there's a previous circuit, its next circuit becomes this circuit's
- * next circuit.
- */
- prev_next = circuitmux_next_active_circ_p(cmux, *prev_active);
- } else {
- /* Else, the head becomes this circuit's next circuit */
- prev_next = &(cmux->active_circuits_head);
- }
-
- /* Assert that we got sensible values for the next/prev pointers */
- tor_assert(next_prev != NULL);
- tor_assert(prev_next != NULL);
-
- /* Update the next/prev pointers - this removes circ from the list */
- *next_prev = *prev_active;
- *prev_next = *next_active;
-
- /* Now null out prev_active/next_active */
- *prev_active = NULL;
- *next_active = NULL;
/* Policy-specific notification */
- if (cmux->policy &&
- cmux->policy->notify_circ_inactive) {
+ if (cmux->policy->notify_circ_inactive) {
/* Okay, we need to check the circuit for policy data now */
- hashent = circuitmux_find_map_entry(cmux, circ);
+ chanid_circid_muxinfo_t *hashent = circuitmux_find_map_entry(cmux, circ);
/* We should have found something */
tor_assert(hashent);
/* Notify */
cmux->policy->notify_circ_inactive(cmux, cmux->policy_data,
circ, hashent->muxinfo.policy_data);
}
-
- circuitmux_assert_okay_paranoid(cmux);
}
/**
@@ -1400,8 +1073,6 @@ circuitmux_set_num_cells(circuitmux_t *cmux, circuit_t *circ,
tor_assert(cmux);
tor_assert(circ);
- circuitmux_assert_okay_paranoid(cmux);
-
/* Search for this circuit's entry */
hashent = circuitmux_find_map_entry(cmux, circ);
/* Assert that we found one */
@@ -1412,7 +1083,7 @@ circuitmux_set_num_cells(circuitmux_t *cmux, circuit_t *circ,
cmux->n_cells += n_cells;
/* Do we need to notify a cmux policy? */
- if (cmux->policy && cmux->policy->notify_set_n_cells) {
+ if (cmux->policy->notify_set_n_cells) {
/* Call notify_set_n_cells */
cmux->policy->notify_set_n_cells(cmux,
cmux->policy_data,
@@ -1428,21 +1099,15 @@ circuitmux_set_num_cells(circuitmux_t *cmux, circuit_t *circ,
if (hashent->muxinfo.cell_count > 0 && n_cells == 0) {
--(cmux->n_active_circuits);
hashent->muxinfo.cell_count = n_cells;
- circuitmux_make_circuit_inactive(cmux, circ, hashent->muxinfo.direction);
+ circuitmux_make_circuit_inactive(cmux, circ);
/* Is the old cell count == 0 and the new cell count > 0 ? */
} else if (hashent->muxinfo.cell_count == 0 && n_cells > 0) {
++(cmux->n_active_circuits);
hashent->muxinfo.cell_count = n_cells;
- circuitmux_make_circuit_active(cmux, circ, hashent->muxinfo.direction);
+ circuitmux_make_circuit_active(cmux, circ);
} else {
- /*
- * Update the entry cell count like this so we can put a
- * circuitmux_assert_okay_paranoid inside make_circuit_(in)active() too.
- */
hashent->muxinfo.cell_count = n_cells;
}
-
- circuitmux_assert_okay_paranoid(cmux);
}
/*
@@ -1468,6 +1133,9 @@ circuitmux_get_first_active_circuit(circuitmux_t *cmux,
circuit_t *circ = NULL;
tor_assert(cmux);
+ tor_assert(cmux->policy);
+ /* This callback is mandatory. */
+ tor_assert(cmux->policy->pick_active_circuit);
tor_assert(destroy_queue_out);
*destroy_queue_out = NULL;
@@ -1486,14 +1154,7 @@ circuitmux_get_first_active_circuit(circuitmux_t *cmux,
/* We also must have a cell available for this to be the case */
tor_assert(cmux->n_cells > 0);
/* Do we have a policy-provided circuit selector? */
- if (cmux->policy && cmux->policy->pick_active_circuit) {
- circ = cmux->policy->pick_active_circuit(cmux, cmux->policy_data);
- }
- /* Fall back on the head of the active circuits list */
- if (!circ) {
- tor_assert(cmux->active_circuits_head);
- circ = cmux->active_circuits_head;
- }
+ circ = cmux->policy->pick_active_circuit(cmux, cmux->policy_data);
cmux->last_cell_was_destroy = 0;
} else {
tor_assert(cmux->n_cells == 0);
@@ -1517,7 +1178,6 @@ circuitmux_notify_xmit_cells(circuitmux_t *cmux, circuit_t *circ,
tor_assert(cmux);
tor_assert(circ);
- circuitmux_assert_okay_paranoid(cmux);
if (n_cells == 0) return;
@@ -1544,17 +1204,11 @@ circuitmux_notify_xmit_cells(circuitmux_t *cmux, circuit_t *circ,
/* Adjust the mux cell counter */
cmux->n_cells -= n_cells;
- /* If we aren't making it inactive later, move it to the tail of the list */
- if (!becomes_inactive) {
- circuitmux_move_active_circ_to_tail(cmux, circ,
- hashent->muxinfo.direction);
- }
-
/*
* We call notify_xmit_cells() before making the circuit inactive if needed,
* so the policy can always count on this coming in on an active circuit.
*/
- if (cmux->policy && cmux->policy->notify_xmit_cells) {
+ if (cmux->policy->notify_xmit_cells) {
cmux->policy->notify_xmit_cells(cmux, cmux->policy_data, circ,
hashent->muxinfo.policy_data,
n_cells);
@@ -1566,10 +1220,8 @@ circuitmux_notify_xmit_cells(circuitmux_t *cmux, circuit_t *circ,
*/
if (becomes_inactive) {
--(cmux->n_active_circuits);
- circuitmux_make_circuit_inactive(cmux, circ, hashent->muxinfo.direction);
+ circuitmux_make_circuit_inactive(cmux, circ);
}
-
- circuitmux_assert_okay_paranoid(cmux);
}
/**
@@ -1592,282 +1244,6 @@ circuitmux_notify_xmit_destroy(circuitmux_t *cmux)
I64_PRINTF_ARG(global_destroy_ctr));
}
-/*
- * Circuitmux consistency checking assertions
- */
-
-/**
- * Check that circuitmux data structures are consistent and fail with an
- * assert if not.
- */
-
-void
-circuitmux_assert_okay(circuitmux_t *cmux)
-{
- tor_assert(cmux);
-
- /*
- * Pass 1: iterate the hash table; for each entry:
- * a) Check that the circuit has this cmux for n_mux or p_mux
- * b) If the cell_count is > 0, set the mark bit; otherwise clear it
- * c) Also check activeness (cell_count > 0 should be active)
- * d) Count the number of circuits, active circuits and queued cells
- * and at the end check that they match the counters in the cmux.
- *
- * Pass 2: iterate the active circuits list; for each entry,
- * make sure the circuit is attached to this mux and appears
- * in the hash table. Make sure the mark bit is 1, and clear
- * it in the hash table entry. Consistency-check the linked
- * list pointers.
- *
- * Pass 3: iterate the hash table again; assert if any active circuits
- * (mark bit set to 1) are discovered that weren't cleared in pass 2
- * (don't appear in the linked list).
- */
-
- circuitmux_assert_okay_pass_one(cmux);
- circuitmux_assert_okay_pass_two(cmux);
- circuitmux_assert_okay_pass_three(cmux);
-}
-
-/**
- * Do the first pass of circuitmux_assert_okay(); see the comment in that
- * function.
- */
-
-static void
-circuitmux_assert_okay_pass_one(circuitmux_t *cmux)
-{
- chanid_circid_muxinfo_t **i = NULL;
- uint64_t chan_id;
- channel_t *chan;
- circid_t circ_id;
- circuit_t *circ;
- or_circuit_t *or_circ;
- circuit_t **next_p, **prev_p;
- unsigned int n_circuits, n_active_circuits, n_cells;
-
- tor_assert(cmux);
- tor_assert(cmux->chanid_circid_map);
-
- /* Reset the counters */
- n_circuits = n_active_circuits = n_cells = 0;
- /* Start iterating the hash table */
- i = HT_START(chanid_circid_muxinfo_map, cmux->chanid_circid_map);
- while (i) {
- /* Assert that the hash table entry isn't null */
- tor_assert(*i);
-
- /* Get the channel and circuit id */
- chan_id = (*i)->chan_id;
- circ_id = (*i)->circ_id;
-
- /* Find the channel and circuit, assert that they exist */
- chan = channel_find_by_global_id(chan_id);
- tor_assert(chan);
- circ = circuit_get_by_circid_channel_even_if_marked(circ_id, chan);
- tor_assert(circ);
-
- /* Assert that we know which direction this is going */
- tor_assert((*i)->muxinfo.direction == CELL_DIRECTION_OUT ||
- (*i)->muxinfo.direction == CELL_DIRECTION_IN);
-
- if ((*i)->muxinfo.direction == CELL_DIRECTION_OUT) {
- /* We should be n_mux on this circuit */
- tor_assert(cmux == circ->n_mux);
- tor_assert(chan == circ->n_chan);
- /* Get next and prev for next test */
- next_p = &(circ->next_active_on_n_chan);
- prev_p = &(circ->prev_active_on_n_chan);
- } else {
- /* This should be an or_circuit_t and we should be p_mux */
- or_circ = TO_OR_CIRCUIT(circ);
- tor_assert(cmux == or_circ->p_mux);
- tor_assert(chan == or_circ->p_chan);
- /* Get next and prev for next test */
- next_p = &(or_circ->next_active_on_p_chan);
- prev_p = &(or_circ->prev_active_on_p_chan);
- }
-
- /*
- * Should this circuit be active? I.e., does the mux know about > 0
- * cells on it?
- */
- const int circ_is_active = ((*i)->muxinfo.cell_count > 0);
-
- /* It should be in the linked list iff it's active */
- if (circ_is_active) {
- /* Either we have a next link or we are the tail */
- tor_assert(*next_p || (circ == cmux->active_circuits_tail));
- /* Either we have a prev link or we are the head */
- tor_assert(*prev_p || (circ == cmux->active_circuits_head));
- /* Increment the active circuits counter */
- ++n_active_circuits;
- } else {
- /* Shouldn't be in list, so no next or prev link */
- tor_assert(!(*next_p));
- tor_assert(!(*prev_p));
- /* And can't be head or tail */
- tor_assert(circ != cmux->active_circuits_head);
- tor_assert(circ != cmux->active_circuits_tail);
- }
-
- /* Increment the circuits counter */
- ++n_circuits;
- /* Adjust the cell counter */
- n_cells += (*i)->muxinfo.cell_count;
-
- /* Set the mark bit to circ_is_active */
- (*i)->muxinfo.mark = circ_is_active;
-
- /* Advance to the next entry */
- i = HT_NEXT(chanid_circid_muxinfo_map, cmux->chanid_circid_map, i);
- }
-
- /* Now check the counters */
- tor_assert(n_cells == cmux->n_cells);
- tor_assert(n_circuits == cmux->n_circuits);
- tor_assert(n_active_circuits == cmux->n_active_circuits);
-}
-
-/**
- * Do the second pass of circuitmux_assert_okay(); see the comment in that
- * function.
- */
-
-static void
-circuitmux_assert_okay_pass_two(circuitmux_t *cmux)
-{
- circuit_t *curr_circ, *prev_circ = NULL, *next_circ;
- or_circuit_t *curr_or_circ;
- uint64_t curr_chan_id;
- circid_t curr_circ_id;
- circuit_t **next_p, **prev_p;
- channel_t *chan;
- unsigned int n_active_circuits = 0;
- chanid_circid_muxinfo_t search, *hashent = NULL;
-
- tor_assert(cmux);
- tor_assert(cmux->chanid_circid_map);
-
- /*
- * Walk the linked list of active circuits in cmux; keep track of the
- * previous circuit seen for consistency checking purposes. Count them
- * to make sure the number in the linked list matches
- * cmux->n_active_circuits.
- */
- curr_circ = cmux->active_circuits_head;
- while (curr_circ) {
- /* Reset some things */
- chan = NULL;
- curr_or_circ = NULL;
- next_circ = NULL;
- next_p = prev_p = NULL;
- cell_direction_t direction;
-
- /* Figure out if this is n_mux or p_mux */
- if (cmux == curr_circ->n_mux) {
- /* Get next_p and prev_p */
- next_p = &(curr_circ->next_active_on_n_chan);
- prev_p = &(curr_circ->prev_active_on_n_chan);
- /* Get the channel */
- chan = curr_circ->n_chan;
- /* Get the circuit id */
- curr_circ_id = curr_circ->n_circ_id;
- /* Remember the direction */
- direction = CELL_DIRECTION_OUT;
- } else {
- /* We must be p_mux and this must be an or_circuit_t */
- curr_or_circ = TO_OR_CIRCUIT(curr_circ);
- tor_assert(cmux == curr_or_circ->p_mux);
- /* Get next_p and prev_p */
- next_p = &(curr_or_circ->next_active_on_p_chan);
- prev_p = &(curr_or_circ->prev_active_on_p_chan);
- /* Get the channel */
- chan = curr_or_circ->p_chan;
- /* Get the circuit id */
- curr_circ_id = curr_or_circ->p_circ_id;
- /* Remember the direction */
- direction = CELL_DIRECTION_IN;
- }
-
- /* Assert that we got a channel and get the channel ID */
- tor_assert(chan);
- curr_chan_id = chan->global_identifier;
-
- /* Assert that prev_p points to last circuit we saw */
- tor_assert(*prev_p == prev_circ);
- /* If that's NULL, assert that we are the head */
- if (!(*prev_p)) tor_assert(curr_circ == cmux->active_circuits_head);
-
- /* Get the next circuit */
- next_circ = *next_p;
- /* If it's NULL, assert that we are the tail */
- if (!(*next_p)) tor_assert(curr_circ == cmux->active_circuits_tail);
-
- /* Now find the hash table entry for this circuit */
- search.chan_id = curr_chan_id;
- search.circ_id = curr_circ_id;
- hashent = HT_FIND(chanid_circid_muxinfo_map, cmux->chanid_circid_map,
- &search);
-
- /* Assert that we have one */
- tor_assert(hashent);
-
- /* Assert that the direction matches */
- tor_assert(direction == hashent->muxinfo.direction);
-
- /* Assert that the hash entry got marked in pass one */
- tor_assert(hashent->muxinfo.mark);
-
- /* Clear the mark */
- hashent->muxinfo.mark = 0;
-
- /* Increment the counter */
- ++n_active_circuits;
-
- /* Advance to the next active circuit and update prev_circ */
- prev_circ = curr_circ;
- curr_circ = next_circ;
- }
-
- /* Assert that the counter matches the cmux */
- tor_assert(n_active_circuits == cmux->n_active_circuits);
-}
-
-/**
- * Do the third pass of circuitmux_assert_okay(); see the comment in that
- * function.
- */
-
-static void
-circuitmux_assert_okay_pass_three(circuitmux_t *cmux)
-{
- chanid_circid_muxinfo_t **i = NULL;
-
- tor_assert(cmux);
- tor_assert(cmux->chanid_circid_map);
-
- /* Start iterating the hash table */
- i = HT_START(chanid_circid_muxinfo_map, cmux->chanid_circid_map);
-
- /* Advance through each entry */
- while (i) {
- /* Assert that it isn't null */
- tor_assert(*i);
-
- /*
- * Assert that this entry is not marked - i.e., that either we didn't
- * think it should be active in pass one or we saw it in the active
- * circuits linked list.
- */
- tor_assert(!((*i)->muxinfo.mark));
-
- /* Advance to the next entry */
- i = HT_NEXT(chanid_circid_muxinfo_map, cmux->chanid_circid_map, i);
- }
-}
-
/*DOCDOC */
void
circuitmux_append_destroy_cell(channel_t *chan,
diff --git a/src/or/circuitmux_ewma.c b/src/or/circuitmux_ewma.c
index fde2d22a89..b2ace8a9fa 100644
--- a/src/or/circuitmux_ewma.c
+++ b/src/or/circuitmux_ewma.c
@@ -223,8 +223,6 @@ ewma_cmp_cmux(circuitmux_t *cmux_1, circuitmux_policy_data_t *pol_data_1,
* has value ewma_scale_factor ** N.)
*/
static double ewma_scale_factor = 0.1;
-/* DOCDOC ewma_enabled */
-static int ewma_enabled = 0;
/*** EWMA circuitmux_policy_t method table ***/
@@ -243,6 +241,13 @@ circuitmux_policy_t ewma_policy = {
/*** EWMA method implementations using the below EWMA helper functions ***/
+/** Compute and return the current cell_ewma tick. */
+static inline unsigned int
+cell_ewma_get_tick(void)
+{
+ return ((unsigned)approx_time() / EWMA_TICK_LEN);
+}
+
/**
* Allocate an ewma_policy_data_t and upcast it to a circuitmux_policy_data_t;
* this is called when setting the policy on a circuitmux_t to ewma_policy.
@@ -612,59 +617,79 @@ cell_ewma_tick_from_timeval(const struct timeval *now,
return res;
}
-/** Tell the caller whether ewma_enabled is set */
-int
-cell_ewma_enabled(void)
+/* Default value for the CircuitPriorityHalflifeMsec consensus parameter in
+ * msec. */
+#define CMUX_PRIORITY_HALFLIFE_MSEC_DEFAULT 30000
+/* Minimum and maximum value for the CircuitPriorityHalflifeMsec consensus
+ * parameter. */
+#define CMUX_PRIORITY_HALFLIFE_MSEC_MIN 1
+#define CMUX_PRIORITY_HALFLIFE_MSEC_MAX INT32_MAX
+
+/* Return the value of the circuit priority halflife from the options if
+ * available or else from the consensus (in that order). If none can be found,
+ * a default value is returned.
+ *
+ * The source_msg points to a string describing from where the value was
+ * picked so it can be used for logging. */
+static double
+get_circuit_priority_halflife(const or_options_t *options,
+ const networkstatus_t *consensus,
+ const char **source_msg)
{
- return ewma_enabled;
-}
+ int32_t halflife_ms;
+ double halflife;
+ /* Compute the default value now. We might need it. */
+ double halflife_default =
+ ((double) CMUX_PRIORITY_HALFLIFE_MSEC_DEFAULT) / 1000.0;
-/** Compute and return the current cell_ewma tick. */
-unsigned int
-cell_ewma_get_tick(void)
-{
- return ((unsigned)approx_time() / EWMA_TICK_LEN);
+ /* Try to get it from configuration file first. */
+ if (options && options->CircuitPriorityHalflife < EPSILON) {
+ halflife = options->CircuitPriorityHalflife;
+ *source_msg = "CircuitPriorityHalflife in configuration";
+ goto end;
+ }
+
+ /* Try to get the msec value from the consensus. */
+ halflife_ms = networkstatus_get_param(consensus,
+ "CircuitPriorityHalflifeMsec",
+ CMUX_PRIORITY_HALFLIFE_MSEC_DEFAULT,
+ CMUX_PRIORITY_HALFLIFE_MSEC_MIN,
+ CMUX_PRIORITY_HALFLIFE_MSEC_MAX);
+ halflife = ((double) halflife_ms) / 1000.0;
+ *source_msg = "CircuitPriorityHalflifeMsec in consensus";
+
+ end:
+ /* We should never go below the EPSILON else we would consider it disabled
+ * and we can't have that. */
+ if (halflife < EPSILON) {
+ log_warn(LD_CONFIG, "CircuitPriorityHalflife is too small (%f). "
+ "Adjusting to the smallest value allowed: %f.",
+ halflife, halflife_default);
+ halflife = halflife_default;
+ }
+ return halflife;
}
/** Adjust the global cell scale factor based on <b>options</b> */
void
-cell_ewma_set_scale_factor(const or_options_t *options,
- const networkstatus_t *consensus)
+cmux_ewma_set_options(const or_options_t *options,
+ const networkstatus_t *consensus)
{
- int32_t halflife_ms;
double halflife;
const char *source;
- if (options && options->CircuitPriorityHalflife >= -EPSILON) {
- halflife = options->CircuitPriorityHalflife;
- source = "CircuitPriorityHalflife in configuration";
- } else if (consensus && (halflife_ms = networkstatus_get_param(
- consensus, "CircuitPriorityHalflifeMsec",
- -1, -1, INT32_MAX)) >= 0) {
- halflife = ((double)halflife_ms)/1000.0;
- source = "CircuitPriorityHalflifeMsec in consensus";
- } else {
- halflife = EWMA_DEFAULT_HALFLIFE;
- source = "Default value";
- }
- if (halflife <= EPSILON) {
- /* The cell EWMA algorithm is disabled. */
- ewma_scale_factor = 0.1;
- ewma_enabled = 0;
- log_info(LD_OR,
- "Disabled cell_ewma algorithm because of value in %s",
- source);
- } else {
- /* convert halflife into halflife-per-tick. */
- halflife /= EWMA_TICK_LEN;
- /* compute per-tick scale factor. */
- ewma_scale_factor = exp( LOG_ONEHALF / halflife );
- ewma_enabled = 1;
- log_info(LD_OR,
- "Enabled cell_ewma algorithm because of value in %s; "
- "scale factor is %f per %d seconds",
- source, ewma_scale_factor, EWMA_TICK_LEN);
- }
+ /* Both options and consensus can be NULL. This assures us to either get a
+ * valid configured value or the default one. */
+ halflife = get_circuit_priority_halflife(options, consensus, &source);
+
+ /* convert halflife into halflife-per-tick. */
+ halflife /= EWMA_TICK_LEN;
+ /* compute per-tick scale factor. */
+ ewma_scale_factor = exp( LOG_ONEHALF / halflife );
+ log_info(LD_OR,
+ "Enabled cell_ewma algorithm because of value in %s; "
+ "scale factor is %f per %d seconds",
+ source, ewma_scale_factor, EWMA_TICK_LEN);
}
/** Return the multiplier necessary to convert the value of a cell sent in
diff --git a/src/or/circuitmux_ewma.h b/src/or/circuitmux_ewma.h
index 8f4e57865e..2ef8c2586d 100644
--- a/src/or/circuitmux_ewma.h
+++ b/src/or/circuitmux_ewma.h
@@ -12,13 +12,12 @@
#include "or.h"
#include "circuitmux.h"
+/* The public EWMA policy callbacks object. */
extern circuitmux_policy_t ewma_policy;
/* Externally visible EWMA functions */
-int cell_ewma_enabled(void);
-unsigned int cell_ewma_get_tick(void);
-void cell_ewma_set_scale_factor(const or_options_t *options,
- const networkstatus_t *consensus);
+void cmux_ewma_set_options(const or_options_t *options,
+ const networkstatus_t *consensus);
#endif /* !defined(TOR_CIRCUITMUX_EWMA_H) */
diff --git a/src/or/circuitstats.c b/src/or/circuitstats.c
index f1df19eb25..6438319273 100644
--- a/src/or/circuitstats.c
+++ b/src/or/circuitstats.c
@@ -167,7 +167,7 @@ circuit_build_times_disabled_(const or_options_t *options,
}
/**
- * Retrieve and bounds-check the cbtmaxtimeouts consensus paramter.
+ * Retrieve and bounds-check the cbtmaxtimeouts consensus parameter.
*
* Effect: When this many timeouts happen in the last 'cbtrecentcount'
* circuit attempts, the client should discard all of its history and
@@ -194,7 +194,7 @@ circuit_build_times_max_timeouts(void)
}
/**
- * Retrieve and bounds-check the cbtnummodes consensus paramter.
+ * Retrieve and bounds-check the cbtnummodes consensus parameter.
*
* Effect: This value governs how many modes to use in the weighted
* average calculation of Pareto parameter Xm. A value of 3 introduces
@@ -221,7 +221,7 @@ circuit_build_times_default_num_xm_modes(void)
}
/**
- * Retrieve and bounds-check the cbtmincircs consensus paramter.
+ * Retrieve and bounds-check the cbtmincircs consensus parameter.
*
* Effect: This is the minimum number of circuits to build before
* computing a timeout.
@@ -253,7 +253,7 @@ circuit_build_times_enough_to_compute(const circuit_build_times_t *cbt)
}
/**
- * Retrieve and bounds-check the cbtquantile consensus paramter.
+ * Retrieve and bounds-check the cbtquantile consensus parameter.
*
* Effect: This is the position on the quantile curve to use to set the
* timeout value. It is a percent (10-99).
@@ -277,7 +277,7 @@ circuit_build_times_quantile_cutoff(void)
}
/**
- * Retrieve and bounds-check the cbtclosequantile consensus paramter.
+ * Retrieve and bounds-check the cbtclosequantile consensus parameter.
*
* Effect: This is the position on the quantile curve to use to set the
* timeout value to use to actually close circuits. It is a percent
@@ -309,7 +309,7 @@ circuit_build_times_close_quantile(void)
}
/**
- * Retrieve and bounds-check the cbttestfreq consensus paramter.
+ * Retrieve and bounds-check the cbttestfreq consensus parameter.
*
* Effect: Describes how often in seconds to build a test circuit to
* gather timeout values. Only applies if less than 'cbtmincircs'
@@ -356,7 +356,7 @@ circuit_build_times_min_timeout(void)
}
/**
- * Retrieve and bounds-check the cbtinitialtimeout consensus paramter.
+ * Retrieve and bounds-check the cbtinitialtimeout consensus parameter.
*
* Effect: This is the timeout value to use before computing a timeout,
* in milliseconds.
@@ -386,7 +386,7 @@ circuit_build_times_initial_timeout(void)
}
/**
- * Retrieve and bounds-check the cbtrecentcount consensus paramter.
+ * Retrieve and bounds-check the cbtrecentcount consensus parameter.
*
* Effect: This is the number of circuit build times to keep track of
* for deciding if we hit cbtmaxtimeouts and need to reset our state
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index 3a14a3ccfc..8d388cc2c6 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -55,7 +55,6 @@
#include "rephist.h"
#include "router.h"
#include "routerlist.h"
-#include "config.h"
static void circuit_expire_old_circuits_clientside(void);
static void circuit_increment_failure_count(void);
@@ -674,7 +673,7 @@ circuit_expire_building(void)
break;
case CIRCUIT_PURPOSE_C_INTRODUCING:
/* That purpose means that the intro point circuit has been opened
- * succesfully but the INTRODUCE1 cell hasn't been sent yet because
+ * successfully but the INTRODUCE1 cell hasn't been sent yet because
* the client is waiting for the rendezvous point circuit to open.
* Keep this circuit open while waiting for the rendezvous circuit.
* We let the circuit idle timeout take care of cleaning this
@@ -875,10 +874,10 @@ circuit_log_ancient_one_hop_circuits(int age)
if (circ->timestamp_created.tv_sec >= cutoff)
continue;
/* Single Onion Services deliberately make long term one-hop intro
- * connections. We only ignore active intro point connections, if we take
- * a long time establishing, that's worth logging. */
+ * and rendezvous connections. Don't log the established ones. */
if (rend_service_allow_non_anonymous_connection(options) &&
- circ->purpose == CIRCUIT_PURPOSE_S_INTRO)
+ (circ->purpose == CIRCUIT_PURPOSE_S_INTRO ||
+ circ->purpose == CIRCUIT_PURPOSE_S_REND_JOINED))
continue;
/* Tor2web deliberately makes long term one-hop rend connections,
* particularly when Tor2webRendezvousPoints is used. We only ignore
@@ -1179,15 +1178,11 @@ needs_hs_client_circuits(time_t now, int *needs_uptime, int *needs_capacity,
router_have_consensus_path() != CONSENSUS_PATH_UNKNOWN);
}
-/* The minimum number of open slots we should keep in order to preemptively
- * build circuits. */
-#define CBT_MIN_REMAINING_PREEMPTIVE_CIRCUITS 2
-
-/* Check to see if we need more circuits to have a good build timeout. However,
- * leave a couple slots open so that we can still build circuits preemptively
- * as needed. */
-#define CBT_MAX_UNUSED_OPEN_CIRCUITS (MAX_UNUSED_OPEN_CIRCUITS - \
- CBT_MIN_REMAINING_PREEMPTIVE_CIRCUITS)
+/* This is how many circuits can be opened concurrently during the cbt learning
+ * phase. This number cannot exceed the tor-wide MAX_UNUSED_OPEN_CIRCUITS. */
+#define DFLT_CBT_UNUSED_OPEN_CIRCS (10)
+#define MIN_CBT_UNUSED_OPEN_CIRCS 0
+#define MAX_CBT_UNUSED_OPEN_CIRCS MAX_UNUSED_OPEN_CIRCUITS
/* Return true if we need more circuits for a good build timeout.
* XXXX make the assumption that build timeout streams should be
@@ -1196,7 +1191,10 @@ STATIC int
needs_circuits_for_build(int num)
{
if (router_have_consensus_path() != CONSENSUS_PATH_UNKNOWN) {
- if (num < CBT_MAX_UNUSED_OPEN_CIRCUITS &&
+ if (num < networkstatus_get_param(NULL, "cbtmaxopencircs",
+ DFLT_CBT_UNUSED_OPEN_CIRCS,
+ MIN_CBT_UNUSED_OPEN_CIRCS,
+ MAX_CBT_UNUSED_OPEN_CIRCS) &&
!circuit_build_times_disabled(get_options()) &&
circuit_build_times_needs_circuits_now(get_circuit_build_times())) {
return 1;
@@ -1633,7 +1631,7 @@ circuit_testing_opened(origin_circuit_t *circ)
router_perform_bandwidth_test(NUM_PARALLEL_TESTING_CIRCS, time(NULL));
have_performed_bandwidth_test = 1;
} else
- consider_testing_reachability(1, 0);
+ router_do_reachability_checks(1, 0);
}
/** A testing circuit has failed to build. Take whatever stats we want. */
@@ -2585,7 +2583,7 @@ link_apconn_to_circ(entry_connection_t *apconn, origin_circuit_t *circ,
log_debug(LD_APP|LD_CIRC, "attaching new conn to circ. n_circ_id %u.",
(unsigned)circ->base_.n_circ_id);
/* reset it, so we can measure circ timeouts */
- ENTRY_TO_CONN(apconn)->timestamp_lastread = time(NULL);
+ ENTRY_TO_CONN(apconn)->timestamp_last_read_allowed = time(NULL);
ENTRY_TO_EDGE_CONN(apconn)->next_stream = circ->p_streams;
ENTRY_TO_EDGE_CONN(apconn)->on_circuit = TO_CIRCUIT(circ);
/* assert_connection_ok(conn, time(NULL)); */
diff --git a/src/or/command.c b/src/or/command.c
index 185596a65a..7280be1396 100644
--- a/src/or/command.c
+++ b/src/or/command.c
@@ -286,7 +286,7 @@ command_process_create_cell(cell_t *cell, channel_t *chan)
"Received create cell but we're shutting down. Sending back "
"destroy.");
channel_send_destroy(cell->circ_id, chan,
- END_CIRC_REASON_HIBERNATING);
+ END_CIRC_REASON_HIBERNATING);
return;
}
diff --git a/src/or/config.c b/src/or/config.c
index e525624acf..212c6c6b94 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -171,6 +171,7 @@ static config_abbrev_t option_abbrevs_[] = {
{ "BridgeAuthoritativeDirectory", "BridgeAuthoritativeDir", 0, 0},
{ "HashedControlPassword", "__HashedControlSessionPassword", 1, 0},
{ "VirtualAddrNetwork", "VirtualAddrNetworkIPv4", 0, 0},
+ { "SocksSocketsGroupWritable", "UnixSocksGroupWritable", 0, 1},
{ NULL, NULL, 0, 0},
};
@@ -263,7 +264,7 @@ static config_var_t option_vars_[] = {
OBSOLETE("CircuitIdleTimeout"),
V(CircuitsAvailableTimeout, INTERVAL, "0"),
V(CircuitStreamTimeout, INTERVAL, "0"),
- V(CircuitPriorityHalflife, DOUBLE, "-100.0"), /*negative:'Use default'*/
+ V(CircuitPriorityHalflife, DOUBLE, "-1.0"), /*negative:'Use default'*/
V(ClientDNSRejectInternalAddresses, BOOL,"1"),
V(ClientOnly, BOOL, "0"),
V(ClientPreferIPv6ORPort, AUTOBOOL, "auto"),
@@ -284,7 +285,7 @@ static config_var_t option_vars_[] = {
V(ControlPortWriteToFile, FILENAME, NULL),
V(ControlSocket, LINELIST, NULL),
V(ControlSocketsGroupWritable, BOOL, "0"),
- V(SocksSocketsGroupWritable, BOOL, "0"),
+ V(UnixSocksGroupWritable, BOOL, "0"),
V(CookieAuthentication, BOOL, "0"),
V(CookieAuthFileGroupReadable, BOOL, "0"),
V(CookieAuthFile, STRING, NULL),
@@ -644,15 +645,12 @@ static config_var_t option_vars_[] = {
"0, 30, 90, 600, 3600, 10800, 25200, 54000, 111600, 262800"),
V(TestingClientMaxIntervalWithoutRequest, INTERVAL, "10 minutes"),
V(TestingDirConnectionMaxStall, INTERVAL, "5 minutes"),
- V(TestingConsensusMaxDownloadTries, UINT, "8"),
- /* Since we try connections rapidly and simultaneously, we can afford
- * to give up earlier. (This protects against overloading directories.) */
- V(ClientBootstrapConsensusMaxDownloadTries, UINT, "7"),
- /* We want to give up much earlier if we're only using authorities. */
- V(ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries, UINT, "4"),
- V(TestingDescriptorMaxDownloadTries, UINT, "8"),
- V(TestingMicrodescMaxDownloadTries, UINT, "8"),
- V(TestingCertMaxDownloadTries, UINT, "8"),
+ OBSOLETE("TestingConsensusMaxDownloadTries"),
+ OBSOLETE("ClientBootstrapConsensusMaxDownloadTries"),
+ OBSOLETE("ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries"),
+ OBSOLETE("TestingDescriptorMaxDownloadTries"),
+ OBSOLETE("TestingMicrodescMaxDownloadTries"),
+ OBSOLETE("TestingCertMaxDownloadTries"),
V(TestingDirAuthVoteExit, ROUTERSET, NULL),
V(TestingDirAuthVoteExitIsStrict, BOOL, "0"),
V(TestingDirAuthVoteGuard, ROUTERSET, NULL),
@@ -677,8 +675,6 @@ static const config_var_t testing_tor_network_defaults[] = {
"0, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 16, 32, 60"),
V(ClientBootstrapConsensusAuthorityOnlyDownloadSchedule, CSV_INTERVAL,
"0, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 16, 32, 60"),
- V(ClientBootstrapConsensusMaxDownloadTries, UINT, "80"),
- V(ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries, UINT, "80"),
V(ClientDNSRejectInternalAddresses, BOOL,"0"),
V(ClientRejectInternalAddresses, BOOL, "0"),
V(CountPrivateBandwidth, BOOL, "1"),
@@ -706,10 +702,6 @@ static const config_var_t testing_tor_network_defaults[] = {
"15, 20, 30, 60"),
V(TestingClientMaxIntervalWithoutRequest, INTERVAL, "5 seconds"),
V(TestingDirConnectionMaxStall, INTERVAL, "30 seconds"),
- V(TestingConsensusMaxDownloadTries, UINT, "80"),
- V(TestingDescriptorMaxDownloadTries, UINT, "80"),
- V(TestingMicrodescMaxDownloadTries, UINT, "80"),
- V(TestingCertMaxDownloadTries, UINT, "80"),
V(TestingEnableConnBwEvent, BOOL, "1"),
V(TestingEnableCellStatsEvent, BOOL, "1"),
V(TestingEnableTbEmptyEvent, BOOL, "1"),
@@ -1799,7 +1791,6 @@ options_act(const or_options_t *old_options)
char *msg=NULL;
const int transition_affects_workers =
old_options && options_transition_affects_workers(old_options, options);
- int old_ewma_enabled;
const int transition_affects_guards =
old_options && options_transition_affects_guards(old_options, options);
@@ -2073,16 +2064,8 @@ options_act(const or_options_t *old_options)
if (accounting_is_enabled(options))
configure_accounting(time(NULL));
- old_ewma_enabled = cell_ewma_enabled();
/* Change the cell EWMA settings */
- cell_ewma_set_scale_factor(options, networkstatus_get_latest_consensus());
- /* If we just enabled ewma, set the cmux policy on all active channels */
- if (cell_ewma_enabled() && !old_ewma_enabled) {
- channel_set_cmux_policy_everywhere(&ewma_policy);
- } else if (!cell_ewma_enabled() && old_ewma_enabled) {
- /* Turn it off everywhere */
- channel_set_cmux_policy_everywhere(NULL);
- }
+ cmux_ewma_set_options(options, networkstatus_get_latest_consensus());
/* Update the BridgePassword's hashed version as needed. We store this as a
* digest so that we can do side-channel-proof comparisons on it.
@@ -3146,7 +3129,7 @@ warn_if_option_path_is_relative(const char *option,
return 0;
}
-/** Scan <b>options</b> for occurances of relative file/directory
+/** Scan <b>options</b> for occurrences of relative file/directory
* path and log a warning whenever it is found.
*
* Return 1 if there were relative paths; 0 otherwise.
@@ -4417,10 +4400,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
CHECK_DEFAULT(TestingBridgeBootstrapDownloadSchedule);
CHECK_DEFAULT(TestingClientMaxIntervalWithoutRequest);
CHECK_DEFAULT(TestingDirConnectionMaxStall);
- CHECK_DEFAULT(TestingConsensusMaxDownloadTries);
- CHECK_DEFAULT(TestingDescriptorMaxDownloadTries);
- CHECK_DEFAULT(TestingMicrodescMaxDownloadTries);
- CHECK_DEFAULT(TestingCertMaxDownloadTries);
CHECK_DEFAULT(TestingAuthKeyLifetime);
CHECK_DEFAULT(TestingLinkCertLifetime);
CHECK_DEFAULT(TestingSigningKeySlop);
@@ -4495,33 +4474,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
COMPLAIN("TestingDirConnectionMaxStall is insanely high.");
}
- if (options->TestingConsensusMaxDownloadTries < 2) {
- REJECT("TestingConsensusMaxDownloadTries must be greater than 2.");
- } else if (options->TestingConsensusMaxDownloadTries > 800) {
- COMPLAIN("TestingConsensusMaxDownloadTries is insanely high.");
- }
-
- if (options->ClientBootstrapConsensusMaxDownloadTries < 2) {
- REJECT("ClientBootstrapConsensusMaxDownloadTries must be greater "
- "than 2."
- );
- } else if (options->ClientBootstrapConsensusMaxDownloadTries > 800) {
- COMPLAIN("ClientBootstrapConsensusMaxDownloadTries is insanely "
- "high.");
- }
-
- if (options->ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries
- < 2) {
- REJECT("ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries must "
- "be greater than 2."
- );
- } else if (
- options->ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries
- > 800) {
- COMPLAIN("ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries is "
- "insanely high.");
- }
-
if (options->ClientBootstrapConsensusMaxInProgressTries < 1) {
REJECT("ClientBootstrapConsensusMaxInProgressTries must be greater "
"than 0.");
@@ -4531,24 +4483,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
"high.");
}
- if (options->TestingDescriptorMaxDownloadTries < 2) {
- REJECT("TestingDescriptorMaxDownloadTries must be greater than 1.");
- } else if (options->TestingDescriptorMaxDownloadTries > 800) {
- COMPLAIN("TestingDescriptorMaxDownloadTries is insanely high.");
- }
-
- if (options->TestingMicrodescMaxDownloadTries < 2) {
- REJECT("TestingMicrodescMaxDownloadTries must be greater than 1.");
- } else if (options->TestingMicrodescMaxDownloadTries > 800) {
- COMPLAIN("TestingMicrodescMaxDownloadTries is insanely high.");
- }
-
- if (options->TestingCertMaxDownloadTries < 2) {
- REJECT("TestingCertMaxDownloadTries must be greater than 1.");
- } else if (options->TestingCertMaxDownloadTries > 800) {
- COMPLAIN("TestingCertMaxDownloadTries is insanely high.");
- }
-
if (options->TestingEnableConnBwEvent &&
!options->TestingTorNetwork && !options->UsingTestNetworkDefaults_) {
REJECT("TestingEnableConnBwEvent may only be changed in testing "
@@ -4691,15 +4625,14 @@ have_enough_mem_for_dircache(const or_options_t *options, size_t total_mem,
if (options->DirCache) {
if (total_mem < DIRCACHE_MIN_MEM_BYTES) {
if (options->BridgeRelay) {
- *msg = tor_strdup("Running a Bridge with less than "
- STRINGIFY(DIRCACHE_MIN_MEM_MB) " MB of memory is not "
- "recommended.");
+ tor_asprintf(msg, "Running a Bridge with less than %d MB of memory "
+ "is not recommended.", DIRCACHE_MIN_MEM_MB);
} else {
- *msg = tor_strdup("Being a directory cache (default) with less than "
- STRINGIFY(DIRCACHE_MIN_MEM_MB) " MB of memory is not "
- "recommended and may consume most of the available "
- "resources, consider disabling this functionality by "
- "setting the DirCache option to 0.");
+ tor_asprintf(msg, "Being a directory cache (default) with less than "
+ "%d MB of memory is not recommended and may consume "
+ "most of the available resources. Consider disabling "
+ "this functionality by setting the DirCache option "
+ "to 0.", DIRCACHE_MIN_MEM_MB);
}
}
} else {
@@ -7356,7 +7289,7 @@ parse_ports(or_options_t *options, int validate_only,
*n_ports_out = 0;
- const unsigned gw_flag = options->SocksSocketsGroupWritable ?
+ const unsigned gw_flag = options->UnixSocksGroupWritable ?
CL_PORT_DFLT_GROUP_WRITABLE : 0;
if (parse_port_config(ports,
options->SocksPort_lines,
diff --git a/src/or/connection.c b/src/or/connection.c
index 5bbb61dfa9..5532551cfe 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -101,7 +101,6 @@
#include "transports.h"
#include "routerparse.h"
#include "sandbox.h"
-#include "transports.h"
#ifdef HAVE_PWD_H
#include <pwd.h>
@@ -336,8 +335,6 @@ entry_connection_new(int type, int socket_family)
entry_conn->entry_cfg.ipv4_traffic = 1;
else if (socket_family == AF_INET6)
entry_conn->entry_cfg.ipv6_traffic = 1;
- else if (socket_family == AF_UNIX)
- entry_conn->is_socks_socket = 1;
return entry_conn;
}
@@ -462,8 +459,8 @@ connection_init(time_t now, connection_t *conn, int type, int socket_family)
}
conn->timestamp_created = now;
- conn->timestamp_lastread = now;
- conn->timestamp_lastwritten = now;
+ conn->timestamp_last_read_allowed = now;
+ conn->timestamp_last_write_allowed = now;
}
/** Create a link between <b>conn_a</b> and <b>conn_b</b>. */
@@ -861,7 +858,7 @@ connection_mark_for_close_internal_, (connection_t *conn,
/* in case we're going to be held-open-til-flushed, reset
* the number of seconds since last successful write, so
* we get our whole 15 seconds */
- conn->timestamp_lastwritten = time(NULL);
+ conn->timestamp_last_write_allowed = time(NULL);
}
/** Find each connection that has hold_open_until_flushed set to
@@ -883,7 +880,7 @@ connection_expire_held_open(void)
*/
if (conn->hold_open_until_flushed) {
tor_assert(conn->marked_for_close);
- if (now - conn->timestamp_lastwritten >= 15) {
+ if (now - conn->timestamp_last_write_allowed >= 15) {
int severity;
if (conn->type == CONN_TYPE_EXIT ||
(conn->type == CONN_TYPE_DIR &&
@@ -1261,15 +1258,12 @@ connection_listener_new(const struct sockaddr *listensockaddr,
gotPort = usePort;
} else {
tor_addr_t addr2;
- struct sockaddr_storage ss;
- socklen_t ss_len=sizeof(ss);
- if (getsockname(s, (struct sockaddr*)&ss, &ss_len)<0) {
+ if (tor_addr_from_getsockname(&addr2, s)<0) {
log_warn(LD_NET, "getsockname() couldn't learn address for %s: %s",
conn_type_to_string(type),
tor_socket_strerror(tor_socket_errno(s)));
gotPort = 0;
}
- tor_addr_from_sockaddr(&addr2, (struct sockaddr*)&ss, &gotPort);
}
#ifdef HAVE_SYS_UN_H
/*
@@ -3420,7 +3414,7 @@ connection_handle_read_impl(connection_t *conn)
if (conn->marked_for_close)
return 0; /* do nothing */
- conn->timestamp_lastread = approx_time();
+ conn->timestamp_last_read_allowed = approx_time();
switch (conn->type) {
case CONN_TYPE_OR_LISTENER:
@@ -3821,7 +3815,7 @@ update_send_buffer_size(tor_socket_t sock)
* when libevent tells us that conn wants to write, or below
* from connection_buf_add() when an entire TLS record is ready.
*
- * Update <b>conn</b>-\>timestamp_lastwritten to now, and call flush_buf
+ * Update <b>conn</b>-\>timestamp_last_write_allowed to now, and call flush_buf
* or flush_buf_tls appropriately. If it succeeds and there are no more
* more bytes on <b>conn</b>-\>outbuf, then call connection_finished_flushing
* on it too.
@@ -3854,7 +3848,7 @@ connection_handle_write_impl(connection_t *conn, int force)
return 0;
}
- conn->timestamp_lastwritten = now;
+ conn->timestamp_last_write_allowed = now;
/* Sometimes, "writable" means "connected". */
if (connection_state_is_connecting(conn)) {
@@ -4250,7 +4244,7 @@ connection_buf_add_buf(connection_t *conn, buf_t *buf)
/* Return a list of connections that aren't close and matches the given type
* and state. The returned list can be empty and must be freed using
- * smartlist_free(). The caller does NOT have owernship of the objects in the
+ * smartlist_free(). The caller does NOT have ownership of the objects in the
* list so it must not free them nor reference them as they can disappear. */
smartlist_t *
connection_list_by_type_state(int type, int state)
@@ -4260,7 +4254,7 @@ connection_list_by_type_state(int type, int state)
/* Return a list of connections that aren't close and matches the given type
* and purpose. The returned list can be empty and must be freed using
- * smartlist_free(). The caller does NOT have owernship of the objects in the
+ * smartlist_free(). The caller does NOT have ownership of the objects in the
* list so it must not free them nor reference them as they can disappear. */
smartlist_t *
connection_list_by_type_purpose(int type, int purpose)
@@ -4530,8 +4524,6 @@ alloc_http_authenticator(const char *authenticator)
static void
client_check_address_changed(tor_socket_t sock)
{
- struct sockaddr_storage out_sockaddr;
- socklen_t out_addr_len = (socklen_t) sizeof(out_sockaddr);
tor_addr_t out_addr, iface_addr;
tor_addr_t **last_interface_ip_ptr;
sa_family_t family;
@@ -4539,13 +4531,12 @@ client_check_address_changed(tor_socket_t sock)
if (!outgoing_addrs)
outgoing_addrs = smartlist_new();
- if (getsockname(sock, (struct sockaddr*)&out_sockaddr, &out_addr_len)<0) {
+ if (tor_addr_from_getsockname(&out_addr, sock) < 0) {
int e = tor_socket_errno(sock);
log_warn(LD_NET, "getsockname() to check for address change failed: %s",
tor_socket_strerror(e));
return;
}
- tor_addr_from_sockaddr(&out_addr, (struct sockaddr*)&out_sockaddr, NULL);
family = tor_addr_family(&out_addr);
if (family == AF_INET)
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index a47f044e08..948c8722bf 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -739,7 +739,7 @@ connection_ap_expire_beginning(void)
/* if it's an internal linked connection, don't yell its status. */
severity = (tor_addr_is_null(&base_conn->addr) && !base_conn->port)
? LOG_INFO : LOG_NOTICE;
- seconds_idle = (int)( now - base_conn->timestamp_lastread );
+ seconds_idle = (int)( now - base_conn->timestamp_last_read_allowed );
seconds_since_born = (int)( now - base_conn->timestamp_created );
if (base_conn->state == AP_CONN_STATE_OPEN)
@@ -825,7 +825,7 @@ connection_ap_expire_beginning(void)
mark_circuit_unusable_for_new_conns(TO_ORIGIN_CIRCUIT(circ));
/* give our stream another 'cutoff' seconds to try */
- conn->base_.timestamp_lastread += cutoff;
+ conn->base_.timestamp_last_read_allowed += cutoff;
if (entry_conn->num_socks_retries < 250) /* avoid overflow */
entry_conn->num_socks_retries++;
/* move it back into 'pending' state, and try to attach. */
@@ -1135,7 +1135,7 @@ connection_ap_detach_retriable(entry_connection_t *conn,
int reason)
{
control_event_stream_status(conn, STREAM_EVENT_FAILED_RETRIABLE, reason);
- ENTRY_TO_CONN(conn)->timestamp_lastread = time(NULL);
+ ENTRY_TO_CONN(conn)->timestamp_last_read_allowed = time(NULL);
/* Roll back path bias use state so that we probe the circuit
* if nothing else succeeds on it */
diff --git a/src/or/connection_or.c b/src/or/connection_or.c
index 8379f58030..272a086a32 100644
--- a/src/or/connection_or.c
+++ b/src/or/connection_or.c
@@ -592,6 +592,10 @@ connection_or_flushed_some(or_connection_t *conn)
{
size_t datalen;
+ /* Update the channel's active timestamp if there is one */
+ if (conn->chan)
+ channel_timestamp_active(TLS_CHAN_TO_BASE(conn->chan));
+
/* If we're under the low water mark, add cells until we're just over the
* high water mark. */
datalen = connection_get_outbuf_len(TO_CONN(conn));
@@ -652,6 +656,11 @@ connection_or_finished_flushing(or_connection_t *conn)
tor_fragile_assert();
return -1;
}
+
+ /* Update the channel's active timestamp if there is one */
+ if (conn->chan)
+ channel_timestamp_active(TLS_CHAN_TO_BASE(conn->chan));
+
return 0;
}
@@ -696,7 +705,6 @@ connection_or_finished_connecting(or_connection_t *or_conn)
void
connection_or_about_to_close(or_connection_t *or_conn)
{
- time_t now = time(NULL);
connection_t *conn = TO_CONN(or_conn);
/* Tell the controlling channel we're closed */
@@ -716,7 +724,6 @@ connection_or_about_to_close(or_connection_t *or_conn)
if (connection_or_nonopen_was_started_here(or_conn)) {
const or_options_t *options = get_options();
connection_or_note_state_when_broken(or_conn);
- rep_hist_note_connect_failed(or_conn->identity_digest, now);
/* Tell the new guard API about the channel failure */
entry_guard_chan_failed(TLS_CHAN_TO_BASE(or_conn->chan));
if (conn->state >= OR_CONN_STATE_TLS_HANDSHAKING) {
@@ -732,11 +739,9 @@ connection_or_about_to_close(or_connection_t *or_conn)
} else if (conn->hold_open_until_flushed) {
/* We only set hold_open_until_flushed when we're intentionally
* closing a connection. */
- rep_hist_note_disconnect(or_conn->identity_digest, now);
control_event_or_conn_status(or_conn, OR_CONN_EVENT_CLOSED,
tls_error_to_orconn_end_reason(or_conn->tls_error));
} else if (!tor_digest_is_zero(or_conn->identity_digest)) {
- rep_hist_note_connection_died(or_conn->identity_digest, now);
control_event_or_conn_status(or_conn, OR_CONN_EVENT_CLOSED,
tls_error_to_orconn_end_reason(or_conn->tls_error));
}
diff --git a/src/or/control.c b/src/or/control.c
index cce5c7953b..e2b6280790 100644
--- a/src/or/control.c
+++ b/src/or/control.c
@@ -2252,7 +2252,7 @@ digest_list_to_string(const smartlist_t *sl)
static char *
download_status_to_string(const download_status_t *dl)
{
- char *rv = NULL, *tmp;
+ char *rv = NULL;
char tbuf[ISO_TIME_LEN+1];
const char *schedule_str, *want_authority_str;
const char *increment_on_str, *backoff_str;
@@ -2300,49 +2300,28 @@ download_status_to_string(const download_status_t *dl)
break;
}
- switch (dl->backoff) {
- case DL_SCHED_DETERMINISTIC:
- backoff_str = "DL_SCHED_DETERMINISTIC";
- break;
- case DL_SCHED_RANDOM_EXPONENTIAL:
- backoff_str = "DL_SCHED_RANDOM_EXPONENTIAL";
- break;
- default:
- backoff_str = "unknown";
- break;
- }
+ backoff_str = "DL_SCHED_RANDOM_EXPONENTIAL";
/* Now assemble them */
- tor_asprintf(&tmp,
+ tor_asprintf(&rv,
"next-attempt-at %s\n"
"n-download-failures %u\n"
"n-download-attempts %u\n"
"schedule %s\n"
"want-authority %s\n"
"increment-on %s\n"
- "backoff %s\n",
+ "backoff %s\n"
+ "last-backoff-position %u\n"
+ "last-delay-used %d\n",
tbuf,
dl->n_download_failures,
dl->n_download_attempts,
schedule_str,
want_authority_str,
increment_on_str,
- backoff_str);
-
- if (dl->backoff == DL_SCHED_RANDOM_EXPONENTIAL) {
- /* Additional fields become relevant in random-exponential mode */
- tor_asprintf(&rv,
- "%s"
- "last-backoff-position %u\n"
- "last-delay-used %d\n",
- tmp,
- dl->last_backoff_position,
- dl->last_delay_used);
- tor_free(tmp);
- } else {
- /* That was it */
- rv = tmp;
- }
+ backoff_str,
+ dl->last_backoff_position,
+ dl->last_delay_used);
}
return rv;
@@ -3551,6 +3530,9 @@ handle_control_extendcircuit(control_connection_t *conn, uint32_t len,
goto done;
}
circuit_append_new_exit(circ, info);
+ if (circ->build_state->desired_path_len > 1) {
+ circ->build_state->onehop_tunnel = 0;
+ }
extend_info_free(info);
first_node = 0;
});
@@ -4458,11 +4440,11 @@ handle_control_hspost(control_connection_t *conn,
* used in pk is given to the HS subsystem so the caller must stop accessing
* it after.
*
- * The port_cfgs is a list of service port. Ownership transfered to service.
+ * The port_cfgs is a list of service port. Ownership transferred to service.
* The max_streams refers to the MaxStreams= key.
* The max_streams_close_circuit refers to the MaxStreamsCloseCircuit key.
* The auth_type is the authentication type of the clients in auth_clients.
- * The ownership of that list is transfered to the service.
+ * The ownership of that list is transferred to the service.
*
* On success (RSAE_OKAY), the address_out points to a newly allocated string
* containing the onion address without the .onion part. On error, address_out
@@ -4911,7 +4893,7 @@ add_onion_helper_keyarg(const char *arg, int discard_pk,
goto err;
}
- /* Succeded in loading or generating a private key. */
+ /* Succeeded in loading or generating a private key. */
ret = 0;
err:
@@ -7620,6 +7602,9 @@ control_free_all(void)
tor_event_free(flush_queued_events_event);
flush_queued_events_event = NULL;
}
+ bootstrap_percent = BOOTSTRAP_STATUS_UNDEF;
+ notice_bootstrap_percent = 0;
+ bootstrap_problems = 0;
}
#ifdef TOR_UNIT_TESTS
diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c
index 9bec04d790..50761dd4d3 100644
--- a/src/or/cpuworker.c
+++ b/src/or/cpuworker.c
@@ -250,7 +250,7 @@ should_time_request(uint16_t onionskin_type)
}
/** Return an estimate of how many microseconds we will need for a single
- * cpuworker to to process <b>n_requests</b> onionskins of type
+ * cpuworker to process <b>n_requests</b> onionskins of type
* <b>onionskin_type</b>. */
uint64_t
estimated_usec_for_onionskins(uint32_t n_requests, uint16_t onionskin_type)
diff --git a/src/or/directory.c b/src/or/directory.c
index c55f81bc62..c419b61d02 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -1112,7 +1112,7 @@ directory_request_free_(directory_request_t *req)
/**
* Set the address and OR port to use for this directory request. If there is
* no OR port, we'll have to connect over the dirport. (If there are both,
- * the indirection setting determins which to use.)
+ * the indirection setting determines which to use.)
*/
void
directory_request_set_or_addr_port(directory_request_t *req,
@@ -1123,7 +1123,7 @@ directory_request_set_or_addr_port(directory_request_t *req,
/**
* Set the address and dirport to use for this directory request. If there
* is no dirport, we'll have to connect over the OR port. (If there are both,
- * the indirection setting determins which to use.)
+ * the indirection setting determines which to use.)
*/
void
directory_request_set_dir_addr_port(directory_request_t *req,
@@ -2437,7 +2437,7 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
* and the date header. (We used to check now-date_header, but that's
* inaccurate if we spend a lot of time downloading.)
*/
- apparent_skew = conn->base_.timestamp_lastwritten - date_header;
+ apparent_skew = conn->base_.timestamp_last_write_allowed - date_header;
if (labs(apparent_skew)>ALLOW_DIRECTORY_TIME_SKEW) {
int trusted = router_digest_is_trusted_dir(conn->identity_digest);
clock_skew_warning(TO_CONN(conn), apparent_skew, trusted, LD_HTTP,
@@ -3413,7 +3413,7 @@ connection_dir_process_inbuf(dir_connection_t *conn)
}
/** We are closing a dir connection: If <b>dir_conn</b> is a dir connection
- * that tried to fetch an HS descriptor, check if it successfuly fetched it,
+ * that tried to fetch an HS descriptor, check if it successfully fetched it,
* or if we need to try again. */
static void
refetch_hsdesc_if_needed(dir_connection_t *dir_conn)
@@ -4036,7 +4036,7 @@ find_best_diff(const smartlist_t *digests, int flav,
}
/** Lookup the cached consensus document by the flavor found in <b>flav</b>.
- * The prefered set of compression methods should be listed in the
+ * The preferred set of compression methods should be listed in the
* <b>compression_methods</b> bitfield. The compression method chosen (if any)
* is stored in <b>compression_used_out</b>. */
static struct consensus_cache_entry_t *
@@ -4948,7 +4948,7 @@ handle_get_robots(dir_connection_t *conn, const get_handler_args_t *args)
/* Given the <b>url</b> from a POST request, try to extract the version number
* using the provided <b>prefix</b>. The version should be after the prefix and
- * ending with the seperator "/". For instance:
+ * ending with the separator "/". For instance:
* /tor/hs/3/publish
*
* On success, <b>end_pos</b> points to the position right after the version
@@ -5362,17 +5362,14 @@ find_dl_schedule(const download_status_t *dls, const or_options_t *options)
return NULL;
}
-/** Decide which minimum and maximum delay step we want to use based on
+/** Decide which minimum delay step we want to use based on
* descriptor type in <b>dls</b> and <b>options</b>.
* Helper function for download_status_schedule_get_delay(). */
-STATIC void
-find_dl_min_and_max_delay(download_status_t *dls, const or_options_t *options,
- int *min, int *max)
+STATIC int
+find_dl_min_delay(download_status_t *dls, const or_options_t *options)
{
tor_assert(dls);
tor_assert(options);
- tor_assert(min);
- tor_assert(max);
/*
* For now, just use the existing schedule config stuff and pick the
@@ -5380,13 +5377,7 @@ find_dl_min_and_max_delay(download_status_t *dls, const or_options_t *options,
*/
const smartlist_t *schedule = find_dl_schedule(dls, options);
tor_assert(schedule != NULL && smartlist_len(schedule) >= 2);
- *min = *((int *)(smartlist_get(schedule, 0)));
- /* Increment on failure schedules always use exponential backoff, but they
- * have a smaller limit when they're deterministic */
- if (dls->backoff == DL_SCHED_DETERMINISTIC)
- *max = *((int *)((smartlist_get(schedule, smartlist_len(schedule) - 1))));
- else
- *max = INT_MAX;
+ return *(int *)(smartlist_get(schedule, 0));
}
/** As next_random_exponential_delay() below, but does not compute a random
@@ -5424,55 +5415,39 @@ next_random_exponential_delay_range(int *low_bound_out,
* zero); the <b>backoff_position</b> parameter is the number of times we've
* generated a delay; and the <b>delay</b> argument is the most recently used
* delay.
- *
- * Requires that delay is less than INT_MAX, and delay is in [0,max_delay].
*/
STATIC int
next_random_exponential_delay(int delay,
- int base_delay,
- int max_delay)
+ int base_delay)
{
/* Check preconditions */
- if (BUG(max_delay < 0))
- max_delay = 0;
- if (BUG(delay > max_delay))
- delay = max_delay;
if (BUG(delay < 0))
delay = 0;
if (base_delay < 1)
base_delay = 1;
- int low_bound=0, high_bound=max_delay;
+ int low_bound=0, high_bound=INT_MAX;
next_random_exponential_delay_range(&low_bound, &high_bound,
delay, base_delay);
- int rand_delay = crypto_rand_int_range(low_bound, high_bound);
-
- return MIN(rand_delay, max_delay);
+ return crypto_rand_int_range(low_bound, high_bound);
}
-/** Find the current delay for dls based on schedule or min_delay/
- * max_delay if we're using exponential backoff. If dls->backoff is
- * DL_SCHED_RANDOM_EXPONENTIAL, we must have 0 <= min_delay <= max_delay <=
- * INT_MAX, but schedule may be set to NULL; otherwise schedule is required.
+/** Find the current delay for dls based on min_delay.
+ *
* This function sets dls->next_attempt_at based on now, and returns the delay.
* Helper for download_status_increment_failure and
* download_status_increment_attempt. */
STATIC int
download_status_schedule_get_delay(download_status_t *dls,
- const smartlist_t *schedule,
- int min_delay, int max_delay,
+ int min_delay,
time_t now)
{
tor_assert(dls);
- /* We don't need a schedule if we're using random exponential backoff */
- tor_assert(dls->backoff == DL_SCHED_RANDOM_EXPONENTIAL ||
- schedule != NULL);
/* If we're using random exponential backoff, we do need min/max delay */
- tor_assert(dls->backoff != DL_SCHED_RANDOM_EXPONENTIAL ||
- (min_delay >= 0 && max_delay >= min_delay));
+ tor_assert(min_delay >= 0);
int delay = INT_MAX;
uint8_t dls_schedule_position = (dls->increment_on
@@ -5480,42 +5455,32 @@ download_status_schedule_get_delay(download_status_t *dls,
? dls->n_download_attempts
: dls->n_download_failures);
- if (dls->backoff == DL_SCHED_DETERMINISTIC) {
- if (dls_schedule_position < smartlist_len(schedule))
- delay = *(int *)smartlist_get(schedule, dls_schedule_position);
- else if (dls_schedule_position == IMPOSSIBLE_TO_DOWNLOAD)
- delay = INT_MAX;
- else
- delay = *(int *)smartlist_get(schedule, smartlist_len(schedule) - 1);
- } else if (dls->backoff == DL_SCHED_RANDOM_EXPONENTIAL) {
- /* Check if we missed a reset somehow */
- IF_BUG_ONCE(dls->last_backoff_position > dls_schedule_position) {
- dls->last_backoff_position = 0;
- dls->last_delay_used = 0;
- }
+ /* Check if we missed a reset somehow */
+ IF_BUG_ONCE(dls->last_backoff_position > dls_schedule_position) {
+ dls->last_backoff_position = 0;
+ dls->last_delay_used = 0;
+ }
- if (dls_schedule_position > 0) {
- delay = dls->last_delay_used;
+ if (dls_schedule_position > 0) {
+ delay = dls->last_delay_used;
- while (dls->last_backoff_position < dls_schedule_position) {
- /* Do one increment step */
- delay = next_random_exponential_delay(delay, min_delay, max_delay);
- /* Update our position */
- ++(dls->last_backoff_position);
- }
- } else {
- /* If we're just starting out, use the minimum delay */
- delay = min_delay;
+ while (dls->last_backoff_position < dls_schedule_position) {
+ /* Do one increment step */
+ delay = next_random_exponential_delay(delay, min_delay);
+ /* Update our position */
+ ++(dls->last_backoff_position);
}
+ } else {
+ /* If we're just starting out, use the minimum delay */
+ delay = min_delay;
+ }
- /* Clamp it within min/max if we have them */
- if (min_delay >= 0 && delay < min_delay) delay = min_delay;
- if (max_delay != INT_MAX && delay > max_delay) delay = max_delay;
+ /* Clamp it within min/max if we have them */
+ if (min_delay >= 0 && delay < min_delay) delay = min_delay;
- /* Store it for next time */
- dls->last_backoff_position = dls_schedule_position;
- dls->last_delay_used = delay;
- }
+ /* Store it for next time */
+ dls->last_backoff_position = dls_schedule_position;
+ dls->last_delay_used = delay;
/* A negative delay makes no sense. Knowing that delay is
* non-negative allows us to safely do the wrapping check below. */
@@ -5578,7 +5543,7 @@ download_status_increment_failure(download_status_t *dls, int status_code,
(void) status_code; // XXXX no longer used.
(void) server; // XXXX no longer used.
int increment = -1;
- int min_delay = 0, max_delay = INT_MAX;
+ int min_delay = 0;
tor_assert(dls);
@@ -5603,10 +5568,8 @@ download_status_increment_failure(download_status_t *dls, int status_code,
/* only return a failure retry time if this schedule increments on failures
*/
- const smartlist_t *schedule = find_dl_schedule(dls, get_options());
- find_dl_min_and_max_delay(dls, get_options(), &min_delay, &max_delay);
- increment = download_status_schedule_get_delay(dls, schedule,
- min_delay, max_delay, now);
+ min_delay = find_dl_min_delay(dls, get_options());
+ increment = download_status_schedule_get_delay(dls, min_delay, now);
}
download_status_log_helper(item, !dls->increment_on, "failed",
@@ -5637,7 +5600,7 @@ download_status_increment_attempt(download_status_t *dls, const char *item,
time_t now)
{
int delay = -1;
- int min_delay = 0, max_delay = INT_MAX;
+ int min_delay = 0;
tor_assert(dls);
@@ -5657,10 +5620,8 @@ download_status_increment_attempt(download_status_t *dls, const char *item,
if (dls->n_download_attempts < IMPOSSIBLE_TO_DOWNLOAD-1)
++dls->n_download_attempts;
- const smartlist_t *schedule = find_dl_schedule(dls, get_options());
- find_dl_min_and_max_delay(dls, get_options(), &min_delay, &max_delay);
- delay = download_status_schedule_get_delay(dls, schedule,
- min_delay, max_delay, now);
+ min_delay = find_dl_min_delay(dls, get_options());
+ delay = download_status_schedule_get_delay(dls, min_delay, now);
download_status_log_helper(item, dls->increment_on, "attempted",
"on failure", dls->n_download_attempts,
@@ -5769,8 +5730,7 @@ dir_routerdesc_download_failed(smartlist_t *failed, int status_code,
} else {
dls = router_get_dl_status_by_descriptor_digest(digest);
}
- if (!dls || dls->n_download_failures >=
- get_options()->TestingDescriptorMaxDownloadTries)
+ if (!dls)
continue;
download_status_increment_failure(dls, status_code, cp, server, now);
} SMARTLIST_FOREACH_END(cp);
@@ -5807,10 +5767,6 @@ dir_microdesc_download_failed(smartlist_t *failed,
if (!rs)
continue;
dls = &rs->dl_status;
- if (dls->n_download_failures >=
- get_options()->TestingMicrodescMaxDownloadTries) {
- continue;
- }
{ /* Increment the failure count for this md fetch */
char buf[BASE64_DIGEST256_LEN+1];
diff --git a/src/or/directory.h b/src/or/directory.h
index edf75ffe13..aa4d29a5bb 100644
--- a/src/or/directory.h
+++ b/src/or/directory.h
@@ -132,29 +132,19 @@ time_t download_status_increment_attempt(download_status_t *dls,
time(NULL))
void download_status_reset(download_status_t *dls);
-static int download_status_is_ready(download_status_t *dls, time_t now,
- int max_failures);
+static int download_status_is_ready(download_status_t *dls, time_t now);
time_t download_status_get_next_attempt_at(const download_status_t *dls);
/** Return true iff, as of <b>now</b>, the resource tracked by <b>dls</b> is
* ready to get its download reattempted. */
static inline int
-download_status_is_ready(download_status_t *dls, time_t now,
- int max_failures)
+download_status_is_ready(download_status_t *dls, time_t now)
{
/* dls wasn't reset before it was used */
if (dls->next_attempt_at == 0) {
download_status_reset(dls);
}
- if (dls->backoff == DL_SCHED_DETERMINISTIC) {
- /* Deterministic schedules can hit an endpoint; exponential backoff
- * schedules just wait longer and longer. */
- int under_failure_limit = (dls->n_download_failures <= max_failures
- && dls->n_download_attempts <= max_failures);
- if (!under_failure_limit)
- return 0;
- }
return download_status_get_next_attempt_at(dls) <= now;
}
@@ -260,8 +250,7 @@ MOCK_DECL(STATIC int, directory_handle_command_post,(dir_connection_t *conn,
const char *body,
size_t body_len));
STATIC int download_status_schedule_get_delay(download_status_t *dls,
- const smartlist_t *schedule,
- int min_delay, int max_delay,
+ int min_delay,
time_t now);
STATIC int handle_post_hs_descriptor(const char *url, const char *body);
@@ -272,13 +261,11 @@ STATIC int should_use_directory_guards(const or_options_t *options);
STATIC compression_level_t choose_compression_level(ssize_t n_bytes);
STATIC const smartlist_t *find_dl_schedule(const download_status_t *dls,
const or_options_t *options);
-STATIC void find_dl_min_and_max_delay(download_status_t *dls,
- const or_options_t *options,
- int *min, int *max);
+STATIC int find_dl_min_delay(download_status_t *dls,
+ const or_options_t *options);
STATIC int next_random_exponential_delay(int delay,
- int base_delay,
- int max_delay);
+ int base_delay);
STATIC void next_random_exponential_delay_range(int *low_bound_out,
int *high_bound_out,
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index d3bae241f9..7a693b9d43 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -43,7 +43,7 @@
* the directory authority functionality. The directory.c module delegates
* here in order to handle incoming requests from clients, via
* connection_dirserv_flushed_some() and its kin. In order to save RAM, this
- * module is reponsible for spooling directory objects (in whole or in part)
+ * module is responsible for spooling directory objects (in whole or in part)
* onto buf_t instances, and then closing the dir_connection_t once the
* objects are totally flushed.
*
@@ -417,7 +417,10 @@ dirserv_get_status_impl(const char *id_digest, const char *nickname,
if (result & FP_REJECT) {
if (msg)
- *msg = "Fingerprint is marked rejected -- please contact us?";
+ *msg = "Fingerprint is marked rejected -- if you think this is a "
+ "mistake please set a valid email address in ContactInfo and "
+ "send an email to bad-relays@lists.torproject.org mentioning "
+ "your fingerprint(s)?";
return FP_REJECT;
} else if (result & FP_INVALID) {
if (msg)
@@ -435,7 +438,10 @@ dirserv_get_status_impl(const char *id_digest, const char *nickname,
log_fn(severity, LD_DIRSERV, "Rejecting '%s' because of address '%s'",
nickname, fmt_addr32(addr));
if (msg)
- *msg = "Suspicious relay address range -- please contact us?";
+ *msg = "Suspicious relay address range -- if you think this is a "
+ "mistake please set a valid email address in ContactInfo and "
+ "send an email to bad-relays@lists.torproject.org mentioning "
+ "your address(es) and fingerprint(s)?";
return FP_REJECT;
}
if (!authdir_policy_valid_address(addr, or_port)) {
@@ -1086,7 +1092,7 @@ router_is_active(const routerinfo_t *ri, const node_t *node, time_t now)
if (!node->is_running || !node->is_valid || ri->is_hibernating) {
return 0;
}
- /* Only require bandwith capacity in non-test networks, or
+ /* Only require bandwidth capacity in non-test networks, or
* if TestingTorNetwork, and TestingMinExitFlagThreshold is non-zero */
if (!ri->bandwidthcapacity) {
if (get_options()->TestingTorNetwork) {
@@ -1417,7 +1423,7 @@ dirserv_thinks_router_is_hs_dir(const routerinfo_t *router,
* tests aren't instant. If we haven't been running long enough,
* trust the relay. */
- if (stats_n_seconds_working >
+ if (get_uptime() >
get_options()->MinUptimeHidServDirectoryV2 * 1.1)
uptime = MIN(rep_hist_get_uptime(router->cache_info.identity_digest, now),
real_uptime(router, now));
@@ -3386,7 +3392,8 @@ dirserv_single_reachability_test(time_t now, routerinfo_t *router)
tor_assert(node);
if (options->AuthDirTestEd25519LinkKeys &&
- node_supports_ed25519_link_authentication(node, 1)) {
+ node_supports_ed25519_link_authentication(node, 1) &&
+ router->cache_info.signing_key_cert) {
ed_id_key = &router->cache_info.signing_key_cert->signing_key;
} else {
ed_id_key = NULL;
diff --git a/src/or/dirserv.h b/src/or/dirserv.h
index 0fd7b79150..b9af68ff6e 100644
--- a/src/or/dirserv.h
+++ b/src/or/dirserv.h
@@ -123,7 +123,7 @@ void dirserv_set_cached_consensus_networkstatus(const char *consensus,
void dirserv_clear_old_networkstatuses(time_t cutoff);
int dirserv_get_routerdesc_spool(smartlist_t *spools_out, const char *key,
dir_spool_source_t source,
- int conn_is_encrytped,
+ int conn_is_encrypted,
const char **msg_out);
int dirserv_get_routerdescs(smartlist_t *descs_out, const char *key,
const char **msg);
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index 465c4148bc..c3cd0d3cd1 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -665,7 +665,7 @@ static int
consensus_method_is_supported(int method)
{
if (method == MIN_METHOD_FOR_ED25519_ID_IN_MD) {
- /* This method was broken due to buggy code accidently left in
+ /* This method was broken due to buggy code accidentally left in
* dircollate.c; do not actually use it.
*/
return 0;
diff --git a/src/or/dns.c b/src/or/dns.c
index 1f00fe5b4d..e4dc8048ed 100644
--- a/src/or/dns.c
+++ b/src/or/dns.c
@@ -19,7 +19,7 @@
* dns_seems_to_be_broken().
* <li>When a client has asked the relay, in a RELAY_BEGIN cell, to connect
* to a given server by hostname. This happens via dns_resolve().
- * <li>When a client has asked the rela, in a RELAY_RESOLVE cell, to look
+ * <li>When a client has asked the relay, in a RELAY_RESOLVE cell, to look
* up a given server's IP address(es) by hostname. This also happens via
* dns_resolve().
* </ol>
diff --git a/src/or/dos.c b/src/or/dos.c
index c221e5ecdf..4d1797eece 100644
--- a/src/or/dos.c
+++ b/src/or/dos.c
@@ -14,6 +14,7 @@
#include "geoip.h"
#include "main.h"
#include "networkstatus.h"
+#include "nodelist.h"
#include "router.h"
#include "dos.h"
@@ -308,8 +309,16 @@ cc_stats_refill_bucket(cc_client_stats_t *stats, const tor_addr_t *addr)
new_circuit_bucket_count = MIN(stats->circuit_bucket + (uint32_t)num_token,
dos_cc_circuit_burst);
}
- /* This function is not allowed to make the bucket count smaller */
- tor_assert_nonfatal(new_circuit_bucket_count >= stats->circuit_bucket);
+
+ /* This function is not allowed to make the bucket count larger than the
+ * burst value */
+ tor_assert_nonfatal(new_circuit_bucket_count <= dos_cc_circuit_burst);
+ /* This function is not allowed to make the bucket count smaller, unless it
+ * is decreasing it to a newly configured, lower burst value. We allow the
+ * bucket to stay the same size, in case the circuit rate is zero. */
+ tor_assert_nonfatal(new_circuit_bucket_count >= stats->circuit_bucket ||
+ new_circuit_bucket_count == dos_cc_circuit_burst);
+
log_debug(LD_DOS, "DoS address %s has its circuit bucket value: %" PRIu32
". Filling it to %" PRIu32 ". Circuit rate is %" PRIu64
". Elapsed time is %" PRIi64,
@@ -666,6 +675,14 @@ dos_new_client_conn(or_connection_t *or_conn)
goto end;
}
+ /* We ignore any known address meaning an address of a known relay. The
+ * reason to do so is because network reentry is possible where a client
+ * connection comes from an Exit node. Even when we'll fix reentry, this is
+ * a robust defense to keep in place. */
+ if (nodelist_probably_contains_address(&or_conn->real_addr)) {
+ goto end;
+ }
+
/* We are only interested in client connection from the geoip cache. */
entry = geoip_lookup_client(&or_conn->real_addr, NULL,
GEOIP_CLIENT_CONNECT);
@@ -731,6 +748,14 @@ dos_close_client_conn(const or_connection_t *or_conn)
void
dos_consensus_has_changed(const networkstatus_t *ns)
{
+ /* There are two ways to configure this subsystem, one at startup through
+ * dos_init() which is called when the options are parsed. And this one
+ * through the consensus. We don't want to enable any DoS mitigation if we
+ * aren't a public relay. */
+ if (!public_server_mode(get_options())) {
+ return;
+ }
+
cc_consensus_has_changed(ns);
conn_consensus_has_changed(ns);
diff --git a/src/or/entrynodes.h b/src/or/entrynodes.h
index b7b110eeb7..d562498313 100644
--- a/src/or/entrynodes.h
+++ b/src/or/entrynodes.h
@@ -220,9 +220,10 @@ struct guard_selection_s {
guard_selection_type_t type;
/**
- * A value of 1 means that primary_entry_guards is up-to-date; 0
- * means we need to recalculate it before using primary_entry_guards
- * or the is_primary flag on any guard.
+ * A value of 1 means that primary_entry_guards is up-to-date with respect to
+ * the consensus and status info that we currently have; 0 means we need to
+ * recalculate it before using primary_entry_guards or the is_primary flag on
+ * any guard.
*/
int primary_guards_up_to_date;
diff --git a/src/or/geoip.c b/src/or/geoip.c
index 15871f0d2f..572bba577f 100644
--- a/src/or/geoip.c
+++ b/src/or/geoip.c
@@ -773,13 +773,7 @@ geoip_client_cache_handle_oom(time_t now, size_t min_remove_bytes)
size_t
geoip_client_cache_total_allocation(void)
{
- size_t bytes = 0;
- clientmap_entry_t **ent;
-
- HT_FOREACH(ent, clientmap, &client_history) {
- bytes += clientmap_entry_size(*ent);
- }
- return bytes;
+ return geoip_client_history_cache_size;
}
/** How many responses are we giving to clients requesting v3 network
@@ -1887,5 +1881,8 @@ geoip_free_all(void)
clear_geoip_db();
tor_free(bridge_stats_extrainfo);
+
+ memset(geoip_digest, 0, sizeof(geoip_digest));
+ memset(geoip6_digest, 0, sizeof(geoip6_digest));
}
diff --git a/src/or/hibernate.c b/src/or/hibernate.c
index 4dc35f68d0..7261cf8002 100644
--- a/src/or/hibernate.c
+++ b/src/or/hibernate.c
@@ -866,7 +866,7 @@ hibernate_end(hibernate_state_t new_state)
hibernate_state = new_state;
hibernate_end_time = 0; /* no longer hibernating */
- stats_n_seconds_working = 0; /* reset published uptime */
+ reset_uptime(); /* reset published uptime */
}
/** A wrapper around hibernate_begin, for when we get SIGINT. */
diff --git a/src/or/hs_cache.c b/src/or/hs_cache.c
index ed38a603b4..df53efd32d 100644
--- a/src/or/hs_cache.c
+++ b/src/or/hs_cache.c
@@ -702,7 +702,7 @@ cache_clean_v3_as_client(time_t now)
/* Entry is not in the cache anymore, destroy it. */
cache_client_desc_free(entry);
/* Update our OOM. We didn't use the remove() function because we are in
- * a loop so we have to explicitely decrement. */
+ * a loop so we have to explicitly decrement. */
rend_cache_decrement_allocation(entry_size);
/* Logging. */
{
@@ -805,7 +805,7 @@ hs_cache_purge_as_client(void)
MAP_DEL_CURRENT(key);
cache_client_desc_free(entry);
/* Update our OOM. We didn't use the remove() function because we are in
- * a loop so we have to explicitely decrement. */
+ * a loop so we have to explicitly decrement. */
rend_cache_decrement_allocation(entry_size);
} DIGEST256MAP_FOREACH_END;
diff --git a/src/or/hs_cell.c b/src/or/hs_cell.c
index 5244cfa3dd..ad92521d34 100644
--- a/src/or/hs_cell.c
+++ b/src/or/hs_cell.c
@@ -369,7 +369,7 @@ introduce1_encrypt_and_encode(trn_cell_introduce1_t *cell,
crypto_cipher_free(cipher);
offset += encoded_enc_cell_len;
/* Compute MAC from the above and put it in the buffer. This function will
- * make the adjustment to the encryptled_len to ommit the MAC length. */
+ * make the adjustment to the encrypted_len to omit the MAC length. */
compute_introduce_mac(encoded_cell, encoded_cell_len,
encrypted, encrypted_len,
keys.mac_key, sizeof(keys.mac_key),
diff --git a/src/or/hs_circuit.c b/src/or/hs_circuit.c
index 2a41c1cccf..3a674f6223 100644
--- a/src/or/hs_circuit.c
+++ b/src/or/hs_circuit.c
@@ -699,12 +699,12 @@ hs_circ_service_get_intro_circ(const hs_service_intro_point_t *ip)
*
* We currently relaunch connections to rendezvous points if:
* - A rendezvous circuit timed out before connecting to RP.
- * - The redenzvous circuit failed to connect to the RP.
+ * - The rendezvous circuit failed to connect to the RP.
*
* We avoid relaunching a connection to this rendezvous point if:
- * - We have already tried MAX_REND_FAILURES times to connect to this RP.
+ * - We have already tried MAX_REND_FAILURES times to connect to this RP,
* - We've been trying to connect to this RP for more than MAX_REND_TIMEOUT
- * seconds
+ * seconds, or
* - We've already retried this specific rendezvous circuit.
*/
void
@@ -718,11 +718,11 @@ hs_circ_retry_service_rendezvous_point(origin_circuit_t *circ)
goto done;
}
- /* Flag the circuit that we are relaunching so to avoid to relaunch twice a
+ /* Flag the circuit that we are relaunching, to avoid to relaunch twice a
* circuit to the same rendezvous point at the same time. */
circ->hs_service_side_rend_circ_has_been_relaunched = 1;
- /* Legacy service don't have an hidden service ident. */
+ /* Legacy services don't have a hidden service ident. */
if (circ->hs_ident) {
retry_service_rendezvous_point(circ);
} else {
diff --git a/src/or/hs_client.c b/src/or/hs_client.c
index 2999f85d3e..20963cd453 100644
--- a/src/or/hs_client.c
+++ b/src/or/hs_client.c
@@ -17,7 +17,6 @@
#include "hs_descriptor.h"
#include "hs_cache.h"
#include "hs_cell.h"
-#include "hs_ident.h"
#include "config.h"
#include "directory.h"
#include "hs_client.h"
@@ -29,7 +28,6 @@
#include "connection.h"
#include "nodelist.h"
#include "circpathbias.h"
-#include "connection.h"
#include "hs_ntor.h"
#include "circuitbuild.h"
#include "networkstatus.h"
@@ -716,7 +714,7 @@ desc_intro_point_to_extend_info(const hs_desc_intro_point_t *ip)
smartlist_add(lspecs, lspec);
} SMARTLIST_FOREACH_END(desc_lspec);
- /* Explicitely put the direct connection option to 0 because this is client
+ /* Explicitly put the direct connection option to 0 because this is client
* side and there is no such thing as a non anonymous client. */
ei = hs_get_extend_info_from_lspecs(lspecs, &ip->onion_key, 0);
@@ -1439,8 +1437,8 @@ hs_client_desc_has_arrived(const hs_ident_dir_conn_t *ident)
* connection is considered "fresh" and can continue without being closed
* too early. */
base_conn->timestamp_created = now;
- base_conn->timestamp_lastread = now;
- base_conn->timestamp_lastwritten = now;
+ base_conn->timestamp_last_read_allowed = now;
+ base_conn->timestamp_last_write_allowed = now;
/* Change connection's state into waiting for a circuit. */
base_conn->state = AP_CONN_STATE_CIRCUIT_WAIT;
diff --git a/src/or/hs_common.c b/src/or/hs_common.c
index 6d97c8775c..aa34b0e8fb 100644
--- a/src/or/hs_common.c
+++ b/src/or/hs_common.c
@@ -28,7 +28,6 @@
#include "rendservice.h"
#include "routerset.h"
#include "router.h"
-#include "routerset.h"
#include "shared_random.h"
#include "shared_random_state.h"
diff --git a/src/or/hs_config.c b/src/or/hs_config.c
index fa5c1ab176..be223503a0 100644
--- a/src/or/hs_config.c
+++ b/src/or/hs_config.c
@@ -558,7 +558,7 @@ hs_config_service_all(const or_options_t *options, int validate_only)
}
/* In non validation mode, we'll stage those services we just successfully
- * configured. Service ownership is transfered from the list to the global
+ * configured. Service ownership is transferred from the list to the global
* state. If any service is invalid, it will be removed from the list and
* freed. All versions are handled in that function. */
if (!validate_only) {
diff --git a/src/or/hs_descriptor.c b/src/or/hs_descriptor.c
index 98942e8680..7388807bc5 100644
--- a/src/or/hs_descriptor.c
+++ b/src/or/hs_descriptor.c
@@ -745,8 +745,8 @@ get_fake_auth_client_lines(void)
/* Create the inner layer of the descriptor (which includes the intro points,
* etc.). Return a newly-allocated string with the layer plaintext, or NULL if
- * an error occured. It's the responsibility of the caller to free the returned
- * string. */
+ * an error occurred. It's the responsibility of the caller to free the
+ * returned string. */
static char *
get_inner_encrypted_layer_plaintext(const hs_descriptor_t *desc)
{
@@ -802,8 +802,8 @@ get_inner_encrypted_layer_plaintext(const hs_descriptor_t *desc)
/* Create the middle layer of the descriptor, which includes the client auth
* data and the encrypted inner layer (provided as a base64 string at
* <b>layer2_b64_ciphertext</b>). Return a newly-allocated string with the
- * layer plaintext, or NULL if an error occured. It's the responsibility of the
- * caller to free the returned string. */
+ * layer plaintext, or NULL if an error occurred. It's the responsibility of
+ * the caller to free the returned string. */
static char *
get_outer_encrypted_layer_plaintext(const hs_descriptor_t *desc,
const char *layer2_b64_ciphertext)
@@ -1609,7 +1609,7 @@ decode_intro_legacy_key(const directory_token_t *tok,
/* The check on the expiration date is for the entire lifetime of a
* certificate which is 24 hours. However, a descriptor has a maximum
* lifetime of 12 hours meaning we have a 12h difference between the two
- * which ultimately accomodate the clock skewed client. */
+ * which ultimately accommodate the clock skewed client. */
if (rsa_ed25519_crosscert_check(ip->legacy.cert.encoded,
ip->legacy.cert.len, ip->legacy.key,
&desc->plaintext_data.signing_pubkey,
diff --git a/src/or/hs_intropoint.c b/src/or/hs_intropoint.c
index 4a5202f614..3274e8e9c0 100644
--- a/src/or/hs_intropoint.c
+++ b/src/or/hs_intropoint.c
@@ -12,7 +12,6 @@
#include "config.h"
#include "circuitlist.h"
#include "circuituse.h"
-#include "config.h"
#include "relay.h"
#include "rendmid.h"
#include "rephist.h"
@@ -424,7 +423,7 @@ validate_introduce1_parsed_cell(const trn_cell_introduce1_t *cell)
/* We just received a non legacy INTRODUCE1 cell on <b>client_circ</b> with
* the payload in <b>request</b> of size <b>request_len</b>. Return 0 if
- * everything went well, or -1 if an error occured. This function is in charge
+ * everything went well, or -1 if an error occurred. This function is in charge
* of sending back an INTRODUCE_ACK cell and will close client_circ on error.
*/
STATIC int
diff --git a/src/or/hs_service.c b/src/or/hs_service.c
index 64ab9c9ee7..ba8abc4237 100644
--- a/src/or/hs_service.c
+++ b/src/or/hs_service.c
@@ -31,7 +31,6 @@
#include "hs_common.h"
#include "hs_config.h"
#include "hs_control.h"
-#include "hs_circuit.h"
#include "hs_descriptor.h"
#include "hs_ident.h"
#include "hs_intropoint.h"
@@ -72,7 +71,7 @@ static const char address_tld[] = "onion";
/* Staging list of service object. When configuring service, we add them to
* this list considered a staging area and they will get added to our global
- * map once the keys have been loaded. These two steps are seperated because
+ * map once the keys have been loaded. These two steps are separated because
* loading keys requires that we are an actual running tor process. */
static smartlist_t *hs_service_staging_list;
@@ -139,7 +138,7 @@ find_service(hs_service_ht *map, const ed25519_public_key_t *pk)
/* Register the given service in the given map. If the service already exists
* in the map, -1 is returned. On success, 0 is returned and the service
- * ownership has been transfered to the global map. */
+ * ownership has been transferred to the global map. */
STATIC int
register_service(hs_service_ht *map, hs_service_t *service)
{
@@ -253,7 +252,7 @@ describe_intro_point(const hs_service_intro_point_t *ip)
static int32_t
get_intro_point_min_introduce2(void)
{
- /* The [0, 2147483647] range is quite large to accomodate anything we decide
+ /* The [0, 2147483647] range is quite large to accommodate anything we decide
* in the future. */
return networkstatus_get_param(NULL, "hs_intro_min_introduce2",
INTRO_POINT_MIN_LIFETIME_INTRODUCTIONS,
@@ -266,7 +265,7 @@ get_intro_point_min_introduce2(void)
static int32_t
get_intro_point_max_introduce2(void)
{
- /* The [0, 2147483647] range is quite large to accomodate anything we decide
+ /* The [0, 2147483647] range is quite large to accommodate anything we decide
* in the future. */
return networkstatus_get_param(NULL, "hs_intro_max_introduce2",
INTRO_POINT_MAX_LIFETIME_INTRODUCTIONS,
@@ -283,7 +282,7 @@ get_intro_point_min_lifetime(void)
return MIN_INTRO_POINT_LIFETIME_TESTING;
}
- /* The [0, 2147483647] range is quite large to accomodate anything we decide
+ /* The [0, 2147483647] range is quite large to accommodate anything we decide
* in the future. */
return networkstatus_get_param(NULL, "hs_intro_min_lifetime",
INTRO_POINT_LIFETIME_MIN_SECONDS,
@@ -300,7 +299,7 @@ get_intro_point_max_lifetime(void)
return MAX_INTRO_POINT_LIFETIME_TESTING;
}
- /* The [0, 2147483647] range is quite large to accomodate anything we decide
+ /* The [0, 2147483647] range is quite large to accommodate anything we decide
* in the future. */
return networkstatus_get_param(NULL, "hs_intro_max_lifetime",
INTRO_POINT_LIFETIME_MAX_SECONDS,
@@ -1272,7 +1271,7 @@ build_desc_intro_points(const hs_service_t *service,
} DIGEST256MAP_FOREACH_END;
}
-/* Populate the descriptor encrypted section fomr the given service object.
+/* 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. */
static int
@@ -1302,7 +1301,7 @@ build_service_desc_encrypted(const hs_service_t *service,
return 0;
}
-/* Populare the descriptor plaintext section from the given service object.
+/* 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
@@ -1513,7 +1512,9 @@ build_all_descriptors(time_t now)
* empty, we'll try to build it for the next time period. This only
* happens when we rotate meaning that we are guaranteed to have a new SRV
* at that point for the next time period. */
- tor_assert(service->desc_current);
+ if (BUG(service->desc_current == NULL)) {
+ continue;
+ }
if (service->desc_next == NULL) {
build_service_descriptor(service, now, hs_get_next_time_period_num(0),
@@ -1930,6 +1931,33 @@ should_rotate_descriptors(hs_service_t *service, time_t now)
}
if (ns->valid_after >= service->state.next_rotation_time) {
+ /* In theory, we should never get here with no descriptors. We can never
+ * have a NULL current descriptor except when tor starts up. The next
+ * descriptor can be NULL after a rotation but we build a new one right
+ * after.
+ *
+ * So, when tor starts, the next rotation time is set to the start of the
+ * next SRV period using the consensus valid after time so it should
+ * always be set to a future time value. This means that we should never
+ * reach this point at bootup that is this check safeguards tor in never
+ * allowing a rotation if the valid after time is smaller than the next
+ * rotation time.
+ *
+ * This is all good in theory but we've had a NULL descriptor issue here
+ * so this is why we BUG() on both with extra logging to try to understand
+ * how this can possibly happens. We'll simply ignore and tor should
+ * recover from this by skipping rotation and building the missing
+ * descriptors just after this. */
+ if (BUG(service->desc_current == NULL || service->desc_next == NULL)) {
+ log_warn(LD_BUG, "Service descriptor is NULL (%p/%p). Next rotation "
+ "time is %ld (now: %ld). Valid after time from "
+ "consensus is %ld",
+ service->desc_current, service->desc_next,
+ (long)service->state.next_rotation_time,
+ (long)now,
+ (long)ns->valid_after);
+ goto no_rotation;
+ }
goto rotation;
}
@@ -1982,9 +2010,6 @@ rotate_all_descriptors(time_t now)
continue;
}
- tor_assert(service->desc_current);
- tor_assert(service->desc_next);
-
log_info(LD_REND, "Time to rotate our descriptors (%p / %p) for %s",
service->desc_current, service->desc_next,
safe_str_client(service->onion_address));
@@ -2978,7 +3003,7 @@ hs_service_add_ephemeral(ed25519_secret_key_t *sk, smartlist_t *ports,
service = hs_service_new(get_options());
/* Setup the service configuration with specifics. A default service is
- * HS_VERSION_TWO so explicitely set it. */
+ * HS_VERSION_TWO so explicitly set it. */
service->config.version = HS_VERSION_THREE;
service->config.max_streams_per_rdv_circuit = max_streams_per_rdv_circuit;
service->config.max_streams_close_circuit = !!max_streams_close_circuit;
@@ -3218,7 +3243,7 @@ hs_service_set_conn_addr_port(const origin_circuit_t *circ,
}
/* Find a virtual port of that service mathcing the one in the connection if
- * succesful, set the address in the connection. */
+ * successful, set the address in the connection. */
if (hs_set_conn_addr_port(service->config.ports, conn) < 0) {
log_info(LD_REND, "No virtual port mapping exists for port %d for "
"hidden service %s.",
diff --git a/src/or/keypin.c b/src/or/keypin.c
index 457f21696f..97e16c1f78 100644
--- a/src/or/keypin.c
+++ b/src/or/keypin.c
@@ -289,8 +289,10 @@ static int keypin_journal_fd = -1;
int
keypin_open_journal(const char *fname)
{
- /* O_SYNC ??*/
- int fd = tor_open_cloexec(fname, O_WRONLY|O_CREAT|O_BINARY, 0600);
+#ifndef O_SYNC
+#define O_SYNC 0
+#endif
+ int fd = tor_open_cloexec(fname, O_WRONLY|O_CREAT|O_BINARY|O_SYNC, 0600);
if (fd < 0)
goto err;
@@ -417,10 +419,11 @@ keypin_load_journal_impl(const char *data, size_t size)
++n_entries;
}
- int severity = (n_corrupt_lines || n_duplicates) ? LOG_WARN : LOG_INFO;
+ int severity = (n_corrupt_lines || n_duplicates) ? LOG_NOTICE : LOG_INFO;
tor_log(severity, LD_DIRSERV,
"Loaded %d entries from keypin journal. "
- "Found %d corrupt lines, %d duplicates, and %d conflicts.",
+ "Found %d corrupt lines (ignored), %d duplicates (harmless), "
+ "and %d conflicts (resolved in favor or more recent entry).",
n_entries, n_corrupt_lines, n_duplicates, n_conflicts);
return 0;
diff --git a/src/or/main.c b/src/or/main.c
index 98566c0c91..a0d2ae0757 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -133,7 +133,7 @@ void evdns_shutdown(int);
#ifdef HAVE_RUST
// helper function defined in Rust to output a log message indicating if tor is
// running with Rust enabled. See src/rust/tor_util
-char *rust_welcome_string(void);
+void rust_log_welcome_string(void);
#endif
/********* PROTOTYPES **********/
@@ -179,7 +179,7 @@ static uint64_t stats_n_bytes_written = 0;
/** What time did this process start up? */
time_t time_of_process_start = 0;
/** How many seconds have we been running? */
-long stats_n_seconds_working = 0;
+static long stats_n_seconds_working = 0;
/** How many times have we returned from the main loop successfully? */
static uint64_t stats_n_main_loop_successes = 0;
/** How many times have we received an error from the main loop? */
@@ -342,7 +342,7 @@ connection_remove(connection_t *conn)
smartlist_len(connection_array));
if (conn->type == CONN_TYPE_AP && conn->socket_family == AF_UNIX) {
- log_info(LD_NET, "Closing SOCKS SocksSocket connection");
+ log_info(LD_NET, "Closing SOCKS Unix socket connection");
}
control_event_conn_bandwidth(conn);
@@ -1008,7 +1008,8 @@ conn_close_if_marked(int i)
LOG_FN_CONN(conn, (LOG_INFO,LD_NET,
"Holding conn (fd %d) open for more flushing.",
(int)conn->s));
- conn->timestamp_lastwritten = now; /* reset so we can flush more */
+ conn->timestamp_last_write_allowed = now; /* reset so we can flush
+ * more */
} else if (sz == 0) {
/* Also, retval==0. If we get here, we didn't want to write anything
* (because of rate-limiting) and we didn't. */
@@ -1094,7 +1095,7 @@ directory_all_unreachable(time_t now)
{
(void)now;
- stats_n_seconds_working=0; /* reset it */
+ reset_uptime(); /* reset it */
if (!directory_all_unreachable_cb_event) {
directory_all_unreachable_cb_event =
@@ -1143,7 +1144,7 @@ directory_info_has_arrived(time_t now, int from_cache, int suppress_logs)
if (server_mode(options) && !net_is_disabled() && !from_cache &&
(have_completed_a_circuit() || !any_predicted_circuits(now)))
- consider_testing_reachability(1, 1);
+ router_do_reachability_checks(1, 1);
}
/** Perform regular maintenance tasks for a single connection. This
@@ -1159,7 +1160,7 @@ run_connection_housekeeping(int i, time_t now)
channel_t *chan = NULL;
int have_any_circuits;
int past_keepalive =
- now >= conn->timestamp_lastwritten + options->KeepalivePeriod;
+ now >= conn->timestamp_last_write_allowed + options->KeepalivePeriod;
if (conn->outbuf && !connection_get_outbuf_len(conn) &&
conn->type == CONN_TYPE_OR)
@@ -1174,10 +1175,10 @@ run_connection_housekeeping(int i, time_t now)
* if a server or received if a client) for 5 min */
if (conn->type == CONN_TYPE_DIR &&
((DIR_CONN_IS_SERVER(conn) &&
- conn->timestamp_lastwritten
+ conn->timestamp_last_write_allowed
+ options->TestingDirConnectionMaxStall < now) ||
(!DIR_CONN_IS_SERVER(conn) &&
- conn->timestamp_lastread
+ conn->timestamp_last_read_allowed
+ options->TestingDirConnectionMaxStall < now))) {
log_info(LD_DIR,"Expiring wedged directory conn (fd %d, purpose %d)",
(int)conn->s, conn->purpose);
@@ -1253,13 +1254,14 @@ run_connection_housekeeping(int i, time_t now)
connection_or_close_normally(TO_OR_CONN(conn), 0);
} else if (
now >= or_conn->timestamp_lastempty + options->KeepalivePeriod*10 &&
- now >= conn->timestamp_lastwritten + options->KeepalivePeriod*10) {
+ now >=
+ conn->timestamp_last_write_allowed + options->KeepalivePeriod*10) {
log_fn(LOG_PROTOCOL_WARN,LD_PROTOCOL,
"Expiring stuck OR connection to fd %d (%s:%d). (%d bytes to "
"flush; %d seconds since last write)",
(int)conn->s, conn->address, conn->port,
(int)connection_get_outbuf_len(conn),
- (int)(now-conn->timestamp_lastwritten));
+ (int)(now-conn->timestamp_last_write_allowed));
connection_or_close_normally(TO_OR_CONN(conn), 0);
} else if (past_keepalive && !connection_get_outbuf_len(conn)) {
/* send a padding cell */
@@ -1473,6 +1475,7 @@ teardown_periodic_events(void)
for (i = 0; periodic_events[i].name; ++i) {
periodic_event_destroy(&periodic_events[i]);
}
+ periodic_events_initialized = 0;
}
/**
@@ -1940,14 +1943,14 @@ reset_padding_counts_callback(time_t now, const or_options_t *options)
return REPHIST_CELL_PADDING_COUNTS_INTERVAL;
}
+static int should_init_bridge_stats = 1;
+
/**
* Periodic callback: Write bridge statistics to disk if appropriate.
*/
static int
record_bridge_stats_callback(time_t now, const or_options_t *options)
{
- static int should_init_bridge_stats = 1;
-
/* 1h. Check whether we should write bridge statistics to disk.
*/
if (should_record_bridge_info(options)) {
@@ -2062,8 +2065,8 @@ check_for_reachability_bw_callback(time_t now, const or_options_t *options)
if (server_mode(options) &&
(have_completed_a_circuit() || !any_predicted_circuits(now)) &&
!net_is_disabled()) {
- if (stats_n_seconds_working < TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT) {
- consider_testing_reachability(1, dirport_reachability_count==0);
+ if (get_uptime() < TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT) {
+ router_do_reachability_checks(1, dirport_reachability_count==0);
if (++dirport_reachability_count > 5)
dirport_reachability_count = 0;
return 1;
@@ -2140,6 +2143,8 @@ expire_old_ciruits_serverside_callback(time_t now, const or_options_t *options)
return 11;
}
+static int dns_honesty_first_time = 1;
+
/**
* Periodic event: if we're an exit, see if our DNS server is telling us
* obvious lies.
@@ -2155,10 +2160,9 @@ check_dns_honesty_callback(time_t now, const or_options_t *options)
router_my_exit_policy_is_reject_star())
return PERIODIC_EVENT_NO_UPDATE;
- static int first_time = 1;
- if (first_time) {
+ if (dns_honesty_first_time) {
/* Don't launch right when we start */
- first_time = 0;
+ dns_honesty_first_time = 0;
return crypto_rand_int_range(60, 180);
}
@@ -2209,6 +2213,8 @@ check_fw_helper_app_callback(time_t now, const or_options_t *options)
return PORT_FORWARDING_CHECK_INTERVAL;
}
+static int heartbeat_callback_first_time = 1;
+
/**
* Periodic callback: write the heartbeat message in the logs.
*
@@ -2218,16 +2224,14 @@ check_fw_helper_app_callback(time_t now, const or_options_t *options)
static int
heartbeat_callback(time_t now, const or_options_t *options)
{
- static int first = 1;
-
/* Check if heartbeat is disabled */
if (!options->HeartbeatPeriod) {
return PERIODIC_EVENT_NO_UPDATE;
}
/* Skip the first one. */
- if (first) {
- first = 0;
+ if (heartbeat_callback_first_time) {
+ heartbeat_callback_first_time = 0;
return options->HeartbeatPeriod;
}
@@ -2279,6 +2283,8 @@ hs_service_callback(time_t now, const or_options_t *options)
static periodic_timer_t *second_timer = NULL;
/** Number of libevent errors in the last second: we die if we get too many. */
static int n_libevent_errors = 0;
+/** Last time that second_elapsed_callback was called. */
+static time_t current_second = 0;
/** Libevent callback: invoked once every second. */
static void
@@ -2287,7 +2293,6 @@ 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. */
- static time_t current_second = 0;
time_t now;
size_t bytes_written;
size_t bytes_read;
@@ -2319,8 +2324,8 @@ second_elapsed_callback(periodic_timer_t *timer, void *arg)
!net_is_disabled() &&
seconds_elapsed > 0 &&
have_completed_a_circuit() &&
- stats_n_seconds_working / TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT !=
- (stats_n_seconds_working+seconds_elapsed) /
+ get_uptime() / TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT !=
+ (get_uptime()+seconds_elapsed) /
TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT) {
/* every 20 minutes, check and complain if necessary */
const routerinfo_t *me = router_get_my_routerinfo();
@@ -2382,12 +2387,14 @@ systemd_watchdog_callback(periodic_timer_t *timer, void *arg)
/** Timer: used to invoke refill_callback(). */
static periodic_timer_t *refill_timer = NULL;
+/** Millisecond when refall_callback was last invoked. */
+static struct timeval refill_timer_current_millisecond;
+
/** Libevent callback: invoked periodically to refill token buckets
* and count r/w bytes. */
static void
refill_callback(periodic_timer_t *timer, void *arg)
{
- static struct timeval current_millisecond;
struct timeval now;
size_t bytes_written;
@@ -2403,12 +2410,13 @@ refill_callback(periodic_timer_t *timer, void *arg)
tor_gettimeofday(&now);
/* If this is our first time, no time has passed. */
- if (current_millisecond.tv_sec) {
- long mdiff = tv_mdiff(&current_millisecond, &now);
+ if (refill_timer_current_millisecond.tv_sec) {
+ long mdiff = tv_mdiff(&refill_timer_current_millisecond, &now);
if (mdiff > INT_MAX)
mdiff = INT_MAX;
milliseconds_elapsed = (int)mdiff;
- seconds_rolled_over = (int)(now.tv_sec - current_millisecond.tv_sec);
+ seconds_rolled_over = (int)(now.tv_sec -
+ refill_timer_current_millisecond.tv_sec);
}
bytes_written = stats_prev_global_write_bucket - global_write_bucket;
@@ -2425,7 +2433,8 @@ refill_callback(periodic_timer_t *timer, void *arg)
stats_prev_global_read_bucket = global_read_bucket;
stats_prev_global_write_bucket = global_write_bucket;
- current_millisecond = now; /* remember what time it is, for next time */
+ /* remember what time it is, for next time */
+ refill_timer_current_millisecond = now;
}
#ifndef _WIN32
@@ -2464,9 +2473,9 @@ ip_address_changed(int at_interface)
}
} else {
if (server) {
- if (stats_n_seconds_working > UPTIME_CUTOFF_FOR_NEW_BANDWIDTH_TEST)
+ if (get_uptime() > UPTIME_CUTOFF_FOR_NEW_BANDWIDTH_TEST)
reset_bandwidth_test();
- stats_n_seconds_working = 0;
+ reset_uptime();
router_reset_reachability();
}
}
@@ -2830,7 +2839,7 @@ run_main_loop_once(void)
if (get_options()->MainloopStats) {
/* Update our main loop counters. */
if (loop_result == 0) {
- // The call was succesful.
+ // The call was successful.
increment_main_loop_success_count();
} else if (loop_result == -1) {
// The call was erroneous.
@@ -3004,6 +3013,13 @@ get_uptime,(void))
return stats_n_seconds_working;
}
+/** Reset Tor's uptime. */
+MOCK_IMPL(void,
+reset_uptime,(void))
+{
+ stats_n_seconds_working = 0;
+}
+
/**
* Write current memory usage information to the log.
*/
@@ -3047,13 +3063,13 @@ dumpstats(int severity)
i,
(int)connection_get_inbuf_len(conn),
(int)buf_allocation(conn->inbuf),
- (int)(now - conn->timestamp_lastread));
+ (int)(now - conn->timestamp_last_read_allowed));
tor_log(severity,LD_GENERAL,
"Conn %d: %d bytes waiting on outbuf "
"(len %d, last written %d secs ago)",i,
(int)connection_get_outbuf_len(conn),
(int)buf_allocation(conn->outbuf),
- (int)(now - conn->timestamp_lastwritten));
+ (int)(now - conn->timestamp_last_write_allowed));
if (conn->type == CONN_TYPE_OR) {
or_connection_t *or_conn = TO_OR_CONN(conn);
if (or_conn->tls) {
@@ -3323,14 +3339,12 @@ tor_init(int argc, char *argv[])
if (strstr(version, "alpha") || strstr(version, "beta"))
log_notice(LD_GENERAL, "This version is not a stable Tor release. "
"Expect more bugs than usual.");
+
+ tor_compress_log_init_warnings();
}
#ifdef HAVE_RUST
- char *rust_str = rust_welcome_string();
- if (rust_str != NULL && strlen(rust_str) > 0) {
- log_notice(LD_GENERAL, "%s", rust_str);
- }
- tor_free(rust_str);
+ rust_log_welcome_string();
#endif /* defined(HAVE_RUST) */
if (network_init()<0) {
@@ -3376,7 +3390,7 @@ tor_init(int argc, char *argv[])
log_warn(LD_NET, "Problem initializing libevent RNG.");
}
- /* Scan/clean unparseable descroptors; after reading config */
+ /* Scan/clean unparseable descriptors; after reading config */
routerparse_init();
return 0;
@@ -3512,6 +3526,31 @@ tor_free_all(int postfork)
tor_event_free(shutdown_did_not_work_event);
tor_event_free(initialize_periodic_events_event);
+#ifdef HAVE_SYSTEMD_209
+ periodic_timer_free(systemd_watchdog_timer);
+#endif
+
+ global_read_bucket = global_write_bucket = 0;
+ global_relayed_read_bucket = global_relayed_write_bucket = 0;
+ stats_prev_global_read_bucket = stats_prev_global_write_bucket = 0;
+ stats_prev_n_read = stats_prev_n_written = 0;
+ stats_n_bytes_read = stats_n_bytes_written = 0;
+ time_of_process_start = 0;
+ time_of_last_signewnym = 0;
+ signewnym_is_pending = 0;
+ newnym_epoch = 0;
+ called_loop_once = 0;
+ main_loop_should_exit = 0;
+ main_loop_exit_value = 0;
+ can_complete_circuits = 0;
+ quiet_level = 0;
+ should_init_bridge_stats = 1;
+ dns_honesty_first_time = 1;
+ heartbeat_callback_first_time = 1;
+ n_libevent_errors = 0;
+ current_second = 0;
+ memset(&refill_timer_current_millisecond, 0, sizeof(struct timeval));
+
if (!postfork) {
release_lockfile();
}
diff --git a/src/or/main.h b/src/or/main.h
index c49d216f4e..f01506fcea 100644
--- a/src/or/main.h
+++ b/src/or/main.h
@@ -63,6 +63,7 @@ void reschedule_descriptor_update_check(void);
void reschedule_directory_downloads(void);
MOCK_DECL(long,get_uptime,(void));
+MOCK_DECL(void,reset_uptime,(void));
unsigned get_signewnym_epoch(void);
@@ -87,7 +88,6 @@ uint64_t get_main_loop_error_count(void);
uint64_t get_main_loop_idle_count(void);
extern time_t time_of_process_start;
-extern long stats_n_seconds_working;
extern int quiet_level;
extern int global_read_bucket;
extern int global_write_bucket;
diff --git a/src/or/microdesc.c b/src/or/microdesc.c
index d8a4660af1..b4a934e095 100644
--- a/src/or/microdesc.c
+++ b/src/or/microdesc.c
@@ -920,8 +920,7 @@ microdesc_list_missing_digest256(networkstatus_t *ns, microdesc_cache_t *cache,
if (microdesc_cache_lookup_by_digest256(cache, rs->descriptor_digest))
continue;
if (downloadable_only &&
- !download_status_is_ready(&rs->dl_status, now,
- get_options()->TestingMicrodescMaxDownloadTries))
+ !download_status_is_ready(&rs->dl_status, now))
continue;
if (skip && digest256map_get(skip, (const uint8_t*)rs->descriptor_digest))
continue;
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index 31ecb20985..235b95b704 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -107,9 +107,9 @@ static time_t time_to_download_next_consensus[N_CONSENSUS_FLAVORS];
static download_status_t consensus_dl_status[N_CONSENSUS_FLAVORS] =
{
{ 0, 0, 0, DL_SCHED_CONSENSUS, DL_WANT_ANY_DIRSERVER,
- DL_SCHED_INCREMENT_FAILURE, DL_SCHED_RANDOM_EXPONENTIAL, 0, 0 },
+ DL_SCHED_INCREMENT_FAILURE, 0, 0 },
{ 0, 0, 0, DL_SCHED_CONSENSUS, DL_WANT_ANY_DIRSERVER,
- DL_SCHED_INCREMENT_FAILURE, DL_SCHED_RANDOM_EXPONENTIAL, 0, 0 },
+ DL_SCHED_INCREMENT_FAILURE, 0, 0 },
};
#define N_CONSENSUS_BOOTSTRAP_SCHEDULES 2
@@ -126,10 +126,10 @@ static download_status_t
consensus_bootstrap_dl_status[N_CONSENSUS_BOOTSTRAP_SCHEDULES] =
{
{ 0, 0, 0, DL_SCHED_CONSENSUS, DL_WANT_AUTHORITY,
- DL_SCHED_INCREMENT_ATTEMPT, DL_SCHED_RANDOM_EXPONENTIAL, 0, 0 },
+ DL_SCHED_INCREMENT_ATTEMPT, 0, 0 },
/* During bootstrap, DL_WANT_ANY_DIRSERVER means "use fallbacks". */
{ 0, 0, 0, DL_SCHED_CONSENSUS, DL_WANT_ANY_DIRSERVER,
- DL_SCHED_INCREMENT_ATTEMPT, DL_SCHED_RANDOM_EXPONENTIAL, 0, 0 },
+ DL_SCHED_INCREMENT_ATTEMPT, 0, 0 },
};
/** True iff we have logged a warning about this OR's version being older than
@@ -237,7 +237,7 @@ router_reload_consensus_networkstatus(void)
s = networkstatus_read_cached_consensus_impl(flav, flavor, 1);
if (s) {
if (networkstatus_set_current_consensus(s, flavor,
- flags|NSSET_WAS_WAITING_FOR_CERTS,
+ flags | NSSET_WAS_WAITING_FOR_CERTS,
NULL)) {
log_info(LD_FS, "Couldn't load unverified consensus %s networkstatus "
"from cache", flavor);
@@ -943,20 +943,20 @@ update_consensus_networkstatus_downloads(time_t now)
update_consensus_bootstrap_multiple_downloads(now, options);
} else {
/* Check if we failed downloading a consensus too recently */
- int max_dl_tries = options->TestingConsensusMaxDownloadTries;
/* Let's make sure we remembered to update consensus_dl_status */
tor_assert(consensus_dl_status[i].schedule == DL_SCHED_CONSENSUS);
- if (!download_status_is_ready(&consensus_dl_status[i],
- now,
- max_dl_tries)) {
+ if (!download_status_is_ready(&consensus_dl_status[i], now)) {
continue;
}
- /* Check if we're waiting for certificates to download */
- if (check_consensus_waiting_for_certs(i, now, &consensus_dl_status[i]))
+ /** Check if we're waiting for certificates to download. If we are,
+ * launch download for missing directory authority certificates. */
+ if (check_consensus_waiting_for_certs(i, now, &consensus_dl_status[i])) {
+ update_certificate_downloads(now);
continue;
+ }
/* Try the requested attempt */
log_info(LD_DIR, "Launching %s standard networkstatus consensus "
@@ -977,17 +977,9 @@ update_consensus_networkstatus_downloads(time_t now)
static void
update_consensus_bootstrap_attempt_downloads(
time_t now,
- const or_options_t *options,
download_status_t *dls,
download_want_authority_t want_authority)
{
- int use_fallbacks = networkstatus_consensus_can_use_extra_fallbacks(options);
- int max_dl_tries = options->ClientBootstrapConsensusMaxDownloadTries;
- if (!use_fallbacks) {
- max_dl_tries =
- options->ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries;
- }
-
const char *resource = networkstatus_get_flavor_name(
usable_consensus_flavor());
@@ -996,7 +988,7 @@ update_consensus_bootstrap_attempt_downloads(
/* Allow for multiple connections in the same second, if the schedule value
* is 0. */
- while (download_status_is_ready(dls, now, max_dl_tries)) {
+ while (download_status_is_ready(dls, now)) {
log_info(LD_DIR, "Launching %s bootstrap %s networkstatus consensus "
"download.", resource, (want_authority == DL_WANT_AUTHORITY
? "authority"
@@ -1047,7 +1039,7 @@ update_consensus_bootstrap_multiple_downloads(time_t now,
if (!check_consensus_waiting_for_certs(usable_flavor, now, dls_f)) {
/* During bootstrap, DL_WANT_ANY_DIRSERVER means "use fallbacks". */
- update_consensus_bootstrap_attempt_downloads(now, options, dls_f,
+ update_consensus_bootstrap_attempt_downloads(now, dls_f,
DL_WANT_ANY_DIRSERVER);
}
}
@@ -1057,7 +1049,7 @@ update_consensus_bootstrap_multiple_downloads(time_t now,
&consensus_bootstrap_dl_status[CONSENSUS_BOOTSTRAP_SOURCE_AUTHORITY];
if (!check_consensus_waiting_for_certs(usable_flavor, now, dls_a)) {
- update_consensus_bootstrap_attempt_downloads(now, options, dls_a,
+ update_consensus_bootstrap_attempt_downloads(now, dls_a,
DL_WANT_AUTHORITY);
}
}
@@ -1241,16 +1233,20 @@ should_delay_dir_fetches(const or_options_t *options, const char **msg_out)
return 0;
}
-/** Launch requests for networkstatus documents and authority certificates as
- * appropriate. */
+/** Launch requests for networkstatus documents as appropriate. This is called
+ * when we retry all the connections on a SIGHUP and periodically by a Periodic
+ * event which checks whether we want to download any networkstatus documents.
+ */
void
update_networkstatus_downloads(time_t now)
{
const or_options_t *options = get_options();
if (should_delay_dir_fetches(options, NULL))
return;
+ /** Launch a consensus download request, we will wait for the consensus to
+ * download and when it completes we will launch a certificate download
+ * request. */
update_consensus_networkstatus_downloads(now);
- update_certificate_downloads(now);
}
/** Launch requests as appropriate for missing directory authority
@@ -1779,7 +1775,6 @@ networkstatus_set_current_consensus(const char *consensus,
consensus_waiting_for_certs_t *waiting = NULL;
time_t current_valid_after = 0;
int free_consensus = 1; /* Free 'c' at the end of the function */
- int old_ewma_enabled;
int checked_protocols_already = 0;
if (flav < 0) {
@@ -1928,6 +1923,15 @@ networkstatus_set_current_consensus(const char *consensus,
}
}
+ /* Signatures from the consensus are verified */
+ if (from_cache && was_waiting_for_certs) {
+ /* We check if the consensus is loaded from disk cache and that it
+ * it is an unverified consensus. If it is unverified, rename it to
+ * cached-*-consensus since it has been verified. */
+ log_info(LD_DIR, "Unverified consensus signatures verified.");
+ tor_rename(unverified_fname, consensus_fname);
+ }
+
if (!from_cache && flav == usable_consensus_flavor())
control_event_client_status(LOG_NOTICE, "CONSENSUS_ARRIVED");
@@ -2003,17 +2007,8 @@ networkstatus_set_current_consensus(const char *consensus,
/* XXXXNM Microdescs: needs a non-ns variant. ???? NM*/
update_consensus_networkstatus_fetch_time(now);
- /* Update ewma and adjust policy if needed; first cache the old value */
- old_ewma_enabled = cell_ewma_enabled();
/* Change the cell EWMA settings */
- cell_ewma_set_scale_factor(options, c);
- /* If we just enabled ewma, set the cmux policy on all active channels */
- if (cell_ewma_enabled() && !old_ewma_enabled) {
- channel_set_cmux_policy_everywhere(&ewma_policy);
- } else if (!cell_ewma_enabled() && old_ewma_enabled) {
- /* Turn it off everywhere */
- channel_set_cmux_policy_everywhere(NULL);
- }
+ cmux_ewma_set_options(options, c);
/* XXXX this call might be unnecessary here: can changing the
* current consensus really alter our view of any OR's rate limits? */
diff --git a/src/or/nodelist.c b/src/or/nodelist.c
index 17a50ca862..40b56f3d1d 100644
--- a/src/or/nodelist.c
+++ b/src/or/nodelist.c
@@ -42,6 +42,7 @@
#include "or.h"
#include "address.h"
+#include "address_set.h"
#include "config.h"
#include "control.h"
#include "dirserv.h"
@@ -87,6 +88,7 @@ static void count_usable_descriptors(int *num_present,
static void update_router_have_minimum_dir_info(void);
static double get_frac_paths_needed_for_circs(const or_options_t *options,
const networkstatus_t *ns);
+static void node_add_to_address_set(const node_t *node);
/** A nodelist_t holds a node_t object for every router we're "willing to use
* for something". Specifically, it should hold a node_t for every node that
@@ -105,6 +107,9 @@ typedef struct nodelist_t {
* you should add it to this map with node_add_to_ed25519_map().
*/
HT_HEAD(nodelist_ed_map, node_t) nodes_by_ed_id;
+
+ /* Set of addresses that belong to nodes we believe in. */
+ address_set_t *node_addrs;
} nodelist_t;
static inline unsigned int
@@ -381,6 +386,50 @@ node_addrs_changed(node_t *node)
node->country = -1;
}
+/** Add all address information about <b>node</b> to the current address
+ * set (if there is one).
+ */
+static void
+node_add_to_address_set(const node_t *node)
+{
+ if (!the_nodelist || !the_nodelist->node_addrs)
+ return;
+
+ /* These various address sources can be redundant, but it's likely faster
+ * to add them all than to compare them all for equality. */
+
+ if (node->rs) {
+ if (node->rs->addr)
+ address_set_add_ipv4h(the_nodelist->node_addrs, node->rs->addr);
+ if (!tor_addr_is_null(&node->rs->ipv6_addr))
+ address_set_add(the_nodelist->node_addrs, &node->rs->ipv6_addr);
+ }
+ if (node->ri) {
+ if (node->ri->addr)
+ address_set_add_ipv4h(the_nodelist->node_addrs, node->ri->addr);
+ if (!tor_addr_is_null(&node->ri->ipv6_addr))
+ address_set_add(the_nodelist->node_addrs, &node->ri->ipv6_addr);
+ }
+ if (node->md) {
+ if (!tor_addr_is_null(&node->md->ipv6_addr))
+ address_set_add(the_nodelist->node_addrs, &node->md->ipv6_addr);
+ }
+}
+
+/** Return true if <b>addr</b> is the address of some node in the nodelist.
+ * If not, probably return false. */
+int
+nodelist_probably_contains_address(const tor_addr_t *addr)
+{
+ if (BUG(!addr))
+ return 0;
+
+ if (!the_nodelist || !the_nodelist->node_addrs)
+ return 0;
+
+ return address_set_probably_contains(the_nodelist->node_addrs, addr);
+}
+
/** Add <b>ri</b> to an appropriate node in the nodelist. If we replace an
* old routerinfo, and <b>ri_old_out</b> is not NULL, set *<b>ri_old_out</b>
* to the previous routerinfo.
@@ -431,6 +480,8 @@ nodelist_set_routerinfo(routerinfo_t *ri, routerinfo_t **ri_old_out)
networkstatus_get_latest_consensus());
}
+ node_add_to_address_set(node);
+
return node;
}
@@ -472,9 +523,22 @@ nodelist_add_microdesc(microdesc_t *md)
node_add_to_ed25519_map(node);
}
+ node_add_to_address_set(node);
+
return node;
}
+/* Default value. */
+#define ESTIMATED_ADDRESS_PER_NODE 2
+
+/* Return the estimated number of address per node_t. This is used for the
+ * size of the bloom filter in the nodelist (node_addrs). */
+MOCK_IMPL(int,
+get_estimated_address_per_node, (void))
+{
+ return ESTIMATED_ADDRESS_PER_NODE;
+}
+
/** Tell the nodelist that the current usable consensus is <b>ns</b>.
* This makes the nodelist change all of the routerstatus entries for
* the nodes, drop nodes that no longer have enough info to get used,
@@ -493,6 +557,12 @@ nodelist_set_consensus(networkstatus_t *ns)
SMARTLIST_FOREACH(the_nodelist->nodes, node_t *, node,
node->rs = NULL);
+ /* Conservatively estimate that every node will have 2 addresses. */
+ const int estimated_addresses = smartlist_len(ns->routerstatus_list) *
+ get_estimated_address_per_node();
+ address_set_free(the_nodelist->node_addrs);
+ the_nodelist->node_addrs = address_set_new(estimated_addresses);
+
SMARTLIST_FOREACH_BEGIN(ns->routerstatus_list, routerstatus_t *, rs) {
node_t *node = node_get_or_create(rs->identity_digest);
node->rs = rs;
@@ -536,6 +606,11 @@ nodelist_set_consensus(networkstatus_t *ns)
nodelist_purge();
+ /* Now add all the nodes we have to the address set. */
+ SMARTLIST_FOREACH_BEGIN(the_nodelist->nodes, node_t *, node) {
+ node_add_to_address_set(node);
+ } SMARTLIST_FOREACH_END(node);
+
if (! authdir) {
SMARTLIST_FOREACH_BEGIN(the_nodelist->nodes, node_t *, node) {
/* We have no routerstatus for this router. Clear flags so we can skip
@@ -694,6 +769,9 @@ nodelist_free_all(void)
smartlist_free(the_nodelist->nodes);
+ address_set_free(the_nodelist->node_addrs);
+ the_nodelist->node_addrs = NULL;
+
tor_free(the_nodelist);
}
@@ -1378,9 +1456,11 @@ node_ipv6_or_preferred(const node_t *node)
/* XX/teor - node->ipv6_preferred is set from
* fascist_firewall_prefer_ipv6_orport() each time the consensus is loaded.
*/
+ node_get_prim_orport(node, &ipv4_addr);
if (!fascist_firewall_use_ipv6(options)) {
return 0;
- } else if (node->ipv6_preferred || node_get_prim_orport(node, &ipv4_addr)) {
+ } else if (node->ipv6_preferred ||
+ !tor_addr_port_is_valid_ap(&ipv4_addr, 0)) {
return node_has_ipv6_orport(node);
}
return 0;
@@ -1391,14 +1471,12 @@ node_ipv6_or_preferred(const node_t *node)
if (r && tor_addr_port_is_valid_ipv4h((r)->addr, (r)->port_field, 0)) { \
tor_addr_from_ipv4h(&(ap_out)->addr, (r)->addr); \
(ap_out)->port = (r)->port_field; \
- return 0; \
} \
STMT_END
-/** Copy the primary (IPv4) OR port (IP address and TCP port) for
- * <b>node</b> into *<b>ap_out</b>. Return 0 if a valid address and
- * port was copied, else return non-zero.*/
-int
+/** Copy the primary (IPv4) OR port (IP address and TCP port) for <b>node</b>
+ * into *<b>ap_out</b>. */
+void
node_get_prim_orport(const node_t *node, tor_addr_port_t *ap_out)
{
node_assert_ok(node);
@@ -1415,8 +1493,6 @@ node_get_prim_orport(const node_t *node, tor_addr_port_t *ap_out)
RETURN_IPV4_AP(node->ri, or_port, ap_out);
RETURN_IPV4_AP(node->rs, or_port, ap_out);
/* Microdescriptors only have an IPv6 address */
-
- return -1;
}
/** Copy the preferred OR port (IP address and TCP port) for
@@ -1488,19 +1564,19 @@ node_ipv6_dir_preferred(const node_t *node)
* so we can't use it to determine DirPort IPv6 preference.
* This means that bridge clients will use IPv4 DirPorts by default.
*/
+ node_get_prim_dirport(node, &ipv4_addr);
if (!fascist_firewall_use_ipv6(options)) {
return 0;
- } else if (node_get_prim_dirport(node, &ipv4_addr)
+ } else if (!tor_addr_port_is_valid_ap(&ipv4_addr, 0)
|| fascist_firewall_prefer_ipv6_dirport(get_options())) {
return node_has_ipv6_dirport(node);
}
return 0;
}
-/** Copy the primary (IPv4) Dir port (IP address and TCP port) for
- * <b>node</b> into *<b>ap_out</b>. Return 0 if a valid address and
- * port was copied, else return non-zero.*/
-int
+/** Copy the primary (IPv4) Dir port (IP address and TCP port) for <b>node</b>
+ * into *<b>ap_out</b>. */
+void
node_get_prim_dirport(const node_t *node, tor_addr_port_t *ap_out)
{
node_assert_ok(node);
@@ -1512,8 +1588,6 @@ node_get_prim_dirport(const node_t *node, tor_addr_port_t *ap_out)
RETURN_IPV4_AP(node->ri, dir_port, ap_out);
RETURN_IPV4_AP(node->rs, dir_port, ap_out);
/* Microdescriptors only have an IPv6 address */
-
- return -1;
}
#undef RETURN_IPV4_AP
diff --git a/src/or/nodelist.h b/src/or/nodelist.h
index 0abdcd6045..ff26c8cc76 100644
--- a/src/or/nodelist.h
+++ b/src/or/nodelist.h
@@ -29,6 +29,7 @@ const node_t *node_get_by_hex_id(const char *identity_digest,
node_t *nodelist_set_routerinfo(routerinfo_t *ri, routerinfo_t **ri_old_out);
node_t *nodelist_add_microdesc(microdesc_t *md);
void nodelist_set_consensus(networkstatus_t *ns);
+int nodelist_probably_contains_address(const tor_addr_t *addr);
void nodelist_remove_microdesc(const char *identity_digest, microdesc_t *md);
void nodelist_remove_routerinfo(routerinfo_t *ri);
@@ -76,11 +77,11 @@ int node_has_ipv6_dirport(const node_t *node);
/* Deprecated - use node_ipv6_or_preferred or node_ipv6_dir_preferred */
#define node_ipv6_preferred(node) node_ipv6_or_preferred(node)
int node_ipv6_or_preferred(const node_t *node);
-int node_get_prim_orport(const node_t *node, tor_addr_port_t *ap_out);
+void node_get_prim_orport(const node_t *node, tor_addr_port_t *ap_out);
void node_get_pref_orport(const node_t *node, tor_addr_port_t *ap_out);
void node_get_pref_ipv6_orport(const node_t *node, tor_addr_port_t *ap_out);
int node_ipv6_dir_preferred(const node_t *node);
-int node_get_prim_dirport(const node_t *node, tor_addr_port_t *ap_out);
+void node_get_prim_dirport(const node_t *node, tor_addr_port_t *ap_out);
void node_get_pref_dirport(const node_t *node, tor_addr_port_t *ap_out);
void node_get_pref_ipv6_dirport(const node_t *node, tor_addr_port_t *ap_out);
int node_has_curve25519_onion_key(const node_t *node);
@@ -154,5 +155,7 @@ node_set_hsdir_index(node_t *node, const networkstatus_t *ns);
#endif /* defined(NODELIST_PRIVATE) */
+MOCK_DECL(int, get_estimated_address_per_node, (void));
+
#endif /* !defined(TOR_NODELIST_H) */
diff --git a/src/or/onion.c b/src/or/onion.c
index bd80c2f503..0c88c4d7ee 100644
--- a/src/or/onion.c
+++ b/src/or/onion.c
@@ -521,6 +521,11 @@ onion_skin_create(int type,
return r;
}
+/* This is the maximum value for keys_out_len passed to
+ * onion_skin_server_handshake, plus 16. We can make it bigger if needed:
+ * It just defines how many bytes to stack-allocate. */
+#define MAX_KEYS_TMP_LEN 128
+
/** Perform the second (server-side) step of a circuit-creation handshake of
* type <b>type</b>, responding to the client request in <b>onion_skin</b>
* using the keys in <b>keys</b>. On success, write our response into
@@ -563,20 +568,21 @@ onion_skin_server_handshake(int type,
return -1;
{
size_t keys_tmp_len = keys_out_len + DIGEST_LEN;
- uint8_t *keys_tmp = tor_malloc(keys_out_len + DIGEST_LEN);
+ tor_assert(keys_tmp_len <= MAX_KEYS_TMP_LEN);
+ uint8_t keys_tmp[MAX_KEYS_TMP_LEN];
if (onion_skin_ntor_server_handshake(
onion_skin, keys->curve25519_key_map,
keys->junk_keypair,
keys->my_identity,
reply_out, keys_tmp, keys_tmp_len)<0) {
- tor_free(keys_tmp);
+ /* no need to memwipe here, since the output will never be used */
return -1;
}
+
memcpy(keys_out, keys_tmp, keys_out_len);
memcpy(rend_nonce_out, keys_tmp+keys_out_len, DIGEST_LEN);
- memwipe(keys_tmp, 0, keys_tmp_len);
- tor_free(keys_tmp);
+ memwipe(keys_tmp, 0, sizeof(keys_tmp));
r = NTOR_REPLY_LEN;
}
break;
diff --git a/src/or/onion_fast.c b/src/or/onion_fast.c
index 56c954829e..de9103b1f5 100644
--- a/src/or/onion_fast.c
+++ b/src/or/onion_fast.c
@@ -23,7 +23,7 @@
* [*]Actually, it's possible that TAP _was_ a little better than TLS with
* RSA1024 certificates and EDH1024 for forward secrecy, if you
* hypothesize an adversary who can compute discrete logarithms on a
- * small number of targetted DH1024 fields, but who can't break all that
+ * small number of targeted DH1024 fields, but who can't break all that
* many RSA1024 keys.
**/
diff --git a/src/or/or.h b/src/or/or.h
index 311a1faf32..6ff5902da5 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -1361,10 +1361,10 @@ typedef struct connection_t {
* connection. */
size_t outbuf_flushlen; /**< How much data should we try to flush from the
* outbuf? */
- time_t timestamp_lastread; /**< When was the last time libevent said we could
- * read? */
- time_t timestamp_lastwritten; /**< When was the last time libevent said we
- * could write? */
+ time_t timestamp_last_read_allowed; /**< When was the last time libevent said
+ * we could read? */
+ time_t timestamp_last_write_allowed; /**< When was the last time libevent
+ * said we could write? */
time_t timestamp_created; /**< When was this connection_t created? */
@@ -1818,9 +1818,6 @@ typedef struct entry_connection_t {
* the exit has sent a CONNECTED cell) and we have chosen to use it.
*/
unsigned int may_use_optimistic_data : 1;
-
- /** Are we a socks SocksSocket listener? */
- unsigned int is_socks_socket:1;
} entry_connection_t;
/** Subtype of connection_t for an "directory connection" -- that is, an HTTP
@@ -2073,15 +2070,6 @@ typedef enum {
#define download_schedule_increment_bitfield_t \
ENUM_BF(download_schedule_increment_t)
-/** Enumeration: do we want to use the random exponential backoff
- * mechanism? */
-typedef enum {
- DL_SCHED_DETERMINISTIC = 0,
- DL_SCHED_RANDOM_EXPONENTIAL = 1,
-} download_schedule_backoff_t;
-#define download_schedule_backoff_bitfield_t \
- ENUM_BF(download_schedule_backoff_t)
-
/** Information about our plans for retrying downloads for a downloadable
* directory object.
* Each type of downloadable directory object has a corresponding retry
@@ -2128,11 +2116,6 @@ typedef struct download_status_t {
download_schedule_increment_bitfield_t increment_on : 1; /**< does this
* schedule increment on each attempt,
* or after each failure? */
- download_schedule_backoff_bitfield_t backoff : 1; /**< do we use the
- * deterministic schedule, or random
- * exponential backoffs?
- * Increment on failure schedules
- * always use exponential backoff. */
uint8_t last_backoff_position; /**< number of attempts/failures, depending
* on increment_on, when we last recalculated
* the delay. Only updated if backoff
@@ -3142,7 +3125,7 @@ typedef struct circuit_t {
/** When the circuit was first used, or 0 if the circuit is clean.
*
- * XXXX Note that some code will artifically adjust this value backward
+ * XXXX Note that some code will artificially adjust this value backward
* in time in order to indicate that a circuit shouldn't be used for new
* streams, but that it can stay alive as long as it has streams on it.
* That's a kludge we should fix.
@@ -3179,15 +3162,6 @@ typedef struct circuit_t {
/** Index in smartlist of all circuits (global_circuitlist). */
int global_circuitlist_idx;
- /** Next circuit in the doubly-linked ring of circuits waiting to add
- * cells to n_conn. NULL if we have no cells pending, or if we're not
- * linked to an OR connection. */
- struct circuit_t *next_active_on_n_chan;
- /** Previous circuit in the doubly-linked ring of circuits waiting to add
- * cells to n_conn. NULL if we have no cells pending, or if we're not
- * linked to an OR connection. */
- struct circuit_t *prev_active_on_n_chan;
-
/** Various statistics about cells being added to or removed from this
* circuit's queues; used only if CELL_STATS events are enabled and
* cleared after being sent to control port. */
@@ -3400,7 +3374,7 @@ typedef struct origin_circuit_t {
uint32_t global_identifier;
/** True if we have associated one stream to this circuit, thereby setting
- * the isolation paramaters for this circuit. Note that this doesn't
+ * the isolation parameters for this circuit. Note that this doesn't
* necessarily mean that we've <em>attached</em> any streams to the circuit:
* we may only have marked up this circuit during the launch process.
*/
@@ -3467,14 +3441,6 @@ struct onion_queue_t;
typedef struct or_circuit_t {
circuit_t base_;
- /** Next circuit in the doubly-linked ring of circuits waiting to add
- * cells to p_chan. NULL if we have no cells pending, or if we're not
- * linked to an OR connection. */
- struct circuit_t *next_active_on_p_chan;
- /** Previous circuit in the doubly-linked ring of circuits waiting to add
- * cells to p_chan. NULL if we have no cells pending, or if we're not
- * linked to an OR connection. */
- struct circuit_t *prev_active_on_p_chan;
/** Pointer to an entry on the onion queue, if this circuit is waiting for a
* chance to give an onionskin to a cpuworker. Used only in onion.c */
struct onion_queue_t *onionqueue_entry;
@@ -3794,7 +3760,7 @@ typedef struct {
* for control connections. */
int ControlSocketsGroupWritable; /**< Boolean: Are control sockets g+rw? */
- int SocksSocketsGroupWritable; /**< Boolean: Are SOCKS sockets g+rw? */
+ int UnixSocksGroupWritable; /**< Boolean: Are SOCKS Unix sockets g+rw? */
/** Ports to listen on for directory connections. */
config_line_t *DirPort_lines;
config_line_t *DNSPort_lines; /**< Ports to listen on for DNS requests. */
@@ -4182,7 +4148,7 @@ typedef struct {
int UseEntryGuards_option;
/** Internal variable to remember whether we're actually acting on
* UseEntryGuards_option -- when we're a non-anonymous Tor2web client or
- * Single Onion Service, it is alwasy false, otherwise we use the value of
+ * Single Onion Service, it is always false, otherwise we use the value of
* UseEntryGuards_option. */
int UseEntryGuards;
@@ -4428,37 +4394,11 @@ typedef struct {
* it? Only altered on testing networks. */
int TestingDirConnectionMaxStall;
- /** How many times will we try to fetch a consensus before we give
- * up? Only altered on testing networks. */
- int TestingConsensusMaxDownloadTries;
-
- /** How many times will a client try to fetch a consensus while
- * bootstrapping using a list of fallback directories, before it gives up?
- * Only altered on testing networks. */
- int ClientBootstrapConsensusMaxDownloadTries;
-
- /** How many times will a client try to fetch a consensus while
- * bootstrapping using only a list of authorities, before it gives up?
- * Only altered on testing networks. */
- int ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries;
-
/** How many simultaneous in-progress connections will we make when trying
* to fetch a consensus before we wait for one to complete, timeout, or
* error out? Only altered on testing networks. */
int ClientBootstrapConsensusMaxInProgressTries;
- /** How many times will we try to download a router's descriptor before
- * giving up? Only altered on testing networks. */
- int TestingDescriptorMaxDownloadTries;
-
- /** How many times will we try to download a microdescriptor before
- * giving up? Only altered on testing networks. */
- int TestingMicrodescMaxDownloadTries;
-
- /** How many times will we try to fetch a certificate before giving
- * up? Only altered on testing networks. */
- int TestingCertMaxDownloadTries;
-
/** If true, we take part in a testing network. Change the defaults of a
* couple of other configuration options and allow to change the values
* of certain configuration options. */
@@ -5380,7 +5320,7 @@ typedef struct rend_intro_point_t {
*/
int accepted_introduce2_count;
- /** (Service side only) Number of maximum INTRODUCE2 cells that this IP
+ /** (Service side only) Maximum number of INTRODUCE2 cells that this IP
* will accept. This is a random value between
* INTRO_POINT_MIN_LIFETIME_INTRODUCTIONS and
* INTRO_POINT_MAX_LIFETIME_INTRODUCTIONS. */
diff --git a/src/or/policies.c b/src/or/policies.c
index e14b33c8e0..f718ded326 100644
--- a/src/or/policies.c
+++ b/src/or/policies.c
@@ -2407,7 +2407,7 @@ policy_summary_item_split(policy_summary_item_t* old, uint16_t new_starts)
#define REJECT_CUTOFF_SCALE_IPV6 (64)
/* Ports are rejected in an IPv6 summary if they are rejected in more than one
* IPv6 /16 address block.
- * This is rougly equivalent to the IPv4 cutoff, as only five IPv6 /12s (and
+ * This is roughly equivalent to the IPv4 cutoff, as only five IPv6 /12s (and
* some scattered smaller blocks) have been allocated to the RIRs.
* Network providers are typically allocated one or more IPv6 /32s.
*/
diff --git a/src/or/protover.c b/src/or/protover.c
index 41b50df87f..cb168085c6 100644
--- a/src/or/protover.c
+++ b/src/or/protover.c
@@ -106,6 +106,9 @@ proto_entry_free_(proto_entry_t *entry)
tor_free(entry);
}
+/** The largest possible protocol version. */
+#define MAX_PROTOCOL_VERSION (UINT32_MAX-1)
+
/**
* Given a string <b>s</b> and optional end-of-string pointer
* <b>end_of_range</b>, parse the protocol range and store it in
@@ -126,9 +129,14 @@ parse_version_range(const char *s, const char *end_of_range,
if (BUG(!end_of_range))
end_of_range = s + strlen(s); // LCOV_EXCL_LINE
+ /* A range must start with a digit. */
+ if (!TOR_ISDIGIT(*s)) {
+ goto error;
+ }
+
/* Note that this wouldn't be safe if we didn't know that eventually,
* we'd hit a NUL */
- low = (uint32_t) tor_parse_ulong(s, 10, 0, UINT32_MAX, &ok, &next);
+ low = (uint32_t) tor_parse_ulong(s, 10, 0, MAX_PROTOCOL_VERSION, &ok, &next);
if (!ok)
goto error;
if (next > end_of_range)
@@ -141,13 +149,21 @@ parse_version_range(const char *s, const char *end_of_range,
if (*next != '-')
goto error;
s = next+1;
+
/* ibid */
- high = (uint32_t) tor_parse_ulong(s, 10, 0, UINT32_MAX, &ok, &next);
+ if (!TOR_ISDIGIT(*s)) {
+ goto error;
+ }
+ high = (uint32_t) tor_parse_ulong(s, 10, 0,
+ MAX_PROTOCOL_VERSION, &ok, &next);
if (!ok)
goto error;
if (next != end_of_range)
goto error;
+ if (low > high)
+ goto error;
+
done:
*high_out = high;
*low_out = low;
@@ -198,10 +214,6 @@ parse_single_entry(const char *s, const char *end_of_entry)
goto error;
}
- if (range->low > range->high) {
- goto error;
- }
-
s = comma;
while (*s == ',' && s < end_of_entry)
++s;
@@ -596,6 +608,12 @@ protover_compute_vote(const smartlist_t *list_of_proto_strings,
// First, parse the inputs and break them into singleton entries.
SMARTLIST_FOREACH_BEGIN(list_of_proto_strings, const char *, vote) {
smartlist_t *unexpanded = parse_protocol_list(vote);
+ if (! unexpanded) {
+ log_warn(LD_NET, "I failed with parsing a protocol list from "
+ "an authority. The offending string was: %s",
+ escaped(vote));
+ continue;
+ }
smartlist_t *this_vote = expand_protocol_list(unexpanded);
if (this_vote == NULL) {
log_warn(LD_NET, "When expanding a protocol list from an authority, I "
@@ -660,6 +678,11 @@ protover_all_supported(const char *s, char **missing_out)
}
smartlist_t *entries = parse_protocol_list(s);
+ if (BUG(entries == NULL)) {
+ log_warn(LD_NET, "Received an unparseable protocol list %s"
+ " from the consensus", escaped(s));
+ return 1;
+ }
missing = smartlist_new();
diff --git a/src/or/reasons.c b/src/or/reasons.c
index 03d49418da..ce1259b8f3 100644
--- a/src/or/reasons.c
+++ b/src/or/reasons.c
@@ -428,7 +428,7 @@ socks5_response_code_to_string(uint8_t code)
}
}
-/** Return a string corresponding to a bandwidht_weight_rule_t */
+/** Return a string corresponding to a bandwidth_weight_rule_t */
const char *
bandwidth_weight_rule_to_string(bandwidth_weight_rule_t rule)
{
diff --git a/src/or/relay.c b/src/or/relay.c
index 506b7eccb3..5dc9d9445b 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -151,9 +151,9 @@ relay_digest_matches(crypto_digest_t *digest, cell_t *cell)
{
uint32_t received_integrity, calculated_integrity;
relay_header_t rh;
- crypto_digest_t *backup_digest=NULL;
+ crypto_digest_checkpoint_t backup_digest;
- backup_digest = crypto_digest_dup(digest);
+ crypto_digest_checkpoint(&backup_digest, digest);
relay_header_unpack(&rh, cell->payload);
memcpy(&received_integrity, rh.integrity, 4);
@@ -167,19 +167,21 @@ relay_digest_matches(crypto_digest_t *digest, cell_t *cell)
crypto_digest_add_bytes(digest, (char*) cell->payload, CELL_PAYLOAD_SIZE);
crypto_digest_get_digest(digest, (char*) &calculated_integrity, 4);
+ int rv = 1;
+
if (calculated_integrity != received_integrity) {
// log_fn(LOG_INFO,"Recognized=0 but bad digest. Not recognizing.");
// (%d vs %d).", received_integrity, calculated_integrity);
/* restore digest to its old form */
- crypto_digest_assign(digest, backup_digest);
+ crypto_digest_restore(digest, &backup_digest);
/* restore the relay header */
memcpy(rh.integrity, &received_integrity, 4);
relay_header_pack(cell->payload, &rh);
- crypto_digest_free(backup_digest);
- return 0;
+ rv = 0;
}
- crypto_digest_free(backup_digest);
- return 1;
+
+ memwipe(&backup_digest, 0, sizeof(backup_digest));
+ return rv;
}
/** Apply <b>cipher</b> to CELL_PAYLOAD_SIZE bytes of <b>in</b>
@@ -1449,7 +1451,7 @@ connection_edge_process_relay_cell_not_open(
"after %d seconds.",
(unsigned)circ->n_circ_id,
rh->stream_id,
- (int)(time(NULL) - conn->base_.timestamp_lastread));
+ (int)(time(NULL) - conn->base_.timestamp_last_read_allowed));
if (connected_cell_parse(rh, cell, &addr, &ttl) < 0) {
log_fn(LOG_PROTOCOL_WARN, LD_APP,
"Got a badly formatted connected cell. Closing.");
@@ -2397,13 +2399,6 @@ circuit_consider_sending_sendme(circuit_t *circ, crypt_path_t *layer_hint)
}
}
-#ifdef ACTIVE_CIRCUITS_PARANOIA
-#define assert_cmux_ok_paranoid(chan) \
- assert_circuit_mux_okay(chan)
-#else
-#define assert_cmux_ok_paranoid(chan)
-#endif /* defined(ACTIVE_CIRCUITS_PARANOIA) */
-
/** The total number of cells we have allocated. */
static size_t total_cells_allocated = 0;
@@ -2691,16 +2686,12 @@ update_circuit_on_cmux_(circuit_t *circ, cell_direction_t direction,
}
tor_assert(circuitmux_attached_circuit_direction(cmux, circ) == direction);
- assert_cmux_ok_paranoid(chan);
-
/* Update the number of cells we have for the circuit mux */
if (direction == CELL_DIRECTION_OUT) {
circuitmux_set_num_cells(cmux, circ, circ->n_chan_cells.n);
} else {
circuitmux_set_num_cells(cmux, circ, or_circ->p_chan_cells.n);
}
-
- assert_cmux_ok_paranoid(chan);
}
/** Remove all circuits from the cmux on <b>chan</b>.
@@ -2845,7 +2836,6 @@ channel_flush_from_first_active_circuit, (channel_t *chan, int max))
}
/* If it returns NULL, no cells left to send */
if (!circ) break;
- assert_cmux_ok_paranoid(chan);
if (circ->n_chan == chan) {
queue = &circ->n_chan_cells;
@@ -2949,8 +2939,6 @@ channel_flush_from_first_active_circuit, (channel_t *chan, int max))
}
/* Okay, we're done sending now */
- assert_cmux_ok_paranoid(chan);
-
return n_flushed;
}
@@ -3101,17 +3089,6 @@ circuit_clear_cell_queue(circuit_t *circ, channel_t *chan)
update_circuit_on_cmux(circ, direction);
}
-/** Fail with an assert if the circuit mux on chan is corrupt
- */
-void
-assert_circuit_mux_okay(channel_t *chan)
-{
- tor_assert(chan);
- tor_assert(chan->cmux);
-
- circuitmux_assert_okay(chan->cmux);
-}
-
/** Return 1 if we shouldn't restart reading on this circuit, even if
* we get a SENDME. Else return 0.
*/
diff --git a/src/or/relay.h b/src/or/relay.h
index f0fa7e9870..ecc67e0b32 100644
--- a/src/or/relay.h
+++ b/src/or/relay.h
@@ -76,7 +76,6 @@ void destroy_cell_queue_append(destroy_cell_queue_t *queue,
void channel_unlink_all_circuits(channel_t *chan, smartlist_t *detached_out);
MOCK_DECL(int, channel_flush_from_first_active_circuit,
(channel_t *chan, int max));
-void assert_circuit_mux_okay(channel_t *chan);
void update_circuit_on_cmux_(circuit_t *circ, cell_direction_t direction,
const char *file, int lineno);
#define update_circuit_on_cmux(circ, direction) \
diff --git a/src/or/rendcache.c b/src/or/rendcache.c
index 6f56df6718..d27e1c293f 100644
--- a/src/or/rendcache.c
+++ b/src/or/rendcache.c
@@ -43,12 +43,12 @@ STATIC digestmap_t *rend_cache_v2_dir = NULL;
* 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,
* 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 unsuable.
+ * this cache, we discard the descriptor as it's considered unusable.
*
* Once a descriptor is removed from the rend cache or expires, the entry
* in this cache is also removed for the service ID.
*
- * This scheme allows us to not realy on the descriptor's timestamp (which
+ * This scheme allows us to not rely on the descriptor's timestamp (which
* is rounded down to the hour) to know if we have a newer descriptor. We
* only rely on the usability of intro points from an internal state. */
STATIC strmap_t *rend_cache_failure = NULL;
diff --git a/src/or/rendcache.h b/src/or/rendcache.h
index 66e9785645..8b6fd5b671 100644
--- a/src/or/rendcache.h
+++ b/src/or/rendcache.h
@@ -36,7 +36,7 @@ typedef struct rend_cache_entry_t {
/* Introduction point failure type. */
typedef struct rend_cache_failure_intro_t {
- /* When this intro point failure occured thus we allocated this object and
+ /* When this intro point failure occurred thus we allocated this object and
* cache it. */
time_t created_ts;
rend_intro_point_failure_t failure_type;
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 07fa33306d..9a1b97c6d6 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -571,7 +571,7 @@ fetch_v2_desc_by_descid(const char *desc_id,
/** Fetch a v2 descriptor using the onion address in the given query object.
* This will compute the descriptor id for each replicas and fetch it on the
- * given hsdir(s) if any or the responsible ones that are choosen
+ * given hsdir(s) if any or the responsible ones that are chosen
* automatically.
*
* On success, 1 is returned. If no hidden service is left to ask, return 0.
@@ -915,8 +915,8 @@ rend_client_desc_trynow(const char *query)
/* restart their timeout values, so they get a fair shake at
* connecting to the hidden service. */
base_conn->timestamp_created = now;
- base_conn->timestamp_lastread = now;
- base_conn->timestamp_lastwritten = now;
+ base_conn->timestamp_last_read_allowed = now;
+ base_conn->timestamp_last_write_allowed = now;
connection_ap_mark_as_pending_circuit(conn);
} else { /* 404, or fetch didn't get that far */
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index f38895d5f1..cc22429777 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -1360,7 +1360,7 @@ rend_services_add_filenames_to_lists(smartlist_t *open_lst,
}
/** Derive all rend_service_t internal material based on the service's key.
- * Returns 0 on sucess, -1 on failure.
+ * Returns 0 on success, -1 on failure.
*/
static int
rend_service_derive_key_digests(struct rend_service_t *s)
@@ -3196,7 +3196,7 @@ rend_service_intro_has_opened(origin_circuit_t *circuit)
/* If we already have enough introduction circuits for this service,
* redefine this one as a general circuit or close it, depending.
- * Substract the amount of expiring nodes here because the circuits are
+ * Subtract the amount of expiring nodes here because the circuits are
* still opened. */
if (valid_ip_circuits > service->n_intro_points_wanted) {
const or_options_t *options = get_options();
@@ -4121,7 +4121,7 @@ rend_consider_services_intro_points(time_t now)
n_intro_points_to_open);
break;
}
- /* Add the choosen node to the exclusion list in order to avoid picking
+ /* Add the chosen node to the exclusion list in order to avoid picking
* it again in the next iteration. */
smartlist_add(exclude_nodes, (void*)node);
intro = tor_malloc_zero(sizeof(rend_intro_point_t));
@@ -4286,7 +4286,7 @@ rend_service_dump_stats(int severity)
}
/** Given <b>conn</b>, a rendezvous exit stream, look up the hidden service for
- * 'circ', and look up the port and address based on conn-\>port.
+ * <b>circ</b>, and look up the port and address based on conn-\>port.
* Assign the actual conn-\>addr and conn-\>port. Return -2 on failure
* for which the circuit should be closed, -1 on other failure,
* or 0 for success.
diff --git a/src/or/rendservice.h b/src/or/rendservice.h
index 88da7b8665..cc872ab575 100644
--- a/src/or/rendservice.h
+++ b/src/or/rendservice.h
@@ -108,7 +108,7 @@ typedef struct rend_service_t {
/** If true, we don't close circuits for making requests to unsupported
* ports. */
int allow_unknown_ports;
- /** The maximum number of simultanious streams-per-circuit that are allowed
+ /** The maximum number of simultaneous streams-per-circuit that are allowed
* to be established, or 0 if no limit is set.
*/
int max_streams_per_circuit;
diff --git a/src/or/rephist.c b/src/or/rephist.c
index 15fb674fff..ac3e9f502e 100644
--- a/src/or/rephist.c
+++ b/src/or/rephist.c
@@ -86,7 +86,6 @@
#include "ht.h"
#include "channelpadding.h"
-#include "channelpadding.h"
#include "connection_or.h"
static void bw_arrays_init(void);
@@ -110,38 +109,12 @@ uint32_t rephist_total_num=0;
* 20X as much as one that ended a month ago, and routers that have had no
* uptime data for about half a year will get forgotten.) */
-/** History of an OR-\>OR link. */
-typedef struct link_history_t {
- /** When did we start tracking this list? */
- time_t since;
- /** When did we most recently note a change to this link */
- time_t changed;
- /** How many times did extending from OR1 to OR2 succeed? */
- unsigned long n_extend_ok;
- /** How many times did extending from OR1 to OR2 fail? */
- unsigned long n_extend_fail;
-} link_history_t;
-
/** History of an OR. */
typedef struct or_history_t {
/** When did we start tracking this OR? */
time_t since;
/** When did we most recently note a change to this OR? */
time_t changed;
- /** How many times did we successfully connect? */
- unsigned long n_conn_ok;
- /** How many times did we try to connect and fail?*/
- unsigned long n_conn_fail;
- /** How many seconds have we been connected to this OR before
- * 'up_since'? */
- unsigned long uptime;
- /** How many seconds have we been unable to connect to this OR before
- * 'down_since'? */
- unsigned long downtime;
- /** If nonzero, we have been connected since this time. */
- time_t up_since;
- /** If nonzero, we have been unable to connect since this time. */
- time_t down_since;
/** The address at which we most recently connected to this OR
* successfully. */
@@ -163,10 +136,6 @@ typedef struct or_history_t {
time_t start_of_downtime;
unsigned long weighted_uptime;
unsigned long total_weighted_time;
-
- /** Map from hex OR2 identity digest to a link_history_t for the link
- * from this OR to OR2. */
- digestmap_t *link_history_map;
} or_history_t;
/**
@@ -232,7 +201,6 @@ get_or_history(const char* id)
hist = tor_malloc_zero(sizeof(or_history_t));
rephist_total_alloc += sizeof(or_history_t);
rephist_total_num++;
- hist->link_history_map = digestmap_new();
hist->since = hist->changed = time(NULL);
tor_addr_make_unspec(&hist->last_reached_addr);
digestmap_set(history_map, id, hist);
@@ -240,66 +208,16 @@ get_or_history(const char* id)
return hist;
}
-/** Return the link_history_t for the link from the first named OR to
- * the second, creating it if necessary. (ORs are identified by
- * identity digest.)
- */
-static link_history_t *
-get_link_history(const char *from_id, const char *to_id)
-{
- or_history_t *orhist;
- link_history_t *lhist;
- orhist = get_or_history(from_id);
- if (!orhist)
- return NULL;
- if (tor_digest_is_zero(to_id))
- return NULL;
- lhist = digestmap_get(orhist->link_history_map, to_id);
- if (!lhist) {
- lhist = tor_malloc_zero(sizeof(link_history_t));
- rephist_total_alloc += sizeof(link_history_t);
- lhist->since = lhist->changed = time(NULL);
- digestmap_set(orhist->link_history_map, to_id, lhist);
- }
- return lhist;
-}
-
-/** Helper: free storage held by a single link history entry. */
-static void
-free_link_history_(void *val)
-{
- rephist_total_alloc -= sizeof(link_history_t);
- tor_free(val);
-}
-
/** Helper: free storage held by a single OR history entry. */
static void
free_or_history(void *_hist)
{
or_history_t *hist = _hist;
- digestmap_free(hist->link_history_map, free_link_history_);
rephist_total_alloc -= sizeof(or_history_t);
rephist_total_num--;
tor_free(hist);
}
-/** Update an or_history_t object <b>hist</b> so that its uptime/downtime
- * count is up-to-date as of <b>when</b>.
- */
-static void
-update_or_history(or_history_t *hist, time_t when)
-{
- tor_assert(hist);
- if (hist->up_since) {
- tor_assert(!hist->down_since);
- hist->uptime += (when - hist->up_since);
- hist->up_since = when;
- } else if (hist->down_since) {
- hist->downtime += (when - hist->down_since);
- hist->down_since = when;
- }
-}
-
/** Initialize the static data structures for tracking history. */
void
rep_hist_init(void)
@@ -309,99 +227,6 @@ rep_hist_init(void)
predicted_ports_alloc();
}
-/** Helper: note that we are no longer connected to the router with history
- * <b>hist</b>. If <b>failed</b>, the connection failed; otherwise, it was
- * closed correctly. */
-static void
-mark_or_down(or_history_t *hist, time_t when, int failed)
-{
- if (hist->up_since) {
- hist->uptime += (when - hist->up_since);
- hist->up_since = 0;
- }
- if (failed && !hist->down_since) {
- hist->down_since = when;
- }
-}
-
-/** Helper: note that we are connected to the router with history
- * <b>hist</b>. */
-static void
-mark_or_up(or_history_t *hist, time_t when)
-{
- if (hist->down_since) {
- hist->downtime += (when - hist->down_since);
- hist->down_since = 0;
- }
- if (!hist->up_since) {
- hist->up_since = when;
- }
-}
-
-/** Remember that an attempt to connect to the OR with identity digest
- * <b>id</b> failed at <b>when</b>.
- */
-void
-rep_hist_note_connect_failed(const char* id, time_t when)
-{
- or_history_t *hist;
- hist = get_or_history(id);
- if (!hist)
- return;
- ++hist->n_conn_fail;
- mark_or_down(hist, when, 1);
- hist->changed = when;
-}
-
-/** Remember that an attempt to connect to the OR with identity digest
- * <b>id</b> succeeded at <b>when</b>.
- */
-void
-rep_hist_note_connect_succeeded(const char* id, time_t when)
-{
- or_history_t *hist;
- hist = get_or_history(id);
- if (!hist)
- return;
- ++hist->n_conn_ok;
- mark_or_up(hist, when);
- hist->changed = when;
-}
-
-/** Remember that we intentionally closed our connection to the OR
- * with identity digest <b>id</b> at <b>when</b>.
- */
-void
-rep_hist_note_disconnect(const char* id, time_t when)
-{
- or_history_t *hist;
- hist = get_or_history(id);
- if (!hist)
- return;
- mark_or_down(hist, when, 0);
- hist->changed = when;
-}
-
-/** Remember that our connection to the OR with identity digest
- * <b>id</b> had an error and stopped working at <b>when</b>.
- */
-void
-rep_hist_note_connection_died(const char* id, time_t when)
-{
- or_history_t *hist;
- if (!id) {
- /* If conn has no identity, it didn't complete its handshake, or something
- * went wrong. Ignore it.
- */
- return;
- }
- hist = get_or_history(id);
- if (!hist)
- return;
- mark_or_down(hist, when, 1);
- hist->changed = when;
-}
-
/** We have just decided that this router with identity digest <b>id</b> is
* reachable, meaning we will give it a "Running" flag for the next while. */
void
@@ -538,7 +363,6 @@ rep_hist_make_router_pessimal(const char *id, time_t when)
tor_assert(hist);
rep_hist_note_router_unreachable(id, when);
- mark_or_down(hist, when, 1);
hist->weighted_run_length = 0;
hist->weighted_uptime = 0;
@@ -715,57 +539,17 @@ rep_hist_have_measured_enough_stability(void)
return started_tracking_stability < time(NULL) - 4*60*60;
}
-/** Remember that we successfully extended from the OR with identity
- * digest <b>from_id</b> to the OR with identity digest
- * <b>to_name</b>.
- */
-void
-rep_hist_note_extend_succeeded(const char *from_id, const char *to_id)
-{
- link_history_t *hist;
- /* log_fn(LOG_WARN, "EXTEND SUCCEEDED: %s->%s",from_name,to_name); */
- hist = get_link_history(from_id, to_id);
- if (!hist)
- return;
- ++hist->n_extend_ok;
- hist->changed = time(NULL);
-}
-
-/** Remember that we tried to extend from the OR with identity digest
- * <b>from_id</b> to the OR with identity digest <b>to_name</b>, but
- * failed.
- */
-void
-rep_hist_note_extend_failed(const char *from_id, const char *to_id)
-{
- link_history_t *hist;
- /* log_fn(LOG_WARN, "EXTEND FAILED: %s->%s",from_name,to_name); */
- hist = get_link_history(from_id, to_id);
- if (!hist)
- return;
- ++hist->n_extend_fail;
- hist->changed = time(NULL);
-}
-
/** Log all the reliability data we have remembered, with the chosen
* severity.
*/
void
rep_hist_dump_stats(time_t now, int severity)
{
- digestmap_iter_t *lhist_it;
digestmap_iter_t *orhist_it;
- const char *name1, *name2, *digest1, *digest2;
+ const char *name1, *digest1;
char hexdigest1[HEX_DIGEST_LEN+1];
- char hexdigest2[HEX_DIGEST_LEN+1];
or_history_t *or_history;
- link_history_t *link_history;
- void *or_history_p, *link_history_p;
- double uptime;
- char buffer[2048];
- size_t len;
- int ret;
- unsigned long upt, downt;
+ void *or_history_p;
const node_t *node;
rep_history_clean(now - get_options()->RephistTrackTime);
@@ -785,52 +569,12 @@ rep_hist_dump_stats(time_t now, int severity)
else
name1 = "(unknown)";
base16_encode(hexdigest1, sizeof(hexdigest1), digest1, DIGEST_LEN);
- update_or_history(or_history, now);
- upt = or_history->uptime;
- downt = or_history->downtime;
s = get_stability(or_history, now);
stability = (long)s;
- if (upt+downt) {
- uptime = ((double)upt) / (upt+downt);
- } else {
- uptime=1.0;
- }
tor_log(severity, LD_HIST,
- "OR %s [%s]: %ld/%ld good connections; uptime %ld/%ld sec (%.2f%%); "
- "wmtbf %lu:%02lu:%02lu",
+ "OR %s [%s]: wmtbf %lu:%02lu:%02lu",
name1, hexdigest1,
- or_history->n_conn_ok, or_history->n_conn_fail+or_history->n_conn_ok,
- upt, upt+downt, uptime*100.0,
stability/3600, (stability/60)%60, stability%60);
-
- if (!digestmap_isempty(or_history->link_history_map)) {
- strlcpy(buffer, " Extend attempts: ", sizeof(buffer));
- len = strlen(buffer);
- for (lhist_it = digestmap_iter_init(or_history->link_history_map);
- !digestmap_iter_done(lhist_it);
- lhist_it = digestmap_iter_next(or_history->link_history_map,
- lhist_it)) {
- digestmap_iter_get(lhist_it, &digest2, &link_history_p);
- if ((node = node_get_by_id(digest2)) && node_get_nickname(node))
- name2 = node_get_nickname(node);
- else
- name2 = "(unknown)";
-
- link_history = (link_history_t*) link_history_p;
-
- base16_encode(hexdigest2, sizeof(hexdigest2), digest2, DIGEST_LEN);
- ret = tor_snprintf(buffer+len, 2048-len, "%s [%s](%ld/%ld); ",
- name2,
- hexdigest2,
- link_history->n_extend_ok,
- link_history->n_extend_ok+link_history->n_extend_fail);
- if (ret<0)
- break;
- else
- len += ret;
- }
- tor_log(severity, LD_HIST, "%s", buffer);
- }
}
}
@@ -842,10 +586,9 @@ rep_history_clean(time_t before)
{
int authority = authdir_mode(get_options());
or_history_t *or_history;
- link_history_t *link_history;
- void *or_history_p, *link_history_p;
- digestmap_iter_t *orhist_it, *lhist_it;
- const char *d1, *d2;
+ void *or_history_p;
+ digestmap_iter_t *orhist_it;
+ const char *d1;
orhist_it = digestmap_iter_init(history_map);
while (!digestmap_iter_done(orhist_it)) {
@@ -862,19 +605,6 @@ rep_history_clean(time_t before)
free_or_history(or_history);
continue;
}
- for (lhist_it = digestmap_iter_init(or_history->link_history_map);
- !digestmap_iter_done(lhist_it); ) {
- digestmap_iter_get(lhist_it, &d2, &link_history_p);
- link_history = link_history_p;
- if (link_history->changed < before) {
- lhist_it = digestmap_iter_next_rmv(or_history->link_history_map,
- lhist_it);
- rephist_total_alloc -= sizeof(link_history_t);
- tor_free(link_history);
- continue;
- }
- lhist_it = digestmap_iter_next(or_history->link_history_map,lhist_it);
- }
orhist_it = digestmap_iter_next(history_map, orhist_it);
}
}
@@ -2736,7 +2466,7 @@ rep_hist_desc_stats_write(time_t now)
}
/** Called to note that we've served a given descriptor (by
- * digest). Incrememnts the count of descriptors served, and the number
+ * digest). Increments the count of descriptors served, and the number
* of times we've served this descriptor. */
void
rep_hist_note_desc_served(const char * desc)
diff --git a/src/or/rephist.h b/src/or/rephist.h
index 496e366865..5072721592 100644
--- a/src/or/rephist.h
+++ b/src/or/rephist.h
@@ -13,13 +13,6 @@
#define TOR_REPHIST_H
void rep_hist_init(void);
-void rep_hist_note_connect_failed(const char* nickname, time_t when);
-void rep_hist_note_connect_succeeded(const char* nickname, time_t when);
-void rep_hist_note_disconnect(const char* nickname, time_t when);
-void rep_hist_note_connection_died(const char* nickname, time_t when);
-void rep_hist_note_extend_succeeded(const char *from_name,
- const char *to_name);
-void rep_hist_note_extend_failed(const char *from_name, const char *to_name);
void rep_hist_dump_stats(time_t now, int severity);
void rep_hist_note_bytes_read(size_t num_bytes, time_t when);
void rep_hist_note_bytes_written(size_t num_bytes, time_t when);
diff --git a/src/or/replaycache.c b/src/or/replaycache.c
index 4a56bfd7d4..a9a6709937 100644
--- a/src/or/replaycache.c
+++ b/src/or/replaycache.c
@@ -26,7 +26,6 @@
/** Free the replaycache r and all of its entries.
*/
-
void
replaycache_free_(replaycache_t *r)
{
@@ -44,7 +43,6 @@ replaycache_free_(replaycache_t *r)
* for entries to age out and interval is the time after which the cache
* should be scrubbed for old entries.
*/
-
replaycache_t *
replaycache_new(time_t horizon, time_t interval)
{
@@ -72,9 +70,8 @@ replaycache_new(time_t horizon, time_t interval)
return r;
}
-/** See documentation for replaycache_add_and_test()
+/** See documentation for replaycache_add_and_test().
*/
-
STATIC int
replaycache_add_and_test_internal(
time_t present, replaycache_t *r, const void *data, size_t len,
@@ -136,9 +133,8 @@ replaycache_add_and_test_internal(
return rv;
}
-/** See documentation for replaycache_scrub_if_needed()
+/** See documentation for replaycache_scrub_if_needed().
*/
-
STATIC void
replaycache_scrub_if_needed_internal(time_t present, replaycache_t *r)
{
@@ -186,7 +182,6 @@ replaycache_scrub_if_needed_internal(time_t present, replaycache_t *r)
* and the function will return 1 if it was already seen within the cache's
* horizon, or 0 otherwise.
*/
-
int
replaycache_add_and_test(replaycache_t *r, const void *data, size_t len)
{
@@ -196,7 +191,6 @@ replaycache_add_and_test(replaycache_t *r, const void *data, size_t len)
/** Like replaycache_add_and_test(), but if it's a hit also return the time
* elapsed since this digest was last seen.
*/
-
int
replaycache_add_test_and_elapsed(
replaycache_t *r, const void *data, size_t len, time_t *elapsed)
@@ -207,7 +201,6 @@ replaycache_add_test_and_elapsed(
/** Scrub aged entries out of r if sufficiently long has elapsed since r was
* last scrubbed.
*/
-
void
replaycache_scrub_if_needed(replaycache_t *r)
{
diff --git a/src/or/router.c b/src/or/router.c
index 9c053cad46..991c7138c8 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -1227,7 +1227,8 @@ check_whether_dirport_reachable(const or_options_t *options)
/* XXX Should this be increased? */
#define MIN_BW_TO_ADVERTISE_DIRSERVER 51200
-/** Return true iff we have enough configured bandwidth to cache directory
+/** Return true iff we have enough configured bandwidth to advertise or
+ * automatically provide directory services from cache directory
* information. */
static int
router_has_bandwidth_to_be_dirserver(const or_options_t *options)
@@ -1250,7 +1251,7 @@ router_has_bandwidth_to_be_dirserver(const or_options_t *options)
* MIN_BW_TO_ADVERTISE_DIRSERVER, don't bother trying to serve requests.
*/
static int
-router_should_be_directory_server(const or_options_t *options, int dir_port)
+router_should_be_dirserver(const or_options_t *options, int dir_port)
{
static int advertising=1; /* start out assuming we will advertise */
int new_choice=1;
@@ -1355,7 +1356,7 @@ decide_to_advertise_dir_impl(const or_options_t *options,
/* Part two: consider config options that could make us choose to
* publish or not publish that the user might find surprising. */
- return router_should_be_directory_server(options, dir_port);
+ return router_should_be_dirserver(options, dir_port);
}
/** Front-end to decide_to_advertise_dir_impl(): return 0 if we don't want to
@@ -1363,7 +1364,7 @@ decide_to_advertise_dir_impl(const or_options_t *options,
* DirPort we want to advertise.
*/
static int
-decide_to_advertise_dirport(const or_options_t *options, uint16_t dir_port)
+router_should_advertise_dirport(const or_options_t *options, uint16_t dir_port)
{
/* supports_tunnelled_dir_requests is not relevant, pass 0 */
return decide_to_advertise_dir_impl(options, dir_port, 0) ? dir_port : 0;
@@ -1373,7 +1374,7 @@ decide_to_advertise_dirport(const or_options_t *options, uint16_t dir_port)
* advertise the fact that we support begindir requests, else return 1.
*/
static int
-decide_to_advertise_begindir(const or_options_t *options,
+router_should_advertise_begindir(const or_options_t *options,
int supports_tunnelled_dir_requests)
{
/* dir_port is not relevant, pass 0 */
@@ -1406,26 +1407,17 @@ extend_info_from_router(const routerinfo_t *r)
&ap.addr, ap.port);
}
-/** Some time has passed, or we just got new directory information.
- * See if we currently believe our ORPort or DirPort to be
- * unreachable. If so, launch a new test for it.
- *
- * For ORPort, we simply try making a circuit that ends at ourselves.
- * Success is noticed in onionskin_answer().
- *
- * For DirPort, we make a connection via Tor to our DirPort and ask
- * for our own server descriptor.
- * Success is noticed in connection_dir_client_reached_eof().
+/**See if we currently believe our ORPort or DirPort to be
+ * unreachable. If so, return 1 else return 0.
*/
-void
-consider_testing_reachability(int test_or, int test_dir)
+static int
+router_should_check_reachability(int test_or, int test_dir)
{
const routerinfo_t *me = router_get_my_routerinfo();
const or_options_t *options = get_options();
- int orport_reachable = check_whether_orport_reachable(options);
- tor_addr_t addr;
+
if (!me)
- return;
+ return 0;
if (routerset_contains_router(options->ExcludeNodes, me, -1) &&
options->StrictNodes) {
@@ -1440,43 +1432,66 @@ consider_testing_reachability(int test_or, int test_dir)
"We cannot learn whether we are usable, and will not "
"be able to advertise ourself.");
}
- return;
+ return 0;
}
+ return 1;
+}
+
+/** Some time has passed, or we just got new directory information.
+ * See if we currently believe our ORPort or DirPort to be
+ * unreachable. If so, launch a new test for it.
+ *
+ * For ORPort, we simply try making a circuit that ends at ourselves.
+ * Success is noticed in onionskin_answer().
+ *
+ * For DirPort, we make a connection via Tor to our DirPort and ask
+ * for our own server descriptor.
+ * Success is noticed in connection_dir_client_reached_eof().
+ */
+void
+router_do_reachability_checks(int test_or, int test_dir)
+{
+ const routerinfo_t *me = router_get_my_routerinfo();
+ const or_options_t *options = get_options();
+ int orport_reachable = check_whether_orport_reachable(options);
+ tor_addr_t addr;
+
+ if (router_should_check_reachability(test_or, test_dir)) {
+ if (test_or && (!orport_reachable || !circuit_enough_testing_circs())) {
+ extend_info_t *ei = extend_info_from_router(me);
+ /* XXX IPv6 self testing */
+ log_info(LD_CIRC, "Testing %s of my ORPort: %s:%d.",
+ !orport_reachable ? "reachability" : "bandwidth",
+ fmt_addr32(me->addr), me->or_port);
+ circuit_launch_by_extend_info(CIRCUIT_PURPOSE_TESTING, ei,
+ CIRCLAUNCH_NEED_CAPACITY|CIRCLAUNCH_IS_INTERNAL);
+ extend_info_free(ei);
+ }
- if (test_or && (!orport_reachable || !circuit_enough_testing_circs())) {
- extend_info_t *ei = extend_info_from_router(me);
/* XXX IPv6 self testing */
- log_info(LD_CIRC, "Testing %s of my ORPort: %s:%d.",
- !orport_reachable ? "reachability" : "bandwidth",
- fmt_addr32(me->addr), me->or_port);
- circuit_launch_by_extend_info(CIRCUIT_PURPOSE_TESTING, ei,
- CIRCLAUNCH_NEED_CAPACITY|CIRCLAUNCH_IS_INTERNAL);
- extend_info_free(ei);
- }
-
- /* XXX IPv6 self testing */
- tor_addr_from_ipv4h(&addr, me->addr);
- if (test_dir && !check_whether_dirport_reachable(options) &&
- !connection_get_by_type_addr_port_purpose(
- CONN_TYPE_DIR, &addr, me->dir_port,
- DIR_PURPOSE_FETCH_SERVERDESC)) {
- tor_addr_port_t my_orport, my_dirport;
- memcpy(&my_orport.addr, &addr, sizeof(addr));
- memcpy(&my_dirport.addr, &addr, sizeof(addr));
- my_orport.port = me->or_port;
- my_dirport.port = me->dir_port;
- /* ask myself, via tor, for my server descriptor. */
- directory_request_t *req =
- directory_request_new(DIR_PURPOSE_FETCH_SERVERDESC);
- directory_request_set_or_addr_port(req, &my_orport);
- directory_request_set_dir_addr_port(req, &my_dirport);
- directory_request_set_directory_id_digest(req,
+ tor_addr_from_ipv4h(&addr, me->addr);
+ if (test_dir && !check_whether_dirport_reachable(options) &&
+ !connection_get_by_type_addr_port_purpose(
+ CONN_TYPE_DIR, &addr, me->dir_port,
+ DIR_PURPOSE_FETCH_SERVERDESC)) {
+ tor_addr_port_t my_orport, my_dirport;
+ memcpy(&my_orport.addr, &addr, sizeof(addr));
+ memcpy(&my_dirport.addr, &addr, sizeof(addr));
+ my_orport.port = me->or_port;
+ my_dirport.port = me->dir_port;
+ /* ask myself, via tor, for my server descriptor. */
+ directory_request_t *req =
+ directory_request_new(DIR_PURPOSE_FETCH_SERVERDESC);
+ directory_request_set_or_addr_port(req, &my_orport);
+ directory_request_set_dir_addr_port(req, &my_dirport);
+ directory_request_set_directory_id_digest(req,
me->cache_info.identity_digest);
- // ask via an anon circuit, connecting to our dirport.
- directory_request_set_indirection(req, DIRIND_ANON_DIRPORT);
- directory_request_set_resource(req, "authority.z");
- directory_initiate_request(req);
- directory_request_free(req);
+ // ask via an anon circuit, connecting to our dirport.
+ directory_request_set_indirection(req, DIRIND_ANON_DIRPORT);
+ directory_request_set_resource(req, "authority.z");
+ directory_initiate_request(req);
+ directory_request_free(req);
+ }
}
}
@@ -1521,7 +1536,7 @@ router_dirport_found_reachable(void)
&& check_whether_orport_reachable(options) ?
" Publishing server descriptor." : "");
can_reach_dir_port = 1;
- if (decide_to_advertise_dirport(options, me->dir_port)) {
+ if (router_should_advertise_dirport(options, me->dir_port)) {
mark_my_descriptor_dirty("DirPort found reachable");
/* This is a significant enough change to upload immediately,
* at least in a test network */
@@ -2915,14 +2930,14 @@ router_dump_router_to_string(routerinfo_t *router,
router->nickname,
address,
router->or_port,
- decide_to_advertise_dirport(options, router->dir_port),
+ router_should_advertise_dirport(options, router->dir_port),
ed_cert_line ? ed_cert_line : "",
extra_or_address ? extra_or_address : "",
router->platform,
proto_line,
published,
fingerprint,
- stats_n_seconds_working,
+ get_uptime(),
(int) router->bandwidthrate,
(int) router->bandwidthburst,
(int) router->bandwidthcapacity,
@@ -2989,7 +3004,7 @@ router_dump_router_to_string(routerinfo_t *router,
tor_free(p6);
}
- if (decide_to_advertise_begindir(options,
+ if (router_should_advertise_begindir(options,
router->supports_tunnelled_dir_requests)) {
smartlist_add_strdup(chunks, "tunnelled-dir-server\n");
}
diff --git a/src/or/router.h b/src/or/router.h
index 696e983662..7f50308956 100644
--- a/src/or/router.h
+++ b/src/or/router.h
@@ -47,7 +47,7 @@ int init_keys_client(void);
int check_whether_orport_reachable(const or_options_t *options);
int check_whether_dirport_reachable(const or_options_t *options);
int dir_server_mode(const or_options_t *options);
-void consider_testing_reachability(int test_or, int test_dir);
+void router_do_reachability_checks(int test_or, int test_dir);
void router_orport_found_reachable(void);
void router_dirport_found_reachable(void);
void router_perform_bandwidth_test(int num_circs, time_t now);
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 061eba2d22..bc3abb236f 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -177,7 +177,7 @@ static void download_status_reset_by_sk_in_cl(cert_list_t *cl,
const char *digest);
static int download_status_is_ready_by_sk_in_cl(cert_list_t *cl,
const char *digest,
- time_t now, int max_failures);
+ time_t now);
/****************************************************************************/
@@ -235,7 +235,7 @@ get_n_authorities(dirinfo_type_t type)
return n;
}
-/** Initialise schedule, want_authority, and increment on in the download
+/** Initialise schedule, want_authority, and increment_on in the download
* status dlstatus, then call download_status_reset() on it.
* It is safe to call this function or download_status_reset() multiple times
* on a new dlstatus. But it should *not* be called after a dlstatus has been
@@ -246,7 +246,6 @@ download_status_cert_init(download_status_t *dlstatus)
dlstatus->schedule = DL_SCHED_CONSENSUS;
dlstatus->want_authority = DL_WANT_ANY_DIRSERVER;
dlstatus->increment_on = DL_SCHED_INCREMENT_FAILURE;
- dlstatus->backoff = DL_SCHED_RANDOM_EXPONENTIAL;
dlstatus->last_backoff_position = 0;
dlstatus->last_delay_used = 0;
@@ -288,7 +287,7 @@ download_status_reset_by_sk_in_cl(cert_list_t *cl, const char *digest)
static int
download_status_is_ready_by_sk_in_cl(cert_list_t *cl,
const char *digest,
- time_t now, int max_failures)
+ time_t now)
{
int rv = 0;
download_status_t *dlstatus = NULL;
@@ -305,7 +304,7 @@ download_status_is_ready_by_sk_in_cl(cert_list_t *cl,
/* Got one? */
if (dlstatus) {
/* Use download_status_is_ready() */
- rv = download_status_is_ready(dlstatus, now, max_failures);
+ rv = download_status_is_ready(dlstatus, now);
} else {
/*
* If we don't know anything about it, return 1, since we haven't
@@ -367,7 +366,7 @@ list_authority_ids_with_downloads, (void))
smartlist_add(ids, tmp);
}
}
- /* else definitely no downlaods going since nothing even has a cert list */
+ /* else definitely no downloads going since nothing even has a cert list */
return ids;
}
@@ -1068,8 +1067,7 @@ authority_certs_fetch_missing(networkstatus_t *status, time_t now,
}
} SMARTLIST_FOREACH_END(cert);
if (!found &&
- download_status_is_ready(&(cl->dl_status_by_id), now,
- options->TestingCertMaxDownloadTries) &&
+ download_status_is_ready(&(cl->dl_status_by_id), now) &&
!digestmap_get(pending_id, ds->v3_identity_digest)) {
log_info(LD_DIR,
"No current certificate known for authority %s "
@@ -1132,8 +1130,7 @@ authority_certs_fetch_missing(networkstatus_t *status, time_t now,
continue;
}
if (download_status_is_ready_by_sk_in_cl(
- cl, sig->signing_key_digest,
- now, options->TestingCertMaxDownloadTries) &&
+ cl, sig->signing_key_digest, now) &&
!fp_pair_map_get_by_digests(pending_cert,
voter->identity_digest,
sig->signing_key_digest)) {
@@ -1170,7 +1167,7 @@ authority_certs_fetch_missing(networkstatus_t *status, time_t now,
} SMARTLIST_FOREACH_END(voter);
}
- /* Bridge clients look up the node for the dir_hint */
+ /* Bridge clients look up the node for the dir_hint */
const node_t *node = NULL;
/* All clients, including bridge clients, look up the routerstatus for the
* dir_hint */
@@ -2652,7 +2649,7 @@ compute_weighted_bandwidths(const smartlist_t *sl,
is_dir = node_is_dir(node);
if (node->rs) {
if (!node->rs->has_bandwidth) {
- /* This should never happen, unless all the authorites downgrade
+ /* This should never happen, unless all the authorities downgrade
* to 0.2.0 or rogue routerstatuses get inserted into our consensus. */
if (! warned_missing_bw) {
log_warn(LD_BUG,
@@ -5167,8 +5164,7 @@ update_consensus_router_descriptor_downloads(time_t now, int is_vote,
++n_inprogress;
continue; /* We have an in-progress download. */
}
- if (!download_status_is_ready(&rs->dl_status, now,
- options->TestingDescriptorMaxDownloadTries)) {
+ if (!download_status_is_ready(&rs->dl_status, now)) {
++n_delayed; /* Not ready for retry. */
continue;
}
@@ -5344,8 +5340,7 @@ update_extrainfo_downloads(time_t now)
++n_have;
continue;
}
- if (!download_status_is_ready(&sd->ei_dl_status, now,
- options->TestingDescriptorMaxDownloadTries)) {
+ if (!download_status_is_ready(&sd->ei_dl_status, now)) {
++n_delay;
continue;
}
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index 1b79a6fe24..79499f2e6f 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -3809,7 +3809,6 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
ns->consensus_method,
flav))) {
/* Use exponential-backoff scheduling when downloading microdescs */
- rs->dl_status.backoff = DL_SCHED_RANDOM_EXPONENTIAL;
smartlist_add(ns->routerstatus_list, rs);
}
}
diff --git a/src/or/scheduler_kist.c b/src/or/scheduler_kist.c
index 43831b72be..6d6490077d 100644
--- a/src/or/scheduler_kist.c
+++ b/src/or/scheduler_kist.c
@@ -373,7 +373,7 @@ set_scheduler_run_interval(void)
}
}
-/* Return true iff the channel hasn’t hit its kist-imposed write limit yet */
+/* Return true iff the channel hasn't hit its kist-imposed write limit yet */
static int
socket_can_write(socket_table_t *table, const channel_t *chan)
{
diff --git a/src/or/shared_random.c b/src/or/shared_random.c
index 7723ad4611..13416d6bc7 100644
--- a/src/or/shared_random.c
+++ b/src/or/shared_random.c
@@ -1071,7 +1071,7 @@ sr_parse_srv(const smartlist_t *args)
srv = tor_malloc_zero(sizeof(*srv));
srv->num_reveals = num_reveals;
- /* We substract one byte from the srclen because the function ignores the
+ /* We subtract one byte from the srclen because the function ignores the
* '=' character in the given buffer. This is broken but it's a documented
* behavior of the implementation. */
ret = base64_decode((char *) srv->value, sizeof(srv->value), value,
diff --git a/src/or/shared_random_state.c b/src/or/shared_random_state.c
index d6109b2de7..53782af59a 100644
--- a/src/or/shared_random_state.c
+++ b/src/or/shared_random_state.c
@@ -1101,7 +1101,7 @@ sr_state_get_previous_srv(void)
}
/* Set the current SRV value from our state. Value CAN be NULL. The srv
- * object ownership is transfered to the state object. */
+ * object ownership is transferred to the state object. */
void
sr_state_set_previous_srv(const sr_srv_t *srv)
{
@@ -1120,7 +1120,7 @@ sr_state_get_current_srv(void)
}
/* Set the current SRV value from our state. Value CAN be NULL. The srv
- * object ownership is transfered to the state object. */
+ * object ownership is transferred to the state object. */
void
sr_state_set_current_srv(const sr_srv_t *srv)
{
@@ -1225,7 +1225,7 @@ sr_state_get_commit(const char *rsa_identity)
}
/* Add <b>commit</b> to the permanent state. The commit object ownership is
- * transfered to the state so the caller MUST not free it. */
+ * transferred to the state so the caller MUST not free it. */
void
sr_state_add_commit(sr_commit_t *commit)
{
diff --git a/src/or/status.c b/src/or/status.c
index 3b4c605853..4c497739e8 100644
--- a/src/or/status.c
+++ b/src/or/status.c
@@ -25,7 +25,6 @@
#include "main.h"
#include "rephist.h"
#include "hibernate.h"
-#include "rephist.h"
#include "statefile.h"
#include "hs_stats.h"
#include "hs_service.h"
@@ -42,7 +41,7 @@ count_circuits(void)
}
/** Take seconds <b>secs</b> and return a newly allocated human-readable
- * uptime string */
+ * uptime string. */
STATIC char *
secs_to_uptime(long secs)
{
@@ -187,7 +186,7 @@ log_heartbeat(time_t now)
const uint64_t main_loop_idle_count = get_main_loop_idle_count();
log_fn(LOG_NOTICE, LD_HEARTBEAT, "Main event loop statistics: "
- U64_FORMAT " succesful returns, "
+ U64_FORMAT " successful returns, "
U64_FORMAT " erroneous returns, and "
U64_FORMAT " idle returns.",
U64_PRINTF_ARG(main_loop_success_count),
diff --git a/src/or/tor_api.h b/src/or/tor_api.h
index 7e86c7fec5..6d4a9518e0 100644
--- a/src/or/tor_api.h
+++ b/src/or/tor_api.h
@@ -66,14 +66,12 @@ void tor_main_configuration_free(tor_main_configuration_t *cfg);
* This function will not return until Tor is done running. It returns zero
* on success, and nonzero on failure.
*
- * BUG 23848: In many cases, tor_main will call exit() or abort() instead of
- * returning. This is not the intended long-term behavior; we are trying to
- * fix it.
- *
- * BUG 23847: You can only call tor_main() once in a single process; if it
- * returns and you call it again, you may crash, or you may encounter other
- * unexpected behavior, including possible security issues. This is not
- * intended long-term behavior; we are trying to fix it.
+ * If you want to control when Tor exits, make sure to configure a control
+ * socket. The OwningControllerFD option may be helpful there.
+ *
+ * BUG 23847: Sometimes, if you call tor_main a second time (after it has
+ * returned), Tor may crash or behave strangely. We have fixed all issues of
+ * this type that we could find, but more may remain.
*
* LIMITATION: You cannot run more than one instance of Tor in the same
* process at the same time. Concurrent calls will cause undefined behavior.
diff --git a/src/or/transports.c b/src/or/transports.c
index 1e6307b7d0..5cbf1ddbc1 100644
--- a/src/or/transports.c
+++ b/src/or/transports.c
@@ -590,7 +590,7 @@ pt_configure_remaining_proxies(void)
}
/* If the proxy is not fully configured, try to configure it
- futher. */
+ further. */
if (!proxy_configuration_finished(mp))
if (configure_proxy(mp) == 1)
at_least_a_proxy_config_finished = 1;
@@ -1025,48 +1025,71 @@ parse_method_error(const char *line, int is_server)
line+strlen(error)+1);
}
-/** Parses an SMETHOD <b>line</b> and if well-formed it registers the
- * new transport in <b>mp</b>. */
-STATIC int
-parse_smethod_line(const char *line, managed_proxy_t *mp)
+/** A helper for parse_{c,s}method_line(), bootstraps its
+ * functionalities. If <b>is_smethod</b> is true then the
+ * the line to parse is a SMETHOD line otherwise it is a
+ * CMETHOD line*/
+static int
+parse_method_line_helper(const char *line,
+ managed_proxy_t *mp,
+ int is_smethod)
{
+ int item_index = 0;
int r;
- smartlist_t *items = NULL;
- char *method_name=NULL;
+ char *transport_name=NULL;
char *args_string=NULL;
char *addrport=NULL;
- tor_addr_t tor_addr;
+ int socks_ver=PROXY_NONE;
char *address=NULL;
uint16_t port = 0;
+ const char *method_str = is_smethod ? PROTO_SMETHOD : PROTO_CMETHOD;
+ const int min_args_count = is_smethod ? 3 : 4;
+
+ tor_addr_t tor_addr;
transport_t *transport=NULL;
+ smartlist_t *items= smartlist_new();
- items = smartlist_new();
smartlist_split_string(items, line, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, -1);
- if (smartlist_len(items) < 3) {
- log_warn(LD_CONFIG, "Server managed proxy sent us a SMETHOD line "
- "with too few arguments.");
+ if (smartlist_len(items) < min_args_count) {
+ log_warn(LD_CONFIG, "Managed proxy sent us a %s line "
+ "with too few arguments.", method_str);
goto err;
}
- /* Example of legit SMETHOD line:
- SMETHOD obfs2 0.0.0.0:25612 ARGS:secret=supersekrit,key=superkey */
-
- tor_assert(!strcmp(smartlist_get(items,0),PROTO_SMETHOD));
+ tor_assert(!strcmp(smartlist_get(items, item_index),method_str));
+ ++item_index;
- method_name = smartlist_get(items,1);
- if (!string_is_C_identifier(method_name)) {
+ transport_name = smartlist_get(items,item_index);
+ ++item_index;
+ if (!string_is_C_identifier(transport_name)) {
log_warn(LD_CONFIG, "Transport name is not a C identifier (%s).",
- method_name);
+ transport_name);
goto err;
}
- addrport = smartlist_get(items, 2);
+ /** Check for the proxy method sent to us in CMETHOD line. */
+ if (!is_smethod) {
+ const char *socks_ver_str = smartlist_get(items,item_index);
+ ++item_index;
+
+ if (!strcmp(socks_ver_str,"socks4")) {
+ socks_ver = PROXY_SOCKS4;
+ } else if (!strcmp(socks_ver_str,"socks5")) {
+ socks_ver = PROXY_SOCKS5;
+ } else {
+ log_warn(LD_CONFIG, "Client managed proxy sent us a proxy protocol "
+ "we don't recognize. (%s)", socks_ver_str);
+ goto err;
+ }
+ }
+
+ addrport = smartlist_get(items, item_index);
+ ++item_index;
if (tor_addr_port_split(LOG_WARN, addrport, &address, &port)<0) {
- log_warn(LD_CONFIG, "Error parsing transport "
- "address '%s'", addrport);
+ log_warn(LD_CONFIG, "Error parsing transport address '%s'", addrport);
goto err;
}
@@ -1081,10 +1104,11 @@ parse_smethod_line(const char *line, managed_proxy_t *mp)
goto err;
}
- if (smartlist_len(items) > 3) {
+ /** Check for options in the SMETHOD line. */
+ if (is_smethod && smartlist_len(items) > min_args_count) {
/* Seems like there are also some [options] in the SMETHOD line.
Let's see if we can parse them. */
- char *options_string = smartlist_get(items, 3);
+ char *options_string = smartlist_get(items, item_index);
log_debug(LD_CONFIG, "Got options_string: %s", options_string);
if (!strcmpstart(options_string, "ARGS:")) {
args_string = options_string+strlen("ARGS:");
@@ -1092,15 +1116,20 @@ parse_smethod_line(const char *line, managed_proxy_t *mp)
}
}
- transport = transport_new(&tor_addr, port, method_name,
- PROXY_NONE, args_string);
+ transport = transport_new(&tor_addr, port, transport_name,
+ socks_ver, args_string);
smartlist_add(mp->transports, transport);
- /* For now, notify the user so that they know where the server
- transport is listening. */
- log_info(LD_CONFIG, "Server transport %s at %s:%d.",
- method_name, address, (int)port);
+ /** Logs info about line parsing success for client or server */
+ if (is_smethod) {
+ log_info(LD_CONFIG, "Server transport %s at %s:%d.",
+ transport_name, address, (int)port);
+ } else {
+ log_info(LD_CONFIG, "Transport %s at %s:%d with SOCKS %d. "
+ "Attached to managed proxy.",
+ transport_name, address, (int)port, socks_ver);
+ }
r=0;
goto done;
@@ -1115,93 +1144,24 @@ parse_smethod_line(const char *line, managed_proxy_t *mp)
return r;
}
+/** Parses an SMETHOD <b>line</b> and if well-formed it registers the
+ * new transport in <b>mp</b>. */
+STATIC int
+parse_smethod_line(const char *line, managed_proxy_t *mp)
+{
+ /* Example of legit SMETHOD line:
+ SMETHOD obfs2 0.0.0.0:25612 ARGS:secret=supersekrit,key=superkey */
+ return parse_method_line_helper(line, mp, 1);
+}
+
/** Parses a CMETHOD <b>line</b>, and if well-formed it registers
* the new transport in <b>mp</b>. */
STATIC int
parse_cmethod_line(const char *line, managed_proxy_t *mp)
{
- int r;
- smartlist_t *items = NULL;
-
- char *method_name=NULL;
-
- char *socks_ver_str=NULL;
- int socks_ver=PROXY_NONE;
-
- char *addrport=NULL;
- tor_addr_t tor_addr;
- char *address=NULL;
- uint16_t port = 0;
-
- transport_t *transport=NULL;
-
- items = smartlist_new();
- smartlist_split_string(items, line, NULL,
- SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, -1);
- if (smartlist_len(items) < 4) {
- log_warn(LD_CONFIG, "Client managed proxy sent us a CMETHOD line "
- "with too few arguments.");
- goto err;
- }
-
- tor_assert(!strcmp(smartlist_get(items,0),PROTO_CMETHOD));
-
- method_name = smartlist_get(items,1);
- if (!string_is_C_identifier(method_name)) {
- log_warn(LD_CONFIG, "Transport name is not a C identifier (%s).",
- method_name);
- goto err;
- }
-
- socks_ver_str = smartlist_get(items,2);
-
- if (!strcmp(socks_ver_str,"socks4")) {
- socks_ver = PROXY_SOCKS4;
- } else if (!strcmp(socks_ver_str,"socks5")) {
- socks_ver = PROXY_SOCKS5;
- } else {
- log_warn(LD_CONFIG, "Client managed proxy sent us a proxy protocol "
- "we don't recognize. (%s)", socks_ver_str);
- goto err;
- }
-
- addrport = smartlist_get(items, 3);
- if (tor_addr_port_split(LOG_WARN, addrport, &address, &port)<0) {
- log_warn(LD_CONFIG, "Error parsing transport "
- "address '%s'", addrport);
- goto err;
- }
-
- if (!port) {
- log_warn(LD_CONFIG,
- "Transport address '%s' has no port.", addrport);
- goto err;
- }
-
- if (tor_addr_parse(&tor_addr, address) < 0) {
- log_warn(LD_CONFIG, "Error parsing transport address '%s'", address);
- goto err;
- }
-
- transport = transport_new(&tor_addr, port, method_name, socks_ver, NULL);
-
- smartlist_add(mp->transports, transport);
-
- log_info(LD_CONFIG, "Transport %s at %s:%d with SOCKS %d. "
- "Attached to managed proxy.",
- method_name, address, (int)port, socks_ver);
-
- r=0;
- goto done;
-
- err:
- r = -1;
-
- done:
- SMARTLIST_FOREACH(items, char*, s, tor_free(s));
- smartlist_free(items);
- tor_free(address);
- return r;
+ /* Example of legit CMETHOD line:
+ CMETHOD obfs2 socks5 127.0.0.1:35713 */
+ return parse_method_line_helper(line, mp, 0);
}
/** Parses an PROXY-ERROR <b>line</b> and warns the user accordingly. */
diff --git a/src/rust/Cargo.lock b/src/rust/Cargo.lock
index 224d2135bf..91c0502c60 100644
--- a/src/rust/Cargo.lock
+++ b/src/rust/Cargo.lock
@@ -1,21 +1,13 @@
-[root]
-name = "tor_util"
-version = "0.0.1"
-dependencies = [
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "tor_allocate 0.0.1",
-]
-
[[package]]
name = "external"
version = "0.0.1"
dependencies = [
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "libc"
-version = "0.2.22"
+version = "0.2.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@@ -23,9 +15,10 @@ name = "protover"
version = "0.0.1"
dependencies = [
"external 0.0.1",
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)",
"smartlist 0.0.1",
"tor_allocate 0.0.1",
+ "tor_log 0.1.0",
"tor_util 0.0.1",
]
@@ -33,14 +26,22 @@ dependencies = [
name = "smartlist"
version = "0.0.1"
dependencies = [
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "tor_allocate"
version = "0.0.1"
dependencies = [
- "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "tor_log"
+version = "0.1.0"
+dependencies = [
+ "libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tor_allocate 0.0.1",
]
[[package]]
@@ -51,5 +52,14 @@ dependencies = [
"tor_util 0.0.1",
]
+[[package]]
+name = "tor_util"
+version = "0.0.1"
+dependencies = [
+ "libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tor_allocate 0.0.1",
+ "tor_log 0.1.0",
+]
+
[metadata]
-"checksum libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)" = "babb8281da88cba992fa1f4ddec7d63ed96280a1a53ec9b919fd37b53d71e502"
+"checksum libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)" = "f54263ad99207254cf58b5f701ecb432c717445ea2ee8af387334bdd1a03fdff"
diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml
index 953c9b96b7..4ae8033eb3 100644
--- a/src/rust/Cargo.toml
+++ b/src/rust/Cargo.toml
@@ -1,5 +1,6 @@
[workspace]
-members = ["tor_util", "protover", "smartlist", "external", "tor_allocate", "tor_rust"]
+members = ["tor_util", "protover", "smartlist", "external", "tor_allocate",
+"tor_rust", "tor_log"]
[profile.release]
debug = true
diff --git a/src/rust/external/Cargo.toml b/src/rust/external/Cargo.toml
index bccd7033a7..b5957b1079 100644
--- a/src/rust/external/Cargo.toml
+++ b/src/rust/external/Cargo.toml
@@ -4,7 +4,7 @@ version = "0.0.1"
name = "external"
[dependencies]
-libc = "0.2.22"
+libc = "=0.2.39"
[lib]
name = "external"
diff --git a/src/rust/protover/Cargo.toml b/src/rust/protover/Cargo.toml
index 04d2f2ed7d..af1089c914 100644
--- a/src/rust/protover/Cargo.toml
+++ b/src/rust/protover/Cargo.toml
@@ -3,8 +3,11 @@ authors = ["The Tor Project"]
version = "0.0.1"
name = "protover"
+[features]
+testing = ["tor_log/testing"]
+
[dependencies]
-libc = "0.2.22"
+libc = "=0.2.39"
[dependencies.smartlist]
path = "../smartlist"
@@ -18,6 +21,9 @@ path = "../tor_util"
[dependencies.tor_allocate]
path = "../tor_allocate"
+[dependencies.tor_log]
+path = "../tor_log"
+
[lib]
name = "protover"
path = "lib.rs"
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs
index 3eb22c933e..a9d5013c6d 100644
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@ -127,9 +127,11 @@ pub extern "C" fn protocol_list_supports_protocol_or_later(
Err(_) => return 0,
};
- let is_supported =
- protover_string_supports_protocol_or_later(
- protocol_list, protocol, version);
+ let is_supported = protover_string_supports_protocol_or_later(
+ protocol_list,
+ protocol,
+ version,
+ );
return if is_supported { 1 } else { 0 };
}
@@ -137,18 +139,11 @@ pub extern "C" fn protocol_list_supports_protocol_or_later(
/// Provide an interface for C to translate arguments and return types for
/// protover::get_supported_protocols
#[no_mangle]
-pub extern "C" fn protover_get_supported_protocols() -> *mut c_char {
- // Not handling errors when unwrapping as the content is controlled
- // and is an empty string
- let empty = CString::new("").unwrap();
-
- let supported = get_supported_protocols();
- let c_supported = match CString::new(supported) {
- Ok(n) => n,
- Err(_) => return empty.into_raw(),
- };
+pub extern "C" fn protover_get_supported_protocols() -> *const c_char {
+ let supported: &'static CStr;
- c_supported.into_raw()
+ supported = get_supported_protocols_cstr();
+ supported.as_ptr()
}
/// Provide an interface for C to translate arguments and return types for
@@ -193,15 +188,14 @@ pub extern "C" fn protover_is_supported_here(
/// Provide an interface for C to translate arguments and return types for
/// protover::compute_for_old_tor
#[no_mangle]
-pub extern "C" fn protover_compute_for_old_tor(
- version: *const c_char,
-) -> *mut c_char {
- // Not handling errors when unwrapping as the content is controlled
- // and is an empty string
- let empty = String::new();
+pub extern "C" fn protover_compute_for_old_tor(version: *const c_char) -> *const c_char {
+ let supported: &'static CStr;
+ let empty: &'static CStr;
+
+ empty = cstr!("");
if version.is_null() {
- return allocate_and_copy_string(&empty);
+ return empty.as_ptr();
}
// Require an unsafe block to read the version from a C string. The pointer
@@ -210,10 +204,9 @@ pub extern "C" fn protover_compute_for_old_tor(
let version = match c_str.to_str() {
Ok(n) => n,
- Err(_) => return allocate_and_copy_string(&empty),
+ Err(_) => return empty.as_ptr(),
};
- let supported = compute_for_old_tor(&version);
-
- allocate_and_copy_string(&supported)
+ supported = compute_for_old_tor(&version);
+ supported.as_ptr()
}
diff --git a/src/rust/protover/lib.rs b/src/rust/protover/lib.rs
index 5a5dea4408..d1d49d2a59 100644
--- a/src/rust/protover/lib.rs
+++ b/src/rust/protover/lib.rs
@@ -26,6 +26,11 @@ extern crate libc;
extern crate smartlist;
extern crate external;
extern crate tor_allocate;
+#[macro_use]
+extern crate tor_util;
+
+#[macro_use]
+extern crate tor_log;
mod protover;
pub mod ffi;
diff --git a/src/rust/protover/protover.rs b/src/rust/protover/protover.rs
index cf6fb78e2f..fd1f41d780 100644
--- a/src/rust/protover/protover.rs
+++ b/src/rust/protover/protover.rs
@@ -1,13 +1,17 @@
// Copyright (c) 2016-2017, The Tor Project, Inc. */
// See LICENSE for licensing information */
-use external::c_tor_version_as_new_as;
-
+use std::str;
use std::str::FromStr;
+use std::ffi::CStr;
use std::fmt;
use std::collections::{HashMap, HashSet};
use std::ops::Range;
use std::string::String;
+use std::u32;
+
+use tor_log::{LogSeverity, LogDomain};
+use external::c_tor_version_as_new_as;
/// The first version of Tor that included "proto" entries in its descriptors.
/// Authorities should use this to decide whether to guess proto lines.
@@ -20,23 +24,7 @@ const FIRST_TOR_VERSION_TO_ADVERTISE_PROTOCOLS: &'static str = "0.2.9.3-alpha";
/// before concluding that someone is trying to DoS us
///
/// C_RUST_COUPLED: src/or/protover.c `MAX_PROTOCOLS_TO_EXPAND`
-const MAX_PROTOCOLS_TO_EXPAND: u32 = 500;
-
-/// Currently supported protocols and their versions
-///
-/// C_RUST_COUPLED: src/or/protover.c `protover_get_supported_protocols`
-const SUPPORTED_PROTOCOLS: &'static [&'static str] = &[
- "Cons=1-2",
- "Desc=1-2",
- "DirCache=1-2",
- "HSDir=1-2",
- "HSIntro=3-4",
- "HSRend=1-2",
- "Link=1-5",
- "LinkAuth=1,3",
- "Microdesc=1-2",
- "Relay=1-2",
-];
+const MAX_PROTOCOLS_TO_EXPAND: usize = (1<<16);
/// Known subprotocols in Tor. Indicates which subprotocol a relay supports.
///
@@ -85,110 +73,159 @@ impl FromStr for Proto {
}
}
-/// Get the string representation of current supported protocols
+/// Get a CStr representation of current supported protocols, for
+/// passing to C, or for converting to a `&str` for Rust.
///
/// # Returns
///
-/// A `String` whose value is the existing protocols supported by tor.
+/// An `&'static CStr` whose value is the existing protocols supported by tor.
/// Returned data is in the format as follows:
///
/// "HSDir=1-1 LinkAuth=1"
///
-pub fn get_supported_protocols() -> String {
- SUPPORTED_PROTOCOLS.join(" ")
-}
-
-/// Translates a vector representation of a protocol list into a HashMap
-fn parse_protocols<P, S>(
- protocols: P,
-) -> Result<HashMap<Proto, HashSet<u32>>, &'static str>
-where
- P: Iterator<Item = S>,
- S: AsRef<str>,
-{
- let mut parsed = HashMap::new();
-
- for subproto in protocols {
- let (name, version) = get_proto_and_vers(subproto.as_ref())?;
- parsed.insert(name, version);
- }
- Ok(parsed)
+/// # Note
+///
+/// Rust code can use the `&'static CStr` as a normal `&'a str` by
+/// calling `protover::get_supported_protocols`.
+///
+// C_RUST_COUPLED: src/or/protover.c `protover_get_supported_protocols`
+pub(crate) fn get_supported_protocols_cstr() -> &'static CStr {
+ cstr!("Cons=1-2 \
+ Desc=1-2 \
+ DirCache=1-2 \
+ HSDir=1-2 \
+ HSIntro=3-4 \
+ HSRend=1-2 \
+ Link=1-5 \
+ LinkAuth=1,3 \
+ Microdesc=1-2 \
+ Relay=1-2")
}
-/// Translates a string representation of a protocol list to a HashMap
-fn parse_protocols_from_string<'a>(
- protocol_string: &'a str,
-) -> Result<HashMap<Proto, HashSet<u32>>, &'static str> {
- parse_protocols(protocol_string.split(" "))
-}
-
-/// Translates supported tor versions from a string into a HashMap, which is
-/// useful when looking up a specific subprotocol.
+/// Get a string representation of current supported protocols.
///
/// # Returns
///
-/// A `Result` whose `Ok` value is a `HashMap<Proto, <u32>>` holding all
-/// subprotocols and versions currently supported by tor.
-///
-/// The returned `Result`'s `Err` value is an `&'static str` with a description
-/// of the error.
+/// An `&'a str` whose value is the existing protocols supported by tor.
+/// Returned data is in the format as follows:
///
-fn tor_supported() -> Result<HashMap<Proto, HashSet<u32>>, &'static str> {
- parse_protocols(SUPPORTED_PROTOCOLS.iter())
+/// "HSDir=1-1 LinkAuth=1"
+pub fn get_supported_protocols<'a>() -> &'a str {
+ let supported_cstr: &'static CStr = get_supported_protocols_cstr();
+ let supported: &str = match supported_cstr.to_str() {
+ Ok(x) => x,
+ Err(_) => "",
+ };
+
+ supported
}
-/// Get the unique version numbers supported by a subprotocol.
-///
-/// # Inputs
-///
-/// * `version_string`, a string comprised of "[0-9,-]"
-///
-/// # Returns
-///
-/// A `Result` whose `Ok` value is a `HashSet<u32>` holding all of the unique
-/// version numbers. If there were ranges in the `version_string`, then these
-/// are expanded, i.e. `"1-3"` would expand to `HashSet<u32>::new([1, 2, 3])`.
-/// The returned HashSet is *unordered*.
-///
-/// The returned `Result`'s `Err` value is an `&'static str` with a description
-/// of the error.
-///
-/// # Errors
-///
-/// This function will error if:
-///
-/// * the `version_string` is empty or contains an equals (`"="`) sign,
-/// * the expansion of a version range produces an error (see
-/// `expand_version_range`),
-/// * any single version number is not parseable as an `u32` in radix 10, or
-/// * there are greater than 2^16 version numbers to expand.
-///
-fn get_versions(version_string: &str) -> Result<HashSet<u32>, &'static str> {
- if version_string.is_empty() {
- return Err("version string is empty");
+pub struct SupportedProtocols(HashMap<Proto, Versions>);
+
+impl SupportedProtocols {
+ pub fn from_proto_entries<I, S>(protocol_strs: I) -> Result<Self, &'static str>
+ where
+ I: Iterator<Item = S>,
+ S: AsRef<str>,
+ {
+ let mut parsed = HashMap::new();
+ for subproto in protocol_strs {
+ let (name, version) = get_proto_and_vers(subproto.as_ref())?;
+ parsed.insert(name, version);
+ }
+ Ok(SupportedProtocols(parsed))
}
- let mut versions = HashSet::<u32>::new();
+ /// Translates a string representation of a protocol list to a
+ /// SupportedProtocols instance.
+ ///
+ /// # Examples
+ ///
+ /// ```
+ /// use protover::SupportedProtocols;
+ ///
+ /// let supported_protocols = SupportedProtocols::from_proto_entries_string(
+ /// "HSDir=1-2 HSIntro=3-4"
+ /// );
+ /// ```
+ pub fn from_proto_entries_string(
+ proto_entries: &str,
+ ) -> Result<Self, &'static str> {
+ Self::from_proto_entries(proto_entries.split(" "))
+ }
- for piece in version_string.split(",") {
- if piece.contains("-") {
- for p in expand_version_range(piece)? {
- versions.insert(p);
+ /// Translate the supported tor versions from a string into a
+ /// HashMap, which is useful when looking up a specific
+ /// subprotocol.
+ ///
+ fn tor_supported() -> Result<Self, &'static str> {
+ Self::from_proto_entries_string(get_supported_protocols())
+ }
+}
+
+type Version = u32;
+
+/// Set of versions for a protocol.
+#[derive(Debug, PartialEq, Eq)]
+pub struct Versions(HashSet<Version>);
+
+impl Versions {
+ /// Get the unique version numbers supported by a subprotocol.
+ ///
+ /// # Inputs
+ ///
+ /// * `version_string`, a string comprised of "[0-9,-]"
+ ///
+ /// # Returns
+ ///
+ /// A `Result` whose `Ok` value is a `HashSet<u32>` holding all of the unique
+ /// version numbers. If there were ranges in the `version_string`, then these
+ /// are expanded, i.e. `"1-3"` would expand to `HashSet<u32>::new([1, 2, 3])`.
+ /// The returned HashSet is *unordered*.
+ ///
+ /// The returned `Result`'s `Err` value is an `&'static str` with a description
+ /// of the error.
+ ///
+ /// # Errors
+ ///
+ /// This function will error if:
+ ///
+ /// * the `version_string` is empty or contains an equals (`"="`) sign,
+ /// * the expansion of a version range produces an error (see
+ /// `expand_version_range`),
+ /// * any single version number is not parseable as an `u32` in radix 10, or
+ /// * there are greater than 2^16 version numbers to expand.
+ ///
+ fn from_version_string(
+ version_string: &str,
+ ) -> Result<Self, &'static str> {
+ let mut versions = HashSet::<Version>::new();
+
+ for piece in version_string.split(",") {
+ if piece.contains("-") {
+ for p in expand_version_range(piece)? {
+ versions.insert(p);
+ }
+ } else if piece == "" {
+ continue;
+ } else {
+ let v = u32::from_str(piece).or(
+ Err("invalid protocol entry"),
+ )?;
+ if v == u32::MAX {
+ return Err("invalid protocol entry");
+ }
+ versions.insert(v);
}
- } else {
- versions.insert(u32::from_str(piece).or(
- Err("invalid protocol entry"),
- )?);
- }
- if versions.len() > MAX_PROTOCOLS_TO_EXPAND as usize {
- return Err("Too many versions to expand");
+ if versions.len() > MAX_PROTOCOLS_TO_EXPAND {
+ return Err("Too many versions to expand");
+ }
}
+ Ok(Versions(versions))
}
- Ok(versions)
}
-
/// Parse the subprotocol type and its version numbers.
///
/// # Inputs
@@ -205,7 +242,7 @@ fn get_versions(version_string: &str) -> Result<HashSet<u32>, &'static str> {
///
fn get_proto_and_vers<'a>(
protocol_entry: &'a str,
-) -> Result<(Proto, HashSet<u32>), &'static str> {
+) -> Result<(Proto, Versions), &'static str> {
let mut parts = protocol_entry.splitn(2, "=");
let proto = match parts.next() {
@@ -218,7 +255,7 @@ fn get_proto_and_vers<'a>(
None => return Err("invalid protover entry"),
};
- let versions = get_versions(vers)?;
+ let versions = Versions::from_version_string(vers)?;
let proto_name = proto.parse()?;
Ok((proto_name, versions))
@@ -242,22 +279,35 @@ fn get_proto_and_vers<'a>(
fn contains_only_supported_protocols(proto_entry: &str) -> bool {
let (name, mut vers) = match get_proto_and_vers(proto_entry) {
Ok(n) => n,
+ Err("Too many versions to expand") => {
+ tor_log_msg!(
+ LogSeverity::Warn,
+ LogDomain::Net,
+ "get_versions",
+ "When expanding a protocol list from an authority, I \
+ got too many protocols. This is possibly an attack or a bug, \
+ unless the Tor network truly has expanded to support over {} \
+ different subprotocol versions. The offending string was: {}",
+ MAX_PROTOCOLS_TO_EXPAND,
+ proto_entry
+ );
+ return false;
+ }
Err(_) => return false,
};
- let currently_supported: HashMap<Proto, HashSet<u32>> =
- match tor_supported() {
- Ok(n) => n,
- Err(_) => return false,
- };
+ let currently_supported = match SupportedProtocols::tor_supported() {
+ Ok(n) => n.0,
+ Err(_) => return false,
+ };
let supported_versions = match currently_supported.get(&name) {
Some(n) => n,
None => return false,
};
- vers.retain(|x| !supported_versions.contains(x));
- vers.is_empty()
+ vers.0.retain(|x| !supported_versions.0.contains(x));
+ vers.0.is_empty()
}
/// Determine if we support every protocol a client supports, and if not,
@@ -303,7 +353,7 @@ pub fn all_supported(protocols: &str) -> (bool, String) {
///
/// * `list`, a string representation of a list of protocol entries.
/// * `proto`, a `Proto` to test support for
-/// * `vers`, a `u32` version which we will go on to determine whether the
+/// * `vers`, a `Version` version which we will go on to determine whether the
/// specified protocol supports.
///
/// # Examples
@@ -321,21 +371,19 @@ pub fn all_supported(protocols: &str) -> (bool, String) {
pub fn protover_string_supports_protocol(
list: &str,
proto: Proto,
- vers: u32,
+ vers: Version,
) -> bool {
- let supported: HashMap<Proto, HashSet<u32>>;
-
- match parse_protocols_from_string(list) {
- Ok(result) => supported = result,
+ let supported = match SupportedProtocols::from_proto_entries_string(list) {
+ Ok(result) => result.0,
Err(_) => return false,
- }
+ };
let supported_versions = match supported.get(&proto) {
Some(n) => n,
None => return false,
};
- supported_versions.contains(&vers)
+ supported_versions.0.contains(&vers)
}
/// As protover_string_supports_protocol(), but also returns True if
@@ -365,23 +413,21 @@ pub fn protover_string_supports_protocol_or_later(
proto: Proto,
vers: u32,
) -> bool {
- let supported: HashMap<Proto, HashSet<u32>>;
-
- match parse_protocols_from_string(list) {
- Ok(result) => supported = result,
+ let supported = match SupportedProtocols::from_proto_entries_string(list) {
+ Ok(result) => result.0,
Err(_) => return false,
- }
+ };
let supported_versions = match supported.get(&proto) {
Some(n) => n,
None => return false,
};
- supported_versions.iter().any(|v| v >= &vers)
+ supported_versions.0.iter().any(|v| v >= &vers)
}
/// Fully expand a version range. For example, 1-3 expands to 1,2,3
-/// Helper for get_versions
+/// Helper for Versions::from_version_string
///
/// # Inputs
///
@@ -423,8 +469,22 @@ fn expand_version_range(range: &str) -> Result<Range<u32>, &'static str> {
"cannot parse protocol range upper bound",
))?;
+ if lower == u32::MAX || higher == u32::MAX {
+ return Err("protocol range value out of range");
+ }
+
+ if lower > higher {
+ return Err("protocol range is badly formed");
+ }
+
// We can use inclusive range syntax when it becomes stable.
- Ok(lower..higher + 1)
+ let result = lower..higher + 1;
+
+ if result.len() > MAX_PROTOCOLS_TO_EXPAND {
+ Err("Too many protocols in expanded range")
+ } else {
+ Ok(result)
+ }
}
/// Checks to see if there is a continuous range of integers, starting at the
@@ -483,10 +543,9 @@ fn find_range(list: &Vec<u32>) -> (bool, u32) {
///
/// A `String` representation of this set in ascending order.
///
-fn contract_protocol_list<'a>(supported_set: &'a HashSet<u32>) -> String {
- let mut supported: Vec<u32> = supported_set.iter()
- .map(|x| *x)
- .collect();
+fn contract_protocol_list<'a>(supported_set: &'a HashSet<Version>) -> String {
+ let mut supported: Vec<Version> =
+ supported_set.iter().map(|x| *x).collect();
supported.sort();
let mut final_output: Vec<String> = Vec::new();
@@ -522,8 +581,8 @@ fn contract_protocol_list<'a>(supported_set: &'a HashSet<u32>) -> String {
///
/// # Returns
///
-/// A `Result` whose `Ok` value is a `HashSet<u32>` holding all of the unique
-/// version numbers.
+/// A `Result` whose `Ok` value is a `HashSet<Version>` holding all of the
+/// unique version numbers.
///
/// The returned `Result`'s `Err` value is an `&'static str` with a description
/// of the error.
@@ -534,17 +593,18 @@ fn contract_protocol_list<'a>(supported_set: &'a HashSet<u32>) -> String {
///
/// * The protocol string does not follow the "protocol_name=version_list"
/// expected format
-/// * If the version string is malformed. See `get_versions`.
+/// * If the version string is malformed. See `Versions::from_version_string`.
///
fn parse_protocols_from_string_with_no_validation<'a>(
protocol_string: &'a str,
-) -> Result<HashMap<String, HashSet<u32>>, &'static str> {
- let mut parsed: HashMap<String, HashSet<u32>> = HashMap::new();
+) -> Result<HashMap<String, Versions>, &'static str> {
+ let mut parsed: HashMap<String, Versions> = HashMap::new();
for subproto in protocol_string.split(" ") {
let mut parts = subproto.splitn(2, "=");
let name = match parts.next() {
+ Some("") => return Err("invalid protover entry"),
Some(n) => n,
None => return Err("invalid protover entry"),
};
@@ -554,7 +614,7 @@ fn parse_protocols_from_string_with_no_validation<'a>(
None => return Err("invalid protover entry"),
};
- let versions = get_versions(vers)?;
+ let versions = Versions::from_version_string(vers)?;
parsed.insert(String::from(name), versions);
}
@@ -602,21 +662,21 @@ pub fn compute_vote(
// }
// means that FirstSupportedProtocol has three votes which support version
// 1, and one vote that supports version 2
- let mut all_count: HashMap<String, HashMap<u32, usize>> = HashMap::new();
+ let mut all_count: HashMap<String, HashMap<Version, usize>> =
+ HashMap::new();
// parse and collect all of the protos and their versions and collect them
for vote in list_of_proto_strings {
- let this_vote: HashMap<String, HashSet<u32>> =
+ let this_vote: HashMap<String, Versions> =
match parse_protocols_from_string_with_no_validation(&vote) {
Ok(result) => result,
Err(_) => continue,
};
-
for (protocol, versions) in this_vote {
- let supported_vers: &mut HashMap<u32, usize> =
+ let supported_vers: &mut HashMap<Version, usize> =
all_count.entry(protocol).or_insert(HashMap::new());
- for version in versions {
+ for version in versions.0 {
let counter: &mut usize =
supported_vers.entry(version).or_insert(0);
*counter += 1;
@@ -625,7 +685,7 @@ pub fn compute_vote(
}
let mut final_output: HashMap<String, String> =
- HashMap::with_capacity(SUPPORTED_PROTOCOLS.len());
+ HashMap::with_capacity(get_supported_protocols().split(" ").count());
// Go through and remove verstions that are less than the threshold
for (protocol, versions) in all_count {
@@ -690,20 +750,18 @@ fn write_vote_to_string(vote: &HashMap<String, String>) -> String {
/// let is_supported = is_supported_here(Proto::Link, 1);
/// assert_eq!(true, is_supported);
/// ```
-pub fn is_supported_here(proto: Proto, vers: u32) -> bool {
- let currently_supported: HashMap<Proto, HashSet<u32>>;
-
- match tor_supported() {
- Ok(result) => currently_supported = result,
+pub fn is_supported_here(proto: Proto, vers: Version) -> bool {
+ let currently_supported = match SupportedProtocols::tor_supported() {
+ Ok(result) => result.0,
Err(_) => return false,
- }
+ };
let supported_versions = match currently_supported.get(&proto) {
Some(n) => n,
None => return false,
};
- supported_versions.contains(&vers)
+ supported_versions.0.contains(&vers)
}
/// Older versions of Tor cannot infer their own subprotocols
@@ -711,12 +769,12 @@ pub fn is_supported_here(proto: Proto, vers: u32) -> bool {
///
/// # Inputs
///
-/// * `version`, a string comprised of "[0-9,-]"
+/// * `version`, a string comprised of "[0-9a-z.-]"
///
/// # Returns
///
-/// A `String` whose value is series of pairs, comprising of the protocol name
-/// and versions that it supports. The string takes the following format:
+/// A `&'static CStr` encoding a list of protocol names and supported
+/// versions. The string takes the following format:
///
/// "HSDir=1-1 LinkAuth=1"
///
@@ -724,79 +782,76 @@ pub fn is_supported_here(proto: Proto, vers: u32) -> bool {
/// only for tor versions older than FIRST_TOR_VERSION_TO_ADVERTISE_PROTOCOLS.
///
/// C_RUST_COUPLED: src/rust/protover.c `compute_for_old_tor`
-pub fn compute_for_old_tor(version: &str) -> String {
- if c_tor_version_as_new_as(
- version,
- FIRST_TOR_VERSION_TO_ADVERTISE_PROTOCOLS,
- )
- {
- return String::new();
+pub fn compute_for_old_tor(version: &str) -> &'static CStr {
+ let empty: &'static CStr = cstr!("");
+
+ if c_tor_version_as_new_as(version, FIRST_TOR_VERSION_TO_ADVERTISE_PROTOCOLS) {
+ return empty;
}
if c_tor_version_as_new_as(version, "0.2.9.1-alpha") {
- let ret = "Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1-2 \
- Link=1-4 LinkAuth=1 Microdesc=1-2 Relay=1-2";
- return String::from(ret);
+ return cstr!("Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1-2 \
+ Link=1-4 LinkAuth=1 Microdesc=1-2 Relay=1-2");
}
if c_tor_version_as_new_as(version, "0.2.7.5") {
- let ret = "Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 \
- Link=1-4 LinkAuth=1 Microdesc=1-2 Relay=1-2";
- return String::from(ret);
+ return cstr!("Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 \
+ Link=1-4 LinkAuth=1 Microdesc=1-2 Relay=1-2");
}
if c_tor_version_as_new_as(version, "0.2.4.19") {
- let ret = "Cons=1 Desc=1 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 \
- Link=1-4 LinkAuth=1 Microdesc=1 Relay=1-2";
- return String::from(ret);
+ return cstr!("Cons=1 Desc=1 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 \
+ Link=1-4 LinkAuth=1 Microdesc=1 Relay=1-2");
}
- String::new()
+
+ empty
}
#[cfg(test)]
mod test {
+ use super::Version;
+
#[test]
- fn test_get_versions() {
+ fn test_versions_from_version_string() {
use std::collections::HashSet;
- use super::get_versions;
+ use super::Versions;
- assert_eq!(Err("version string is empty"), get_versions(""));
- assert_eq!(Err("invalid protocol entry"), get_versions("a,b"));
- assert_eq!(Err("invalid protocol entry"), get_versions("1,!"));
+ assert_eq!(Err("invalid protocol entry"), Versions::from_version_string("a,b"));
+ assert_eq!(Err("invalid protocol entry"), Versions::from_version_string("1,!"));
{
- let mut versions: HashSet<u32> = HashSet::new();
+ let mut versions: HashSet<Version> = HashSet::new();
versions.insert(1);
- assert_eq!(Ok(versions), get_versions("1"));
+ assert_eq!(versions, Versions::from_version_string("1").unwrap().0);
}
{
- let mut versions: HashSet<u32> = HashSet::new();
+ let mut versions: HashSet<Version> = HashSet::new();
versions.insert(1);
versions.insert(2);
- assert_eq!(Ok(versions), get_versions("1,2"));
+ assert_eq!(versions, Versions::from_version_string("1,2").unwrap().0);
}
{
- let mut versions: HashSet<u32> = HashSet::new();
+ let mut versions: HashSet<Version> = HashSet::new();
versions.insert(1);
versions.insert(2);
versions.insert(3);
- assert_eq!(Ok(versions), get_versions("1-3"));
+ assert_eq!(versions, Versions::from_version_string("1-3").unwrap().0);
}
{
- let mut versions: HashSet<u32> = HashSet::new();
+ let mut versions: HashSet<Version> = HashSet::new();
versions.insert(1);
versions.insert(2);
versions.insert(5);
- assert_eq!(Ok(versions), get_versions("1-2,5"));
+ assert_eq!(versions, Versions::from_version_string("1-2,5").unwrap().0);
}
{
- let mut versions: HashSet<u32> = HashSet::new();
+ let mut versions: HashSet<Version> = HashSet::new();
versions.insert(1);
versions.insert(3);
versions.insert(4);
versions.insert(5);
- assert_eq!(Ok(versions), get_versions("1,3-5"));
+ assert_eq!(versions, Versions::from_version_string("1,3-5").unwrap().0);
}
}
@@ -805,7 +860,7 @@ mod test {
use super::contains_only_supported_protocols;
assert_eq!(false, contains_only_supported_protocols(""));
- assert_eq!(false, contains_only_supported_protocols("Cons="));
+ assert_eq!(true, contains_only_supported_protocols("Cons="));
assert_eq!(true, contains_only_supported_protocols("Cons=1"));
assert_eq!(false, contains_only_supported_protocols("Cons=0"));
assert_eq!(false, contains_only_supported_protocols("Cons=0-1"));
@@ -844,6 +899,9 @@ mod test {
Err("cannot parse protocol range upper bound"),
expand_version_range("1-a")
);
+ assert_eq!(Ok(1000..66536), expand_version_range("1000-66535"));
+ assert_eq!(Err("Too many protocols in expanded range"),
+ expand_version_range("1000-66536"));
}
#[test]
@@ -852,7 +910,7 @@ mod test {
use super::contract_protocol_list;
{
- let mut versions = HashSet::<u32>::new();
+ let mut versions = HashSet::<Version>::new();
assert_eq!(String::from(""), contract_protocol_list(&versions));
versions.insert(1);
@@ -863,14 +921,14 @@ mod test {
}
{
- let mut versions = HashSet::<u32>::new();
+ let mut versions = HashSet::<Version>::new();
versions.insert(1);
versions.insert(3);
assert_eq!(String::from("1,3"), contract_protocol_list(&versions));
}
{
- let mut versions = HashSet::<u32>::new();
+ let mut versions = HashSet::<Version>::new();
versions.insert(1);
versions.insert(2);
versions.insert(3);
@@ -879,7 +937,7 @@ mod test {
}
{
- let mut versions = HashSet::<u32>::new();
+ let mut versions = HashSet::<Version>::new();
versions.insert(1);
versions.insert(3);
versions.insert(5);
@@ -892,7 +950,7 @@ mod test {
}
{
- let mut versions = HashSet::<u32>::new();
+ let mut versions = HashSet::<Version>::new();
versions.insert(1);
versions.insert(2);
versions.insert(3);
diff --git a/src/rust/smartlist/Cargo.toml b/src/rust/smartlist/Cargo.toml
index 51f486c4d7..6ddcbee8e9 100644
--- a/src/rust/smartlist/Cargo.toml
+++ b/src/rust/smartlist/Cargo.toml
@@ -4,7 +4,7 @@ version = "0.0.1"
name = "smartlist"
[dependencies]
-libc = "0.2.22"
+libc = "0.2.39"
[lib]
name = "smartlist"
diff --git a/src/rust/tor_allocate/Cargo.toml b/src/rust/tor_allocate/Cargo.toml
index ceb08b78ab..468425f115 100644
--- a/src/rust/tor_allocate/Cargo.toml
+++ b/src/rust/tor_allocate/Cargo.toml
@@ -4,7 +4,7 @@ version = "0.0.1"
name = "tor_allocate"
[dependencies]
-libc = "0.2.22"
+libc = "=0.2.39"
[lib]
name = "tor_allocate"
diff --git a/src/rust/tor_allocate/tor_allocate.rs b/src/rust/tor_allocate/tor_allocate.rs
index 359df1cd7a..3c0037f139 100644
--- a/src/rust/tor_allocate/tor_allocate.rs
+++ b/src/rust/tor_allocate/tor_allocate.rs
@@ -1,12 +1,17 @@
// Copyright (c) 2016-2017, The Tor Project, Inc. */
// See LICENSE for licensing information */
+// No-op defined purely for testing at the module level
+use libc::c_char;
-use libc::{c_char, c_void};
+#[cfg(not(feature = "testing"))]
use std::{ptr, slice, mem};
+use libc::c_void;
-#[cfg(not(test))]
-extern "C" {
- fn tor_malloc_(size: usize) -> *mut c_void;
+// Define a no-op implementation for testing Rust modules without linking to C
+#[cfg(feature = "testing")]
+pub fn allocate_and_copy_string(s: &String) -> *mut c_char {
+ use std::ffi::CString;
+ CString::new(s.as_str()).unwrap().into_raw()
}
// Defined only for tests, used for testing purposes, so that we don't need
@@ -17,6 +22,11 @@ unsafe extern "C" fn tor_malloc_(size: usize) -> *mut c_void {
malloc(size)
}
+#[cfg(all(not(test), not(feature = "testing")))]
+extern "C" {
+ fn tor_malloc_(size: usize) -> *mut c_void;
+}
+
/// Allocate memory using tor_malloc_ and copy an existing string into the
/// allocated buffer, returning a pointer that can later be called in C.
///
@@ -28,6 +38,7 @@ unsafe extern "C" fn tor_malloc_(size: usize) -> *mut c_void {
///
/// A `*mut c_char` that should be freed by tor_free in C
///
+#[cfg(not(feature = "testing"))]
pub fn allocate_and_copy_string(src: &String) -> *mut c_char {
let bytes: &[u8] = src.as_bytes();
diff --git a/src/rust/tor_log/Cargo.toml b/src/rust/tor_log/Cargo.toml
new file mode 100644
index 0000000000..971cd658b1
--- /dev/null
+++ b/src/rust/tor_log/Cargo.toml
@@ -0,0 +1,18 @@
+[package]
+name = "tor_log"
+version = "0.1.0"
+authors = ["The Tor Project"]
+
+[lib]
+name = "tor_log"
+path = "lib.rs"
+crate_type = ["rlib", "staticlib"]
+
+[features]
+testing = []
+
+[dependencies]
+libc = "0.2.39"
+
+[dependencies.tor_allocate]
+path = "../tor_allocate"
diff --git a/src/rust/tor_log/lib.rs b/src/rust/tor_log/lib.rs
new file mode 100644
index 0000000000..72f9e38339
--- /dev/null
+++ b/src/rust/tor_log/lib.rs
@@ -0,0 +1,16 @@
+//! Copyright (c) 2016-2017, The Tor Project, Inc. */
+//! See LICENSE for licensing information */
+
+//! Logging wrapper for Rust to utilize Tor's logger, found at
+//! src/common/log.c and src/common/torlog.h
+//!
+//! Exposes different interfaces depending on whether we are running in test
+//! or non-test mode. When testing, we use a no-op implementation,
+//! otherwise we link directly to C.
+
+extern crate libc;
+extern crate tor_allocate;
+
+mod tor_log;
+
+pub use tor_log::*;
diff --git a/src/rust/tor_log/tor_log.rs b/src/rust/tor_log/tor_log.rs
new file mode 100644
index 0000000000..1fdc0026bf
--- /dev/null
+++ b/src/rust/tor_log/tor_log.rs
@@ -0,0 +1,270 @@
+// Copyright (c) 2016-2017, The Tor Project, Inc. */
+// See LICENSE for licensing information */
+
+// Note that these functions are untested due to the fact that there are no
+// return variables to test and they are calling into a C API.
+
+/// The related domain which the logging message is relevant. For example,
+/// log messages relevant to networking would use LogDomain::LdNet, whereas
+/// general messages can use LdGeneral.
+#[derive(Eq, PartialEq)]
+pub enum LogDomain {
+ Net,
+ General,
+}
+
+/// The severity level at which to log messages.
+#[derive(Eq, PartialEq)]
+pub enum LogSeverity {
+ Notice,
+ Warn,
+}
+
+/// Main entry point for Rust modules to log messages.
+///
+/// # Inputs
+///
+/// * A `severity` of type LogSeverity, which defines the level of severity the
+/// message will be logged.
+/// * A `domain` of type LogDomain, which defines the domain the log message
+/// will be associated with.
+/// * A `function` of type &str, which defines the name of the function where
+/// the message is being logged. There is a current RFC for a macro that
+/// defines function names. When it is, we should use it. See
+/// https://github.com/rust-lang/rfcs/pull/1719
+/// * A `message` of type &str, which is the log message itself.
+#[macro_export]
+macro_rules! tor_log_msg {
+ ($severity: path,
+ $domain: path,
+ $function: expr,
+ $($message:tt)*) =>
+ {
+ {
+ let msg = format!($($message)*);
+ $crate::tor_log_msg_impl($severity, $domain, $function, msg)
+ }
+ };
+}
+
+#[inline]
+pub fn tor_log_msg_impl(
+ severity: LogSeverity,
+ domain: LogDomain,
+ function: &str,
+ message: String,
+) {
+ use std::ffi::CString;
+
+ /// Default function name to log in case of errors when converting
+ /// a function name to a CString
+ const ERR_LOG_FUNCTION: &str = "tor_log_msg";
+
+ /// Default message to log in case of errors when converting a log
+ /// message to a CString
+ const ERR_LOG_MSG: &str = "Unable to log message from Rust \
+ module due to error when converting to CString";
+
+ let func = match CString::new(function) {
+ Ok(n) => n,
+ Err(_) => CString::new(ERR_LOG_FUNCTION).unwrap(),
+ };
+
+ let msg = match CString::new(message) {
+ Ok(n) => n,
+ Err(_) => CString::new(ERR_LOG_MSG).unwrap(),
+ };
+
+ // Bind to a local variable to preserve ownership. This is essential so
+ // that ownership is guaranteed until these local variables go out of scope
+ let func_ptr = func.as_ptr();
+ let msg_ptr = msg.as_ptr();
+
+ let c_severity = unsafe { log::translate_severity(severity) };
+ let c_domain = unsafe { log::translate_domain(domain) };
+
+ unsafe { log::tor_log_string(c_severity, c_domain, func_ptr, msg_ptr) }
+}
+
+/// This implementation is used when compiling for actual use, as opposed to
+/// testing.
+#[cfg(all(not(test), not(feature = "testing")))]
+pub mod log {
+ use libc::{c_char, c_int};
+ use super::LogDomain;
+ use super::LogSeverity;
+
+ /// Severity log types. These mirror definitions in /src/common/torlog.h
+ /// C_RUST_COUPLED: src/common/log.c, log domain types
+ extern "C" {
+ static LOG_WARN_: c_int;
+ static LOG_NOTICE_: c_int;
+ }
+
+ /// Domain log types. These mirror definitions in /src/common/torlog.h
+ /// C_RUST_COUPLED: src/common/log.c, log severity types
+ extern "C" {
+ static LD_NET_: u32;
+ static LD_GENERAL_: u32;
+ }
+
+ /// Translate Rust defintions of log domain levels to C. This exposes a 1:1
+ /// mapping between types.
+ #[inline]
+ pub unsafe fn translate_domain(domain: LogDomain) -> u32 {
+ match domain {
+ LogDomain::Net => LD_NET_,
+ LogDomain::General => LD_GENERAL_,
+ }
+ }
+
+ /// Translate Rust defintions of log severity levels to C. This exposes a
+ /// 1:1 mapping between types.
+ #[inline]
+ pub unsafe fn translate_severity(severity: LogSeverity) -> c_int {
+ match severity {
+ LogSeverity::Warn => LOG_WARN_,
+ LogSeverity::Notice => LOG_NOTICE_,
+ }
+ }
+
+ /// The main entry point into Tor's logger. When in non-test mode, this
+ /// will link directly with `tor_log_string` in /src/or/log.c
+ extern "C" {
+ pub fn tor_log_string(
+ severity: c_int,
+ domain: u32,
+ function: *const c_char,
+ string: *const c_char,
+ );
+ }
+}
+
+/// This module exposes no-op functionality for testing other Rust modules
+/// without linking to C.
+#[cfg(any(test, feature = "testing"))]
+pub mod log {
+ use libc::{c_char, c_int};
+ use super::LogDomain;
+ use super::LogSeverity;
+
+ pub static mut LAST_LOGGED_FUNCTION: *mut String = 0 as *mut String;
+ pub static mut LAST_LOGGED_MESSAGE: *mut String = 0 as *mut String;
+
+ pub unsafe fn tor_log_string(
+ _severity: c_int,
+ _domain: u32,
+ function: *const c_char,
+ message: *const c_char,
+ ) {
+ use std::ffi::CStr;
+
+ let f = CStr::from_ptr(function);
+ let fct = match f.to_str() {
+ Ok(n) => n,
+ Err(_) => "",
+ };
+ LAST_LOGGED_FUNCTION = Box::into_raw(Box::new(String::from(fct)));
+
+ let m = CStr::from_ptr(message);
+ let msg = match m.to_str() {
+ Ok(n) => n,
+ Err(_) => "",
+ };
+ LAST_LOGGED_MESSAGE = Box::into_raw(Box::new(String::from(msg)));
+ }
+
+ pub unsafe fn translate_domain(_domain: LogDomain) -> u32 {
+ 1
+ }
+
+ pub unsafe fn translate_severity(_severity: LogSeverity) -> c_int {
+ 1
+ }
+}
+
+#[cfg(test)]
+mod test {
+ use tor_log::*;
+ use tor_log::log::{LAST_LOGGED_FUNCTION, LAST_LOGGED_MESSAGE};
+
+ #[test]
+ fn test_get_log_message() {
+ {
+ fn test_macro() {
+ tor_log_msg!(
+ LogSeverity::Warn,
+ LogDomain::Net,
+ "test_macro",
+ "test log message {}",
+ "a",
+ );
+ }
+
+ test_macro();
+
+ let function = unsafe { Box::from_raw(LAST_LOGGED_FUNCTION) };
+ assert_eq!("test_macro", *function);
+
+ let message = unsafe { Box::from_raw(LAST_LOGGED_MESSAGE) };
+ assert_eq!("test log message a", *message);
+ }
+
+ // test multiple inputs into the log message
+ {
+ fn test_macro() {
+ tor_log_msg!(
+ LogSeverity::Warn,
+ LogDomain::Net,
+ "next_test_macro",
+ "test log message {} {} {} {} {}",
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ );
+ }
+
+ test_macro();
+
+ let function = unsafe { Box::from_raw(LAST_LOGGED_FUNCTION) };
+ assert_eq!("next_test_macro", *function);
+
+ let message = unsafe { Box::from_raw(LAST_LOGGED_MESSAGE) };
+ assert_eq!("test log message 1 2 3 4 5", *message);
+ }
+
+ // test how a long log message will be formatted
+ {
+ fn test_macro() {
+ tor_log_msg!(
+ LogSeverity::Warn,
+ LogDomain::Net,
+ "test_macro",
+ "{}",
+ "All the world's a stage, and all the men and women \
+ merely players: they have their exits and their \
+ entrances; and one man in his time plays many parts, his \
+ acts being seven ages."
+ );
+ }
+
+ test_macro();
+
+ let expected_string = "All the world's a \
+ stage, and all the men \
+ and women merely players: \
+ they have their exits and \
+ their entrances; and one man \
+ in his time plays many parts, \
+ his acts being seven ages.";
+
+ let function = unsafe { Box::from_raw(LAST_LOGGED_FUNCTION) };
+ assert_eq!("test_macro", *function);
+
+ let message = unsafe { Box::from_raw(LAST_LOGGED_MESSAGE) };
+ assert_eq!(expected_string, *message);
+ }
+ }
+}
diff --git a/src/rust/tor_util/Cargo.toml b/src/rust/tor_util/Cargo.toml
index d7379a5988..a606a280b2 100644
--- a/src/rust/tor_util/Cargo.toml
+++ b/src/rust/tor_util/Cargo.toml
@@ -11,6 +11,9 @@ crate_type = ["rlib", "staticlib"]
[dependencies.tor_allocate]
path = "../tor_allocate"
+[dependencies.tor_log]
+path = "../tor_log"
+
[dependencies]
-libc = "0.2.22"
+libc = "=0.2.39"
diff --git a/src/rust/tor_util/ffi.rs b/src/rust/tor_util/ffi.rs
index 5c3cdba4be..32779ed476 100644
--- a/src/rust/tor_util/ffi.rs
+++ b/src/rust/tor_util/ffi.rs
@@ -5,8 +5,7 @@
//! called from C.
//!
-use libc::c_char;
-use tor_allocate::allocate_and_copy_string;
+use tor_log::{LogSeverity, LogDomain};
/// Returns a short string to announce Rust support during startup.
///
@@ -17,10 +16,12 @@ use tor_allocate::allocate_and_copy_string;
/// tor_free(rust_str);
/// ```
#[no_mangle]
-pub extern "C" fn rust_welcome_string() -> *mut c_char {
- let rust_welcome = String::from(
+pub extern "C" fn rust_log_welcome_string() {
+ tor_log_msg!(
+ LogSeverity::Notice,
+ LogDomain::General,
+ "rust_log_welcome_string",
"Tor is running with Rust integration. Please report \
- any bugs you encounter.",
+ any bugs you encounter."
);
- allocate_and_copy_string(&rust_welcome)
}
diff --git a/src/rust/tor_util/lib.rs b/src/rust/tor_util/lib.rs
index 42fa9d5ad0..94697b6069 100644
--- a/src/rust/tor_util/lib.rs
+++ b/src/rust/tor_util/lib.rs
@@ -3,9 +3,12 @@
//! Small module to announce Rust support during startup for demonstration
//! purposes.
-//!
extern crate libc;
extern crate tor_allocate;
+#[macro_use]
+extern crate tor_log;
+
pub mod ffi;
+pub mod strings;
diff --git a/src/rust/tor_util/strings.rs b/src/rust/tor_util/strings.rs
new file mode 100644
index 0000000000..505191d913
--- /dev/null
+++ b/src/rust/tor_util/strings.rs
@@ -0,0 +1,140 @@
+// Copyright (c) 2016-2017, The Tor Project, Inc. */
+// See LICENSE for licensing information */
+
+//! Utilities for working with static strings.
+
+/// Create a `CStr` from a literal byte slice, appending a NUL byte to it first.
+///
+/// # Warning
+///
+/// The literal byte slice which is taken as an argument *MUST NOT* have any NUL
+/// bytes (`b"\0"`) in it, anywhere, or else an empty string will be returned
+/// (`CStr::from_bytes_with_nul_unchecked(b"\0")`) so as to avoid `panic!()`ing.
+///
+/// # Examples
+///
+/// ```
+/// #[macro_use]
+/// extern crate tor_util;
+///
+/// use std::ffi::CStr;
+///
+/// # fn do_test() -> Result<&'static CStr, &'static str> {
+/// let message: &'static str = "This is a test of the tsunami warning system.";
+/// let tuesday: &'static CStr;
+/// let original: &str;
+///
+/// tuesday = cstr!("This is a test of the tsunami warning system.");
+/// original = tuesday.to_str().or(Err("Couldn't unwrap CStr!"))?;
+///
+/// assert!(original == message);
+/// #
+/// # Ok(tuesday)
+/// # }
+/// # fn main() {
+/// # do_test(); // so that we can use the ? operator in the test
+/// # }
+/// ```
+/// It is also possible to pass several string literals to this macro. They
+/// will be concatenated together in the order of the arguments, unmodified,
+/// before finally being suffixed with a NUL byte:
+///
+/// ```
+/// #[macro_use]
+/// extern crate tor_util;
+/// #
+/// # use std::ffi::CStr;
+/// #
+/// # fn do_test() -> Result<&'static CStr, &'static str> {
+///
+/// let quux: &'static CStr = cstr!("foo", "bar", "baz");
+/// let orig: &'static str = quux.to_str().or(Err("Couldn't unwrap CStr!"))?;
+///
+/// assert!(orig == "foobarbaz");
+/// # Ok(quux)
+/// # }
+/// # fn main() {
+/// # do_test(); // so that we can use the ? operator in the test
+/// # }
+/// ```
+/// This is useful for passing static strings to C from Rust FFI code. To do so
+/// so, use the `.as_ptr()` method on the resulting `&'static CStr` to convert
+/// it to the Rust equivalent of a C `const char*`:
+///
+/// ```
+/// #[macro_use]
+/// extern crate tor_util;
+///
+/// use std::ffi::CStr;
+/// use std::os::raw::c_char;
+///
+/// pub extern "C" fn give_static_borrowed_string_to_c() -> *const c_char {
+/// let hello: &'static CStr = cstr!("Hello, language my parents wrote.");
+///
+/// hello.as_ptr()
+/// }
+/// # fn main() {
+/// # let greetings = give_static_borrowed_string_to_c();
+/// # }
+/// ```
+/// Note that the C code this static borrowed string is passed to *MUST NOT*
+/// attempt to free the memory for the string.
+///
+/// # Note
+///
+/// An unfortunate limitation of the rustc compiler (as of 1.25.0-nightly), is
+/// that the first example above compiles, but if we were to change the
+/// assignment of `tuesday` as follows, it will fail to compile, because Rust
+/// macros are expanded at parse time, and at parse time there is no symbol
+/// table available.
+///
+/// ```ignore
+/// tuesday = cstr!(message);
+/// ```
+/// with the error message `error: expected a literal`.
+///
+/// # Returns
+///
+/// If the string literals passed as arguments contain no NUL bytes anywhere,
+/// then an `&'static CStr` containing the (concatenated) bytes of the string
+/// literal(s) passed as arguments, with a NUL byte appended, is returned.
+/// Otherwise, an `&'static CStr` containing a single NUL byte is returned (an
+/// "empty" string in C).
+#[macro_export]
+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")
+ }
+ )
+ )
+}
+
+#[cfg(test)]
+mod test {
+ use std::ffi::CStr;
+
+ #[test]
+ fn cstr_macro() {
+ let _: &'static CStr = cstr!("boo");
+ }
+
+ #[test]
+ fn cstr_macro_multi_input() {
+ let quux: &'static CStr = cstr!("foo", "bar", "baz");
+
+ assert!(quux.to_str().unwrap() == "foobarbaz");
+ }
+
+ #[test]
+ fn cstr_macro_bad_input() {
+ let waving: &'static CStr = cstr!("waving not drowning o/");
+ let drowning: &'static CStr = cstr!("\0 drowning not waving");
+
+ assert!(waving.to_str().unwrap() == "waving not drowning o/");
+ assert!(drowning.to_str().unwrap() == "")
+ }
+}
diff --git a/src/test/bench.c b/src/test/bench.c
index 24ff8b255c..92d7a244f7 100644
--- a/src/test/bench.c
+++ b/src/test/bench.c
@@ -713,6 +713,8 @@ main(int argc, const char **argv)
printf("Couldn't seed RNG; exiting.\n");
return 1;
}
+
+ init_protocol_warning_severity_level();
crypto_init_siphash_key();
options = options_new();
init_logging(1);
diff --git a/src/test/fuzz/fuzzing_common.c b/src/test/fuzz/fuzzing_common.c
index 7c9fac748b..a96552f0fc 100644
--- a/src/test/fuzz/fuzzing_common.c
+++ b/src/test/fuzz/fuzzing_common.c
@@ -110,6 +110,9 @@ global_init(void)
/* Make BUG() and nonfatal asserts crash */
tor_set_failed_assertion_callback(abort);
+
+ /* Make protocol warnings handled correctly. */
+ init_protocol_warning_severity_level();
}
#ifdef LLVM_FUZZ
@@ -152,8 +155,6 @@ main(int argc, char **argv)
}
}
- init_protocol_warning_severity_level();
-
{
log_severity_list_t s;
memset(&s, 0, sizeof(s));
diff --git a/src/test/include.am b/src/test/include.am
index 9783f93d57..5c168c52f9 100644
--- a/src/test/include.am
+++ b/src/test/include.am
@@ -87,6 +87,7 @@ src_test_test_SOURCES = \
src/test/test_accounting.c \
src/test/test_addr.c \
src/test/test_address.c \
+ src/test/test_address_set.c \
src/test/test_buffers.c \
src/test/test_cell_formats.c \
src/test/test_cell_queue.c \
@@ -117,6 +118,7 @@ src_test_test_SOURCES = \
src/test/test_dos.c \
src/test/test_entryconn.c \
src/test/test_entrynodes.c \
+ src/test/test_geoip.c \
src/test/test_guardfraction.c \
src/test/test_extorport.c \
src/test/test_hs.c \
@@ -358,3 +360,5 @@ EXTRA_DIST += \
src/test/test_workqueue_pipe2.sh \
src/test/test_workqueue_socketpair.sh
+test-rust:
+ $(TESTS_ENVIRONMENT) "$(abs_top_srcdir)/src/test/test_rust.sh"
diff --git a/src/test/test.c b/src/test/test.c
index 2293822f82..db70a24fc2 100644
--- a/src/test/test.c
+++ b/src/test/test.c
@@ -24,7 +24,6 @@
/* These macros pull in declarations for some functions and structures that
* are typically file-private. */
-#define GEOIP_PRIVATE
#define ROUTER_PRIVATE
#define CIRCUITSTATS_PRIVATE
#define CIRCUITLIST_PRIVATE
@@ -47,7 +46,6 @@ double fabs(double x);
#include "compress.h"
#include "config.h"
#include "connection_edge.h"
-#include "geoip.h"
#include "rendcommon.h"
#include "rendcache.h"
#include "test.h"
@@ -62,7 +60,6 @@ double fabs(double x);
#include "routerparse.h"
#include "statefile.h"
#include "crypto_curve25519.h"
-#include "onion_ntor.h"
/** Run unit tests for the onion handshake code. */
static void
@@ -174,7 +171,7 @@ test_bad_onion_handshake(void *arg)
s_buf, s_keys, 40));
c_buf[64] ^= 33;
- /* (Let the server procede) */
+ /* (Let the server proceed) */
tt_int_op(0, OP_EQ,
onion_skin_TAP_server_handshake(c_buf, pk, NULL,
s_buf, s_keys, 40));
@@ -630,376 +627,6 @@ test_rend_fns(void *arg)
tor_free(intro_points_encrypted);
}
- /* Record odd numbered fake-IPs using ipv6, even numbered fake-IPs
- * using ipv4. Since our fake geoip database is the same between
- * ipv4 and ipv6, we should get the same result no matter which
- * address family we pick for each IP. */
-#define SET_TEST_ADDRESS(i) do { \
- if ((i) & 1) { \
- SET_TEST_IPV6(i); \
- tor_addr_from_in6(&addr, &in6); \
- } else { \
- tor_addr_from_ipv4h(&addr, (uint32_t) i); \
- } \
- } while (0)
-
- /* Make sure that country ID actually works. */
-#define SET_TEST_IPV6(i) \
- do { \
- set_uint32(in6.s6_addr + 12, htonl((uint32_t) (i))); \
- } while (0)
-#define CHECK_COUNTRY(country, val) do { \
- /* test ipv4 country lookup */ \
- tt_str_op(country, OP_EQ, \
- geoip_get_country_name(geoip_get_country_by_ipv4(val))); \
- /* test ipv6 country lookup */ \
- SET_TEST_IPV6(val); \
- tt_str_op(country, OP_EQ, \
- geoip_get_country_name(geoip_get_country_by_ipv6(&in6))); \
- } while (0)
-
-/** Run unit tests for GeoIP code. */
-static void
-test_geoip(void *arg)
-{
- int i, j;
- time_t now = 1281533250; /* 2010-08-11 13:27:30 UTC */
- char *s = NULL, *v = NULL;
- const char *bridge_stats_1 =
- "bridge-stats-end 2010-08-12 13:27:30 (86400 s)\n"
- "bridge-ips zz=24,xy=8\n"
- "bridge-ip-versions v4=16,v6=16\n"
- "bridge-ip-transports <OR>=24\n",
- *dirreq_stats_1 =
- "dirreq-stats-end 2010-08-12 13:27:30 (86400 s)\n"
- "dirreq-v3-ips ab=8\n"
- "dirreq-v3-reqs ab=8\n"
- "dirreq-v3-resp ok=0,not-enough-sigs=0,unavailable=0,not-found=0,"
- "not-modified=0,busy=0\n"
- "dirreq-v3-direct-dl complete=0,timeout=0,running=0\n"
- "dirreq-v3-tunneled-dl complete=0,timeout=0,running=0\n",
- *dirreq_stats_2 =
- "dirreq-stats-end 2010-08-12 13:27:30 (86400 s)\n"
- "dirreq-v3-ips \n"
- "dirreq-v3-reqs \n"
- "dirreq-v3-resp ok=0,not-enough-sigs=0,unavailable=0,not-found=0,"
- "not-modified=0,busy=0\n"
- "dirreq-v3-direct-dl complete=0,timeout=0,running=0\n"
- "dirreq-v3-tunneled-dl complete=0,timeout=0,running=0\n",
- *dirreq_stats_3 =
- "dirreq-stats-end 2010-08-12 13:27:30 (86400 s)\n"
- "dirreq-v3-ips \n"
- "dirreq-v3-reqs \n"
- "dirreq-v3-resp ok=8,not-enough-sigs=0,unavailable=0,not-found=0,"
- "not-modified=0,busy=0\n"
- "dirreq-v3-direct-dl complete=0,timeout=0,running=0\n"
- "dirreq-v3-tunneled-dl complete=0,timeout=0,running=0\n",
- *dirreq_stats_4 =
- "dirreq-stats-end 2010-08-12 13:27:30 (86400 s)\n"
- "dirreq-v3-ips \n"
- "dirreq-v3-reqs \n"
- "dirreq-v3-resp ok=8,not-enough-sigs=0,unavailable=0,not-found=0,"
- "not-modified=0,busy=0\n"
- "dirreq-v3-direct-dl complete=0,timeout=0,running=0\n"
- "dirreq-v3-tunneled-dl complete=0,timeout=0,running=4\n",
- *entry_stats_1 =
- "entry-stats-end 2010-08-12 13:27:30 (86400 s)\n"
- "entry-ips ab=8\n",
- *entry_stats_2 =
- "entry-stats-end 2010-08-12 13:27:30 (86400 s)\n"
- "entry-ips \n";
- tor_addr_t addr;
- struct in6_addr in6;
-
- /* Populate the DB a bit. Add these in order, since we can't do the final
- * 'sort' step. These aren't very good IP addresses, but they're perfectly
- * fine uint32_t values. */
- (void)arg;
- tt_int_op(0,OP_EQ, geoip_parse_entry("10,50,AB", AF_INET));
- tt_int_op(0,OP_EQ, geoip_parse_entry("52,90,XY", AF_INET));
- tt_int_op(0,OP_EQ, geoip_parse_entry("95,100,AB", AF_INET));
- tt_int_op(0,OP_EQ, geoip_parse_entry("\"105\",\"140\",\"ZZ\"", AF_INET));
- tt_int_op(0,OP_EQ, geoip_parse_entry("\"150\",\"190\",\"XY\"", AF_INET));
- tt_int_op(0,OP_EQ, geoip_parse_entry("\"200\",\"250\",\"AB\"", AF_INET));
-
- /* Populate the IPv6 DB equivalently with fake IPs in the same range */
- tt_int_op(0,OP_EQ, geoip_parse_entry("::a,::32,AB", AF_INET6));
- tt_int_op(0,OP_EQ, geoip_parse_entry("::34,::5a,XY", AF_INET6));
- tt_int_op(0,OP_EQ, geoip_parse_entry("::5f,::64,AB", AF_INET6));
- tt_int_op(0,OP_EQ, geoip_parse_entry("::69,::8c,ZZ", AF_INET6));
- tt_int_op(0,OP_EQ, geoip_parse_entry("::96,::be,XY", AF_INET6));
- tt_int_op(0,OP_EQ, geoip_parse_entry("::c8,::fa,AB", AF_INET6));
-
- /* We should have 4 countries: ??, ab, xy, zz. */
- tt_int_op(4,OP_EQ, geoip_get_n_countries());
- memset(&in6, 0, sizeof(in6));
-
- CHECK_COUNTRY("??", 3);
- CHECK_COUNTRY("ab", 32);
- CHECK_COUNTRY("??", 5);
- CHECK_COUNTRY("??", 51);
- CHECK_COUNTRY("xy", 150);
- CHECK_COUNTRY("xy", 190);
- CHECK_COUNTRY("??", 2000);
-
- tt_int_op(0,OP_EQ, geoip_get_country_by_ipv4(3));
- SET_TEST_IPV6(3);
- tt_int_op(0,OP_EQ, geoip_get_country_by_ipv6(&in6));
-
- get_options_mutable()->BridgeRelay = 1;
- get_options_mutable()->BridgeRecordUsageByCountry = 1;
- /* Put 9 observations in AB... */
- for (i=32; i < 40; ++i) {
- SET_TEST_ADDRESS(i);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now-7200);
- }
- SET_TEST_ADDRESS(225);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now-7200);
- /* and 3 observations in XY, several times. */
- for (j=0; j < 10; ++j)
- for (i=52; i < 55; ++i) {
- SET_TEST_ADDRESS(i);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now-3600);
- }
- /* and 17 observations in ZZ... */
- for (i=110; i < 127; ++i) {
- SET_TEST_ADDRESS(i);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now);
- }
- geoip_get_client_history(GEOIP_CLIENT_CONNECT, &s, &v);
- tt_assert(s);
- tt_assert(v);
- tt_str_op("zz=24,ab=16,xy=8",OP_EQ, s);
- tt_str_op("v4=16,v6=16",OP_EQ, v);
- tor_free(s);
- tor_free(v);
-
- /* Now clear out all the AB observations. */
- geoip_remove_old_clients(now-6000);
- geoip_get_client_history(GEOIP_CLIENT_CONNECT, &s, &v);
- tt_assert(s);
- tt_assert(v);
- tt_str_op("zz=24,xy=8",OP_EQ, s);
- tt_str_op("v4=16,v6=16",OP_EQ, v);
- tor_free(s);
- tor_free(v);
-
- /* Start testing bridge statistics by making sure that we don't output
- * bridge stats without initializing them. */
- s = geoip_format_bridge_stats(now + 86400);
- tt_ptr_op(s, OP_EQ, NULL);
-
- /* Initialize stats and generate the bridge-stats history string out of
- * the connecting clients added above. */
- geoip_bridge_stats_init(now);
- s = geoip_format_bridge_stats(now + 86400);
- tt_assert(s);
- tt_str_op(bridge_stats_1,OP_EQ, s);
- tor_free(s);
-
- /* Stop collecting bridge stats and make sure we don't write a history
- * string anymore. */
- geoip_bridge_stats_term();
- s = geoip_format_bridge_stats(now + 86400);
- tt_ptr_op(s, OP_EQ, NULL);
-
- /* Stop being a bridge and start being a directory mirror that gathers
- * directory request statistics. */
- geoip_bridge_stats_term();
- get_options_mutable()->BridgeRelay = 0;
- get_options_mutable()->BridgeRecordUsageByCountry = 0;
- get_options_mutable()->DirReqStatistics = 1;
-
- /* Start testing dirreq statistics by making sure that we don't collect
- * dirreq stats without initializing them. */
- SET_TEST_ADDRESS(100);
- geoip_note_client_seen(GEOIP_CLIENT_NETWORKSTATUS, &addr, NULL, now);
- s = geoip_format_dirreq_stats(now + 86400);
- tt_ptr_op(s, OP_EQ, NULL);
-
- /* Initialize stats, note one connecting client, and generate the
- * dirreq-stats history string. */
- geoip_dirreq_stats_init(now);
- SET_TEST_ADDRESS(100);
- geoip_note_client_seen(GEOIP_CLIENT_NETWORKSTATUS, &addr, NULL, now);
- s = geoip_format_dirreq_stats(now + 86400);
- tt_str_op(dirreq_stats_1,OP_EQ, s);
- tor_free(s);
-
- /* Stop collecting stats, add another connecting client, and ensure we
- * don't generate a history string. */
- geoip_dirreq_stats_term();
- SET_TEST_ADDRESS(101);
- geoip_note_client_seen(GEOIP_CLIENT_NETWORKSTATUS, &addr, NULL, now);
- s = geoip_format_dirreq_stats(now + 86400);
- tt_ptr_op(s, OP_EQ, NULL);
-
- /* Re-start stats, add a connecting client, reset stats, and make sure
- * that we get an all empty history string. */
- geoip_dirreq_stats_init(now);
- SET_TEST_ADDRESS(100);
- geoip_note_client_seen(GEOIP_CLIENT_NETWORKSTATUS, &addr, NULL, now);
- geoip_reset_dirreq_stats(now);
- s = geoip_format_dirreq_stats(now + 86400);
- tt_str_op(dirreq_stats_2,OP_EQ, s);
- tor_free(s);
-
- /* Note a successful network status response and make sure that it
- * appears in the history string. */
- geoip_note_ns_response(GEOIP_SUCCESS);
- s = geoip_format_dirreq_stats(now + 86400);
- tt_str_op(dirreq_stats_3,OP_EQ, s);
- tor_free(s);
-
- /* Start a tunneled directory request. */
- geoip_start_dirreq((uint64_t) 1, 1024, DIRREQ_TUNNELED);
- s = geoip_format_dirreq_stats(now + 86400);
- tt_str_op(dirreq_stats_4,OP_EQ, s);
- tor_free(s);
-
- /* Stop collecting directory request statistics and start gathering
- * entry stats. */
- geoip_dirreq_stats_term();
- get_options_mutable()->DirReqStatistics = 0;
- get_options_mutable()->EntryStatistics = 1;
-
- /* Start testing entry statistics by making sure that we don't collect
- * anything without initializing entry stats. */
- SET_TEST_ADDRESS(100);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now);
- s = geoip_format_entry_stats(now + 86400);
- tt_ptr_op(s, OP_EQ, NULL);
-
- /* Initialize stats, note one connecting client, and generate the
- * entry-stats history string. */
- geoip_entry_stats_init(now);
- SET_TEST_ADDRESS(100);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now);
- s = geoip_format_entry_stats(now + 86400);
- tt_str_op(entry_stats_1,OP_EQ, s);
- tor_free(s);
-
- /* Stop collecting stats, add another connecting client, and ensure we
- * don't generate a history string. */
- geoip_entry_stats_term();
- SET_TEST_ADDRESS(101);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now);
- s = geoip_format_entry_stats(now + 86400);
- tt_ptr_op(s, OP_EQ, NULL);
-
- /* Re-start stats, add a connecting client, reset stats, and make sure
- * that we get an all empty history string. */
- geoip_entry_stats_init(now);
- SET_TEST_ADDRESS(100);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now);
- geoip_reset_entry_stats(now);
- s = geoip_format_entry_stats(now + 86400);
- tt_str_op(entry_stats_2,OP_EQ, s);
- tor_free(s);
-
- /* Test the OOM handler. Add a client, run the OOM. */
- geoip_entry_stats_init(now);
- SET_TEST_ADDRESS(100);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL,
- now - (12 * 60 * 60));
- /* We've seen this 12 hours ago. Run the OOM, it should clean the entry
- * because it is above the minimum cutoff of 4 hours. */
- size_t bytes_removed = geoip_client_cache_handle_oom(now, 1000);
- tt_size_op(bytes_removed, OP_GT, 0);
-
- /* Do it again but this time with an entry with a lower cutoff. */
- geoip_entry_stats_init(now);
- SET_TEST_ADDRESS(100);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL,
- now - (3 * 60 * 60));
- bytes_removed = geoip_client_cache_handle_oom(now, 1000);
- tt_size_op(bytes_removed, OP_EQ, 0);
-
- /* Stop collecting entry statistics. */
- geoip_entry_stats_term();
- get_options_mutable()->EntryStatistics = 0;
-
- done:
- tor_free(s);
- tor_free(v);
-}
-
-static void
-test_geoip_with_pt(void *arg)
-{
- time_t now = 1281533250; /* 2010-08-11 13:27:30 UTC */
- char *s = NULL;
- int i;
- tor_addr_t addr;
- struct in6_addr in6;
-
- (void)arg;
- get_options_mutable()->BridgeRelay = 1;
- get_options_mutable()->BridgeRecordUsageByCountry = 1;
-
- memset(&in6, 0, sizeof(in6));
-
- /* No clients seen yet. */
- s = geoip_get_transport_history();
- tor_assert(!s);
-
- /* 4 connections without a pluggable transport */
- for (i=0; i < 4; ++i) {
- SET_TEST_ADDRESS(i);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now-7200);
- }
-
- /* 9 connections with "alpha" */
- for (i=4; i < 13; ++i) {
- SET_TEST_ADDRESS(i);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "alpha", now-7200);
- }
-
- /* one connection with "beta" */
- SET_TEST_ADDRESS(13);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "beta", now-7200);
-
- /* 14 connections with "charlie" */
- for (i=14; i < 28; ++i) {
- SET_TEST_ADDRESS(i);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "charlie", now-7200);
- }
-
- /* 131 connections with "ddr" */
- for (i=28; i < 159; ++i) {
- SET_TEST_ADDRESS(i);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "ddr", now-7200);
- }
-
- /* 8 connections with "entropy" */
- for (i=159; i < 167; ++i) {
- SET_TEST_ADDRESS(i);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "entropy", now-7200);
- }
-
- /* 2 connections from the same IP with two different transports. */
- SET_TEST_ADDRESS(++i);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "fire", now-7200);
- geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "google", now-7200);
-
- /* Test the transport history string. */
- s = geoip_get_transport_history();
- tor_assert(s);
- tt_str_op(s,OP_EQ, "<OR>=8,alpha=16,beta=8,charlie=16,ddr=136,"
- "entropy=8,fire=8,google=8");
-
- /* Stop collecting entry statistics. */
- geoip_entry_stats_term();
- get_options_mutable()->EntryStatistics = 0;
-
- done:
- tor_free(s);
-}
-
-#undef SET_TEST_ADDRESS
-#undef SET_TEST_IPV6
-#undef CHECK_COUNTRY
-
/** Run unit tests for stats code. */
static void
test_stats(void *arg)
@@ -1173,8 +800,6 @@ static struct testcase_t test_array[] = {
{ "fast_handshake", test_fast_handshake, 0, NULL, NULL },
FORK(circuit_timeout),
FORK(rend_fns),
- ENT(geoip),
- FORK(geoip_with_pt),
FORK(stats),
END_OF_TESTCASES
@@ -1185,6 +810,7 @@ struct testgroup_t testgroups[] = {
{ "accounting/", accounting_tests },
{ "addr/", addr_tests },
{ "address/", address_tests },
+ { "address_set/", address_set_tests },
{ "buffer/", buffer_tests },
{ "cellfmt/", cell_format_tests },
{ "cellqueue/", cell_queue_tests },
@@ -1216,6 +842,7 @@ struct testgroup_t testgroups[] = {
{ "entrynodes/", entrynodes_tests },
{ "guardfraction/", guardfraction_tests },
{ "extorport/", extorport_tests },
+ { "geoip/", geoip_tests },
{ "legacy_hs/", hs_tests },
{ "hs_cache/", hs_cache },
{ "hs_cell/", hs_cell_tests },
diff --git a/src/test/test.h b/src/test/test.h
index b41f0e54bb..c9d43c15ad 100644
--- a/src/test/test.h
+++ b/src/test/test.h
@@ -177,6 +177,7 @@ extern const struct testcase_setup_t ed25519_test_setup;
extern struct testcase_t accounting_tests[];
extern struct testcase_t addr_tests[];
extern struct testcase_t address_tests[];
+extern struct testcase_t address_set_tests[];
extern struct testcase_t buffer_tests[];
extern struct testcase_t cell_format_tests[];
extern struct testcase_t cell_queue_tests[];
@@ -207,6 +208,7 @@ extern struct testcase_t entryconn_tests[];
extern struct testcase_t entrynodes_tests[];
extern struct testcase_t guardfraction_tests[];
extern struct testcase_t extorport_tests[];
+extern struct testcase_t geoip_tests[];
extern struct testcase_t hs_tests[];
extern struct testcase_t hs_cache[];
extern struct testcase_t hs_cell_tests[];
diff --git a/src/test/test_address_set.c b/src/test/test_address_set.c
new file mode 100644
index 0000000000..df022f539a
--- /dev/null
+++ b/src/test/test_address_set.c
@@ -0,0 +1,174 @@
+/* Copyright (c) 2017, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "or.h"
+#include "address_set.h"
+#include "microdesc.h"
+#include "networkstatus.h"
+#include "nodelist.h"
+#include "routerlist.h"
+#include "torcert.h"
+
+#include "test.h"
+
+static networkstatus_t *dummy_ns = NULL;
+static networkstatus_t *
+mock_networkstatus_get_latest_consensus(void)
+{
+ return dummy_ns;
+}
+
+static networkstatus_t *
+mock_networkstatus_get_latest_consensus_by_flavor(consensus_flavor_t f)
+{
+ tor_assert(f == FLAV_MICRODESC);
+ return dummy_ns;
+}
+
+/* Number of address a single node_t can have. Default to the production
+ * value. This is to control the size of the bloom filter. */
+static int addr_per_node = 2;
+static int
+mock_get_estimated_address_per_node(void)
+{
+ return addr_per_node;
+}
+
+static void
+test_contains(void *arg)
+{
+ int ret;
+ address_set_t *set = NULL;
+
+ (void) arg;
+
+ /* Setup an IPv4 and IPv6 addresses. */
+ tor_addr_t addr_v6;
+ tor_addr_parse(&addr_v6, "1:2:3:4::");
+ tor_addr_t addr_v4;
+ tor_addr_parse(&addr_v4, "42.42.42.42");
+ uint32_t ipv4h = tor_addr_to_ipv4h(&addr_v4);
+
+ /* Make it very big so the chance of failing the contain test will be
+ * extremely rare. */
+ set = address_set_new(1024);
+ tt_assert(set);
+
+ /* Add and lookup IPv6. */
+ address_set_add(set, &addr_v6);
+ ret = address_set_probably_contains(set, &addr_v6);
+ tt_int_op(ret, OP_EQ, 1);
+
+ /* Add and lookup IPv4. */
+ address_set_add_ipv4h(set, ipv4h);
+ ret = address_set_probably_contains(set, &addr_v4);
+ tt_int_op(ret, OP_EQ, 1);
+
+ /* Try a lookup of rubbish. */
+ tor_addr_t dummy_addr;
+ memset(&dummy_addr, 'A', sizeof(dummy_addr));
+ dummy_addr.family = AF_INET;
+ ret = address_set_probably_contains(set, &dummy_addr);
+ tt_int_op(ret, OP_EQ, 0);
+ dummy_addr.family = AF_INET6;
+ ret = address_set_probably_contains(set, &dummy_addr);
+ tt_int_op(ret, OP_EQ, 0);
+
+ done:
+ address_set_free(set);
+}
+
+static void
+test_nodelist(void *arg)
+{
+ int ret;
+ routerstatus_t *rs = NULL; microdesc_t *md = NULL; routerinfo_t *ri = NULL;
+
+ (void) arg;
+
+ MOCK(networkstatus_get_latest_consensus,
+ mock_networkstatus_get_latest_consensus);
+ MOCK(networkstatus_get_latest_consensus_by_flavor,
+ mock_networkstatus_get_latest_consensus_by_flavor);
+ MOCK(get_estimated_address_per_node,
+ mock_get_estimated_address_per_node);
+
+ dummy_ns = tor_malloc_zero(sizeof(*dummy_ns));
+ dummy_ns->flavor = FLAV_MICRODESC;
+ dummy_ns->routerstatus_list = smartlist_new();
+
+ tor_addr_t addr_v4, addr_v6, dummy_addr;
+ tor_addr_parse(&addr_v4, "42.42.42.42");
+ uint32_t ipv4h = tor_addr_to_ipv4h(&addr_v4);
+ tor_addr_parse(&addr_v6, "1:2:3:4::");
+ memset(&dummy_addr, 'A', sizeof(dummy_addr));
+
+ /* This will make the nodelist bloom filter very large
+ * (the_nodelist->node_addrs) so we will fail the contain test rarely. */
+ addr_per_node = 1024;
+
+ /* No node no nothing. The lookups should be empty. */
+ nodelist_set_consensus(dummy_ns);
+
+ /* The address set should be empty. */
+ ret = nodelist_probably_contains_address(&addr_v4);
+ tt_int_op(ret, OP_EQ, 0);
+ ret = nodelist_probably_contains_address(&addr_v6);
+ tt_int_op(ret, OP_EQ, 0);
+ dummy_addr.family = AF_INET;
+ ret = nodelist_probably_contains_address(&dummy_addr);
+ tt_int_op(ret, OP_EQ, 0);
+ dummy_addr.family = AF_INET6;
+ ret = nodelist_probably_contains_address(&dummy_addr);
+ tt_int_op(ret, OP_EQ, 0);
+
+ md = tor_malloc_zero(sizeof(*md));
+ ri = tor_malloc_zero(sizeof(*ri));
+ rs = tor_malloc_zero(sizeof(*rs));
+ crypto_rand(rs->identity_digest, sizeof(rs->identity_digest));
+ crypto_rand(md->digest, sizeof(md->digest));
+ memcpy(rs->descriptor_digest, md->digest, DIGEST256_LEN);
+
+ /* Setup the rs, ri and md addresses. */
+ rs->addr = ipv4h;
+ tor_addr_parse(&rs->ipv6_addr, "1:2:3:4::");
+ ri->addr = ipv4h;
+ tor_addr_parse(&ri->ipv6_addr, "1:2:3:4::");
+ tor_addr_parse(&md->ipv6_addr, "1:2:3:4::");
+
+ /* Add the rs to the consensus becoming a node_t. */
+ smartlist_add(dummy_ns->routerstatus_list, rs);
+ nodelist_set_consensus(dummy_ns);
+
+ /* At this point, the address set should be initialized in the nodelist and
+ * we should be able to lookup. */
+ ret = nodelist_probably_contains_address(&addr_v4);
+ tt_int_op(ret, OP_EQ, 1);
+ ret = nodelist_probably_contains_address(&addr_v6);
+ tt_int_op(ret, OP_EQ, 1);
+ /* Lookup unknown address. */
+ dummy_addr.family = AF_INET;
+ ret = nodelist_probably_contains_address(&dummy_addr);
+ tt_int_op(ret, OP_EQ, 0);
+ dummy_addr.family = AF_INET6;
+ ret = nodelist_probably_contains_address(&dummy_addr);
+ tt_int_op(ret, OP_EQ, 0);
+
+ done:
+ routerstatus_free(rs); routerinfo_free(ri); microdesc_free(md);
+ smartlist_clear(dummy_ns->routerstatus_list);
+ networkstatus_vote_free(dummy_ns);
+ UNMOCK(networkstatus_get_latest_consensus);
+ UNMOCK(networkstatus_get_latest_consensus_by_flavor);
+ UNMOCK(get_estimated_address_per_node);
+}
+
+struct testcase_t address_set_tests[] = {
+ { "contains", test_contains, TT_FORK,
+ NULL, NULL },
+ { "nodelist", test_nodelist, TT_FORK,
+ NULL, NULL },
+
+ END_OF_TESTCASES
+};
+
diff --git a/src/test/test_cell_formats.c b/src/test/test_cell_formats.c
index 007f7e3d3e..88cdef383f 100644
--- a/src/test/test_cell_formats.c
+++ b/src/test/test_cell_formats.c
@@ -477,7 +477,7 @@ test_cfmt_create_cells(void *arg)
cell.command = CELL_CREATED;
tt_int_op(-1, OP_EQ, create_cell_parse(&cc, &cell));
- /* You can't acutally make an unparseable CREATE or CREATE_FAST cell. */
+ /* You can't actually make an unparseable CREATE or CREATE_FAST cell. */
/* Try some CREATE2 cells. First with a bad type. */
cell.command = CELL_CREATE2;
diff --git a/src/test/test_channel.c b/src/test/test_channel.c
index bdc9d32f78..812ec6c1ac 100644
--- a/src/test/test_channel.c
+++ b/src/test/test_channel.c
@@ -281,6 +281,7 @@ new_fake_channel(void)
chan->state = CHANNEL_STATE_OPEN;
chan->cmux = circuitmux_alloc();
+ circuitmux_set_policy(chan->cmux, &ewma_policy);
return chan;
}
@@ -575,15 +576,13 @@ test_channel_outbound_cell(void *arg)
channel_register(chan);
tt_int_op(chan->registered, OP_EQ, 1);
/* Set EWMA policy so we can pick it when flushing. */
- channel_set_cmux_policy_everywhere(&ewma_policy);
+ circuitmux_set_policy(chan->cmux, &ewma_policy);
tt_ptr_op(circuitmux_get_policy(chan->cmux), OP_EQ, &ewma_policy);
/* Register circuit to the channel circid map which will attach the circuit
* to the channel's cmux as well. */
circuit_set_n_circid_chan(TO_CIRCUIT(circ), 42, chan);
tt_int_op(channel_num_circuits(chan), OP_EQ, 1);
- tt_assert(!TO_CIRCUIT(circ)->next_active_on_n_chan);
- tt_assert(!TO_CIRCUIT(circ)->prev_active_on_n_chan);
/* Test the cmux state. */
tt_ptr_op(TO_CIRCUIT(circ)->n_mux, OP_EQ, chan->cmux);
tt_int_op(circuitmux_is_circuit_attached(chan->cmux, TO_CIRCUIT(circ)),
diff --git a/src/test/test_channelpadding.c b/src/test/test_channelpadding.c
index 4cc33cbe70..9e570b81a7 100644
--- a/src/test/test_channelpadding.c
+++ b/src/test/test_channelpadding.c
@@ -457,7 +457,7 @@ test_channelpadding_killonehop(void *arg)
tt_assert(relay3_client->padding_enabled);
tt_assert(client_relay3->padding_enabled);
get_options_mutable()->Tor2webMode = 1;
- /* For the relay to recieve the negotiate: */
+ /* For the relay to receive the negotiate: */
get_options_mutable()->ORPort_set = 1;
decision = channelpadding_decide_to_pad_channel(client_relay3);
tt_int_op(decision, OP_EQ, CHANNELPADDING_WONTPAD);
@@ -530,7 +530,7 @@ test_channelpadding_killonehop(void *arg)
// Test client side (it should stop immediately)
get_options_mutable()->HiddenServiceSingleHopMode = 1;
get_options_mutable()->HiddenServiceNonAnonymousMode = 1;
- /* For the relay to recieve the negotiate: */
+ /* For the relay to receive the negotiate: */
get_options_mutable()->ORPort_set = 1;
decision = channelpadding_decide_to_pad_channel(client_relay3);
tt_int_op(decision, OP_EQ, CHANNELPADDING_WONTPAD);
@@ -835,7 +835,7 @@ test_channelpadding_negotiation(void *arg)
get_options_mutable()->ORPort_set = 0;
/* Test case #2: Torrc options */
- /* ConnectionPadding auto; Relay doesn't suport us */
+ /* ConnectionPadding auto; Relay doesn't support us */
((channel_tls_t*)relay3_client)->conn->link_proto = 4;
relay3_client->padding_enabled = 0;
tried_to_write_cell = 0;
@@ -846,7 +846,7 @@ test_channelpadding_negotiation(void *arg)
((channel_tls_t*)relay3_client)->conn->link_proto = 5;
relay3_client->padding_enabled = 1;
- /* ConnectionPadding 1; Relay doesn't suport us */
+ /* ConnectionPadding 1; Relay doesn't support us */
get_options_mutable()->ConnectionPadding = 1;
tried_to_write_cell = 0;
decision = channelpadding_decide_to_pad_channel(client_relay3);
diff --git a/src/test/test_circuitlist.c b/src/test/test_circuitlist.c
index d170009a9c..3794ffc2c6 100644
--- a/src/test/test_circuitlist.c
+++ b/src/test/test_circuitlist.c
@@ -9,6 +9,7 @@
#include "channel.h"
#include "circuitbuild.h"
#include "circuitlist.h"
+#include "circuitmux_ewma.h"
#include "hs_circuitmap.h"
#include "test.h"
#include "log_test_helpers.h"
diff --git a/src/test/test_circuitmux.c b/src/test/test_circuitmux.c
index 854f725054..75b7a0ea47 100644
--- a/src/test/test_circuitmux.c
+++ b/src/test/test_circuitmux.c
@@ -7,6 +7,7 @@
#include "or.h"
#include "channel.h"
#include "circuitmux.h"
+#include "circuitmux_ewma.h"
#include "relay.h"
#include "scheduler.h"
#include "test.h"
@@ -45,6 +46,7 @@ test_cmux_destroy_cell_queue(void *arg)
cmux = circuitmux_alloc();
tt_assert(cmux);
ch = new_fake_channel();
+ circuitmux_set_policy(cmux, &ewma_policy);
ch->has_queued_writes = has_queued_writes;
ch->wide_circ_ids = 1;
diff --git a/src/test/test_config.c b/src/test/test_config.c
index 4290d0dc6d..3729c8aabb 100644
--- a/src/test/test_config.c
+++ b/src/test/test_config.c
@@ -20,7 +20,6 @@
#include "connection_edge.h"
#include "test.h"
#include "util.h"
-#include "address.h"
#include "connection_or.h"
#include "control.h"
#include "cpuworker.h"
@@ -42,9 +41,6 @@
#include "routerlist.h"
#include "routerset.h"
#include "statefile.h"
-#include "test.h"
-#include "transports.h"
-#include "util.h"
#include "test_helpers.h"
@@ -323,7 +319,7 @@ test_config_write_to_data_subdir(void *arg)
tt_int_op(mkdir(options->DataDirectory, 0700), OP_EQ, 0);
#endif
- // Write attempt shoudl fail, if subdirectory doesn't exist.
+ // Write attempt should fail, if subdirectory doesn't exist.
tt_assert(write_to_data_subdir(subdir, fname, str, NULL));
tt_assert(! check_or_create_data_subdir(subdir));
@@ -1391,7 +1387,7 @@ test_config_resolve_my_address(void *arg)
* if running on.
* 3. Hostname from previous step cannot be converted to
* address by using tor_inet_aton() function.
- * 4. However, tor_lookup_hostname() succeds in resolving the
+ * 4. However, tor_lookup_hostname() succeeds in resolving the
* hostname from step 2.
* 5. Unfortunately, tor_addr_is_internal() deems this address
* to be internal.
diff --git a/src/test/test_connection.c b/src/test/test_connection.c
index 314b90cfda..33f453b8b2 100644
--- a/src/test/test_connection.c
+++ b/src/test/test_connection.c
@@ -779,7 +779,7 @@ test_conn_download_status(void *arg)
#define CONNECTION_TESTCASE(name, fork, setup) \
{ #name, test_conn_##name, fork, &setup, NULL }
-/* where arg is an expression (constant, varaible, compound expression) */
+/* where arg is an expression (constant, variable, compound expression) */
#define CONNECTION_TESTCASE_ARG(name, fork, setup, arg) \
{ #name "_" #arg, test_conn_##name, fork, &setup, (void *)arg }
diff --git a/src/test/test_controller.c b/src/test/test_controller.c
index af19f63f6c..1c285bb3a2 100644
--- a/src/test/test_controller.c
+++ b/src/test/test_controller.c
@@ -396,7 +396,7 @@ test_add_onion_helper_clientauth(void *arg)
static const download_status_t dl_status_default =
{ 0, 0, 0, DL_SCHED_CONSENSUS, DL_WANT_ANY_DIRSERVER,
- DL_SCHED_INCREMENT_FAILURE, DL_SCHED_RANDOM_EXPONENTIAL, 0, 0 };
+ DL_SCHED_INCREMENT_FAILURE, 0, 0 };
static download_status_t ns_dl_status[N_CONSENSUS_FLAVORS];
static download_status_t ns_dl_status_bootstrap[N_CONSENSUS_FLAVORS];
static download_status_t ns_dl_status_running[N_CONSENSUS_FLAVORS];
@@ -407,7 +407,7 @@ static download_status_t ns_dl_status_running[N_CONSENSUS_FLAVORS];
*/
static const download_status_t dls_sample_1 =
{ 1467163900, 0, 0, DL_SCHED_GENERIC, DL_WANT_ANY_DIRSERVER,
- DL_SCHED_INCREMENT_FAILURE, DL_SCHED_DETERMINISTIC, 0, 0 };
+ DL_SCHED_INCREMENT_FAILURE, 0, 0 };
static const char * dls_sample_1_str =
"next-attempt-at 2016-06-29 01:31:40\n"
"n-download-failures 0\n"
@@ -415,10 +415,12 @@ static const char * dls_sample_1_str =
"schedule DL_SCHED_GENERIC\n"
"want-authority DL_WANT_ANY_DIRSERVER\n"
"increment-on DL_SCHED_INCREMENT_FAILURE\n"
- "backoff DL_SCHED_DETERMINISTIC\n";
+ "backoff DL_SCHED_RANDOM_EXPONENTIAL\n"
+ "last-backoff-position 0\n"
+ "last-delay-used 0\n";
static const download_status_t dls_sample_2 =
{ 1467164400, 1, 2, DL_SCHED_CONSENSUS, DL_WANT_AUTHORITY,
- DL_SCHED_INCREMENT_FAILURE, DL_SCHED_DETERMINISTIC, 0, 0 };
+ DL_SCHED_INCREMENT_FAILURE, 0, 0 };
static const char * dls_sample_2_str =
"next-attempt-at 2016-06-29 01:40:00\n"
"n-download-failures 1\n"
@@ -426,10 +428,12 @@ static const char * dls_sample_2_str =
"schedule DL_SCHED_CONSENSUS\n"
"want-authority DL_WANT_AUTHORITY\n"
"increment-on DL_SCHED_INCREMENT_FAILURE\n"
- "backoff DL_SCHED_DETERMINISTIC\n";
+ "backoff DL_SCHED_RANDOM_EXPONENTIAL\n"
+ "last-backoff-position 0\n"
+ "last-delay-used 0\n";
static const download_status_t dls_sample_3 =
{ 1467154400, 12, 25, DL_SCHED_BRIDGE, DL_WANT_ANY_DIRSERVER,
- DL_SCHED_INCREMENT_ATTEMPT, DL_SCHED_DETERMINISTIC, 0, 0 };
+ DL_SCHED_INCREMENT_ATTEMPT, 0, 0 };
static const char * dls_sample_3_str =
"next-attempt-at 2016-06-28 22:53:20\n"
"n-download-failures 12\n"
@@ -437,10 +441,12 @@ static const char * dls_sample_3_str =
"schedule DL_SCHED_BRIDGE\n"
"want-authority DL_WANT_ANY_DIRSERVER\n"
"increment-on DL_SCHED_INCREMENT_ATTEMPT\n"
- "backoff DL_SCHED_DETERMINISTIC\n";
+ "backoff DL_SCHED_RANDOM_EXPONENTIAL\n"
+ "last-backoff-position 0\n"
+ "last-delay-used 0\n";
static const download_status_t dls_sample_4 =
{ 1467166600, 3, 0, DL_SCHED_GENERIC, DL_WANT_ANY_DIRSERVER,
- DL_SCHED_INCREMENT_FAILURE, DL_SCHED_RANDOM_EXPONENTIAL, 0, 0 };
+ DL_SCHED_INCREMENT_FAILURE, 0, 0 };
static const char * dls_sample_4_str =
"next-attempt-at 2016-06-29 02:16:40\n"
"n-download-failures 3\n"
@@ -453,7 +459,7 @@ static const char * dls_sample_4_str =
"last-delay-used 0\n";
static const download_status_t dls_sample_5 =
{ 1467164600, 3, 7, DL_SCHED_CONSENSUS, DL_WANT_ANY_DIRSERVER,
- DL_SCHED_INCREMENT_FAILURE, DL_SCHED_RANDOM_EXPONENTIAL, 1, 2112, };
+ DL_SCHED_INCREMENT_FAILURE, 1, 2112, };
static const char * dls_sample_5_str =
"next-attempt-at 2016-06-29 01:43:20\n"
"n-download-failures 3\n"
@@ -466,7 +472,7 @@ static const char * dls_sample_5_str =
"last-delay-used 2112\n";
static const download_status_t dls_sample_6 =
{ 1467164200, 4, 9, DL_SCHED_CONSENSUS, DL_WANT_AUTHORITY,
- DL_SCHED_INCREMENT_ATTEMPT, DL_SCHED_RANDOM_EXPONENTIAL, 3, 432 };
+ DL_SCHED_INCREMENT_ATTEMPT, 3, 432 };
static const char * dls_sample_6_str =
"next-attempt-at 2016-06-29 01:36:40\n"
"n-download-failures 4\n"
diff --git a/src/test/test_dir.c b/src/test/test_dir.c
index f2223ee176..5fac045b26 100644
--- a/src/test/test_dir.c
+++ b/src/test/test_dir.c
@@ -1270,7 +1270,7 @@ test_dir_versions(void *arg)
tt_int_op(0,OP_EQ, tor_version_as_new_as(
"Tor 0.2.9.9 (git-00)",
"Tor 0.2.9.9 (git-01)"));
- /* In #21278, we comapre without integer overflows.
+ /* In #21278, we compare without integer overflows.
* But since #21450 limits version components to [0, INT32_MAX], it is no
* longer possible to cause an integer overflow in tor_version_compare() */
tt_int_op(0,OP_EQ, tor_version_as_new_as(
@@ -3965,164 +3965,11 @@ test_dir_packages(void *arg)
}
static void
-test_dir_download_status_schedule(void *arg)
-{
- (void)arg;
- download_status_t dls_failure = { 0, 0, 0, DL_SCHED_GENERIC,
- DL_WANT_AUTHORITY,
- DL_SCHED_INCREMENT_FAILURE,
- DL_SCHED_DETERMINISTIC, 0, 0 };
- download_status_t dls_attempt = { 0, 0, 0, DL_SCHED_CONSENSUS,
- DL_WANT_ANY_DIRSERVER,
- DL_SCHED_INCREMENT_ATTEMPT,
- DL_SCHED_DETERMINISTIC, 0, 0 };
- download_status_t dls_bridge = { 0, 0, 0, DL_SCHED_BRIDGE,
- DL_WANT_AUTHORITY,
- DL_SCHED_INCREMENT_FAILURE,
- DL_SCHED_DETERMINISTIC, 0, 0 };
- int increment = -1;
- int expected_increment = -1;
- time_t current_time = time(NULL);
- int delay1 = -1;
- int delay2 = -1;
- smartlist_t *schedule = smartlist_new();
-
- /* Make a dummy schedule */
- smartlist_add(schedule, (void *)&delay1);
- smartlist_add(schedule, (void *)&delay2);
-
- /* check a range of values */
- delay1 = 1000;
- increment = download_status_schedule_get_delay(&dls_failure,
- schedule,
- 0, INT_MAX,
- TIME_MIN);
- expected_increment = delay1;
- tt_assert(increment == expected_increment);
- tt_assert(dls_failure.next_attempt_at == TIME_MIN + expected_increment);
-
- delay1 = INT_MAX;
- increment = download_status_schedule_get_delay(&dls_failure,
- schedule,
- 0, INT_MAX,
- -1);
- expected_increment = delay1;
- tt_assert(increment == expected_increment);
- tt_assert(dls_failure.next_attempt_at == TIME_MAX);
-
- delay1 = 0;
- increment = download_status_schedule_get_delay(&dls_attempt,
- schedule,
- 0, INT_MAX,
- 0);
- expected_increment = delay1;
- tt_assert(increment == expected_increment);
- tt_assert(dls_attempt.next_attempt_at == 0 + expected_increment);
-
- delay1 = 1000;
- increment = download_status_schedule_get_delay(&dls_attempt,
- schedule,
- 0, INT_MAX,
- 1);
- expected_increment = delay1;
- tt_assert(increment == expected_increment);
- tt_assert(dls_attempt.next_attempt_at == 1 + expected_increment);
-
- delay1 = INT_MAX;
- increment = download_status_schedule_get_delay(&dls_bridge,
- schedule,
- 0, INT_MAX,
- current_time);
- expected_increment = delay1;
- tt_assert(increment == expected_increment);
- tt_assert(dls_bridge.next_attempt_at == TIME_MAX);
-
- delay1 = 1;
- increment = download_status_schedule_get_delay(&dls_bridge,
- schedule,
- 0, INT_MAX,
- TIME_MAX);
- expected_increment = delay1;
- tt_assert(increment == expected_increment);
- tt_assert(dls_bridge.next_attempt_at == TIME_MAX);
-
- /* see what happens when we reach the end */
- dls_attempt.n_download_attempts++;
- dls_bridge.n_download_failures++;
-
- delay2 = 100;
- increment = download_status_schedule_get_delay(&dls_attempt,
- schedule,
- 0, INT_MAX,
- current_time);
- expected_increment = delay2;
- tt_assert(increment == expected_increment);
- tt_assert(dls_attempt.next_attempt_at == current_time + delay2);
-
- delay2 = 1;
- increment = download_status_schedule_get_delay(&dls_bridge,
- schedule,
- 0, INT_MAX,
- current_time);
- expected_increment = delay2;
- tt_assert(increment == expected_increment);
- tt_assert(dls_bridge.next_attempt_at == current_time + delay2);
-
- /* see what happens when we try to go off the end */
- dls_attempt.n_download_attempts++;
- dls_bridge.n_download_failures++;
-
- delay2 = 5;
- increment = download_status_schedule_get_delay(&dls_attempt,
- schedule,
- 0, INT_MAX,
- current_time);
- expected_increment = delay2;
- tt_assert(increment == expected_increment);
- tt_assert(dls_attempt.next_attempt_at == current_time + delay2);
-
- delay2 = 17;
- increment = download_status_schedule_get_delay(&dls_bridge,
- schedule,
- 0, INT_MAX,
- current_time);
- expected_increment = delay2;
- tt_assert(increment == expected_increment);
- tt_assert(dls_bridge.next_attempt_at == current_time + delay2);
-
- /* see what happens when we reach IMPOSSIBLE_TO_DOWNLOAD */
- dls_attempt.n_download_attempts = IMPOSSIBLE_TO_DOWNLOAD;
- dls_bridge.n_download_failures = IMPOSSIBLE_TO_DOWNLOAD;
-
- delay2 = 35;
- increment = download_status_schedule_get_delay(&dls_attempt,
- schedule,
- 0, INT_MAX,
- current_time);
- expected_increment = INT_MAX;
- tt_assert(increment == expected_increment);
- tt_assert(dls_attempt.next_attempt_at == TIME_MAX);
-
- delay2 = 99;
- increment = download_status_schedule_get_delay(&dls_bridge,
- schedule,
- 0, INT_MAX,
- current_time);
- expected_increment = INT_MAX;
- tt_assert(increment == expected_increment);
- tt_assert(dls_bridge.next_attempt_at == TIME_MAX);
-
- done:
- /* the pointers in schedule are allocated on the stack */
- smartlist_free(schedule);
-}
-
-static void
-download_status_random_backoff_helper(int min_delay, int max_delay)
+download_status_random_backoff_helper(int min_delay)
{
download_status_t dls_random =
{ 0, 0, 0, DL_SCHED_GENERIC, DL_WANT_AUTHORITY,
- DL_SCHED_INCREMENT_FAILURE, DL_SCHED_RANDOM_EXPONENTIAL, 0, 0 };
+ DL_SCHED_INCREMENT_FAILURE, 0, 0 };
int increment = -1;
int old_increment = -1;
time_t current_time = time(NULL);
@@ -4131,23 +3978,21 @@ download_status_random_backoff_helper(int min_delay, int max_delay)
int n_attempts = 0;
do {
increment = download_status_schedule_get_delay(&dls_random,
- NULL,
- min_delay, max_delay,
+ min_delay,
current_time);
- log_debug(LD_DIR, "Min: %d, Max: %d, Inc: %d, Old Inc: %d",
- min_delay, max_delay, increment, old_increment);
+ log_debug(LD_DIR, "Min: %d, Inc: %d, Old Inc: %d",
+ min_delay, increment, old_increment);
/* Regression test for 20534 and friends
* increment must always increase after the first */
- if (dls_random.last_backoff_position > 0 && max_delay > 0) {
+ if (dls_random.last_backoff_position > 0) {
/* Always increment the exponential backoff */
tt_int_op(increment, OP_GE, 1);
}
/* Test */
tt_int_op(increment, OP_GE, min_delay);
- tt_int_op(increment, OP_LE, max_delay);
/* Advance */
if (dls_random.n_download_attempts < IMPOSSIBLE_TO_DOWNLOAD - 1) {
@@ -4157,7 +4002,7 @@ download_status_random_backoff_helper(int min_delay, int max_delay)
/* Try another maybe */
old_increment = increment;
- } while (increment < max_delay && ++n_attempts < 1000);
+ } while (++n_attempts < 1000);
done:
return;
@@ -4169,19 +4014,13 @@ test_dir_download_status_random_backoff(void *arg)
(void)arg;
/* Do a standard test */
- download_status_random_backoff_helper(0, 1000000);
- /* Regression test for 20534 and friends:
- * try tighter bounds */
- download_status_random_backoff_helper(0, 100);
+ download_status_random_backoff_helper(0);
/* regression tests for 17750: initial delay */
- download_status_random_backoff_helper(10, 1000);
- download_status_random_backoff_helper(20, 30);
+ download_status_random_backoff_helper(10);
+ download_status_random_backoff_helper(20);
/* Pathological cases */
- download_status_random_backoff_helper(0, 0);
- download_status_random_backoff_helper(1, 1);
- download_status_random_backoff_helper(0, INT_MAX);
- download_status_random_backoff_helper(INT_MAX/2, INT_MAX);
+ download_status_random_backoff_helper(INT_MAX/2);
}
static void
@@ -4220,18 +4059,10 @@ static void
test_dir_download_status_increment(void *arg)
{
(void)arg;
- download_status_t dls_failure = { 0, 0, 0, DL_SCHED_GENERIC,
- DL_WANT_AUTHORITY,
- DL_SCHED_INCREMENT_FAILURE,
- DL_SCHED_DETERMINISTIC, 0, 0 };
- download_status_t dls_attempt = { 0, 0, 0, DL_SCHED_BRIDGE,
- DL_WANT_ANY_DIRSERVER,
- DL_SCHED_INCREMENT_ATTEMPT,
- DL_SCHED_DETERMINISTIC, 0, 0 };
download_status_t dls_exp = { 0, 0, 0, DL_SCHED_GENERIC,
DL_WANT_ANY_DIRSERVER,
DL_SCHED_INCREMENT_ATTEMPT,
- DL_SCHED_RANDOM_EXPONENTIAL, 0, 0 };
+ 0, 0 };
int no_delay = 0;
int delay0 = -1;
int delay1 = -1;
@@ -4239,7 +4070,6 @@ test_dir_download_status_increment(void *arg)
smartlist_t *schedule = smartlist_new();
smartlist_t *schedule_no_initial_delay = smartlist_new();
or_options_t test_options;
- time_t next_at = TIME_MAX;
time_t current_time = time(NULL);
/* Provide some values for the schedules */
@@ -4272,26 +4102,6 @@ test_dir_download_status_increment(void *arg)
mock_get_options_calls = 0;
/* we really want to test that it's equal to time(NULL) + delay0, but that's
* an unrealiable test, because time(NULL) might change. */
- tt_assert(download_status_get_next_attempt_at(&dls_failure)
- >= current_time + no_delay);
- tt_assert(download_status_get_next_attempt_at(&dls_failure)
- != TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_failure), OP_EQ, 0);
- tt_int_op(download_status_get_n_attempts(&dls_failure), OP_EQ, 0);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* regression test for 17750: initial delay */
- mock_options->TestingClientDownloadSchedule = schedule;
- mock_get_options_calls = 0;
- /* we really want to test that it's equal to time(NULL) + delay0, but that's
- * an unrealiable test, because time(NULL) might change. */
- tt_assert(download_status_get_next_attempt_at(&dls_failure)
- >= current_time + delay0);
- tt_assert(download_status_get_next_attempt_at(&dls_failure)
- != TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_failure), OP_EQ, 0);
- tt_int_op(download_status_get_n_attempts(&dls_failure), OP_EQ, 0);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
/* regression test for 17750: exponential, no initial delay */
mock_options->TestingClientDownloadSchedule = schedule_no_initial_delay;
@@ -4319,258 +4129,6 @@ test_dir_download_status_increment(void *arg)
tt_int_op(download_status_get_n_attempts(&dls_exp), OP_EQ, 0);
tt_int_op(mock_get_options_calls, OP_GE, 1);
- /* Check that a failure reset works */
- mock_get_options_calls = 0;
- download_status_reset(&dls_failure);
- /* we really want to test that it's equal to time(NULL) + delay0, but that's
- * an unrealiable test, because time(NULL) might change. */
- tt_assert(download_status_get_next_attempt_at(&dls_failure)
- >= current_time + delay0);
- tt_assert(download_status_get_next_attempt_at(&dls_failure)
- != TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_failure), OP_EQ, 0);
- tt_int_op(download_status_get_n_attempts(&dls_failure), OP_EQ, 0);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* avoid timing inconsistencies */
- dls_failure.next_attempt_at = current_time + delay0;
-
- /* check that a reset schedule becomes ready at the right time */
- tt_int_op(download_status_is_ready(&dls_failure,
- current_time + delay0 - 1, 1),
- OP_EQ, 0);
- tt_int_op(download_status_is_ready(&dls_failure,
- current_time + delay0, 1),
- OP_EQ, 1);
- tt_int_op(download_status_is_ready(&dls_failure,
- current_time + delay0 + 1, 1),
- OP_EQ, 1);
-
- /* Check that a failure increment works */
- mock_get_options_calls = 0;
- next_at = download_status_increment_failure(&dls_failure, 404, "test", 0,
- current_time);
- tt_assert(next_at == current_time + delay1);
- tt_int_op(download_status_get_n_failures(&dls_failure), OP_EQ, 1);
- tt_int_op(download_status_get_n_attempts(&dls_failure), OP_EQ, 1);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* check that an incremented schedule becomes ready at the right time */
- tt_int_op(download_status_is_ready(&dls_failure,
- current_time + delay1 - 1, 1),
- OP_EQ, 0);
- tt_int_op(download_status_is_ready(&dls_failure,
- current_time + delay1, 1),
- OP_EQ, 1);
- tt_int_op(download_status_is_ready(&dls_failure,
- current_time + delay1 + 1, 1),
- OP_EQ, 1);
-
- /* check that a schedule isn't ready if it's had too many failures */
- tt_int_op(download_status_is_ready(&dls_failure,
- current_time + delay1 + 10, 0),
- OP_EQ, 0);
-
- /* Check that failure increments do happen on 503 for clients, and
- * attempt increments do too. */
- mock_get_options_calls = 0;
- next_at = download_status_increment_failure(&dls_failure, 503, "test", 0,
- current_time);
- tt_i64_op(next_at, OP_EQ, current_time + delay2);
- tt_int_op(download_status_get_n_failures(&dls_failure), OP_EQ, 2);
- tt_int_op(download_status_get_n_attempts(&dls_failure), OP_EQ, 2);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* Check that failure increments do happen on 503 for servers */
- mock_get_options_calls = 0;
- next_at = download_status_increment_failure(&dls_failure, 503, "test", 1,
- current_time);
- tt_assert(next_at == current_time + delay2);
- tt_int_op(download_status_get_n_failures(&dls_failure), OP_EQ, 3);
- tt_int_op(download_status_get_n_attempts(&dls_failure), OP_EQ, 3);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* Check what happens when we run off the end of the schedule */
- mock_get_options_calls = 0;
- next_at = download_status_increment_failure(&dls_failure, 404, "test", 0,
- current_time);
- tt_assert(next_at == current_time + delay2);
- tt_int_op(download_status_get_n_failures(&dls_failure), OP_EQ, 4);
- tt_int_op(download_status_get_n_attempts(&dls_failure), OP_EQ, 4);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* Check what happens when we hit the failure limit */
- mock_get_options_calls = 0;
- download_status_mark_impossible(&dls_failure);
- next_at = download_status_increment_failure(&dls_failure, 404, "test", 0,
- current_time);
- tt_assert(next_at == TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_failure), OP_EQ,
- IMPOSSIBLE_TO_DOWNLOAD);
- tt_int_op(download_status_get_n_attempts(&dls_failure), OP_EQ,
- IMPOSSIBLE_TO_DOWNLOAD);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* Check that a failure reset doesn't reset at the limit */
- mock_get_options_calls = 0;
- download_status_reset(&dls_failure);
- tt_assert(download_status_get_next_attempt_at(&dls_failure)
- == TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_failure), OP_EQ,
- IMPOSSIBLE_TO_DOWNLOAD);
- tt_int_op(download_status_get_n_attempts(&dls_failure), OP_EQ,
- IMPOSSIBLE_TO_DOWNLOAD);
- tt_int_op(mock_get_options_calls, OP_EQ, 0);
-
- /* Check that a failure reset resets just before the limit */
- mock_get_options_calls = 0;
- dls_failure.n_download_failures = IMPOSSIBLE_TO_DOWNLOAD - 1;
- dls_failure.n_download_attempts = IMPOSSIBLE_TO_DOWNLOAD - 1;
- download_status_reset(&dls_failure);
- /* we really want to test that it's equal to time(NULL) + delay0, but that's
- * an unrealiable test, because time(NULL) might change. */
- tt_assert(download_status_get_next_attempt_at(&dls_failure)
- >= current_time + delay0);
- tt_assert(download_status_get_next_attempt_at(&dls_failure)
- != TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_failure), OP_EQ, 0);
- tt_int_op(download_status_get_n_attempts(&dls_failure), OP_EQ, 0);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* Check that failure increments do happen on attempt-based schedules,
- * but that the retry is set at the end of time */
- mock_options->UseBridges = 1;
- mock_get_options_calls = 0;
- next_at = download_status_increment_failure(&dls_attempt, 404, "test", 0,
- current_time);
- tt_assert(next_at == TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_attempt), OP_EQ, 1);
- tt_int_op(download_status_get_n_attempts(&dls_attempt), OP_EQ, 0);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* Check that an attempt reset works */
- mock_get_options_calls = 0;
- download_status_reset(&dls_attempt);
- /* we really want to test that it's equal to time(NULL) + delay0, but that's
- * an unrealiable test, because time(NULL) might change. */
- tt_assert(download_status_get_next_attempt_at(&dls_attempt)
- >= current_time + delay0);
- tt_assert(download_status_get_next_attempt_at(&dls_attempt)
- != TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_attempt), OP_EQ, 0);
- tt_int_op(download_status_get_n_attempts(&dls_attempt), OP_EQ, 0);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* avoid timing inconsistencies */
- dls_attempt.next_attempt_at = current_time + delay0;
-
- /* check that a reset schedule becomes ready at the right time */
- tt_int_op(download_status_is_ready(&dls_attempt,
- current_time + delay0 - 1, 1),
- OP_EQ, 0);
- tt_int_op(download_status_is_ready(&dls_attempt,
- current_time + delay0, 1),
- OP_EQ, 1);
- tt_int_op(download_status_is_ready(&dls_attempt,
- current_time + delay0 + 1, 1),
- OP_EQ, 1);
-
- /* Check that an attempt increment works */
- mock_get_options_calls = 0;
- next_at = download_status_increment_attempt(&dls_attempt, "test",
- current_time);
- tt_assert(next_at == current_time + delay1);
- tt_int_op(download_status_get_n_failures(&dls_attempt), OP_EQ, 0);
- tt_int_op(download_status_get_n_attempts(&dls_attempt), OP_EQ, 1);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* check that an incremented schedule becomes ready at the right time */
- tt_int_op(download_status_is_ready(&dls_attempt,
- current_time + delay1 - 1, 1),
- OP_EQ, 0);
- tt_int_op(download_status_is_ready(&dls_attempt,
- current_time + delay1, 1),
- OP_EQ, 1);
- tt_int_op(download_status_is_ready(&dls_attempt,
- current_time + delay1 + 1, 1),
- OP_EQ, 1);
-
- /* check that a schedule isn't ready if it's had too many attempts */
- tt_int_op(download_status_is_ready(&dls_attempt,
- current_time + delay1 + 10, 0),
- OP_EQ, 0);
-
- /* Check what happens when we reach then run off the end of the schedule */
- mock_get_options_calls = 0;
- next_at = download_status_increment_attempt(&dls_attempt, "test",
- current_time);
- tt_assert(next_at == current_time + delay2);
- tt_int_op(download_status_get_n_failures(&dls_attempt), OP_EQ, 0);
- tt_int_op(download_status_get_n_attempts(&dls_attempt), OP_EQ, 2);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- mock_get_options_calls = 0;
- next_at = download_status_increment_attempt(&dls_attempt, "test",
- current_time);
- tt_assert(next_at == current_time + delay2);
- tt_int_op(download_status_get_n_failures(&dls_attempt), OP_EQ, 0);
- tt_int_op(download_status_get_n_attempts(&dls_attempt), OP_EQ, 3);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* Check what happens when we hit the attempt limit */
- mock_get_options_calls = 0;
- download_status_mark_impossible(&dls_attempt);
- next_at = download_status_increment_attempt(&dls_attempt, "test",
- current_time);
- tt_assert(next_at == TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_attempt), OP_EQ,
- IMPOSSIBLE_TO_DOWNLOAD);
- tt_int_op(download_status_get_n_attempts(&dls_attempt), OP_EQ,
- IMPOSSIBLE_TO_DOWNLOAD);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
-
- /* Check that an attempt reset doesn't reset at the limit */
- mock_get_options_calls = 0;
- download_status_reset(&dls_attempt);
- tt_assert(download_status_get_next_attempt_at(&dls_attempt)
- == TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_attempt), OP_EQ,
- IMPOSSIBLE_TO_DOWNLOAD);
- tt_int_op(download_status_get_n_attempts(&dls_attempt), OP_EQ,
- IMPOSSIBLE_TO_DOWNLOAD);
- tt_int_op(mock_get_options_calls, OP_EQ, 0);
-
- /* Check that an attempt reset resets just before the limit */
- mock_get_options_calls = 0;
- dls_attempt.n_download_failures = IMPOSSIBLE_TO_DOWNLOAD - 1;
- dls_attempt.n_download_attempts = IMPOSSIBLE_TO_DOWNLOAD - 1;
- download_status_reset(&dls_attempt);
- /* we really want to test that it's equal to time(NULL) + delay0, but that's
- * an unrealiable test, because time(NULL) might change. */
- tt_assert(download_status_get_next_attempt_at(&dls_attempt)
- >= current_time + delay0);
- tt_assert(download_status_get_next_attempt_at(&dls_attempt)
- != TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_attempt), OP_EQ, 0);
- tt_int_op(download_status_get_n_attempts(&dls_attempt), OP_EQ, 0);
- tt_int_op(mock_get_options_calls, OP_GE, 1);
- mock_options->UseBridges = 0;
-
- /* Check that attempt increments don't happen on failure-based schedules,
- * and that the attempt is set at the end of time */
- mock_get_options_calls = 0;
- setup_full_capture_of_logs(LOG_WARN);
- next_at = download_status_increment_attempt(&dls_failure, "test",
- current_time);
- expect_single_log_msg_containing(
- "Tried to launch an attempt-based connection on a failure-based "
- "schedule.");
- teardown_capture_of_logs();
- tt_assert(next_at == TIME_MAX);
- tt_int_op(download_status_get_n_failures(&dls_failure), OP_EQ, 0);
- tt_int_op(download_status_get_n_attempts(&dls_failure), OP_EQ, 0);
- tt_int_op(mock_get_options_calls, OP_EQ, 0);
-
done:
/* the pointers in schedule are allocated on the stack */
smartlist_free(schedule);
@@ -6318,7 +5876,6 @@ struct testcase_t dir_tests[] = {
DIR(post_parsing, 0),
DIR(fetch_type, 0),
DIR(packages, 0),
- DIR(download_status_schedule, 0),
DIR(download_status_random_backoff, 0),
DIR(download_status_random_backoff_ranges, 0),
DIR(download_status_increment, TT_FORK),
diff --git a/src/test/test_dir_handle_get.c b/src/test/test_dir_handle_get.c
index ca64dce5fe..71faf70af2 100644
--- a/src/test/test_dir_handle_get.c
+++ b/src/test/test_dir_handle_get.c
@@ -16,7 +16,6 @@
#include "directory.h"
#include "test.h"
#include "compress.h"
-#include "connection.h"
#include "rendcommon.h"
#include "rendcache.h"
#include "router.h"
diff --git a/src/test/test_dos.c b/src/test/test_dos.c
index 9a10a2084a..cb9d9e559c 100644
--- a/src/test/test_dos.c
+++ b/src/test/test_dos.c
@@ -10,9 +10,36 @@
#include "circuitlist.h"
#include "geoip.h"
#include "channel.h"
+#include "microdesc.h"
+#include "networkstatus.h"
+#include "nodelist.h"
+#include "routerlist.h"
#include "test.h"
#include "log_test_helpers.h"
+static networkstatus_t *dummy_ns = NULL;
+static networkstatus_t *
+mock_networkstatus_get_latest_consensus(void)
+{
+ return dummy_ns;
+}
+
+static networkstatus_t *
+mock_networkstatus_get_latest_consensus_by_flavor(consensus_flavor_t f)
+{
+ tor_assert(f == FLAV_MICRODESC);
+ return dummy_ns;
+}
+
+/* Number of address a single node_t can have. Default to the production
+ * value. This is to control the size of the bloom filter. */
+static int addr_per_node = 2;
+static int
+mock_get_estimated_address_per_node(void)
+{
+ return addr_per_node;
+}
+
static unsigned int
mock_enable_dos_protection(const networkstatus_t *ns)
{
@@ -179,8 +206,8 @@ test_dos_bucket_refill(void *arg)
uint64_t circ_rate = get_circuit_rate_per_second();
/* Check that the circuit rate is a positive number and smaller than the max
* circuit count */
- tt_int_op(circ_rate, OP_GT, 1);
- tt_int_op(circ_rate, OP_LT, max_circuit_count);
+ tt_u64_op(circ_rate, OP_GT, 1);
+ tt_u64_op(circ_rate, OP_LT, max_circuit_count);
/* Register this client */
geoip_note_client_seen(GEOIP_CLIENT_CONNECT, addr, NULL, now);
@@ -385,10 +412,86 @@ test_dos_bucket_refill(void *arg)
dos_free_all();
}
+/* Test if we avoid counting a known relay. */
+static void
+test_known_relay(void *arg)
+{
+ clientmap_entry_t *entry = NULL;
+ routerstatus_t *rs = NULL; microdesc_t *md = NULL; routerinfo_t *ri = NULL;
+
+ (void) arg;
+
+ MOCK(networkstatus_get_latest_consensus,
+ mock_networkstatus_get_latest_consensus);
+ MOCK(networkstatus_get_latest_consensus_by_flavor,
+ mock_networkstatus_get_latest_consensus_by_flavor);
+ MOCK(get_estimated_address_per_node,
+ mock_get_estimated_address_per_node);
+ MOCK(get_param_cc_enabled, mock_enable_dos_protection);
+
+ dos_init();
+
+ dummy_ns = tor_malloc_zero(sizeof(*dummy_ns));
+ dummy_ns->flavor = FLAV_MICRODESC;
+ dummy_ns->routerstatus_list = smartlist_new();
+
+ /* Setup an OR conn so we can pass it to the DoS subsystem. */
+ or_connection_t or_conn;
+ tor_addr_parse(&or_conn.real_addr, "42.42.42.42");
+
+ rs = tor_malloc_zero(sizeof(*rs));
+ rs->addr = tor_addr_to_ipv4h(&or_conn.real_addr);
+ crypto_rand(rs->identity_digest, sizeof(rs->identity_digest));
+ smartlist_add(dummy_ns->routerstatus_list, rs);
+
+ /* This will make the nodelist bloom filter very large
+ * (the_nodelist->node_addrs) so we will fail the contain test rarely. */
+ addr_per_node = 1024;
+ nodelist_set_consensus(dummy_ns);
+
+ /* We have now a node in our list so we'll make sure we don't count it as a
+ * client connection. */
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &or_conn.real_addr, NULL, 0);
+ /* Suppose we have 5 connections in rapid succession, the counter should
+ * always be 0 because we should ignore this. */
+ dos_new_client_conn(&or_conn);
+ dos_new_client_conn(&or_conn);
+ dos_new_client_conn(&or_conn);
+ dos_new_client_conn(&or_conn);
+ dos_new_client_conn(&or_conn);
+ entry = geoip_lookup_client(&or_conn.real_addr, NULL, GEOIP_CLIENT_CONNECT);
+ tt_assert(entry);
+ /* We should have a count of 0. */
+ tt_uint_op(entry->dos_stats.concurrent_count, OP_EQ, 0);
+
+ /* To make sure that his is working properly, make a unknown client
+ * connection and see if we do get it. */
+ tor_addr_parse(&or_conn.real_addr, "42.42.42.43");
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &or_conn.real_addr, NULL, 0);
+ dos_new_client_conn(&or_conn);
+ dos_new_client_conn(&or_conn);
+ entry = geoip_lookup_client(&or_conn.real_addr, NULL, GEOIP_CLIENT_CONNECT);
+ tt_assert(entry);
+ /* We should have a count of 2. */
+ tt_uint_op(entry->dos_stats.concurrent_count, OP_EQ, 2);
+
+ done:
+ routerstatus_free(rs); routerinfo_free(ri); microdesc_free(md);
+ smartlist_clear(dummy_ns->routerstatus_list);
+ networkstatus_vote_free(dummy_ns);
+ dos_free_all();
+ UNMOCK(networkstatus_get_latest_consensus);
+ UNMOCK(networkstatus_get_latest_consensus_by_flavor);
+ UNMOCK(get_estimated_address_per_node);
+ UNMOCK(get_param_cc_enabled);
+}
+
struct testcase_t dos_tests[] = {
{ "conn_creation", test_dos_conn_creation, TT_FORK, NULL, NULL },
{ "circuit_creation", test_dos_circuit_creation, TT_FORK, NULL, NULL },
{ "bucket_refill", test_dos_bucket_refill, TT_FORK, NULL, NULL },
+ { "known_relay" , test_known_relay, TT_FORK,
+ NULL, NULL },
END_OF_TESTCASES
};
diff --git a/src/test/test_entrynodes.c b/src/test/test_entrynodes.c
index 1cff3828c4..92a860360d 100644
--- a/src/test/test_entrynodes.c
+++ b/src/test/test_entrynodes.c
@@ -2024,7 +2024,7 @@ test_entry_guard_select_for_circuit_highlevel_primary(void *arg)
tt_mem_op(g->identity, OP_NE, g_prev->identity, DIGEST_LEN);
tt_int_op(g->is_primary, OP_EQ, 1);
tt_i64_op(g->last_tried_to_connect, OP_EQ, start+60);
- tt_int_op(g->confirmed_idx, OP_EQ, -1); // not confirmd now.
+ tt_int_op(g->confirmed_idx, OP_EQ, -1); // not confirmed now.
/* Call this one up; watch it get confirmed. */
update_approx_time(start+90);
diff --git a/src/test/test_geoip.c b/src/test/test_geoip.c
new file mode 100644
index 0000000000..be1376a3b1
--- /dev/null
+++ b/src/test/test_geoip.c
@@ -0,0 +1,459 @@
+/* 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"
+
+/* These macros pull in declarations for some functions and structures that
+ * are typically file-private. */
+#define GEOIP_PRIVATE
+#include "or.h"
+#include "config.h"
+#include "geoip.h"
+#include "test.h"
+
+ /* Record odd numbered fake-IPs using ipv6, even numbered fake-IPs
+ * using ipv4. Since our fake geoip database is the same between
+ * ipv4 and ipv6, we should get the same result no matter which
+ * address family we pick for each IP. */
+#define SET_TEST_ADDRESS(i) do { \
+ if ((i) & 1) { \
+ SET_TEST_IPV6(i); \
+ tor_addr_from_in6(&addr, &in6); \
+ } else { \
+ tor_addr_from_ipv4h(&addr, (uint32_t) i); \
+ } \
+ } while (0)
+
+ /* Make sure that country ID actually works. */
+#define SET_TEST_IPV6(i) \
+ do { \
+ set_uint32(in6.s6_addr + 12, htonl((uint32_t) (i))); \
+ } while (0)
+#define CHECK_COUNTRY(country, val) do { \
+ /* test ipv4 country lookup */ \
+ tt_str_op(country, OP_EQ, \
+ geoip_get_country_name(geoip_get_country_by_ipv4(val))); \
+ /* test ipv6 country lookup */ \
+ SET_TEST_IPV6(val); \
+ tt_str_op(country, OP_EQ, \
+ geoip_get_country_name(geoip_get_country_by_ipv6(&in6))); \
+ } while (0)
+
+/** Run unit tests for GeoIP code. */
+static void
+test_geoip(void *arg)
+{
+ int i, j;
+ time_t now = 1281533250; /* 2010-08-11 13:27:30 UTC */
+ char *s = NULL, *v = NULL;
+ const char *bridge_stats_1 =
+ "bridge-stats-end 2010-08-12 13:27:30 (86400 s)\n"
+ "bridge-ips zz=24,xy=8\n"
+ "bridge-ip-versions v4=16,v6=16\n"
+ "bridge-ip-transports <OR>=24\n",
+ *dirreq_stats_1 =
+ "dirreq-stats-end 2010-08-12 13:27:30 (86400 s)\n"
+ "dirreq-v3-ips ab=8\n"
+ "dirreq-v3-reqs ab=8\n"
+ "dirreq-v3-resp ok=0,not-enough-sigs=0,unavailable=0,not-found=0,"
+ "not-modified=0,busy=0\n"
+ "dirreq-v3-direct-dl complete=0,timeout=0,running=0\n"
+ "dirreq-v3-tunneled-dl complete=0,timeout=0,running=0\n",
+ *dirreq_stats_2 =
+ "dirreq-stats-end 2010-08-12 13:27:30 (86400 s)\n"
+ "dirreq-v3-ips \n"
+ "dirreq-v3-reqs \n"
+ "dirreq-v3-resp ok=0,not-enough-sigs=0,unavailable=0,not-found=0,"
+ "not-modified=0,busy=0\n"
+ "dirreq-v3-direct-dl complete=0,timeout=0,running=0\n"
+ "dirreq-v3-tunneled-dl complete=0,timeout=0,running=0\n",
+ *dirreq_stats_3 =
+ "dirreq-stats-end 2010-08-12 13:27:30 (86400 s)\n"
+ "dirreq-v3-ips \n"
+ "dirreq-v3-reqs \n"
+ "dirreq-v3-resp ok=8,not-enough-sigs=0,unavailable=0,not-found=0,"
+ "not-modified=0,busy=0\n"
+ "dirreq-v3-direct-dl complete=0,timeout=0,running=0\n"
+ "dirreq-v3-tunneled-dl complete=0,timeout=0,running=0\n",
+ *dirreq_stats_4 =
+ "dirreq-stats-end 2010-08-12 13:27:30 (86400 s)\n"
+ "dirreq-v3-ips \n"
+ "dirreq-v3-reqs \n"
+ "dirreq-v3-resp ok=8,not-enough-sigs=0,unavailable=0,not-found=0,"
+ "not-modified=0,busy=0\n"
+ "dirreq-v3-direct-dl complete=0,timeout=0,running=0\n"
+ "dirreq-v3-tunneled-dl complete=0,timeout=0,running=4\n",
+ *entry_stats_1 =
+ "entry-stats-end 2010-08-12 13:27:30 (86400 s)\n"
+ "entry-ips ab=8\n",
+ *entry_stats_2 =
+ "entry-stats-end 2010-08-12 13:27:30 (86400 s)\n"
+ "entry-ips \n";
+ tor_addr_t addr;
+ struct in6_addr in6;
+
+ /* Populate the DB a bit. Add these in order, since we can't do the final
+ * 'sort' step. These aren't very good IP addresses, but they're perfectly
+ * fine uint32_t values. */
+ (void)arg;
+ tt_int_op(0,OP_EQ, geoip_parse_entry("10,50,AB", AF_INET));
+ tt_int_op(0,OP_EQ, geoip_parse_entry("52,90,XY", AF_INET));
+ tt_int_op(0,OP_EQ, geoip_parse_entry("95,100,AB", AF_INET));
+ tt_int_op(0,OP_EQ, geoip_parse_entry("\"105\",\"140\",\"ZZ\"", AF_INET));
+ tt_int_op(0,OP_EQ, geoip_parse_entry("\"150\",\"190\",\"XY\"", AF_INET));
+ tt_int_op(0,OP_EQ, geoip_parse_entry("\"200\",\"250\",\"AB\"", AF_INET));
+
+ /* Populate the IPv6 DB equivalently with fake IPs in the same range */
+ tt_int_op(0,OP_EQ, geoip_parse_entry("::a,::32,AB", AF_INET6));
+ tt_int_op(0,OP_EQ, geoip_parse_entry("::34,::5a,XY", AF_INET6));
+ tt_int_op(0,OP_EQ, geoip_parse_entry("::5f,::64,AB", AF_INET6));
+ tt_int_op(0,OP_EQ, geoip_parse_entry("::69,::8c,ZZ", AF_INET6));
+ tt_int_op(0,OP_EQ, geoip_parse_entry("::96,::be,XY", AF_INET6));
+ tt_int_op(0,OP_EQ, geoip_parse_entry("::c8,::fa,AB", AF_INET6));
+
+ /* We should have 4 countries: ??, ab, xy, zz. */
+ tt_int_op(4,OP_EQ, geoip_get_n_countries());
+ memset(&in6, 0, sizeof(in6));
+
+ CHECK_COUNTRY("??", 3);
+ CHECK_COUNTRY("ab", 32);
+ CHECK_COUNTRY("??", 5);
+ CHECK_COUNTRY("??", 51);
+ CHECK_COUNTRY("xy", 150);
+ CHECK_COUNTRY("xy", 190);
+ CHECK_COUNTRY("??", 2000);
+
+ tt_int_op(0,OP_EQ, geoip_get_country_by_ipv4(3));
+ SET_TEST_IPV6(3);
+ tt_int_op(0,OP_EQ, geoip_get_country_by_ipv6(&in6));
+
+ get_options_mutable()->BridgeRelay = 1;
+ get_options_mutable()->BridgeRecordUsageByCountry = 1;
+ /* Put 9 observations in AB... */
+ for (i=32; i < 40; ++i) {
+ SET_TEST_ADDRESS(i);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now-7200);
+ }
+ SET_TEST_ADDRESS(225);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now-7200);
+ /* and 3 observations in XY, several times. */
+ for (j=0; j < 10; ++j)
+ for (i=52; i < 55; ++i) {
+ SET_TEST_ADDRESS(i);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now-3600);
+ }
+ /* and 17 observations in ZZ... */
+ for (i=110; i < 127; ++i) {
+ SET_TEST_ADDRESS(i);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now);
+ }
+ geoip_get_client_history(GEOIP_CLIENT_CONNECT, &s, &v);
+ tt_assert(s);
+ tt_assert(v);
+ tt_str_op("zz=24,ab=16,xy=8",OP_EQ, s);
+ tt_str_op("v4=16,v6=16",OP_EQ, v);
+ tor_free(s);
+ tor_free(v);
+
+ /* Now clear out all the AB observations. */
+ geoip_remove_old_clients(now-6000);
+ geoip_get_client_history(GEOIP_CLIENT_CONNECT, &s, &v);
+ tt_assert(s);
+ tt_assert(v);
+ tt_str_op("zz=24,xy=8",OP_EQ, s);
+ tt_str_op("v4=16,v6=16",OP_EQ, v);
+ tor_free(s);
+ tor_free(v);
+
+ /* Start testing bridge statistics by making sure that we don't output
+ * bridge stats without initializing them. */
+ s = geoip_format_bridge_stats(now + 86400);
+ tt_ptr_op(s, OP_EQ, NULL);
+
+ /* Initialize stats and generate the bridge-stats history string out of
+ * the connecting clients added above. */
+ geoip_bridge_stats_init(now);
+ s = geoip_format_bridge_stats(now + 86400);
+ tt_assert(s);
+ tt_str_op(bridge_stats_1,OP_EQ, s);
+ tor_free(s);
+
+ /* Stop collecting bridge stats and make sure we don't write a history
+ * string anymore. */
+ geoip_bridge_stats_term();
+ s = geoip_format_bridge_stats(now + 86400);
+ tt_ptr_op(s, OP_EQ, NULL);
+
+ /* Stop being a bridge and start being a directory mirror that gathers
+ * directory request statistics. */
+ geoip_bridge_stats_term();
+ get_options_mutable()->BridgeRelay = 0;
+ get_options_mutable()->BridgeRecordUsageByCountry = 0;
+ get_options_mutable()->DirReqStatistics = 1;
+
+ /* Start testing dirreq statistics by making sure that we don't collect
+ * dirreq stats without initializing them. */
+ SET_TEST_ADDRESS(100);
+ geoip_note_client_seen(GEOIP_CLIENT_NETWORKSTATUS, &addr, NULL, now);
+ s = geoip_format_dirreq_stats(now + 86400);
+ tt_ptr_op(s, OP_EQ, NULL);
+
+ /* Initialize stats, note one connecting client, and generate the
+ * dirreq-stats history string. */
+ geoip_dirreq_stats_init(now);
+ SET_TEST_ADDRESS(100);
+ geoip_note_client_seen(GEOIP_CLIENT_NETWORKSTATUS, &addr, NULL, now);
+ s = geoip_format_dirreq_stats(now + 86400);
+ tt_str_op(dirreq_stats_1,OP_EQ, s);
+ tor_free(s);
+
+ /* Stop collecting stats, add another connecting client, and ensure we
+ * don't generate a history string. */
+ geoip_dirreq_stats_term();
+ SET_TEST_ADDRESS(101);
+ geoip_note_client_seen(GEOIP_CLIENT_NETWORKSTATUS, &addr, NULL, now);
+ s = geoip_format_dirreq_stats(now + 86400);
+ tt_ptr_op(s, OP_EQ, NULL);
+
+ /* Re-start stats, add a connecting client, reset stats, and make sure
+ * that we get an all empty history string. */
+ geoip_dirreq_stats_init(now);
+ SET_TEST_ADDRESS(100);
+ geoip_note_client_seen(GEOIP_CLIENT_NETWORKSTATUS, &addr, NULL, now);
+ geoip_reset_dirreq_stats(now);
+ s = geoip_format_dirreq_stats(now + 86400);
+ tt_str_op(dirreq_stats_2,OP_EQ, s);
+ tor_free(s);
+
+ /* Note a successful network status response and make sure that it
+ * appears in the history string. */
+ geoip_note_ns_response(GEOIP_SUCCESS);
+ s = geoip_format_dirreq_stats(now + 86400);
+ tt_str_op(dirreq_stats_3,OP_EQ, s);
+ tor_free(s);
+
+ /* Start a tunneled directory request. */
+ geoip_start_dirreq((uint64_t) 1, 1024, DIRREQ_TUNNELED);
+ s = geoip_format_dirreq_stats(now + 86400);
+ tt_str_op(dirreq_stats_4,OP_EQ, s);
+ tor_free(s);
+
+ /* Stop collecting directory request statistics and start gathering
+ * entry stats. */
+ geoip_dirreq_stats_term();
+ get_options_mutable()->DirReqStatistics = 0;
+ get_options_mutable()->EntryStatistics = 1;
+
+ /* Start testing entry statistics by making sure that we don't collect
+ * anything without initializing entry stats. */
+ SET_TEST_ADDRESS(100);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now);
+ s = geoip_format_entry_stats(now + 86400);
+ tt_ptr_op(s, OP_EQ, NULL);
+
+ /* Initialize stats, note one connecting client, and generate the
+ * entry-stats history string. */
+ geoip_entry_stats_init(now);
+ SET_TEST_ADDRESS(100);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now);
+ s = geoip_format_entry_stats(now + 86400);
+ tt_str_op(entry_stats_1,OP_EQ, s);
+ tor_free(s);
+
+ /* Stop collecting stats, add another connecting client, and ensure we
+ * don't generate a history string. */
+ geoip_entry_stats_term();
+ SET_TEST_ADDRESS(101);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now);
+ s = geoip_format_entry_stats(now + 86400);
+ tt_ptr_op(s, OP_EQ, NULL);
+
+ /* Re-start stats, add a connecting client, reset stats, and make sure
+ * that we get an all empty history string. */
+ geoip_entry_stats_init(now);
+ SET_TEST_ADDRESS(100);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now);
+ geoip_reset_entry_stats(now);
+ s = geoip_format_entry_stats(now + 86400);
+ tt_str_op(entry_stats_2,OP_EQ, s);
+ tor_free(s);
+
+ /* Test the OOM handler. Add a client, run the OOM. */
+ geoip_entry_stats_init(now);
+ SET_TEST_ADDRESS(100);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL,
+ now - (12 * 60 * 60));
+ /* We've seen this 12 hours ago. Run the OOM, it should clean the entry
+ * because it is above the minimum cutoff of 4 hours. */
+ size_t bytes_removed = geoip_client_cache_handle_oom(now, 1000);
+ tt_size_op(bytes_removed, OP_GT, 0);
+
+ /* Do it again but this time with an entry with a lower cutoff. */
+ geoip_entry_stats_init(now);
+ SET_TEST_ADDRESS(100);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL,
+ now - (3 * 60 * 60));
+ bytes_removed = geoip_client_cache_handle_oom(now, 1000);
+ tt_size_op(bytes_removed, OP_EQ, 0);
+
+ /* Stop collecting entry statistics. */
+ geoip_entry_stats_term();
+ get_options_mutable()->EntryStatistics = 0;
+
+ done:
+ tor_free(s);
+ tor_free(v);
+}
+
+static void
+test_geoip_with_pt(void *arg)
+{
+ time_t now = 1281533250; /* 2010-08-11 13:27:30 UTC */
+ char *s = NULL;
+ int i;
+ tor_addr_t addr;
+ struct in6_addr in6;
+
+ (void)arg;
+ get_options_mutable()->BridgeRelay = 1;
+ get_options_mutable()->BridgeRecordUsageByCountry = 1;
+
+ memset(&in6, 0, sizeof(in6));
+
+ /* No clients seen yet. */
+ s = geoip_get_transport_history();
+ tor_assert(!s);
+
+ /* 4 connections without a pluggable transport */
+ for (i=0; i < 4; ++i) {
+ SET_TEST_ADDRESS(i);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, now-7200);
+ }
+
+ /* 9 connections with "alpha" */
+ for (i=4; i < 13; ++i) {
+ SET_TEST_ADDRESS(i);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "alpha", now-7200);
+ }
+
+ /* one connection with "beta" */
+ SET_TEST_ADDRESS(13);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "beta", now-7200);
+
+ /* 14 connections with "charlie" */
+ for (i=14; i < 28; ++i) {
+ SET_TEST_ADDRESS(i);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "charlie", now-7200);
+ }
+
+ /* 131 connections with "ddr" */
+ for (i=28; i < 159; ++i) {
+ SET_TEST_ADDRESS(i);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "ddr", now-7200);
+ }
+
+ /* 8 connections with "entropy" */
+ for (i=159; i < 167; ++i) {
+ SET_TEST_ADDRESS(i);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "entropy", now-7200);
+ }
+
+ /* 2 connections from the same IP with two different transports. */
+ SET_TEST_ADDRESS(++i);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "fire", now-7200);
+ geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, "google", now-7200);
+
+ /* Test the transport history string. */
+ s = geoip_get_transport_history();
+ tor_assert(s);
+ tt_str_op(s,OP_EQ, "<OR>=8,alpha=16,beta=8,charlie=16,ddr=136,"
+ "entropy=8,fire=8,google=8");
+
+ /* Stop collecting entry statistics. */
+ geoip_entry_stats_term();
+ get_options_mutable()->EntryStatistics = 0;
+
+ done:
+ tor_free(s);
+}
+
+#undef SET_TEST_ADDRESS
+#undef SET_TEST_IPV6
+#undef CHECK_COUNTRY
+
+static void
+test_geoip_load_file(void *arg)
+{
+ (void)arg;
+ char *contents = NULL;
+ char *dhex = NULL;
+
+ /* A nonexistant filename should fail. */
+ tt_int_op(-1, OP_EQ,
+ geoip_load_file(AF_INET, "/you/did/not/put/a/file/here/I/hope"));
+
+ /* We start out with only "Ningunpartia" in the database. */
+ tt_int_op(1, OP_EQ, geoip_get_n_countries());
+ tt_str_op("??", OP_EQ, geoip_get_country_name(0));
+ /* Any lookup attempt should say "-1" because we have no info */
+ tt_int_op(-1, OP_EQ, geoip_get_country_by_ipv4(0x01020304));
+ /* There should be no 'digest' for a nonexistant file */
+ tt_str_op("0000000000000000000000000000000000000000", OP_EQ,
+ geoip_db_digest(AF_INET));
+
+ const char FNAME[] = SRCDIR "/src/config/geoip";
+ int rv = geoip_load_file(AF_INET, FNAME);
+ if (rv != 0) {
+ TT_GRIPE(("Unable to load geoip from %s", escaped(FNAME)));
+ }
+ tt_int_op(0, OP_EQ, rv);
+
+ /* Check that we loaded some countries; this will fail if there are ever
+ * fewer than 50 countries in the world. */
+ tt_int_op(geoip_get_n_countries(), OP_GE, 50);
+
+ /* Let's see where 8.8.8.8 is. */
+ int country = geoip_get_country_by_ipv4(0x08080808);
+ tt_int_op(country, OP_GE, 1); /* It shouldn't be 'unknown' or 'nowhere' */
+ const char *cc = geoip_get_country_name(country);
+ tt_int_op(strlen(cc), OP_EQ, 2);
+
+ /* The digest should be set.... */
+ tt_str_op("0000000000000000000000000000000000000000", OP_NE,
+ geoip_db_digest(AF_INET));
+
+ /* And it should be set correctly */
+ contents = read_file_to_str(FNAME, RFTS_BIN, NULL);
+ uint8_t d[DIGEST_LEN];
+ crypto_digest((char*)d, contents, strlen(contents));
+ dhex = tor_strdup(hex_str((char*)d, DIGEST_LEN));
+ tt_str_op(dhex, OP_EQ, geoip_db_digest(AF_INET));
+
+ /* Make sure geoip_free_all() works. */
+ geoip_free_all();
+ tt_int_op(1, OP_EQ, geoip_get_n_countries());
+ tt_str_op("??", OP_EQ, geoip_get_country_name(0));
+ tt_int_op(-1, OP_EQ, geoip_get_country_by_ipv4(0x01020304));
+ tt_str_op("0000000000000000000000000000000000000000", OP_EQ,
+ geoip_db_digest(AF_INET)); // <--- nick bets this will fail.
+
+ done:
+ tor_free(contents);
+ tor_free(dhex);
+}
+
+#define ENT(name) \
+ { #name, test_ ## name , 0, NULL, NULL }
+#define FORK(name) \
+ { #name, test_ ## name , TT_FORK, NULL, NULL }
+
+struct testcase_t geoip_tests[] = {
+ { "geoip", test_geoip, TT_FORK, NULL, NULL },
+ { "geoip_with_pt", test_geoip_with_pt, TT_FORK, NULL, NULL },
+ { "load_file", test_geoip_load_file, TT_FORK, NULL, NULL },
+
+ END_OF_TESTCASES
+};
+
diff --git a/src/test/test_helpers.c b/src/test/test_helpers.c
index 0da9cf64d0..ab453d3bdc 100644
--- a/src/test/test_helpers.c
+++ b/src/test/test_helpers.c
@@ -33,7 +33,6 @@ DISABLE_GCC_WARNING(overlength-strings)
* at large. */
#endif
#include "test_descriptors.inc"
-#include "or.h"
#include "circuitlist.h"
#ifdef HAVE_CFLAG_WOVERLENGTH_STRINGS
ENABLE_GCC_WARNING(overlength-strings)
diff --git a/src/test/test_hs.c b/src/test/test_hs.c
index 55c6218dd1..9189bb65be 100644
--- a/src/test/test_hs.c
+++ b/src/test/test_hs.c
@@ -1010,7 +1010,7 @@ test_prune_services_on_reload(void *arg)
set_rend_service_list(old);
set_rend_rend_service_staging_list(new);
rend_service_prune_list_impl_();
- /* Check if they've all been transfered. */
+ /* Check if they've all been transferred. */
tt_int_op(smartlist_len(old), OP_EQ, 0);
tt_int_op(smartlist_len(new), OP_EQ, 2);
}
diff --git a/src/test/test_hs_descriptor.c b/src/test/test_hs_descriptor.c
index 9be1bc706b..388b85f975 100644
--- a/src/test/test_hs_descriptor.c
+++ b/src/test/test_hs_descriptor.c
@@ -414,7 +414,7 @@ test_decode_invalid_intro_point(void *arg)
(void) arg;
- /* Seperate pieces of a valid encoded introduction point. */
+ /* Separate pieces of a valid encoded introduction point. */
const char *intro_point =
"introduction-point AQIUMDI5OUYyNjhGQ0E5RDU1Q0QxNTc=";
const char *auth_key =
diff --git a/src/test/test_hs_intropoint.c b/src/test/test_hs_intropoint.c
index 66832087a0..fe3236c331 100644
--- a/src/test/test_hs_intropoint.c
+++ b/src/test/test_hs_intropoint.c
@@ -14,7 +14,6 @@
#include "test.h"
#include "log_test_helpers.h"
#include "crypto.h"
-#include "log_test_helpers.h"
#include "or.h"
#include "circuitlist.h"
@@ -139,7 +138,7 @@ helper_create_introduce1_cell(void)
memcpy(auth_key_ptr, auth_key_kp.pubkey.pubkey, auth_key_len);
}
- /* Set the cell extentions to none. */
+ /* Set the cell extensions to none. */
{
trn_cell_extension_t *ext = trn_cell_extension_new();
trn_cell_extension_set_num(ext, 0);
@@ -552,7 +551,7 @@ test_circuitmap_free_all(void)
;
}
-/** Successfuly register a v2 intro point and a v3 intro point. Ensure that HS
+/** Successfully register a v2 intro point and a v3 intro point. Ensure that HS
* circuitmap is maintained properly. */
static void
test_intro_point_registration(void *arg)
diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
index fad65e61f7..d62fcc8cab 100644
--- a/src/test/test_hs_service.c
+++ b/src/test/test_hs_service.c
@@ -413,13 +413,16 @@ test_service_intro_point(void *arg)
INTRO_POINT_MIN_LIFETIME_INTRODUCTIONS);
tt_u64_op(ip->introduce2_max, OP_LE,
INTRO_POINT_MAX_LIFETIME_INTRODUCTIONS);
- /* Time to expire MUST also be in that range. We add 5 seconds because
- * there could be a gap between setting now and the time taken in
- * service_intro_point_new. On ARM, it can be surprisingly slow... */
+ /* Time to expire MUST also be in that range. We subtract 500 seconds
+ * because there could be a gap between setting now and the time taken in
+ * service_intro_point_new. On ARM and other older CPUs, it can be
+ * surprisingly slow... */
tt_u64_op(ip->time_to_expire, OP_GE,
- now + INTRO_POINT_LIFETIME_MIN_SECONDS + 5);
+ now + INTRO_POINT_LIFETIME_MIN_SECONDS - 500);
+ /* We add 500 seconds, because this time we're testing against the
+ * maximum allowed time. */
tt_u64_op(ip->time_to_expire, OP_LE,
- now + INTRO_POINT_LIFETIME_MAX_SECONDS + 5);
+ now + INTRO_POINT_LIFETIME_MAX_SECONDS + 500);
tt_assert(ip->replay_cache);
tt_assert(ip->base.link_specifiers);
/* By default, this is NOT a legacy object. */
@@ -661,7 +664,7 @@ test_intro_circuit_opened(void *arg)
UNMOCK(relay_send_command_from_edge_);
}
-/** Test the operations we do on a circuit after we learn that we successfuly
+/** Test the operations we do on a circuit after we learn that we successfully
* established an intro point on it */
static void
test_intro_established(void *arg)
diff --git a/src/test/test_options.c b/src/test/test_options.c
index 62732cabf7..eaf5034397 100644
--- a/src/test/test_options.c
+++ b/src/test/test_options.c
@@ -377,17 +377,11 @@ fixed_get_uname(void)
}
#define TEST_OPTIONS_OLD_VALUES "TestingV3AuthInitialVotingInterval 1800\n" \
- "ClientBootstrapConsensusMaxDownloadTries 7\n" \
- "ClientBootstrapConsensusAuthorityOnlyMaxDownloadTries 4\n" \
"ClientBootstrapConsensusMaxInProgressTries 3\n" \
"TestingV3AuthInitialVoteDelay 300\n" \
"TestingV3AuthInitialDistDelay 300\n" \
"TestingClientMaxIntervalWithoutRequest 600\n" \
"TestingDirConnectionMaxStall 600\n" \
- "TestingConsensusMaxDownloadTries 8\n" \
- "TestingDescriptorMaxDownloadTries 8\n" \
- "TestingMicrodescMaxDownloadTries 8\n" \
- "TestingCertMaxDownloadTries 8\n"
#define TEST_OPTIONS_DEFAULT_VALUES TEST_OPTIONS_OLD_VALUES \
"MaxClientCircuitsPending 1\n" \
@@ -906,7 +900,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"BridgeAuthoritativeDir 1\n"
"ContactInfo hello@hello.com\n"
- "V3BandwidthsFile non-existant-file\n");
+ "V3BandwidthsFile non-existent-file\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ,
@@ -918,7 +912,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"BridgeAuthoritativeDir 1\n"
"ContactInfo hello@hello.com\n"
- "V3BandwidthsFile non-existant-file\n");
+ "V3BandwidthsFile non-existent-file\n");
mock_clean_saved_logs();
options_validate(NULL, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ,
@@ -930,7 +924,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"BridgeAuthoritativeDir 1\n"
"ContactInfo hello@hello.com\n"
- "GuardfractionFile non-existant-file\n");
+ "GuardfractionFile non-existent-file\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ,
@@ -942,7 +936,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"BridgeAuthoritativeDir 1\n"
"ContactInfo hello@hello.com\n"
- "GuardfractionFile non-existant-file\n");
+ "GuardfractionFile non-existent-file\n");
mock_clean_saved_logs();
options_validate(NULL, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ,
@@ -1112,7 +1106,7 @@ test_options_validate__transproxy(void *ignored)
// Test unknown trans proxy
free_options_test_data(tdata);
- tdata = get_options_test_data("TransProxyType non-existant\n");
+ tdata = get_options_test_data("TransProxyType non-existent\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
tt_str_op(msg, OP_EQ, "Unrecognized value for TransProxyType");
@@ -2081,10 +2075,6 @@ test_options_validate__testing(void *ignored)
ENSURE_DEFAULT(TestingBridgeBootstrapDownloadSchedule, 3000);
ENSURE_DEFAULT(TestingClientMaxIntervalWithoutRequest, 3000);
ENSURE_DEFAULT(TestingDirConnectionMaxStall, 3000);
- ENSURE_DEFAULT(TestingConsensusMaxDownloadTries, 3000);
- ENSURE_DEFAULT(TestingDescriptorMaxDownloadTries, 3000);
- ENSURE_DEFAULT(TestingMicrodescMaxDownloadTries, 3000);
- ENSURE_DEFAULT(TestingCertMaxDownloadTries, 3000);
ENSURE_DEFAULT(TestingAuthKeyLifetime, 3000);
ENSURE_DEFAULT(TestingLinkCertLifetime, 3000);
ENSURE_DEFAULT(TestingSigningKeySlop, 3000);
@@ -4069,15 +4059,6 @@ test_options_validate__testing_options(void *ignored)
"is way too low.");
TEST_TESTING_OPTION(TestingDirConnectionMaxStall, 1, 3601,
"is way too low.");
- // TODO: I think this points to a bug/regression in options_validate
- TEST_TESTING_OPTION(TestingConsensusMaxDownloadTries, 1, 801,
- "must be greater than 2.");
- TEST_TESTING_OPTION(TestingDescriptorMaxDownloadTries, 1, 801,
- "must be greater than 1.");
- TEST_TESTING_OPTION(TestingMicrodescMaxDownloadTries, 1, 801,
- "must be greater than 1.");
- TEST_TESTING_OPTION(TestingCertMaxDownloadTries, 1, 801,
- "must be greater than 1.");
free_options_test_data(tdata);
tdata = get_options_test_data(TEST_OPTIONS_DEFAULT_VALUES
diff --git a/src/test/test_protover.c b/src/test/test_protover.c
index d3d1462567..c343e9957d 100644
--- a/src/test/test_protover.c
+++ b/src/test/test_protover.c
@@ -155,6 +155,70 @@ test_protover_vote(void *arg)
tt_str_op(result, OP_EQ, "Bar=3-6,8 Foo=9");
tor_free(result);
+ /* High threshold */
+ result = protover_compute_vote(lst, 3);
+ tt_str_op(result, OP_EQ, "");
+ tor_free(result);
+
+ /* Bad votes: the result must be empty */
+ smartlist_clear(lst);
+ smartlist_add(lst, (void*) "Faux=10-5");
+ result = protover_compute_vote(lst, 1);
+ tt_str_op(result, OP_EQ, "");
+ tor_free(result);
+
+ /* This fails, since "-0" is not valid. */
+ smartlist_clear(lst);
+ smartlist_add(lst, (void*) "Faux=-0");
+ result = protover_compute_vote(lst, 1);
+ tt_str_op(result, OP_EQ, "");
+ tor_free(result);
+
+ /* Vote large protover lists that are just below the threshold */
+
+ /* Just below the threshold: Rust */
+ smartlist_clear(lst);
+ smartlist_add(lst, (void*) "Sleen=1-500");
+ result = protover_compute_vote(lst, 1);
+ tt_str_op(result, OP_EQ, "Sleen=1-500");
+ tor_free(result);
+
+ /* Just below the threshold: C */
+ smartlist_clear(lst);
+ smartlist_add(lst, (void*) "Sleen=1-65536");
+ result = protover_compute_vote(lst, 1);
+ tt_str_op(result, OP_EQ, "Sleen=1-65536");
+ tor_free(result);
+
+ /* Large protover lists that exceed the threshold */
+
+ /* By adding two votes, C allows us to exceed the limit */
+ smartlist_add(lst, (void*) "Sleen=1-65536");
+ smartlist_add(lst, (void*) "Sleen=100000");
+ result = protover_compute_vote(lst, 1);
+ tt_str_op(result, OP_EQ, "Sleen=1-65536,100000");
+ tor_free(result);
+
+ /* Large integers */
+ smartlist_clear(lst);
+ smartlist_add(lst, (void*) "Sleen=4294967294");
+ result = protover_compute_vote(lst, 1);
+ tt_str_op(result, OP_EQ, "Sleen=4294967294");
+ tor_free(result);
+
+ /* This parses, but fails at the vote stage */
+ smartlist_clear(lst);
+ smartlist_add(lst, (void*) "Sleen=4294967295");
+ result = protover_compute_vote(lst, 1);
+ tt_str_op(result, OP_EQ, "");
+ tor_free(result);
+
+ smartlist_clear(lst);
+ smartlist_add(lst, (void*) "Sleen=4294967296");
+ result = protover_compute_vote(lst, 1);
+ tt_str_op(result, OP_EQ, "");
+ tor_free(result);
+
done:
tor_free(result);
smartlist_free(lst);
@@ -194,7 +258,36 @@ test_protover_all_supported(void *arg)
tt_str_op(msg, OP_EQ, "Link=3-999");
tor_free(msg);
+ /* CPU/RAM DoS loop: Rust only */
+ tt_assert(! protover_all_supported("Sleen=0-2147483648", &msg));
+ tt_str_op(msg, OP_EQ, "Sleen=0-2147483648");
+ tor_free(msg);
+
+ /* This case is allowed. */
+ tt_assert(! protover_all_supported("Sleen=0-4294967294", &msg));
+ tt_str_op(msg, OP_EQ, "Sleen=0-4294967294");
+ tor_free(msg);
+
+ /* If we get an unparseable list, we say "yes, that's supported." */
+#ifndef HAVE_RUST
+ // XXXX let's make this section unconditional: rust should behave the
+ // XXXX same as C here!
+ tor_capture_bugs_(1);
+ tt_assert(protover_all_supported("Fribble", &msg));
+ tt_ptr_op(msg, OP_EQ, NULL);
+ tor_end_capture_bugs_();
+
+ /* This case is forbidden. Since it came from a protover_all_supported,
+ * it can trigger a bug message. */
+ tor_capture_bugs_(1);
+ tt_assert(protover_all_supported("Sleen=0-4294967295", &msg));
+ tt_ptr_op(msg, OP_EQ, NULL);
+ tor_free(msg);
+ tor_end_capture_bugs_();
+#endif
+
done:
+ tor_end_capture_bugs_();
tor_free(msg);
}
@@ -401,6 +494,83 @@ test_protover_supported_protocols(void *arg)
;
}
+static void
+test_protover_vote_roundtrip(void *args)
+{
+ (void) args;
+ static const struct {
+ const char *input;
+ const char *expected_output;
+ } examples[] = {
+ { "Fkrkljdsf", NULL },
+ { "Zn=4294967295", NULL },
+ { "Zn=4294967295-1", NULL },
+ { "Zn=4294967293-4294967295", NULL },
+ /* Will fail because of 4294967295. */
+ { "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967295",
+ NULL },
+ { "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967294",
+ "Bar=3 Foo=1,3 Quux=9-12,14-16,900 Zn=0,4294967294" },
+ { "Zu16=0,65536", "Zu16=0,65536" },
+ { "N-1=1,2", "N-1=1-2" },
+ { "-1=4294967295", NULL },
+ { "-1=3", "-1=3" },
+ /* junk. */
+ { "!!3@*", NULL },
+ /* Missing equals sign */
+ { "Link=4 Haprauxymatyve Desc=9", NULL },
+ { "Link=4 Haprauxymatyve=7 Desc=9",
+ "Desc=9 Haprauxymatyve=7 Link=4" },
+ { "=10-11", NULL },
+ { "X=10-11", "X=10-11" },
+ { "Link=4 =3 Desc=9", NULL },
+ { "Link=4 Z=3 Desc=9", "Desc=9 Link=4 Z=3" },
+ { "Link=fred", NULL },
+ { "Link=1,fred", NULL },
+ { "Link=1,fred,3", NULL },
+ { "Link=1,9-8,3", NULL },
+ { "Faux=-0", NULL },
+ { "Faux=0--0", NULL },
+ // "These fail at the splitting stage in Rust, but the number parsing
+ // stage in C."
+ { "Faux=-1", NULL },
+ { "Faux=-1-3", NULL },
+ { "Faux=1--1", NULL },
+ /* Large integers */
+ { "Link=4294967296", NULL },
+ /* Large range */
+ { "Sleen=1-501", "Sleen=1-501" },
+ { "Sleen=1-65537", NULL },
+ /* CPU/RAM DoS Loop: Rust only. */
+ { "Sleen=0-2147483648", NULL },
+ /* Rust seems to experience an internal error here. */
+ { "Sleen=0-4294967295", NULL },
+ };
+ unsigned u;
+ smartlist_t *votes = smartlist_new();
+ char *result = NULL;
+
+ for (u = 0; u < ARRAY_LENGTH(examples); ++u) {
+ const char *input = examples[u].input;
+ const char *expected_output = examples[u].expected_output;
+
+ smartlist_add(votes, (void*)input);
+ result = protover_compute_vote(votes, 1);
+ if (expected_output != NULL) {
+ tt_str_op(result, OP_EQ, expected_output);
+ } else {
+ tt_str_op(result, OP_EQ, "");
+ }
+
+ smartlist_clear(votes);
+ tor_free(result);
+ }
+
+ done:
+ smartlist_free(votes);
+ tor_free(result);
+}
+
#define PV_TEST(name, flags) \
{ #name, test_protover_ ##name, (flags), NULL, NULL }
@@ -413,6 +583,7 @@ struct testcase_t protover_tests[] = {
PV_TEST(list_supports_protocol_returns_true, 0),
PV_TEST(supports_version, 0),
PV_TEST(supported_protocols, 0),
+ PV_TEST(vote_roundtrip, 0),
END_OF_TESTCASES
};
diff --git a/src/test/test_rust.sh b/src/test/test_rust.sh
index 133f2bb940..c35c57456f 100755
--- a/src/test/test_rust.sh
+++ b/src/test/test_rust.sh
@@ -1,20 +1,14 @@
#!/bin/sh
# Test all Rust crates
-crates="protover tor_util smartlist tor_allocate"
-
-exitcode=0
-
set -e
-for crate in $crates; do
- cd "${abs_top_builddir:-../../..}/src/rust"
- CARGO_TARGET_DIR="${abs_top_builddir:-../../..}/src/rust/target" \
- CARGO_HOME="${abs_top_builddir:-../../..}/src/rust" \
- "${CARGO:-cargo}" test ${CARGO_ONLINE-"--frozen"} \
- --manifest-path "${abs_top_srcdir:-.}/src/rust/${crate}/Cargo.toml" \
- || exitcode=1
- cd -
-done
+CARGO_TARGET_DIR="${abs_top_builddir:-../../..}/src/rust/target" \
+ CARGO_HOME="${abs_top_builddir:-../../..}/src/rust" \
+ find "${abs_top_srcdir:-../../..}/src/rust" \
+ -mindepth 2 -maxdepth 2 \
+ -type f -name 'Cargo.toml' \
+ -exec "${CARGO:-cargo}" test --all-features ${CARGO_ONLINE-"--frozen"} \
+ --manifest-path '{}' \;
-exit $exitcode
+exit $?
diff --git a/src/test/test_shared_random.c b/src/test/test_shared_random.c
index 96494904e3..4fe9ee45f0 100644
--- a/src/test/test_shared_random.c
+++ b/src/test/test_shared_random.c
@@ -402,7 +402,7 @@ test_sr_commit(void *arg)
sizeof(our_commit->hashed_reveal)));
/* Do we have a valid encoded commit and reveal. Note the following only
* tests if the generated values are correct. Their could be a bug in
- * the decode function but we test them seperately. */
+ * the decode function but we test them separately. */
tt_int_op(0, OP_EQ, reveal_decode(our_commit->encoded_reveal,
&test_commit));
tt_int_op(0, OP_EQ, commit_decode(our_commit->encoded_commit,
@@ -612,7 +612,7 @@ test_vote(void *arg)
ret = smartlist_split_string(chunks, lines, "\n", SPLIT_IGNORE_BLANK, 0);
tt_int_op(ret, OP_EQ, 4);
tt_str_op(smartlist_get(chunks, 0), OP_EQ, "shared-rand-participate");
- /* Get our commitment line and will validate it agains our commit. The
+ /* Get our commitment line and will validate it against our commit. The
* format is as follow:
* "shared-rand-commitment" SP version SP algname SP identity
* SP COMMIT [SP REVEAL] NL
diff --git a/src/test/test_util.c b/src/test/test_util.c
index 1fd41a348a..5f77f303a7 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -16,6 +16,7 @@
#include "memarea.h"
#include "util_process.h"
#include "log_test_helpers.h"
+#include "compress_zstd.h"
#ifdef HAVE_PWD_H
#include <pwd.h>
@@ -703,7 +704,7 @@ test_util_time(void *arg)
* a "correct" retrospective gregorian negative year value,
* which I'm pretty sure is:
* -1*(2^63)/60/60/24*2000/730485 + 1970 = -292277022657
- * 730485 is the number of days in two millenia, including leap days */
+ * 730485 is the number of days in two millennia, including leap days */
a_time.tm_year = -292277022657-1900;
CAPTURE();
tt_int_op((time_t) -1,OP_EQ, tor_timegm(&a_time));
@@ -739,7 +740,7 @@ test_util_time(void *arg)
* a "correct" proleptic gregorian year value,
* which I'm pretty sure is:
* (2^63-1)/60/60/24*2000/730485 + 1970 = 292277026596
- * 730485 is the number of days in two millenia, including leap days */
+ * 730485 is the number of days in two millennia, including leap days */
a_time.tm_year = 292277026596-1900;
CAPTURE();
tt_int_op((time_t) -1,OP_EQ, tor_timegm(&a_time));
@@ -875,7 +876,7 @@ test_util_time(void *arg)
* a "correct" retrospective gregorian negative year value,
* which I'm pretty sure is:
* -1*(2^63)/60/60/24*2000/730485 + 1970 = -292277022657
- * 730485 is the number of days in two millenia, including leap days
+ * 730485 is the number of days in two millennia, including leap days
* (int64_t)b_time.tm_year == (-292277022657LL-1900LL) without clamping */
t_res = INT64_MIN;
CAPTURE();
@@ -921,7 +922,7 @@ test_util_time(void *arg)
* a "correct" proleptic gregorian year value,
* which I'm pretty sure is:
* (2^63-1)/60/60/24*2000/730485 + 1970 = 292277026596
- * 730485 is the number of days in two millenia, including leap days
+ * 730485 is the number of days in two millennia, including leap days
* (int64_t)b_time.tm_year == (292277026596L-1900L) without clamping */
t_res = INT64_MAX;
CAPTURE();
@@ -2396,6 +2397,37 @@ test_util_compress_stream_impl(compress_method_t method,
tor_free(buf3);
}
+/** Setup function for compression tests: handles x-zstd:nostatic
+ */
+static void *
+compression_test_setup(const struct testcase_t *testcase)
+{
+ tor_assert(testcase->setup_data);
+ tor_assert(testcase->setup_data != (void*)TT_SKIP);
+ const char *methodname = testcase->setup_data;
+
+ if (!strcmp(methodname, "x-zstd:nostatic")) {
+ methodname = "x-zstd";
+ tor_zstd_set_static_apis_disabled_for_testing(1);
+ }
+
+ return (void *)methodname;
+}
+
+/** Cleanup for compression tests: disables nostatic */
+static int
+compression_test_cleanup(const struct testcase_t *testcase, void *ptr)
+{
+ (void)testcase;
+ (void)ptr;
+ tor_zstd_set_static_apis_disabled_for_testing(0);
+ return 1;
+}
+
+static const struct testcase_setup_t compress_setup = {
+ compression_test_setup, compression_test_cleanup
+};
+
/** Run unit tests for compression functions */
static void
test_util_compress(void *arg)
@@ -5465,7 +5497,7 @@ is_there_a_localhost(int family)
#endif /* 0 */
/* Test for socketpair and ersatz_socketpair(). We test them both, since
- * the latter is a tolerably good way to exersize tor_accept_socket(). */
+ * the latter is a tolerably good way to exercise tor_accept_socket(). */
static void
test_util_socketpair(void *arg)
{
@@ -5838,10 +5870,10 @@ test_util_monotonic_time(void *arg)
tt_u64_op(usec1, OP_GE, nsec1 / 1000);
tt_u64_op(msecc1, OP_GE, nsecc1 / 1000000);
tt_u64_op(usecc1, OP_GE, nsecc1 / 1000);
- tt_u64_op(msec1, OP_LE, nsec1 / 1000000 + 1);
- tt_u64_op(usec1, OP_LE, nsec1 / 1000 + 1000);
- tt_u64_op(msecc1, OP_LE, nsecc1 / 1000000 + 1);
- tt_u64_op(usecc1, OP_LE, nsecc1 / 1000 + 1000);
+ tt_u64_op(msec1, OP_LE, nsec1 / 1000000 + 10);
+ tt_u64_op(usec1, OP_LE, nsec1 / 1000 + 10000);
+ tt_u64_op(msecc1, OP_LE, nsecc1 / 1000000 + 10);
+ tt_u64_op(usecc1, OP_LE, nsecc1 / 1000 + 10000);
uint64_t coarse_stamp_diff =
monotime_coarse_stamp_units_to_approx_msec(stamp2-stamp1);
@@ -6095,22 +6127,22 @@ test_util_get_unquoted_path(void *arg)
{ #name, test_util_ ## name, flags, NULL, NULL }
#define COMPRESS(name, identifier) \
- { "compress/" #name, test_util_compress, 0, &passthrough_setup, \
+ { "compress/" #name, test_util_compress, 0, &compress_setup, \
(char*)(identifier) }
#define COMPRESS_CONCAT(name, identifier) \
{ "compress_concat/" #name, test_util_decompress_concatenated, 0, \
- &passthrough_setup, \
+ &compress_setup, \
(char*)(identifier) }
#define COMPRESS_JUNK(name, identifier) \
{ "compress_junk/" #name, test_util_decompress_junk, 0, \
- &passthrough_setup, \
+ &compress_setup, \
(char*)(identifier) }
#define COMPRESS_DOS(name, identifier) \
{ "compress_dos/" #name, test_util_decompress_dos, 0, \
- &passthrough_setup, \
+ &compress_setup, \
(char*)(identifier) }
#ifdef _WIN32
@@ -6141,11 +6173,13 @@ struct testcase_t util_tests[] = {
COMPRESS(gzip, "gzip"),
COMPRESS(lzma, "x-tor-lzma"),
COMPRESS(zstd, "x-zstd"),
+ COMPRESS(zstd_nostatic, "x-zstd:nostatic"),
COMPRESS(none, "identity"),
COMPRESS_CONCAT(zlib, "deflate"),
COMPRESS_CONCAT(gzip, "gzip"),
COMPRESS_CONCAT(lzma, "x-tor-lzma"),
COMPRESS_CONCAT(zstd, "x-zstd"),
+ COMPRESS_CONCAT(zstd_nostatic, "x-zstd:nostatic"),
COMPRESS_CONCAT(none, "identity"),
COMPRESS_JUNK(zlib, "deflate"),
COMPRESS_JUNK(gzip, "gzip"),
@@ -6154,6 +6188,7 @@ struct testcase_t util_tests[] = {
COMPRESS_DOS(gzip, "gzip"),
COMPRESS_DOS(lzma, "x-tor-lzma"),
COMPRESS_DOS(zstd, "x-zstd"),
+ COMPRESS_DOS(zstd_nostatic, "x-zstd:nostatic"),
UTIL_TEST(gzip_compression_bomb, TT_FORK),
UTIL_LEGACY(datadir),
UTIL_LEGACY(memarea),
diff --git a/src/test/testing_common.c b/src/test/testing_common.c
index 52729147b2..b9b36d96d0 100644
--- a/src/test/testing_common.c
+++ b/src/test/testing_common.c
@@ -29,8 +29,6 @@
#include <dirent.h>
#endif /* defined(_WIN32) */
-#include "or.h"
-
#ifdef USE_DMALLOC
#include <dmalloc.h>
#include "main.h"
diff --git a/src/tools/tor-gencert.c b/src/tools/tor-gencert.c
index 0d329b5183..639a6fbc23 100644
--- a/src/tools/tor-gencert.c
+++ b/src/tools/tor-gencert.c
@@ -36,7 +36,6 @@ ENABLE_GCC_WARNING(redundant-decls)
#include <assert.h>
#endif
-#include "compat.h"
#include "util.h"
#include "torlog.h"
#include "crypto.h"
diff --git a/src/trunnel/hs/cell_introduce1.trunnel b/src/trunnel/hs/cell_introduce1.trunnel
index 7577c1526f..574382b163 100644
--- a/src/trunnel/hs/cell_introduce1.trunnel
+++ b/src/trunnel/hs/cell_introduce1.trunnel
@@ -14,7 +14,7 @@ const TRUNNEL_REND_COOKIE_LEN = 20;
/* INTRODUCE1 payload. See details in section 3.2.1. */
struct trn_cell_introduce1 {
- /* Always zeroed. MUST be checked explicitely by the caller. */
+ /* Always zeroed. MUST be checked explicitly by the caller. */
u8 legacy_key_id[TRUNNEL_SHA1_LEN];
/* Authentication key material. */
diff --git a/src/win32/orconfig.h b/src/win32/orconfig.h
index a4767e54c0..238e0f6962 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.3.1-alpha-dev"
+#define VERSION "0.3.4.0-alpha-dev"