├── .gitignore ├── Cargo.toml ├── .github └── workflows │ └── ci.yml ├── LICENSE ├── README.md ├── benches ├── bench.rs ├── chnlist-v6.txt └── chnlist.txt └── src └── lib.rs /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | **/*.rs.bk 3 | Cargo.lock 4 | .vscode 5 | .idea 6 | .DS_Store -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "iprange" 3 | version = "0.6.7" 4 | authors = ["Yilin Chen "] 5 | description = "A library to manage IP ranges" 6 | repository = "https://github.com/sticnarf/iprange-rs" 7 | readme = "README.md" 8 | documentation = "https://docs.rs/iprange/" 9 | categories = ["network-programming"] 10 | license = "MIT" 11 | 12 | [dependencies] 13 | ipnet = "2.0.0" 14 | serde = { version = "1", features = ["derive"], optional = true } 15 | 16 | [dev-dependencies] 17 | rand = "0.3.17" 18 | bincode = "1" 19 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | env: 10 | CARGO_TERM_COLOR: always 11 | 12 | jobs: 13 | build: 14 | 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - uses: actions/checkout@v2 19 | - uses: actions-rs/toolchain@v1 20 | with: 21 | toolchain: 1.31 22 | - run: cargo build --verbose 23 | - run: cargo build --verbose --all-features 24 | - run: cargo test --verbose 25 | - run: cargo test --verbose --all-features 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Yilin Chen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # iprange-rs 2 | 3 | [![Crates Version](https://img.shields.io/crates/v/iprange.svg)](https://crates.io/crates/iprange) 4 | [![CI](https://github.com/sticnarf/iprange-rs/actions/workflows/ci.yml/badge.svg)](https://github.com/sticnarf/iprange-rs/actions/workflows/ci.yml) 5 | 6 | `iprange-rs` is a Rust library for managing IP ranges. 7 | 8 | It provides fast adding and removing operations. 9 | 10 | It also provides `merge`, `intersect` and `exclude` methods 11 | that enable you to manipulate it like a set. 12 | 13 | Of course, you can test whether an IP address is in an `IpRange`. 14 | 15 | **See the [documentation](https://docs.rs/iprange/) for details.** 16 | 17 | ## Example 18 | 19 | ```rust 20 | extern crate iprange; 21 | extern crate ipnet; 22 | 23 | use std::net::Ipv4Addr; 24 | use iprange::IpRange; 25 | use ipnet::Ipv4Net; 26 | 27 | fn main() { 28 | let ip_range: IpRange = ["10.0.0.0/8", "172.16.0.0/16", "192.168.1.0/24"] 29 | .iter() 30 | .map(|s| s.parse().unwrap()) 31 | .collect(); 32 | 33 | assert!(ip_range.contains(&"172.16.32.1".parse::().unwrap())); 34 | assert!(ip_range.contains(&"192.168.1.1".parse::().unwrap())); 35 | } 36 | ``` 37 | 38 | ## Serde support 39 | 40 | Serde support is optional and disabled by default. To enable, use the feature `serde`. 41 | 42 | ```toml 43 | [dependencies] 44 | iprange = { version = "0.6", features = ["serde"] } 45 | ``` 46 | 47 | ## Benchmark 48 | 49 | `iprange-rs` stores the IP networks in a radix trie. 50 | This allows us to store and lookup IP information quickly. 51 | 52 | There is no Rust alternative to this crate, so I decide to compare it to those written in Go. 53 | 54 | On my computer, here is the [benchmark](https://github.com/smallnest/iprange) result for Go implementations: 55 | 56 | ``` 57 | BenchmarkIPv4Contains-8 500000 2545 ns/op 58 | BenchmarkIPv4Contains_Radix-8 200000 6960 ns/op 59 | BenchmarkIPv4Contains_NRadix-8 1000000 1828 ns/op 60 | BenchmarkIPv6Contains-8 300000 3989 ns/op 61 | BenchmarkIPv6Contains_Radix-8 200000 6818 ns/op 62 | BenchmarkIPv6Contains_NRadix-8 500000 3039 ns/op 63 | ``` 64 | 65 | And below are the results of the equivalent Rust program using `iprange-rs`: 66 | 67 | ``` 68 | test test_ipv4_against_go ... bench: 751 ns/iter (+/- 5) 69 | test test_ipv6_against_go ... bench: 2,500 ns/iter (+/- 20) 70 | ``` 71 | 72 | We can see the Rust one using `iprange-rs` is **2.4x faster** than 73 | even the fastest Go implementation when dealing with IPv4 and is 1.2x faster with IPv6. 74 | 75 | ## License 76 | 77 | `iprange-rs` is licensed under the MIT license. 78 | -------------------------------------------------------------------------------- /benches/bench.rs: -------------------------------------------------------------------------------- 1 | #![feature(test)] 2 | 3 | extern crate ipnet; 4 | extern crate iprange; 5 | extern crate rand; 6 | extern crate test; 7 | 8 | use ipnet::{Ipv4Net, Ipv6Net}; 9 | use iprange::*; 10 | use rand::{Rng, SeedableRng, StdRng}; 11 | use std::fs::File; 12 | use std::io::{BufRead, BufReader}; 13 | use std::net::{Ipv4Addr, Ipv6Addr}; 14 | use std::path::PathBuf; 15 | use test::Bencher; 16 | 17 | #[bench] 18 | fn parse_one_ipv4_addr(b: &mut Bencher) { 19 | b.iter(|| "192.168.1.1".parse::().unwrap()); 20 | } 21 | 22 | #[bench] 23 | fn parse_one_ipv4_net(b: &mut Bencher) { 24 | b.iter(|| "192.168.0.0/24".parse::().unwrap()); 25 | } 26 | 27 | #[bench] 28 | fn parse_one_ipv6_addr(b: &mut Bencher) { 29 | b.iter(|| "2620:0:ccc::2".parse::().unwrap()); 30 | } 31 | 32 | #[bench] 33 | fn parse_one_ipv6_net(b: &mut Bencher) { 34 | b.iter(|| "2400:9dc0::/32".parse::().unwrap()); 35 | } 36 | 37 | fn read_lines_from_file(file_name: &str) -> Vec { 38 | let path = PathBuf::from(file!()); 39 | let f = File::open(path.with_file_name(file_name)).expect("Unable to open file"); 40 | let reader = BufReader::new(f); 41 | reader.lines().flatten().collect() 42 | } 43 | 44 | fn chnlists_v4() -> Vec { 45 | read_lines_from_file("chnlist.txt") 46 | } 47 | 48 | fn chnlists_v6() -> Vec { 49 | read_lines_from_file("chnlist-v6.txt") 50 | } 51 | 52 | fn rand_ipv4_list(n: usize) -> Vec { 53 | let mut rng = StdRng::from_seed(&[1926, 8, 17]); 54 | (0..n).map(|_| rng.next_u32().into()).collect() 55 | } 56 | 57 | fn rand_ipv6_list(n: usize) -> Vec { 58 | let mut rng = StdRng::from_seed(&[1926, 8, 17]); 59 | (0..n) 60 | .map(|_| { 61 | let mut buf = [0u8; 16]; 62 | rng.fill_bytes(&mut buf); 63 | buf.into() 64 | }) 65 | .collect() 66 | } 67 | 68 | #[bench] 69 | fn parse_chnlists_v4(b: &mut Bencher) { 70 | let lines = chnlists_v4(); 71 | b.iter(|| { 72 | for line in &lines { 73 | line.parse::().ok(); 74 | } 75 | }); 76 | } 77 | 78 | #[bench] 79 | fn create_ip_range_with_chnlists_v4(b: &mut Bencher) { 80 | let chnlists = chnlists_v4(); 81 | b.iter(|| { 82 | chnlists 83 | .iter() 84 | .flat_map(|l| l.parse::()) 85 | .collect::>() 86 | }); 87 | } 88 | 89 | #[bench] 90 | fn test_10000_ips_in_chnlists_v4(b: &mut Bencher) { 91 | let ip_list = rand_ipv4_list(10000); 92 | let chnlists = chnlists_v4() 93 | .iter() 94 | .flat_map(|l| l.parse::()) 95 | .collect::>(); 96 | b.iter(|| { 97 | for ip in &ip_list { 98 | chnlists.contains(ip); 99 | } 100 | }); 101 | } 102 | 103 | #[bench] 104 | fn parse_chnlists_v6(b: &mut Bencher) { 105 | let lines = chnlists_v6(); 106 | b.iter(|| { 107 | for line in &lines { 108 | line.parse::().ok(); 109 | } 110 | }); 111 | } 112 | 113 | #[bench] 114 | fn create_ip_range_with_chnlists_v6(b: &mut Bencher) { 115 | let chnlists = chnlists_v6(); 116 | b.iter(|| { 117 | chnlists 118 | .iter() 119 | .flat_map(|l| l.parse::()) 120 | .collect::>() 121 | }); 122 | } 123 | 124 | #[bench] 125 | fn test_10000_ips_in_chnlists_v6(b: &mut Bencher) { 126 | let ip_list = rand_ipv6_list(10000); 127 | let chnlists = chnlists_v6() 128 | .iter() 129 | .flat_map(|l| l.parse::()) 130 | .collect::>(); 131 | b.iter(|| { 132 | for ip in &ip_list { 133 | chnlists.contains(ip); 134 | } 135 | }); 136 | } 137 | 138 | // #[bench] 139 | // fn test_ipv4_against_go(b: &mut Bencher) { 140 | // let ip_range = read_lines_from_file("cidr_ipv4_test.data") 141 | // .iter() 142 | // .flat_map(|l| l.parse::()) 143 | // .collect::>(); 144 | // b.iter(|| { 145 | // assert!(ip_range.contains(&"103.67.32.0".parse::().unwrap())); 146 | // assert!(ip_range.contains(&"103.67.32.1".parse::().unwrap())); 147 | // assert!(!ip_range 148 | // .contains(&"103.67.100.77".parse::().unwrap())); 149 | // assert!(ip_range.contains(&"3.0.0.0".parse::().unwrap())); 150 | // assert!(ip_range.contains(&"216.255.255.255".parse::().unwrap())); 151 | // assert!(!ip_range 152 | // .contains(&"2.255.255.255".parse::().unwrap())); 153 | // assert!(!ip_range 154 | // .contains(&"217.0.0.0".parse::().unwrap())); 155 | // assert!(!ip_range.contains(&"0.0.0.0".parse::().unwrap())); 156 | // assert!(!ip_range.contains(&"255.255.255.255".parse::().unwrap())); 157 | // }); 158 | // } 159 | 160 | // #[bench] 161 | // fn test_ipv6_against_go(b: &mut Bencher) { 162 | // let ip_range = read_lines_from_file("cidr_ipv6_test.data") 163 | // .iter() 164 | // .flat_map(|l| l.parse::()) 165 | // .collect::>(); 166 | // b.iter(|| { 167 | // assert!(ip_range.contains(&"2607:d200::".parse::().unwrap())); 168 | // assert!(ip_range.contains(&"2607:d200::1".parse::().unwrap())); 169 | // assert!(!ip_range.contains(&"2607:d201::ffff".parse::().unwrap())); 170 | // assert!(ip_range.contains(&"2001:1800::".parse::().unwrap())); 171 | // assert!( 172 | // ip_range.contains(&"2a03:cd00:ffff:ffff:ffff:ffff:ffff:ffff" 173 | // .parse::() 174 | // .unwrap()) 175 | // ); 176 | // assert!(!ip_range.contains( 177 | // &"2001:17ff:ffff:ffff:ffff:ffff:ffff:ffff" 178 | // .parse::() 179 | // .unwrap() 180 | // )); 181 | // assert!(!ip_range 182 | // .contains(&"2a03:cd01::".parse::().unwrap())); 183 | // assert!(!ip_range.contains(&"::".parse::().unwrap())); 184 | // assert!(!ip_range.contains( 185 | // &"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff" 186 | // .parse::() 187 | // .unwrap() 188 | // )); 189 | // }); 190 | // } 191 | -------------------------------------------------------------------------------- /benches/chnlist-v6.txt: -------------------------------------------------------------------------------- 1 | 2001:250::/31 2 | 2001:252::/32 3 | 2001:254::/32 4 | 2001:256::/32 5 | 2001:c68::/32 6 | 2001:cc0::/32 7 | 2001:da8::/31 8 | 2001:daa::/32 9 | 2001:dc7::/32 10 | 2001:e08::/32 11 | 2001:e18::/32 12 | 2001:e80::/32 13 | 2001:e88::/32 14 | 2001:f38::/32 15 | 2001:f88::/32 16 | 2001:4438::/32 17 | 2001:4510::/29 18 | 2400:1040::/32 19 | 2400:12c0::/32 20 | 2400:1340::/32 21 | 2400:1380::/32 22 | 2400:15c0::/32 23 | 2400:1640::/32 24 | 2400:16c0::/32 25 | 2400:1740::/32 26 | 2400:17c0::/32 27 | 2400:1840::/32 28 | 2400:18c0::/32 29 | 2400:1940::/32 30 | 2400:19c0::/32 31 | 2400:1a40::/32 32 | 2400:1ac0::/32 33 | 2400:1b40::/32 34 | 2400:1cc0::/32 35 | 2400:1d40::/32 36 | 2400:1dc0::/32 37 | 2400:1e40::/32 38 | 2400:1ec0::/32 39 | 2400:1f40::/32 40 | 2400:1fc0::/32 41 | 2400:3040::/32 42 | 2400:3140::/32 43 | 2400:31c0::/32 44 | 2400:3200::/32 45 | 2400:3280::/32 46 | 2400:32c0::/32 47 | 2400:3340::/32 48 | 2400:33c0::/32 49 | 2400:3440::/32 50 | 2400:34c0::/32 51 | 2400:3540::/32 52 | 2400:35c0::/32 53 | 2400:3600::/32 54 | 2400:3640::/32 55 | 2400:36c0::/32 56 | 2400:38c0::/32 57 | 2400:39c0::/32 58 | 2400:3a00::/32 59 | 2400:3a40::/32 60 | 2400:3b40::/32 61 | 2400:3bc0::/32 62 | 2400:3c40::/32 63 | 2400:3cc0::/32 64 | 2400:3e00::/32 65 | 2400:3f40::/32 66 | 2400:3fc0::/32 67 | 2400:4440::/32 68 | 2400:44c0::/32 69 | 2400:4540::/32 70 | 2400:4600::/32 71 | 2400:4640::/32 72 | 2400:46c0::/32 73 | 2400:4740::/32 74 | 2400:4bc0::/32 75 | 2400:4e00::/32 76 | 2400:4e40::/32 77 | 2400:5080::/32 78 | 2400:5280::/32 79 | 2400:5400::/32 80 | 2400:5580::/32 81 | 2400:55c0::/32 82 | 2400:5600::/32 83 | 2400:5640::/32 84 | 2400:56c0::/32 85 | 2400:57c0::/32 86 | 2400:5840::/32 87 | 2400:5940::/32 88 | 2400:5a00::/32 89 | 2400:5a40::/32 90 | 2400:5ac0::/32 91 | 2400:5b40::/32 92 | 2400:5bc0::/32 93 | 2400:5c40::/32 94 | 2400:5c80::/32 95 | 2400:5cc0::/32 96 | 2400:5e80::/32 97 | 2400:5fc0::/32 98 | 2400:6000::/32 99 | 2400:6040::/32 100 | 2400:60c0::/32 101 | 2400:61c0::/32 102 | 2400:6200::/32 103 | 2400:6600::/32 104 | 2400:6640::/32 105 | 2400:66c0::/32 106 | 2400:6740::/32 107 | 2400:67c0::/32 108 | 2400:6840::/32 109 | 2400:68c0::/32 110 | 2400:6940::/32 111 | 2400:69c0::/32 112 | 2400:6a00::/32 113 | 2400:6a40::/32 114 | 2400:6ac0::/32 115 | 2400:6b40::/32 116 | 2400:6bc0::/32 117 | 2400:6c40::/32 118 | 2400:6cc0::/32 119 | 2400:6d40::/32 120 | 2400:6dc0::/32 121 | 2400:6e00::/32 122 | 2400:6e40::/32 123 | 2400:6ec0::/32 124 | 2400:6f40::/32 125 | 2400:6f80::/32 126 | 2400:6fc0::/32 127 | 2400:7040::/32 128 | 2400:7100::/32 129 | 2400:7140::/32 130 | 2400:71c0::/32 131 | 2400:7200::/32 132 | 2400:7240::/32 133 | 2400:72c0::/32 134 | 2400:7340::/32 135 | 2400:73c0::/32 136 | 2400:7440::/32 137 | 2400:74c0::/32 138 | 2400:7540::/32 139 | 2400:75c0::/32 140 | 2400:7640::/32 141 | 2400:7680::/32 142 | 2400:76c0::/32 143 | 2400:7740::/32 144 | 2400:77c0::/32 145 | 2400:79c0::/32 146 | 2400:7ac0::/32 147 | 2400:7bc0::/32 148 | 2400:7f80::/32 149 | 2400:7fc0::/32 150 | 2400:8080::/32 151 | 2400:8200::/32 152 | 2400:82c0::/32 153 | 2400:8580::/32 154 | 2400:8600::/32 155 | 2400:8780::/32 156 | 2400:87c0::/32 157 | 2400:8840::/32 158 | 2400:8980::/32 159 | 2400:89c0::/32 160 | 2400:8e00::/32 161 | 2400:8f00::/32 162 | 2400:8fc0::/32 163 | 2400:9040::/32 164 | 2400:9340::/32 165 | 2400:9580::/32 166 | 2400:95c0::/32 167 | 2400:9600::/32 168 | 2400:98c0::/32 169 | 2400:9a00::/32 170 | 2400:9a40::/32 171 | 2400:9dc0::/32 172 | 2400:9e00::/32 173 | 2400:a040::/32 174 | 2400:a380::/32 175 | 2400:a480::/32 176 | 2400:a6c0::/32 177 | 2400:a780::/32 178 | 2400:a8c0::/32 179 | 2400:a900::/32 180 | 2400:a980::/29 181 | 2400:abc0::/32 182 | 2400:ae00::/32 183 | 2400:b200::/32 184 | 2400:b2c0::/32 185 | 2400:b500::/32 186 | 2400:b600::/32 187 | 2400:b6c0::/32 188 | 2400:b700::/32 189 | 2400:b7c0::/32 190 | 2400:b8c0::/32 191 | 2400:b9c0::/32 192 | 2400:ba00::/32 193 | 2400:ba40::/31 194 | 2400:bac0::/32 195 | 2400:bc40::/32 196 | 2400:be00::/32 197 | 2400:bf00::/32 198 | 2400:c200::/32 199 | 2400:c380::/32 200 | 2400:c840::/32 201 | 2400:c8c0::/32 202 | 2400:c940::/32 203 | 2400:c9c0::/32 204 | 2400:ca40::/32 205 | 2400:cac0::/32 206 | 2400:cb40::/32 207 | 2400:cb80::/32 208 | 2400:cbc0::/32 209 | 2400:cc40::/32 210 | 2400:cc80::/32 211 | 2400:ccc0::/32 212 | 2400:cd40::/32 213 | 2400:cdc0::/32 214 | 2400:ce00::/32 215 | 2400:ce40::/32 216 | 2400:cf40::/32 217 | 2400:cf80::/32 218 | 2400:cfc0::/32 219 | 2400:d0c0::/32 220 | 2400:d100::/32 221 | 2400:d1c0::/32 222 | 2400:d200::/32 223 | 2400:d300::/32 224 | 2400:d380::/32 225 | 2400:d440::/32 226 | 2400:d600::/32 227 | 2400:d6c0::/32 228 | 2400:d780::/32 229 | 2400:da00::/32 230 | 2400:dd00::/28 231 | 2400:dd40::/32 232 | 2400:de00::/32 233 | 2400:de80::/32 234 | 2400:e0c0::/32 235 | 2400:e140::/32 236 | 2400:e5c0::/32 237 | 2400:e680::/32 238 | 2400:e880::/32 239 | 2400:ebc0::/32 240 | 2400:edc0::/32 241 | 2400:ee00::/32 242 | 2400:eec0::/32 243 | 2400:ef40::/32 244 | 2400:f480::/32 245 | 2400:f540::/32 246 | 2400:f5c0::/32 247 | 2400:f7c0::/32 248 | 2400:f840::/32 249 | 2400:f980::/32 250 | 2400:fac0::/32 251 | 2400:fb40::/32 252 | 2400:fbc0::/32 253 | 2400:fc40::/32 254 | 2400:fcc0::/32 255 | 2400:fe00::/32 256 | 2401:80::/32 257 | 2401:140::/32 258 | 2401:1c0::/32 259 | 2401:540::/32 260 | 2401:780::/32 261 | 2401:7c0::/32 262 | 2401:800::/32 263 | 2401:9c0::/32 264 | 2401:a00::/32 265 | 2401:a40::/32 266 | 2401:ac0::/32 267 | 2401:b40::/32 268 | 2401:bc0::/32 269 | 2401:c40::/32 270 | 2401:cc0::/32 271 | 2401:d40::/32 272 | 2401:e00::/32 273 | 2401:1000::/32 274 | 2401:11c0::/32 275 | 2401:1200::/32 276 | 2401:12c0::/32 277 | 2401:15c0::/32 278 | 2401:1740::/32 279 | 2401:18c0::/32 280 | 2401:1940::/32 281 | 2401:19c0::/32 282 | 2401:1a40::/32 283 | 2401:1ac0::/32 284 | 2401:1d40::/32 285 | 2401:1dc0::/32 286 | 2401:1e00::/32 287 | 2401:1ec0::/32 288 | 2401:1f40::/32 289 | 2401:2040::/32 290 | 2401:2080::/32 291 | 2401:23c0::/32 292 | 2401:2600::/32 293 | 2401:2780::/32 294 | 2401:2980::/32 295 | 2401:2a00::/32 296 | 2401:2b40::/32 297 | 2401:2e00::/32 298 | 2401:2e40::/32 299 | 2401:3100::/32 300 | 2401:3380::/32 301 | 2401:33c0::/32 302 | 2401:3440::/32 303 | 2401:3480::/32 304 | 2401:34c0::/32 305 | 2401:3640::/32 306 | 2401:3780::/32 307 | 2401:3800::/32 308 | 2401:3880::/32 309 | 2401:3980::/32 310 | 2401:3a00::/32 311 | 2401:3a80::/32 312 | 2401:3b80::/32 313 | 2401:3c80::/32 314 | 2401:3d80::/32 315 | 2401:3e80::/32 316 | 2401:3f80::/32 317 | 2401:4080::/32 318 | 2401:4180::/32 319 | 2401:4280::/32 320 | 2401:4380::/32 321 | 2401:4480::/32 322 | 2401:4580::/32 323 | 2401:4680::/32 324 | 2401:4780::/32 325 | 2401:4880::/32 326 | 2401:4a80::/32 327 | 2401:4b00::/32 328 | 2401:4f80::/32 329 | 2401:5180::/32 330 | 2401:5680::/32 331 | 2401:56c0::/32 332 | 2401:5880::/32 333 | 2401:59c0::/32 334 | 2401:5b40::/32 335 | 2401:5c80::/32 336 | 2401:7180::/32 337 | 2401:71c0::/32 338 | 2401:7240::/32 339 | 2401:7340::/32 340 | 2401:7580::/32 341 | 2401:7680::/32 342 | 2401:7700::/32 343 | 2401:7780::/32 344 | 2401:7880::/32 345 | 2401:7980::/32 346 | 2401:7a00::/32 347 | 2401:7a80::/32 348 | 2401:7b80::/32 349 | 2401:7bc0::/32 350 | 2401:7c80::/32 351 | 2401:7cc0::/32 352 | 2401:7d40::/32 353 | 2401:7d80::/32 354 | 2401:7e00::/32 355 | 2401:7f80::/32 356 | 2401:8200::/32 357 | 2401:82c0::/32 358 | 2401:8380::/32 359 | 2401:8540::/32 360 | 2401:8600::/32 361 | 2401:8680::/32 362 | 2401:8840::/32 363 | 2401:8d00::/32 364 | 2401:8e40::/32 365 | 2401:8f40::/32 366 | 2401:8fc0::/32 367 | 2401:9340::/32 368 | 2401:9380::/32 369 | 2401:9600::/32 370 | 2401:96c0::/32 371 | 2401:9740::/32 372 | 2401:98c0::/32 373 | 2401:9a00::/32 374 | 2401:9ac0::/32 375 | 2401:9b40::/32 376 | 2401:9bc0::/32 377 | 2401:9dc0::/32 378 | 2401:9e40::/32 379 | 2401:9f80::/32 380 | 2401:a140::/32 381 | 2401:a180::/32 382 | 2401:a340::/32 383 | 2401:a3c0::/32 384 | 2401:a4c0::/32 385 | 2401:a540::/32 386 | 2401:a5c0::/32 387 | 2401:a640::/32 388 | 2401:a940::/32 389 | 2401:a980::/32 390 | 2401:aa00::/32 391 | 2401:aa40::/32 392 | 2401:acc0::/32 393 | 2401:ad40::/32 394 | 2401:adc0::/32 395 | 2401:b040::/32 396 | 2401:b180::/32 397 | 2401:b340::/32 398 | 2401:b400::/32 399 | 2401:b480::/32 400 | 2401:b4c0::/32 401 | 2401:b540::/32 402 | 2401:b580::/32 403 | 2401:b600::/32 404 | 2401:b680::/32 405 | 2401:b6c0::/32 406 | 2401:b7c0::/32 407 | 2401:b940::/32 408 | 2401:ba00::/32 409 | 2401:ba40::/32 410 | 2401:bb80::/32 411 | 2401:be00::/32 412 | 2401:c200::/32 413 | 2401:c540::/32 414 | 2401:c600::/32 415 | 2401:c640::/32 416 | 2401:c6c0::/32 417 | 2401:c840::/32 418 | 2401:c8c0::/32 419 | 2401:ca00::/32 420 | 2401:ca80::/32 421 | 2401:cb80::/32 422 | 2401:cc00::/32 423 | 2401:ce00::/32 424 | 2401:cf40::/32 425 | 2401:cfc0::/32 426 | 2401:d0c0::/32 427 | 2401:d140::/32 428 | 2401:d180::/32 429 | 2401:d2c0::/32 430 | 2401:d340::/32 431 | 2401:d780::/32 432 | 2401:da00::/32 433 | 2401:de00::/32 434 | 2401:e080::/32 435 | 2401:e0c0::/32 436 | 2401:e140::/32 437 | 2401:e240::/32 438 | 2401:e2c0::/32 439 | 2401:e340::/32 440 | 2401:e6c0::/32 441 | 2401:e840::/32 442 | 2401:e8c0::/32 443 | 2401:e940::/32 444 | 2401:e9c0::/32 445 | 2401:ec00::/32 446 | 2401:ec40::/32 447 | 2401:f300::/32 448 | 2401:fa80::/32 449 | 2401:fb80::/32 450 | 2401:fc80::/32 451 | 2401:fe80::/32 452 | 2402:880::/32 453 | 2402:e00::/32 454 | 2402:1000::/32 455 | 2402:1600::/32 456 | 2402:1f80::/32 457 | 2402:2000::/32 458 | 2402:2280::/32 459 | 2402:2780::/32 460 | 2402:2a00::/32 461 | 2402:2b80::/32 462 | 2402:2d00::/32 463 | 2402:2d80::/32 464 | 2402:2e80::/32 465 | 2402:3080::/32 466 | 2402:3180::/32 467 | 2402:3c00::/32 468 | 2402:3e00::/32 469 | 2402:3f80::/32 470 | 2402:4500::/32 471 | 2402:4a00::/32 472 | 2402:4a80::/32 473 | 2402:4b80::/32 474 | 2402:4d80::/32 475 | 2402:4e00::/32 476 | 2402:4f80::/32 477 | 2402:5180::/32 478 | 2402:5880::/32 479 | 2402:5d00::/32 480 | 2402:5e00::/32 481 | 2402:6280::/32 482 | 2402:6a00::/32 483 | 2402:6e00::/32 484 | 2402:6e80::/32 485 | 2402:7080::/32 486 | 2402:7d00::/32 487 | 2402:7d80::/32 488 | 2402:8180::/32 489 | 2402:8280::/32 490 | 2402:8300::/32 491 | 2402:8380::/32 492 | 2402:8800::/32 493 | 2402:8900::/32 494 | 2402:8f80::/32 495 | 2402:9480::/32 496 | 2402:9580::/32 497 | 2402:9680::/32 498 | 2402:9980::/32 499 | 2402:9a80::/32 500 | 2402:9b80::/32 501 | 2402:9f80::/32 502 | 2402:a080::/32 503 | 2402:a180::/32 504 | 2402:a200::/32 505 | 2402:a280::/32 506 | 2402:a380::/32 507 | 2402:a680::/32 508 | 2402:a880::/32 509 | 2402:aa80::/32 510 | 2402:ab80::/32 511 | 2402:ae00::/32 512 | 2402:af80::/32 513 | 2402:b080::/32 514 | 2402:b200::/32 515 | 2402:b380::/32 516 | 2402:b880::/32 517 | 2402:b980::/32 518 | 2402:ba80::/32 519 | 2402:bf80::/32 520 | 2402:c280::/32 521 | 2402:cc80::/32 522 | 2402:cf00::/32 523 | 2402:d300::/32 524 | 2402:d380::/32 525 | 2402:d780::/32 526 | 2402:d880::/32 527 | 2402:d980::/32 528 | 2402:e480::/32 529 | 2402:e680::/32 530 | 2402:e780::/32 531 | 2402:e880::/32 532 | 2402:e980::/32 533 | 2402:eb80::/32 534 | 2402:ec80::/32 535 | 2402:ed80::/32 536 | 2402:ef80::/32 537 | 2402:f000::/32 538 | 2402:f480::/32 539 | 2402:f580::/32 540 | 2402:f680::/32 541 | 2402:f780::/32 542 | 2402:f980::/32 543 | 2403:600::/32 544 | 2403:700::/32 545 | 2403:800::/31 546 | 2403:980::/32 547 | 2403:a80::/32 548 | 2403:b80::/32 549 | 2403:c80::/32 550 | 2403:d80::/32 551 | 2403:e80::/32 552 | 2403:f00::/32 553 | 2403:f80::/32 554 | 2403:1180::/32 555 | 2403:1580::/32 556 | 2403:1980::/32 557 | 2403:1b80::/32 558 | 2403:1c80::/32 559 | 2403:1d80::/32 560 | 2403:1e80::/32 561 | 2403:1f80::/32 562 | 2403:2080::/32 563 | 2403:2180::/32 564 | 2403:2280::/32 565 | 2403:2380::/32 566 | 2403:2480::/32 567 | 2403:2580::/32 568 | 2403:2680::/32 569 | 2403:2780::/32 570 | 2403:2a00::/32 571 | 2403:2d80::/32 572 | 2403:3280::/32 573 | 2403:3380::/32 574 | 2403:3480::/32 575 | 2403:3580::/32 576 | 2403:3680::/32 577 | 2403:3780::/32 578 | 2403:3880::/32 579 | 2403:3980::/32 580 | 2403:3b80::/32 581 | 2403:3c80::/32 582 | 2403:3d80::/32 583 | 2403:3e80::/32 584 | 2403:3f80::/32 585 | 2403:4080::/32 586 | 2403:4180::/32 587 | 2403:4280::/32 588 | 2403:4300::/32 589 | 2403:4380::/32 590 | 2403:4580::/32 591 | 2403:4680::/32 592 | 2403:4780::/32 593 | 2403:4880::/32 594 | 2403:4980::/32 595 | 2403:4a80::/32 596 | 2403:4b80::/32 597 | 2403:4c80::/32 598 | 2403:4d80::/32 599 | 2403:5080::/32 600 | 2403:5280::/32 601 | 2403:5380::/32 602 | 2403:5480::/32 603 | 2403:5580::/32 604 | 2403:5780::/32 605 | 2403:5880::/32 606 | 2403:5980::/32 607 | 2403:5a80::/32 608 | 2403:5b80::/32 609 | 2403:5c80::/32 610 | 2403:5d80::/32 611 | 2403:5e80::/32 612 | 2403:5f80::/32 613 | 2403:6080::/32 614 | 2403:6180::/32 615 | 2403:6280::/32 616 | 2403:6380::/32 617 | 2403:6480::/32 618 | 2403:6580::/32 619 | 2403:6680::/32 620 | 2403:6780::/32 621 | 2403:6880::/32 622 | 2403:6980::/32 623 | 2403:6a00::/32 624 | 2403:6c80::/32 625 | 2403:6d80::/32 626 | 2403:6e80::/32 627 | 2403:7080::/32 628 | 2403:7180::/32 629 | 2403:7280::/32 630 | 2403:7380::/32 631 | 2403:7480::/32 632 | 2403:7580::/32 633 | 2403:7700::/32 634 | 2403:7a80::/32 635 | 2403:7b00::/32 636 | 2403:7d80::/32 637 | 2403:7e80::/32 638 | 2403:7f80::/32 639 | 2403:8080::/32 640 | 2403:8180::/32 641 | 2403:8280::/32 642 | 2403:8380::/32 643 | 2403:8480::/32 644 | 2403:8580::/32 645 | 2403:8880::/32 646 | 2403:8900::/32 647 | 2403:8980::/32 648 | 2403:8a80::/32 649 | 2403:8b00::/32 650 | 2403:8b80::/32 651 | 2403:8c00::/32 652 | 2403:8c80::/32 653 | 2403:8d00::/32 654 | 2403:8d80::/32 655 | 2403:8f80::/32 656 | 2403:9080::/32 657 | 2403:9180::/32 658 | 2403:9280::/32 659 | 2403:9380::/32 660 | 2403:9480::/32 661 | 2403:9580::/32 662 | 2403:9680::/32 663 | 2403:9780::/32 664 | 2403:9880::/32 665 | 2403:9a80::/32 666 | 2403:9b00::/32 667 | 2403:9b80::/32 668 | 2403:9c80::/32 669 | 2403:9d00::/32 670 | 2403:9d80::/32 671 | 2403:9e80::/32 672 | 2403:9f80::/32 673 | 2403:a100::/32 674 | 2403:a200::/32 675 | 2403:a300::/32 676 | 2403:a480::/32 677 | 2403:a580::/32 678 | 2403:a680::/32 679 | 2403:a780::/32 680 | 2403:a880::/32 681 | 2403:a980::/32 682 | 2403:aa80::/32 683 | 2403:ab80::/32 684 | 2403:ac00::/32 685 | 2403:af80::/32 686 | 2403:b080::/32 687 | 2403:b180::/32 688 | 2403:b280::/32 689 | 2403:b380::/32 690 | 2403:b400::/32 691 | 2403:b480::/32 692 | 2403:b580::/32 693 | 2403:b680::/32 694 | 2403:b780::/32 695 | 2403:b880::/32 696 | 2403:b980::/32 697 | 2403:c080::/32 698 | 2403:c100::/32 699 | 2403:c180::/32 700 | 2403:c480::/32 701 | 2403:c980::/32 702 | 2403:cf80::/32 703 | 2403:d080::/32 704 | 2403:d180::/32 705 | 2403:d280::/32 706 | 2403:d380::/32 707 | 2403:d400::/32 708 | 2403:d480::/32 709 | 2403:d580::/32 710 | 2403:d680::/32 711 | 2403:d780::/32 712 | 2403:d880::/32 713 | 2403:d980::/32 714 | 2403:da80::/32 715 | 2403:db00::/32 716 | 2403:db80::/32 717 | 2403:dc80::/32 718 | 2403:dd80::/32 719 | 2403:de80::/32 720 | 2403:df80::/32 721 | 2403:e080::/32 722 | 2403:e180::/32 723 | 2403:e280::/32 724 | 2403:e300::/32 725 | 2403:e480::/32 726 | 2403:e500::/32 727 | 2403:e580::/32 728 | 2403:e680::/32 729 | 2403:e700::/32 730 | 2403:e780::/32 731 | 2403:e880::/32 732 | 2403:e980::/32 733 | 2403:ea80::/32 734 | 2403:eb80::/32 735 | 2403:ec80::/32 736 | 2403:ed00::/32 737 | 2403:ed80::/32 738 | 2403:ee80::/32 739 | 2403:ef80::/32 740 | 2403:f080::/32 741 | 2403:f100::/32 742 | 2403:f180::/32 743 | 2403:f280::/32 744 | 2403:f300::/32 745 | 2403:f380::/32 746 | 2403:f580::/32 747 | 2403:f800::/32 748 | 2403:f900::/32 749 | 2403:f980::/32 750 | 2403:fb00::/32 751 | 2403:fb80::/32 752 | 2403:fe80::/32 753 | 2403:ff80::/32 754 | 2404:100::/32 755 | 2404:158::/32 756 | 2404:280::/32 757 | 2404:480::/32 758 | 2404:680::/32 759 | 2404:a80::/32 760 | 2404:b80::/32 761 | 2404:d80::/32 762 | 2404:f00::/32 763 | 2404:f80::/32 764 | 2404:1080::/32 765 | 2404:1180::/32 766 | 2404:1880::/32 767 | 2404:1c80::/32 768 | 2404:1d80::/32 769 | 2404:1e80::/32 770 | 2404:3300::/32 771 | 2404:3480::/32 772 | 2404:3700::/32 773 | 2404:3b00::/32 774 | 2404:4080::/32 775 | 2404:4d00::/32 776 | 2404:5a80::/32 777 | 2404:5b00::/32 778 | 2404:5d00::/32 779 | 2404:5e80::/32 780 | 2404:6000::/32 781 | 2404:6100::/32 782 | 2404:6380::/32 783 | 2404:6500::/32 784 | 2404:6700::/32 785 | 2404:6f80::/32 786 | 2404:7100::/32 787 | 2404:7180::/32 788 | 2404:7600::/32 789 | 2404:7d00::/32 790 | 2404:8480::/32 791 | 2404:8580::/32 792 | 2404:8700::/32 793 | 2404:8880::/32 794 | 2404:8a80::/32 795 | 2404:8b00::/32 796 | 2404:9880::/32 797 | 2404:9b80::/32 798 | 2404:9c80::/32 799 | 2404:a000::/32 800 | 2404:a080::/32 801 | 2404:a180::/32 802 | 2404:b100::/32 803 | 2404:b900::/32 804 | 2404:c300::/32 805 | 2404:cd00::/32 806 | 2404:d080::/32 807 | 2404:d280::/32 808 | 2404:d480::/32 809 | 2404:d780::/32 810 | 2404:dd80::/32 811 | 2404:df00::/32 812 | 2404:e180::/32 813 | 2404:e280::/32 814 | 2404:e780::/32 815 | 2404:e880::/32 816 | 2404:eb80::/32 817 | 2405:80::/32 818 | 2405:480::/32 819 | 2405:580::/32 820 | 2405:680::/32 821 | 2405:780::/32 822 | 2405:880::/32 823 | 2405:980::/32 824 | 2405:a80::/32 825 | 2405:b80::/32 826 | 2405:c80::/32 827 | 2405:d80::/32 828 | 2405:e80::/32 829 | 2405:f80::/32 830 | 2405:1080::/32 831 | 2405:1180::/32 832 | 2405:1280::/32 833 | 2405:1380::/32 834 | 2405:1480::/32 835 | 2405:1580::/32 836 | 2405:1680::/32 837 | 2405:1c80::/32 838 | 2405:1d80::/32 839 | 2405:1e80::/32 840 | 2405:1f80::/32 841 | 2405:2080::/32 842 | 2405:2180::/32 843 | 2405:2280::/32 844 | 2405:2380::/32 845 | 2405:2480::/32 846 | 2405:2580::/32 847 | 2405:2680::/32 848 | 2405:2780::/32 849 | 2405:2880::/32 850 | 2405:2980::/32 851 | 2405:2a80::/32 852 | 2405:2b80::/32 853 | 2405:2c80::/32 854 | 2405:2d80::/32 855 | 2405:2e80::/32 856 | 2405:2f80::/32 857 | 2405:3880::/32 858 | 2405:3980::/32 859 | 2405:3a80::/32 860 | 2405:3b00::/32 861 | 2405:3b80::/32 862 | 2405:3c80::/32 863 | 2405:3d80::/32 864 | 2405:3e80::/32 865 | 2405:3f80::/32 866 | 2405:4080::/32 867 | 2405:4180::/32 868 | 2405:4280::/32 869 | 2405:4380::/32 870 | 2405:4480::/32 871 | 2405:4580::/32 872 | 2405:4680::/32 873 | 2405:4780::/32 874 | 2405:4880::/32 875 | 2405:4980::/32 876 | 2405:4a80::/32 877 | 2405:4b80::/32 878 | 2405:4e80::/32 879 | 2405:4f80::/32 880 | 2405:5080::/32 881 | 2405:5180::/32 882 | 2405:5280::/32 883 | 2405:5380::/32 884 | 2405:5480::/32 885 | 2405:5580::/32 886 | 2405:5680::/32 887 | 2405:5780::/32 888 | 2405:5880::/32 889 | 2405:5980::/32 890 | 2405:5a80::/32 891 | 2405:5b00::/32 892 | 2405:5b80::/32 893 | 2405:5c80::/32 894 | 2405:5d80::/32 895 | 2405:5e80::/32 896 | 2405:5f80::/32 897 | 2405:6080::/32 898 | 2405:6180::/32 899 | 2405:6200::/32 900 | 2405:6880::/32 901 | 2405:6a80::/32 902 | 2405:6b80::/32 903 | 2405:6c80::/32 904 | 2405:6d80::/32 905 | 2405:6e80::/32 906 | 2405:6f00::/32 907 | 2405:6f80::/32 908 | 2405:7080::/32 909 | 2405:7180::/32 910 | 2405:7280::/32 911 | 2405:7380::/32 912 | 2405:7480::/32 913 | 2405:7580::/32 914 | 2405:7680::/32 915 | 2405:7780::/32 916 | 2405:7880::/32 917 | 2405:7980::/32 918 | 2405:7a80::/32 919 | 2405:7b80::/32 920 | 2405:7c80::/32 921 | 2405:8280::/32 922 | 2405:8480::/32 923 | 2405:8580::/32 924 | 2405:8680::/32 925 | 2405:8780::/32 926 | 2405:8880::/32 927 | 2405:8980::/32 928 | 2405:8a80::/32 929 | 2405:8b80::/32 930 | 2405:8c80::/32 931 | 2405:8d80::/32 932 | 2405:8e80::/32 933 | 2405:8f80::/32 934 | 2405:9080::/32 935 | 2405:9180::/32 936 | 2405:9280::/32 937 | 2405:9300::/32 938 | 2405:9380::/32 939 | 2405:9480::/32 940 | 2405:9580::/32 941 | 2405:9680::/32 942 | 2405:9700::/32 943 | 2405:9780::/32 944 | 2405:9880::/32 945 | 2405:9900::/32 946 | 2405:9980::/32 947 | 2405:9a80::/32 948 | 2405:9b00::/32 949 | 2405:9b80::/32 950 | 2405:9e00::/32 951 | 2405:a500::/32 952 | 2405:a680::/32 953 | 2405:a900::/32 954 | 2405:a980::/32 955 | 2405:aa80::/32 956 | 2405:ab00::/32 957 | 2405:ad00::/32 958 | 2405:af00::/32 959 | 2405:b100::/32 960 | 2405:b300::/32 961 | 2405:b880::/32 962 | 2405:b980::/32 963 | 2405:bb00::/32 964 | 2405:bb80::/32 965 | 2405:bd00::/32 966 | 2405:bd80::/32 967 | 2405:be80::/32 968 | 2405:bf00::/32 969 | 2405:c280::/32 970 | 2405:c380::/32 971 | 2405:c480::/32 972 | 2405:c500::/32 973 | 2405:c580::/32 974 | 2405:c680::/32 975 | 2405:c780::/32 976 | 2405:c880::/32 977 | 2405:c980::/32 978 | 2405:ca80::/32 979 | 2405:cb80::/32 980 | 2405:cc80::/32 981 | 2405:cd80::/32 982 | 2405:ce80::/32 983 | 2405:d280::/32 984 | 2405:d700::/32 985 | 2405:d900::/32 986 | 2405:e000::/32 987 | 2405:e600::/32 988 | 2405:ee80::/32 989 | 2405:f380::/32 990 | 2405:f580::/32 991 | 2405:fe80::/32 992 | 2405:ff80::/32 993 | 2406:80::/32 994 | 2406:280::/32 995 | 2406:880::/32 996 | 2406:d80::/32 997 | 2406:e80::/32 998 | 2406:f80::/32 999 | 2406:1080::/32 1000 | 2406:1100::/32 1001 | 2406:1180::/32 1002 | 2406:1280::/32 1003 | 2406:1380::/32 1004 | 2406:1480::/32 1005 | 2406:1580::/32 1006 | 2406:1680::/32 1007 | 2406:1780::/32 1008 | 2406:1880::/32 1009 | 2406:1980::/32 1010 | 2406:1a80::/32 1011 | 2406:1b80::/32 1012 | 2406:1c80::/32 1013 | 2406:1d80::/32 1014 | 2406:1e80::/32 1015 | 2406:1f80::/32 1016 | 2406:2080::/32 1017 | 2406:2700::/32 1018 | 2406:2780::/32 1019 | 2406:2880::/32 1020 | 2406:2980::/32 1021 | 2406:2a80::/32 1022 | 2406:2b80::/32 1023 | 2406:2c80::/32 1024 | 2406:2d80::/32 1025 | 2406:2e80::/32 1026 | 2406:2f80::/32 1027 | 2406:3080::/32 1028 | 2406:3180::/32 1029 | 2406:3280::/32 1030 | 2406:3300::/32 1031 | 2406:3380::/32 1032 | 2406:3480::/32 1033 | 2406:3580::/32 1034 | 2406:3680::/32 1035 | 2406:3700::/32 1036 | 2406:3780::/32 1037 | 2406:3880::/32 1038 | 2406:3980::/32 1039 | 2406:3d80::/32 1040 | 2406:3e80::/32 1041 | 2406:3f80::/32 1042 | 2406:4080::/32 1043 | 2406:4180::/32 1044 | 2406:4280::/32 1045 | 2406:4380::/32 1046 | 2406:4480::/32 1047 | 2406:4500::/32 1048 | 2406:4680::/32 1049 | 2406:4980::/32 1050 | 2406:4b80::/32 1051 | 2406:4c80::/32 1052 | 2406:4d00::/32 1053 | 2406:4d80::/32 1054 | 2406:4e80::/32 1055 | 2406:4f00::/32 1056 | 2406:4f80::/32 1057 | 2406:5080::/32 1058 | 2406:5180::/32 1059 | 2406:5280::/32 1060 | 2406:5380::/32 1061 | 2406:5480::/32 1062 | 2406:5580::/32 1063 | 2406:5680::/32 1064 | 2406:5780::/32 1065 | 2406:5880::/32 1066 | 2406:5980::/32 1067 | 2406:5d80::/32 1068 | 2406:5e80::/32 1069 | 2406:5f80::/32 1070 | 2406:6080::/32 1071 | 2406:6100::/32 1072 | 2406:6180::/32 1073 | 2406:6280::/32 1074 | 2406:6300::/32 1075 | 2406:6380::/32 1076 | 2406:6480::/32 1077 | 2406:6500::/32 1078 | 2406:6580::/32 1079 | 2406:6680::/32 1080 | 2406:6780::/32 1081 | 2406:6880::/32 1082 | 2406:6980::/32 1083 | 2406:6a80::/32 1084 | 2406:6b80::/32 1085 | 2406:6c80::/32 1086 | 2406:6d80::/32 1087 | 2406:6e80::/32 1088 | 2406:6f80::/32 1089 | 2406:7080::/32 1090 | 2406:7280::/32 1091 | 2406:7380::/32 1092 | 2406:7480::/32 1093 | 2406:7580::/32 1094 | 2406:7680::/32 1095 | 2406:7780::/32 1096 | 2406:7880::/32 1097 | 2406:7980::/32 1098 | 2406:7a80::/32 1099 | 2406:7b80::/32 1100 | 2406:7c80::/32 1101 | 2406:7d00::/32 1102 | 2406:7d80::/32 1103 | 2406:7e80::/32 1104 | 2406:7f80::/32 1105 | 2406:8080::/32 1106 | 2406:8180::/32 1107 | 2406:8280::/32 1108 | 2406:8380::/32 1109 | 2406:8480::/32 1110 | 2406:8500::/32 1111 | 2406:8580::/32 1112 | 2406:8780::/32 1113 | 2406:8880::/32 1114 | 2406:8980::/32 1115 | 2406:8a80::/32 1116 | 2406:8b80::/32 1117 | 2406:8c80::/32 1118 | 2406:8d80::/32 1119 | 2406:8e80::/32 1120 | 2406:8f80::/32 1121 | 2406:9180::/32 1122 | 2406:9200::/32 1123 | 2406:9280::/32 1124 | 2406:9380::/32 1125 | 2406:9480::/32 1126 | 2406:9780::/32 1127 | 2406:9d80::/32 1128 | 2406:9e80::/32 1129 | 2406:9f80::/32 1130 | 2406:a080::/32 1131 | 2406:a180::/32 1132 | 2406:a280::/32 1133 | 2406:a380::/32 1134 | 2406:a480::/32 1135 | 2406:a580::/32 1136 | 2406:a680::/32 1137 | 2406:a780::/32 1138 | 2406:a880::/32 1139 | 2406:a980::/32 1140 | 2406:aa80::/32 1141 | 2406:ab80::/32 1142 | 2406:ac80::/32 1143 | 2406:ad80::/32 1144 | 2406:ae80::/32 1145 | 2406:af80::/32 1146 | 2406:b080::/32 1147 | 2406:b880::/32 1148 | 2406:b980::/32 1149 | 2406:ba80::/32 1150 | 2406:bb80::/32 1151 | 2406:bc80::/32 1152 | 2406:bd80::/32 1153 | 2406:be80::/32 1154 | 2406:bf80::/32 1155 | 2406:c080::/32 1156 | 2406:c180::/32 1157 | 2406:c280::/32 1158 | 2406:c480::/32 1159 | 2406:c580::/32 1160 | 2406:c680::/32 1161 | 2406:c780::/32 1162 | 2406:c880::/32 1163 | 2406:c900::/32 1164 | 2406:c980::/32 1165 | 2406:ca80::/32 1166 | 2406:cb80::/32 1167 | 2406:cc80::/32 1168 | 2406:cd80::/32 1169 | 2406:ce80::/32 1170 | 2406:cf00::/32 1171 | 2406:cf80::/32 1172 | 2406:d080::/32 1173 | 2406:d180::/32 1174 | 2406:d280::/32 1175 | 2406:d380::/32 1176 | 2406:d480::/32 1177 | 2406:d580::/32 1178 | 2406:d680::/32 1179 | 2406:d780::/32 1180 | 2406:d880::/32 1181 | 2406:d980::/32 1182 | 2406:db80::/32 1183 | 2406:dc00::/32 1184 | 2406:dc80::/32 1185 | 2406:dd00::/32 1186 | 2406:dd80::/32 1187 | 2406:de80::/32 1188 | 2406:df80::/32 1189 | 2406:e080::/32 1190 | 2406:e180::/32 1191 | 2406:e280::/32 1192 | 2406:e380::/32 1193 | 2406:e500::/32 1194 | 2406:e580::/32 1195 | 2406:e680::/32 1196 | 2406:e780::/32 1197 | 2406:f280::/32 1198 | 2406:f300::/32 1199 | 2406:f980::/32 1200 | 2406:fc80::/32 1201 | 2406:fd80::/32 1202 | 2406:fe80::/32 1203 | 2406:ff00::/32 1204 | 2407:480::/32 1205 | 2407:580::/32 1206 | 2407:1180::/32 1207 | 2407:1900::/32 1208 | 2407:1d00::/32 1209 | 2407:1e80::/32 1210 | 2407:2280::/32 1211 | 2407:2380::/32 1212 | 2407:2780::/32 1213 | 2407:3700::/32 1214 | 2407:3900::/32 1215 | 2407:4580::/32 1216 | 2407:4680::/32 1217 | 2407:4880::/32 1218 | 2407:4980::/32 1219 | 2407:4a80::/32 1220 | 2407:4c80::/32 1221 | 2407:4d80::/32 1222 | 2407:4e80::/32 1223 | 2407:4f00::/32 1224 | 2407:5380::/32 1225 | 2407:5500::/32 1226 | 2407:5780::/32 1227 | 2407:6580::/32 1228 | 2407:6a80::/32 1229 | 2407:7680::/32 1230 | 2407:7780::/32 1231 | 2407:7880::/32 1232 | 2407:7980::/32 1233 | 2407:7c80::/32 1234 | 2407:7d00::/32 1235 | 2407:7d80::/32 1236 | 2407:7e80::/32 1237 | 2407:8880::/32 1238 | 2407:8b80::/32 1239 | 2407:9080::/32 1240 | 2407:9180::/32 1241 | 2407:9680::/32 1242 | 2407:9980::/32 1243 | 2407:9f00::/32 1244 | 2407:9f80::/32 1245 | 2407:a480::/32 1246 | 2407:a880::/32 1247 | 2407:ad80::/32 1248 | 2407:ae80::/32 1249 | 2407:af80::/32 1250 | 2407:b080::/32 1251 | 2407:b180::/32 1252 | 2407:b280::/32 1253 | 2407:b380::/32 1254 | 2407:b580::/32 1255 | 2407:b680::/32 1256 | 2407:b780::/32 1257 | 2407:b880::/32 1258 | 2407:b980::/32 1259 | 2407:ba00::/32 1260 | 2407:ba80::/32 1261 | 2407:bb80::/32 1262 | 2407:bc00::/32 1263 | 2407:bc80::/32 1264 | 2407:bd80::/32 1265 | 2407:be80::/32 1266 | 2407:bf80::/32 1267 | 2407:c080::/32 1268 | 2407:c380::/32 1269 | 2407:c400::/32 1270 | 2407:c480::/32 1271 | 2407:c580::/32 1272 | 2407:c680::/32 1273 | 2407:c780::/32 1274 | 2407:c880::/32 1275 | 2407:c900::/32 1276 | 2407:c980::/32 1277 | 2407:cb80::/32 1278 | 2407:cc80::/32 1279 | 2407:cd80::/32 1280 | 2407:ce80::/32 1281 | 2407:cf00::/32 1282 | 2407:cf80::/32 1283 | 2407:d480::/32 1284 | 2407:d580::/32 1285 | 2407:d680::/32 1286 | 2407:d780::/32 1287 | 2407:d880::/32 1288 | 2407:d980::/32 1289 | 2407:da80::/32 1290 | 2407:db80::/32 1291 | 2407:dc80::/32 1292 | 2407:dd80::/32 1293 | 2407:de80::/32 1294 | 2407:df80::/32 1295 | 2407:e080::/32 1296 | 2407:e180::/32 1297 | 2407:e280::/32 1298 | 2407:e380::/32 1299 | 2407:e480::/32 1300 | 2407:e580::/32 1301 | 2407:e680::/32 1302 | 2407:e780::/32 1303 | 2407:e800::/32 1304 | 2407:ea80::/32 1305 | 2407:eb80::/32 1306 | 2407:ec80::/32 1307 | 2407:ed80::/32 1308 | 2407:ee80::/32 1309 | 2407:ef80::/32 1310 | 2407:f080::/32 1311 | 2407:f180::/32 1312 | 2407:f280::/32 1313 | 2407:f380::/32 1314 | 2407:f480::/32 1315 | 2407:f580::/32 1316 | 2407:f680::/32 1317 | 2407:f780::/32 1318 | 2407:f880::/32 1319 | 2407:f980::/32 1320 | 2407:fa80::/32 1321 | 2407:fb80::/32 1322 | 2407:fc80::/32 1323 | 2407:fd80::/32 1324 | 2408:4000::/22 1325 | 2408:8000::/20 1326 | 2409:8000::/20 1327 | 240a:8000::/21 1328 | 240b:8000::/21 1329 | 240c::/28 1330 | 240c:8000::/21 1331 | 240d:8000::/24 1332 | 240e::/20 1333 | 240f:8000::/24 1334 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | //! `iprange` is a library for managing IP ranges. 2 | //! 3 | //! An [`IpRange`] is a set of networks. 4 | //! The type of the networks it holds is specified by the generics type of [`IpRange`]. 5 | //! 6 | //! You can add or remove an [`IpNet`] from an [`IpRange`]. 7 | //! An [`IpNet`] can be either an `Ipv4Net` or an `Ipv6Net`. 8 | //! 9 | //! It also supports these useful operations: 10 | //! 11 | //! * [`merge`] 12 | //! * [`intersect`] 13 | //! * [`exclude`] 14 | //! 15 | //! Here is a simple example: 16 | //! 17 | //! ``` 18 | //! extern crate iprange; 19 | //! extern crate ipnet; 20 | //! 21 | //! use std::net::Ipv4Addr; 22 | //! use iprange::IpRange; 23 | //! use ipnet::Ipv4Net; 24 | //! 25 | //! fn main() { 26 | //! let ip_range: IpRange = ["10.0.0.0/8", "172.16.0.0/16", "192.168.1.0/24"] 27 | //! .iter() 28 | //! .map(|s| s.parse().unwrap()) 29 | //! .collect(); 30 | //! 31 | //! assert!(ip_range.contains(&"172.16.32.1".parse::().unwrap())); 32 | //! assert!(ip_range.contains(&"192.168.1.1".parse::().unwrap())); 33 | //! } 34 | //! ``` 35 | //! 36 | //! [`IpRange`]: struct.IpRange.html 37 | //! [`IpNet`]: trait.IpNet.html 38 | //! [`Ipv4Net`]: https://docs.rs/ipnet/1.0.0/ipnet/struct.Ipv4Net.html 39 | //! [`merge`]: struct.IpRange.html#method.merge 40 | //! [`intersect`]: struct.IpRange.html#method.intersect 41 | //! [`exclude`]: struct.IpRange.html#method.exclude 42 | 43 | extern crate ipnet; 44 | #[cfg(feature = "serde")] 45 | #[macro_use] 46 | extern crate serde; 47 | 48 | use ipnet::{Ipv4Net, Ipv6Net}; 49 | use std::collections::VecDeque; 50 | use std::fmt; 51 | use std::iter::FromIterator; 52 | use std::marker::PhantomData; 53 | use std::net::{Ipv4Addr, Ipv6Addr}; 54 | 55 | /// A set of networks that supports various operations: 56 | /// 57 | /// * [`add`] 58 | /// * [`remove`] 59 | /// * [`contains`] 60 | /// * [`merge`] 61 | /// * [`intersect`] 62 | /// * [`exclude`] 63 | /// 64 | /// `IntoIter` is implemented for `&IpRange`. So, you can use `for` 65 | /// to iterate over the networks in an `IpRange`: 66 | /// 67 | /// ``` 68 | /// extern crate ipnet; 69 | /// extern crate iprange; 70 | /// 71 | /// use iprange::IpRange; 72 | /// use ipnet::Ipv4Net; 73 | /// 74 | /// fn main() { 75 | /// let ip_range: IpRange = ["172.16.0.0/16", "192.168.1.0/24"] 76 | /// .iter() 77 | /// .map(|s| s.parse().unwrap()) 78 | /// .collect(); 79 | /// 80 | /// for network in &ip_range { 81 | /// println!("{:?}", network); 82 | /// } 83 | /// } 84 | /// ``` 85 | /// 86 | /// [`add`]: struct.IpRange.html#method.add 87 | /// [`remove`]: struct.IpRange.html#method.remove 88 | /// [`contains`]: struct.IpRange.html#method.contains 89 | /// [`merge`]: struct.IpRange.html#method.merge 90 | /// [`intersect`]: struct.IpRange.html#method.intersect 91 | /// [`exclude`]: struct.IpRange.html#method.exclude 92 | #[derive(Clone, PartialEq, Eq)] 93 | pub struct IpRange { 94 | // IpRange uses a radix trie to store networks 95 | trie: IpTrie, 96 | phantom_net: PhantomData, 97 | } 98 | 99 | impl IpRange { 100 | /// Creates an empty `IpRange`. 101 | pub fn new() -> IpRange { 102 | IpRange { 103 | trie: IpTrie::new(), 104 | phantom_net: PhantomData, 105 | } 106 | } 107 | 108 | /// Add a network to `self`. 109 | /// 110 | /// Returns `&mut self` in order to enable method chaining. 111 | /// 112 | /// Pay attention that this operation will not combine two 113 | /// networks automatically. To do this, call [`simplify`] method 114 | /// explicitly. For example: 115 | /// 116 | /// ``` 117 | /// extern crate iprange; 118 | /// extern crate ipnet; 119 | /// 120 | /// use iprange::IpRange; 121 | /// use ipnet::Ipv4Net; 122 | /// 123 | /// fn main() { 124 | /// let mut ip_range: IpRange = IpRange::new(); 125 | /// ip_range.add("192.168.0.0/24".parse().unwrap()) 126 | /// .add("192.168.1.0/24".parse().unwrap()); 127 | /// assert_eq!(ip_range.into_iter().count(), 2); 128 | /// 129 | /// ip_range.simplify(); 130 | /// assert_eq!(ip_range.into_iter().count(), 1); 131 | /// } 132 | /// ``` 133 | /// 134 | /// [`simplify`]: struct.IpRange.html#method.simplify 135 | pub fn add(&mut self, network: N) -> &mut Self { 136 | self.trie.insert(network); 137 | self 138 | } 139 | 140 | /// Remove a network from `self`. 141 | /// 142 | /// Returns `&mut self` in order to enable method chaining. 143 | /// 144 | /// `self` does not necessarily has exactly the network to be removed. 145 | /// The network can be a networkwork of a network in `self`. 146 | /// This method will do splitting and remove the corresponding network. 147 | /// For example: 148 | /// 149 | /// ``` 150 | /// extern crate iprange; 151 | /// extern crate ipnet; 152 | /// 153 | /// use iprange::IpRange; 154 | /// use ipnet::Ipv4Net; 155 | /// 156 | /// fn main() { 157 | /// let mut ip_range: IpRange = IpRange::new(); 158 | /// ip_range.add("192.168.0.0/23".parse().unwrap()) 159 | /// .remove("192.168.0.0/24".parse().unwrap()); 160 | /// // Now, ip_range has only one network: "192.168.1.0/24". 161 | /// } 162 | /// ``` 163 | pub fn remove(&mut self, network: N) -> &mut Self { 164 | self.trie.remove(network); 165 | self 166 | } 167 | 168 | /// Returns `true` if the `self` has no network. 169 | /// 170 | /// # Examples 171 | /// ``` 172 | /// # extern crate ipnet; 173 | /// # 174 | /// # use iprange::IpRange; 175 | /// # use ipnet::Ipv4Net; 176 | /// let mut ip_range = IpRange::new(); 177 | /// let network: Ipv4Net = "1.0.1.0/24".parse().unwrap(); 178 | /// ip_range.add(network.clone()); 179 | /// ip_range.remove(network); 180 | /// assert!(ip_range.is_empty()); 181 | /// ``` 182 | pub fn is_empty(&self) -> bool { 183 | self.trie.root.is_none() 184 | } 185 | 186 | /// Simplify `self` by combining networks. For example: 187 | /// 188 | /// ``` 189 | /// extern crate iprange; 190 | /// extern crate ipnet; 191 | /// 192 | /// use iprange::IpRange; 193 | /// use ipnet::Ipv4Net; 194 | /// 195 | /// fn main() { 196 | /// let mut ip_range: IpRange = IpRange::new(); 197 | /// ip_range 198 | /// .add("192.168.0.0/20".parse().unwrap()) 199 | /// .add("192.168.16.0/22".parse().unwrap()) 200 | /// .add("192.168.20.0/24".parse().unwrap()) 201 | /// .add("192.168.21.0/24".parse().unwrap()) 202 | /// .add("192.168.22.0/24".parse().unwrap()) 203 | /// .add("192.168.23.0/24".parse().unwrap()) 204 | /// .add("192.168.24.0/21".parse().unwrap()) 205 | /// .simplify(); 206 | /// // Now, ip_range has only one network: "192.168.0.0/19". 207 | /// } 208 | /// ``` 209 | pub fn simplify(&mut self) { 210 | self.trie.simplify(); 211 | } 212 | 213 | /// Returns a new `IpRange` which contains all networks 214 | /// that is either in `self` or in `other`. 215 | /// 216 | /// The returned `IpRange` is simplified. 217 | pub fn merge(&self, other: &IpRange) -> Self { 218 | self.into_iter().chain(other.into_iter()).collect() 219 | } 220 | 221 | /// Returns a new `IpRange` which contains all networks 222 | /// that is in both `self` and `other`. 223 | /// 224 | /// The returned `IpRange` is simplified. 225 | pub fn intersect(&self, other: &IpRange) -> Self { 226 | let range1 = self.into_iter().filter(|network| other.contains(network)); 227 | let range2 = other.into_iter().filter(|network| self.contains(network)); 228 | range1.chain(range2).collect() 229 | } 230 | 231 | /// Returns a new `IpRange` which contains all networks 232 | /// that is in `self` while not in `other`. 233 | /// 234 | /// The returned `IpRange` is simplified. 235 | pub fn exclude(&self, other: &IpRange) -> IpRange { 236 | let mut new = (*self).clone(); 237 | for network in other { 238 | new.remove(network); 239 | } 240 | new 241 | } 242 | 243 | /// Tests if `self` contains `network`. 244 | /// 245 | /// `network` is anything that can be converted into `N`. 246 | /// See `ToNetwork` for detail. 247 | pub fn contains>(&self, network: &T) -> bool { 248 | self.supernet(&network.to_network()).is_some() 249 | } 250 | 251 | /// Returns the network in `self` which is the supernetwork of `network`. 252 | /// 253 | /// Returns None if no network in `self` contains `network`. 254 | pub fn supernet>(&self, network: &T) -> Option { 255 | self.trie.search(network.to_network()) 256 | } 257 | 258 | /// Returns the iterator to `&self`. 259 | pub fn iter(&self) -> IpRangeIter { 260 | self.into_iter() 261 | } 262 | } 263 | 264 | impl Default for IpRange 265 | where 266 | N: IpNet + ToNetwork + Clone, 267 | { 268 | fn default() -> Self { 269 | Self::new() 270 | } 271 | } 272 | 273 | impl fmt::Debug for IpRange { 274 | fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { 275 | let mut networks: Vec<_> = self 276 | .iter() 277 | .take(4) 278 | .map(|net| format!("{:?}", net)) 279 | .collect(); 280 | if networks.len() == 4 { 281 | networks[3] = "...".to_string(); 282 | } 283 | write!(f, "IpRange [{}]", networks.join(", ")) 284 | } 285 | } 286 | 287 | impl<'a, N> IntoIterator for &'a IpRange 288 | where 289 | N: IpNet + ToNetwork + Clone, 290 | { 291 | type Item = N; 292 | type IntoIter = IpRangeIter<'a, N>; 293 | 294 | fn into_iter(self) -> Self::IntoIter { 295 | let mut queue = VecDeque::new(); 296 | if let Some(root) = self.trie.root.as_ref() { 297 | let state: N::S = root.init_traverse_state(); 298 | queue.push_back(state); 299 | } 300 | IpRangeIter { 301 | queue, 302 | _phantom: PhantomData, 303 | } 304 | } 305 | } 306 | 307 | #[cfg(feature = "serde")] 308 | impl serde::Serialize for IpRange { 309 | fn serialize(&self, serializer: S) -> Result 310 | where 311 | S: serde::Serializer, 312 | { 313 | serde::Serialize::serialize(&self.trie.root, serializer) 314 | } 315 | } 316 | 317 | #[cfg(feature = "serde")] 318 | impl<'de, N: IpNet> serde::Deserialize<'de> for IpRange { 319 | fn deserialize(deserializer: D) -> Result 320 | where 321 | D: serde::Deserializer<'de>, 322 | { 323 | Ok(IpRange { 324 | trie: IpTrie { 325 | root: serde::Deserialize::deserialize(deserializer)?, 326 | phantom_net: PhantomData, 327 | }, 328 | phantom_net: PhantomData, 329 | }) 330 | } 331 | } 332 | 333 | /// An abstraction for IP networks. 334 | pub trait IpNet: ToNetwork + fmt::Debug + Ord + Copy 335 | where 336 | Self: Sized, 337 | { 338 | /// Used for internal traversing. 339 | type S: TraverseState; 340 | ///`I` is an iterator to the prefix bits of the network. 341 | type I: Iterator; 342 | 343 | /// Returns the iterator to the prefix bits of the network. 344 | fn prefix_bits(&self) -> Self::I; 345 | 346 | /// Returns the prefix length. 347 | fn prefix_len(&self) -> u8; 348 | 349 | /// Returns a copy of the network with the address truncated to the given length. 350 | fn with_new_prefix(&self, len: u8) -> Self; 351 | } 352 | 353 | /// Anything that can be converted to `IpNet`. 354 | /// 355 | /// Due to limitation of Rust's type system, 356 | /// this trait is only implemented for some 357 | /// concrete types. 358 | pub trait ToNetwork { 359 | fn to_network(&self) -> N; 360 | } 361 | 362 | /// An iterator over the networks in an [`IpRange`]. 363 | /// 364 | /// BFS (Breadth-First-Search) is used for traversing the inner Radix Trie. 365 | /// 366 | /// [`IpRange`]: struct.IpRange.html 367 | pub struct IpRangeIter<'a, N> 368 | where 369 | N: IpNet, 370 | { 371 | queue: VecDeque, 372 | _phantom: PhantomData<&'a N>, 373 | } 374 | 375 | /// Used for internal traversing. 376 | /// 377 | /// You can simply ignore this trait. 378 | #[doc(hidden)] 379 | pub trait TraverseState { 380 | type Net: IpNet; 381 | 382 | fn node(&self) -> *const IpTrieNode; 383 | 384 | fn init(root: &IpTrieNode) -> Self; 385 | 386 | fn transit(&self, next_node: &IpTrieNode, current_bit: bool) -> Self; 387 | 388 | fn build(&self) -> Self::Net; 389 | } 390 | 391 | impl<'a, N> Iterator for IpRangeIter<'a, N> 392 | where 393 | N: IpNet, 394 | { 395 | type Item = N; 396 | 397 | fn next(&mut self) -> Option { 398 | while let Some(elem) = self.queue.pop_front() { 399 | // Get the front element of the queue. 400 | // If it is a leaf, it represents a network. 401 | // SAFETY: IpRangeIter has an PhantomData<'a N> so the IpNet must 402 | // exist when this iterator exists. 403 | let node = unsafe { &*elem.node() }; 404 | if node.is_leaf() { 405 | return Some(elem.build()); 406 | } 407 | for &i in &[0, 1] { 408 | if let Some(child) = node.children[i as usize].as_ref() { 409 | // Push the child nodes into the queue 410 | self.queue.push_back(elem.transit(child, i != 0)); 411 | } 412 | } 413 | } 414 | None 415 | } 416 | } 417 | 418 | impl FromIterator for IpRange 419 | where 420 | N: IpNet + ToNetwork + Clone, 421 | { 422 | fn from_iter(iter: T) -> Self 423 | where 424 | T: IntoIterator, 425 | { 426 | let mut ip_range = IpRange::new(); 427 | for network in iter { 428 | ip_range.add(network); 429 | } 430 | ip_range.simplify(); 431 | ip_range 432 | } 433 | } 434 | 435 | #[derive(Clone, Debug, PartialEq, Eq, Default)] 436 | struct IpTrie 437 | where 438 | N: IpNet, 439 | { 440 | root: Option, 441 | phantom_net: PhantomData, 442 | } 443 | 444 | impl IpTrie 445 | where 446 | N: IpNet, 447 | { 448 | fn new() -> IpTrie { 449 | IpTrie { 450 | root: None, 451 | phantom_net: PhantomData, 452 | } 453 | } 454 | 455 | fn insert(&mut self, network: N) { 456 | // The current node 457 | let mut node = if let Some(root) = &mut self.root { 458 | if root.is_leaf() { 459 | // Insert into all-zero network has no effect. 460 | return; 461 | } 462 | root 463 | } else { 464 | self.root = Some(IpTrieNode::new()); 465 | self.root.as_mut().unwrap() 466 | }; 467 | 468 | let bits = network.prefix_bits(); 469 | for bit in bits { 470 | let i = bit as usize; 471 | let child = &mut node.children[i]; 472 | match child { 473 | Some(child) => { 474 | if child.is_leaf() { 475 | // This means the network to be inserted 476 | // is already in the trie. 477 | return; 478 | } 479 | node = child; 480 | } 481 | None => { 482 | *child = Some(Box::new(IpTrieNode::new())); 483 | node = child.as_mut().unwrap(); 484 | } 485 | } 486 | } 487 | node.children = [None, None]; 488 | } 489 | 490 | fn search(&self, network: N) -> Option { 491 | let mut node = self.root.as_ref()?; 492 | 493 | let bits = network.prefix_bits(); 494 | for (j, bit) in bits.enumerate() { 495 | if node.is_leaf() { 496 | return Some(network.with_new_prefix(j as u8)); 497 | } 498 | 499 | let i = bit as usize; 500 | let child = node.children[i].as_ref(); 501 | match child { 502 | Some(child) => node = child, 503 | None => return None, 504 | } 505 | } 506 | 507 | if node.is_leaf() { 508 | Some(network) 509 | } else { 510 | None 511 | } 512 | 513 | // The commented code below is more clear. However, this uses a 514 | // commented method `search` in IpTrieNode, and the performance 515 | // is relatively poorer that the implementation above. 516 | 517 | // self.root.as_ref().and_then(|root| { 518 | // let mut bits = network.prefix_bits(); 519 | // let first_bit = bits.next(); 520 | // root.borrow() 521 | // .search(bits, first_bit, 0) 522 | // .map(|prefix_size| { 523 | // network.with_new_prefix(prefix_size) 524 | // }) 525 | // }) 526 | } 527 | 528 | fn remove(&mut self, network: N) { 529 | if let Some(root) = self.root.as_mut() { 530 | let mut bits = network.prefix_bits(); 531 | if let Some(next_bit) = bits.next() { 532 | root.remove(bits, next_bit); 533 | // If root becomes a leaf after removing the network, 534 | // we should simply reinitialize the trie. 535 | if !root.is_leaf() { 536 | return; 537 | } 538 | } 539 | } 540 | self.root = None // Reinitialize the trie 541 | } 542 | 543 | fn simplify(&mut self) { 544 | if let Some(root) = self.root.as_mut() { 545 | root.simplify(); 546 | } 547 | } 548 | } 549 | 550 | /// Node of the inner radix trie. 551 | #[derive(Clone, Debug, PartialEq, Eq)] 552 | #[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(transparent))] 553 | pub struct IpTrieNode { 554 | children: [Option>; 2], 555 | } 556 | 557 | impl IpTrieNode { 558 | fn new() -> IpTrieNode { 559 | IpTrieNode { 560 | children: [None, None], 561 | } 562 | } 563 | 564 | #[inline] 565 | fn init_traverse_state(&self) -> S { 566 | S::init(self) 567 | } 568 | 569 | // If both the zero child and the one child of a node are None, 570 | // it is a leaf node, and it represents a network whose 571 | // prefix is the path from root to it. 572 | #[inline] 573 | fn is_leaf(&self) -> bool { 574 | self.children[0].is_none() && self.children[1].is_none() 575 | } 576 | 577 | // If the two children of a node are all leaf node, 578 | // they can be merged into a new leaf node. 579 | fn simplify(&mut self) { 580 | let leaf_count: u32 = self 581 | .children 582 | .iter_mut() 583 | .map(|child| { 584 | child 585 | .as_mut() 586 | .map(|child| { 587 | child.simplify(); 588 | child.is_leaf() as u32 589 | }) 590 | .unwrap_or_default() 591 | }) 592 | .sum(); 593 | if leaf_count == 2 { 594 | self.children = [None, None]; 595 | } 596 | } 597 | 598 | // fn search(&self, mut bits: I, current_bit: Option, acc: u8) -> Option 599 | // where I: Iterator 600 | // { 601 | // if self.is_leaf() { 602 | // Some(acc) 603 | // } else { 604 | // if let Some(current_bit) = current_bit { 605 | // if let Some(child) = self.children[current_bit as usize].clone() { 606 | // let next_bit = bits.next(); 607 | // return child 608 | // .borrow_mut() 609 | // .search(bits, next_bit, acc + 1); 610 | // } 611 | // } 612 | // None 613 | // } 614 | // } 615 | 616 | fn remove(&mut self, mut bits: I, current_bit: bool) 617 | where 618 | I: Iterator, 619 | { 620 | let i = current_bit as usize; 621 | let next_bit = bits.next(); 622 | 623 | // If the current node is a leaf node, and we have a network 624 | // to remove, we must split it into two deeper nodes. 625 | if self.is_leaf() { 626 | self.children = [ 627 | Some(Box::new(IpTrieNode::new())), 628 | Some(Box::new(IpTrieNode::new())), 629 | ]; 630 | } 631 | 632 | match next_bit { 633 | Some(next_bit) => { 634 | let is_leaf = if let Some(child) = self.children[i].as_mut() { 635 | // Remove the deeper node recursively 636 | child.remove(bits, next_bit); 637 | child.is_leaf() 638 | } else { 639 | false 640 | }; 641 | // In general, a leaf node represents a complete 642 | // network. However, the child node cannot be a complete 643 | // network after removing a network from it. 644 | // This occurring indicates the only child of the 645 | // child node is removed, and now this child node 646 | // should be marked None. 647 | if is_leaf { 648 | self.children[i] = None; 649 | } 650 | } 651 | None => { 652 | // Remove the node that represents the network. 653 | self.children[i] = None; 654 | } 655 | } 656 | } 657 | } 658 | 659 | const MSO_U128: u128 = 1 << 127; // Most significant one for u128 660 | const MSO_U32: u32 = 1 << 31; // Most significant one for u32 661 | 662 | impl IpNet for Ipv4Net { 663 | type S = Ipv4TraverseState; 664 | type I = Ipv4PrefixBitIterator; 665 | 666 | #[inline] 667 | fn prefix_bits(&self) -> Self::I { 668 | let prefix: u32 = self.addr().into(); 669 | Ipv4PrefixBitIterator { 670 | prefix, 671 | prefix_len: self.prefix_len(), 672 | } 673 | } 674 | 675 | #[inline] 676 | fn prefix_len(&self) -> u8 { 677 | self.prefix_len() 678 | } 679 | 680 | #[inline] 681 | fn with_new_prefix(&self, len: u8) -> Self { 682 | Ipv4Net::new(self.addr(), len).unwrap().trunc() 683 | } 684 | } 685 | 686 | impl ToNetwork for Ipv4Net { 687 | #[inline] 688 | fn to_network(&self) -> Ipv4Net { 689 | self.trunc() 690 | } 691 | } 692 | 693 | impl ToNetwork for Ipv4Addr { 694 | #[inline] 695 | fn to_network(&self) -> Ipv4Net { 696 | Ipv4Net::new(*self, 32).unwrap() 697 | } 698 | } 699 | 700 | impl ToNetwork for u32 { 701 | #[inline] 702 | fn to_network(&self) -> Ipv4Net { 703 | Ipv4Net::new((*self).into(), 32).unwrap() 704 | } 705 | } 706 | 707 | impl ToNetwork for [u8; 4] { 708 | #[inline] 709 | fn to_network(&self) -> Ipv4Net { 710 | Ipv4Net::new((*self).into(), 32).unwrap() 711 | } 712 | } 713 | 714 | #[doc(hidden)] 715 | pub struct Ipv4TraverseState { 716 | node: *const IpTrieNode, 717 | prefix: u32, 718 | prefix_len: u8, 719 | } 720 | 721 | impl TraverseState for Ipv4TraverseState { 722 | type Net = Ipv4Net; 723 | 724 | #[inline] 725 | fn node(&self) -> *const IpTrieNode { 726 | self.node 727 | } 728 | 729 | #[inline] 730 | fn init(root: &IpTrieNode) -> Self { 731 | Ipv4TraverseState { 732 | node: root, 733 | prefix: 0, 734 | prefix_len: 0, 735 | } 736 | } 737 | 738 | #[inline] 739 | fn transit(&self, next_node: &IpTrieNode, current_bit: bool) -> Self { 740 | let mask = if current_bit { 741 | MSO_U32 >> self.prefix_len 742 | } else { 743 | 0 744 | }; 745 | Ipv4TraverseState { 746 | node: next_node, 747 | prefix: self.prefix | mask, 748 | prefix_len: self.prefix_len + 1, 749 | } 750 | } 751 | 752 | #[inline] 753 | fn build(&self) -> Self::Net { 754 | Ipv4Net::new(self.prefix.into(), self.prefix_len as u8).unwrap() 755 | } 756 | } 757 | 758 | #[doc(hidden)] 759 | pub struct Ipv4PrefixBitIterator { 760 | prefix: u32, 761 | prefix_len: u8, 762 | } 763 | 764 | impl Iterator for Ipv4PrefixBitIterator { 765 | type Item = bool; 766 | 767 | #[inline] 768 | fn next(&mut self) -> Option { 769 | if self.prefix_len > 0 { 770 | let prefix = self.prefix; 771 | self.prefix <<= 1; 772 | self.prefix_len -= 1; 773 | Some(prefix & MSO_U32 != 0) 774 | } else { 775 | None 776 | } 777 | } 778 | } 779 | 780 | impl IpNet for Ipv6Net { 781 | type S = Ipv6TraverseState; 782 | type I = Ipv6PrefixBitIterator; 783 | 784 | #[inline] 785 | fn prefix_bits(&self) -> Self::I { 786 | Ipv6PrefixBitIterator { 787 | prefix: self.addr().into(), 788 | prefix_len: self.prefix_len(), 789 | } 790 | } 791 | 792 | #[inline] 793 | fn prefix_len(&self) -> u8 { 794 | self.prefix_len() 795 | } 796 | 797 | #[inline] 798 | fn with_new_prefix(&self, len: u8) -> Self { 799 | Ipv6Net::new(self.addr(), len).unwrap().trunc() 800 | } 801 | } 802 | 803 | impl ToNetwork for Ipv6Net { 804 | #[inline] 805 | fn to_network(&self) -> Ipv6Net { 806 | self.trunc() 807 | } 808 | } 809 | 810 | impl ToNetwork for Ipv6Addr { 811 | #[inline] 812 | fn to_network(&self) -> Ipv6Net { 813 | Ipv6Net::new(*self, 128).unwrap() 814 | } 815 | } 816 | 817 | impl ToNetwork for u128 { 818 | #[inline] 819 | fn to_network(&self) -> Ipv6Net { 820 | Ipv6Net::new((*self).into(), 128).unwrap() 821 | } 822 | } 823 | 824 | impl ToNetwork for [u8; 16] { 825 | #[inline] 826 | fn to_network(&self) -> Ipv6Net { 827 | Ipv6Net::new((*self).into(), 128).unwrap() 828 | } 829 | } 830 | 831 | impl ToNetwork for [u16; 8] { 832 | #[inline] 833 | fn to_network(&self) -> Ipv6Net { 834 | Ipv6Net::new((*self).into(), 128).unwrap() 835 | } 836 | } 837 | 838 | #[doc(hidden)] 839 | pub struct Ipv6TraverseState { 840 | node: *const IpTrieNode, 841 | prefix: u128, 842 | prefix_len: u8, 843 | } 844 | 845 | impl TraverseState for Ipv6TraverseState { 846 | type Net = Ipv6Net; 847 | 848 | #[inline] 849 | fn node(&self) -> *const IpTrieNode { 850 | self.node 851 | } 852 | 853 | #[inline] 854 | fn init(root: &IpTrieNode) -> Self { 855 | Ipv6TraverseState { 856 | node: root, 857 | prefix: 0, 858 | prefix_len: 0, 859 | } 860 | } 861 | 862 | #[inline] 863 | fn transit(&self, next_node: &IpTrieNode, current_bit: bool) -> Self { 864 | let mask = if current_bit { 865 | MSO_U128 >> self.prefix_len 866 | } else { 867 | 0 868 | }; 869 | Ipv6TraverseState { 870 | node: next_node, 871 | prefix: self.prefix | mask, 872 | prefix_len: self.prefix_len + 1, 873 | } 874 | } 875 | 876 | #[inline] 877 | fn build(&self) -> Self::Net { 878 | Ipv6Net::new(self.prefix.into(), self.prefix_len as u8).unwrap() 879 | } 880 | } 881 | 882 | #[doc(hidden)] 883 | pub struct Ipv6PrefixBitIterator { 884 | prefix: u128, 885 | prefix_len: u8, 886 | } 887 | 888 | impl Iterator for Ipv6PrefixBitIterator { 889 | type Item = bool; 890 | 891 | #[inline] 892 | fn next(&mut self) -> Option { 893 | if self.prefix_len > 0 { 894 | let prefix = self.prefix; 895 | self.prefix <<= 1; 896 | self.prefix_len -= 1; 897 | Some(prefix & MSO_U128 != 0) 898 | } else { 899 | None 900 | } 901 | } 902 | } 903 | 904 | #[cfg(test)] 905 | mod tests { 906 | use super::*; 907 | 908 | #[test] 909 | fn parse_invalid_networks() { 910 | assert!("192.168.256.130/5".parse::().is_err()); 911 | assert!("192.168.5.130/-1".parse::().is_err()); 912 | assert!("192.168.5.130/33".parse::().is_err()); 913 | assert!("192.168.5.33".parse::().is_err()); 914 | assert!("192.168.5.130/0.0.0".parse::().is_err()); 915 | assert!("192.168.5.130/0.0.0.256".parse::().is_err()); 916 | } 917 | 918 | impl IpRange { 919 | fn get_network(&self, prefix_size: usize, prefix: &str) -> Option { 920 | self.trie 921 | .search(format!("{}/{}", prefix, prefix_size).parse().unwrap()) 922 | } 923 | } 924 | 925 | #[test] 926 | fn add_single_network() { 927 | let mut ip_range = IpRange::new(); 928 | let network = "192.168.5.0/24".parse().unwrap(); 929 | ip_range.add(network); 930 | assert_eq!(ip_range.into_iter().count(), 1); 931 | assert_eq!(Some(network), ip_range.get_network(24, "192.168.5.0")); 932 | } 933 | 934 | #[test] 935 | fn add_multiple_networks_disjoint() { 936 | let mut ip_range = IpRange::new(); 937 | let network1 = "10.0.0.0/8".parse().unwrap(); 938 | let network2 = "172.16.0.0/16".parse().unwrap(); 939 | let network3 = "192.168.1.0/24".parse().unwrap(); 940 | let network4 = "254.254.254.254/32".parse().unwrap(); 941 | ip_range 942 | .add(network1) 943 | .add(network2) 944 | .add(network3) 945 | .add(network4) 946 | .simplify(); 947 | 948 | assert_eq!(ip_range.into_iter().count(), 4); 949 | assert_eq!(Some(network1), ip_range.get_network(8, "10.0.0.0")); 950 | assert_eq!(Some(network2), ip_range.get_network(16, "172.16.0.0")); 951 | assert_eq!(Some(network3), ip_range.get_network(24, "192.168.1.0")); 952 | assert_eq!(Some(network4), ip_range.get_network(32, "254.254.254.254")); 953 | } 954 | 955 | #[test] 956 | fn simplify() { 957 | let mut ip_range = IpRange::new(); 958 | ip_range 959 | .add("192.168.0.0/20".parse().unwrap()) 960 | .add("192.168.16.0/22".parse().unwrap()) 961 | .add("192.168.20.0/24".parse().unwrap()) 962 | .add("192.168.21.0/24".parse().unwrap()) 963 | .add("192.168.22.0/24".parse().unwrap()) 964 | .add("192.168.23.0/24".parse().unwrap()) 965 | .add("192.168.24.0/21".parse().unwrap()) 966 | .simplify(); 967 | 968 | assert_eq!(ip_range.into_iter().count(), 1); 969 | assert_eq!( 970 | "192.168.0.0/19".parse().ok(), 971 | ip_range.get_network(19, "192.168.0.0") 972 | ); 973 | } 974 | 975 | #[test] 976 | fn add_multiple_networks_joint1() { 977 | let mut ip_range = IpRange::new(); 978 | let network1 = "172.16.4.0/24".parse().unwrap(); 979 | let network2 = "172.16.4.0/22".parse().unwrap(); 980 | ip_range.add(network1).add(network2).simplify(); 981 | 982 | assert_eq!(ip_range.into_iter().count(), 1); 983 | assert_eq!(Some(network2), ip_range.get_network(22, "172.16.4.0")); 984 | } 985 | 986 | #[test] 987 | fn add_multiple_networks_joint2() { 988 | let mut ip_range = IpRange::new(); 989 | let network1 = "172.16.5.0/24".parse().unwrap(); 990 | let network2 = "172.16.4.0/22".parse().unwrap(); 991 | ip_range.add(network1).add(network2).simplify(); 992 | 993 | assert_eq!(ip_range.into_iter().count(), 1); 994 | assert_eq!(Some(network2), ip_range.get_network(22, "172.16.4.0")); 995 | } 996 | 997 | #[test] 998 | fn add_multiple_networks_joint3() { 999 | let mut ip_range = IpRange::new(); 1000 | let network1 = "172.16.4.0/24".parse().unwrap(); 1001 | let network2 = "172.16.4.0/22".parse().unwrap(); 1002 | ip_range.add(network2).add(network1).simplify(); 1003 | 1004 | assert_eq!(ip_range.into_iter().count(), 1); 1005 | assert_eq!(Some(network2), ip_range.get_network(22, "172.16.4.0")); 1006 | } 1007 | 1008 | #[test] 1009 | fn add_multiple_networks_joint4() { 1010 | let mut ip_range = IpRange::new(); 1011 | let network1 = "172.16.5.0/24".parse().unwrap(); 1012 | let network2 = "172.16.5.0/24".parse().unwrap(); 1013 | ip_range.add(network1).add(network2).simplify(); 1014 | 1015 | assert_eq!(ip_range.into_iter().count(), 1); 1016 | assert_eq!(Some(network2), ip_range.get_network(24, "172.16.5.0")); 1017 | } 1018 | 1019 | #[test] 1020 | fn add_multiple_networks_joint5() { 1021 | let mut ip_range = IpRange::new(); 1022 | let network1 = "172.16.5.0/24".parse().unwrap(); 1023 | let network2 = "172.16.0.0/16".parse().unwrap(); 1024 | ip_range.add(network1).add(network2).simplify(); 1025 | 1026 | assert_eq!(ip_range.into_iter().count(), 1); 1027 | assert_eq!(Some(network2), ip_range.get_network(16, "172.16.0.0")); 1028 | } 1029 | 1030 | #[test] 1031 | fn add_multiple_networks_joint6() { 1032 | let mut ip_range = IpRange::new(); 1033 | let network1 = "172.16.5.0/24".parse().unwrap(); 1034 | let network2 = "0.0.0.0/0".parse().unwrap(); 1035 | ip_range.add(network1).add(network2).simplify(); 1036 | 1037 | assert_eq!(ip_range.into_iter().count(), 1); 1038 | assert_eq!(Some(network2), ip_range.get_network(0, "0.0.0.0")); 1039 | } 1040 | 1041 | #[test] 1042 | fn remove_networks_no_split() { 1043 | let mut ip_range = IpRange::new(); 1044 | let network1 = "192.168.0.0/24".parse().unwrap(); 1045 | let network2 = "172.16.0.0/16".parse().unwrap(); 1046 | ip_range.add(network1).add(network2).simplify(); 1047 | 1048 | ip_range.remove(network1); 1049 | assert_eq!(ip_range.into_iter().count(), 1); 1050 | assert_eq!(Some(network2), ip_range.get_network(16, "172.16.0.0")); 1051 | } 1052 | 1053 | #[test] 1054 | fn remove_networks_split1() { 1055 | let mut ip_range = IpRange::new(); 1056 | ip_range.add("192.168.0.0/22".parse().unwrap()); 1057 | ip_range 1058 | .remove("192.168.2.0/23".parse().unwrap()) 1059 | .simplify(); 1060 | 1061 | assert_eq!(ip_range.into_iter().count(), 1); 1062 | assert_eq!( 1063 | Some("192.168.0.0/23".parse().unwrap()), 1064 | ip_range.get_network(23, "192.168.0.0") 1065 | ); 1066 | } 1067 | 1068 | #[test] 1069 | fn remove_networks_split2() { 1070 | let mut ip_range = IpRange::new(); 1071 | ip_range.add("192.168.0.0/22".parse().unwrap()); 1072 | ip_range 1073 | .remove("192.168.0.0/23".parse().unwrap()) 1074 | .simplify(); 1075 | 1076 | assert_eq!(ip_range.into_iter().count(), 1); 1077 | assert_eq!( 1078 | Some("192.168.2.0/23".parse().unwrap()), 1079 | ip_range.get_network(23, "192.168.2.0") 1080 | ); 1081 | } 1082 | 1083 | #[test] 1084 | fn remove_networks_split3() { 1085 | let mut ip_range = IpRange::new(); 1086 | ip_range.add("192.168.0.0/22".parse().unwrap()); 1087 | ip_range 1088 | .remove("192.168.2.0/25".parse().unwrap()) 1089 | .simplify(); 1090 | 1091 | assert_eq!(ip_range.into_iter().count(), 3); 1092 | assert_eq!( 1093 | Some("192.168.0.0/23".parse().unwrap()), 1094 | ip_range.get_network(23, "192.168.0.0") 1095 | ); 1096 | assert_eq!( 1097 | Some("192.168.2.128/25".parse().unwrap()), 1098 | ip_range.get_network(25, "192.168.2.128") 1099 | ); 1100 | assert_eq!( 1101 | Some("192.168.3.0/24".parse().unwrap()), 1102 | ip_range.get_network(24, "192.168.3.0") 1103 | ); 1104 | } 1105 | 1106 | impl IpRange { 1107 | fn contains_ip(&self, ip: &str) -> bool { 1108 | self.contains(&ip.parse::().unwrap()) 1109 | } 1110 | 1111 | fn find_network_by_ip(&self, ip: &str) -> Option { 1112 | self.supernet(&ip.parse::().unwrap()) 1113 | } 1114 | 1115 | fn contains_network(&self, network: &str) -> bool { 1116 | self.contains(&network.parse::().unwrap()) 1117 | } 1118 | 1119 | fn super_network_by_network(&self, network: &str) -> Option { 1120 | self.supernet(&network.parse::().unwrap()) 1121 | } 1122 | } 1123 | 1124 | #[test] 1125 | fn contains_ip_with_one_network() { 1126 | let mut ip_range = IpRange::new(); 1127 | ip_range.add("192.168.0.0/24".parse().unwrap()); 1128 | 1129 | assert!(ip_range.contains_ip("192.168.0.0")); 1130 | assert!(ip_range.contains_ip("192.168.0.128")); 1131 | assert!(ip_range.contains_ip("192.168.0.255")); 1132 | assert!(!ip_range.contains_ip("192.167.255.255")); 1133 | assert!(!ip_range.contains_ip("192.168.1.0")); 1134 | } 1135 | 1136 | #[test] 1137 | fn contains_ip_with_many_networks() { 1138 | let mut ip_range = IpRange::new(); 1139 | ip_range 1140 | .add("192.168.0.0/24".parse().unwrap()) 1141 | .add("172.16.0.0/16".parse().unwrap()) 1142 | .add("10.0.0.0/8".parse().unwrap()) 1143 | .simplify(); 1144 | 1145 | assert!(ip_range.contains_ip("192.168.0.128")); 1146 | assert!(ip_range.contains_ip("172.16.32.1")); 1147 | assert!(ip_range.contains_ip("10.10.10.10")); 1148 | assert!(!ip_range.contains_ip("0.0.0.0")); 1149 | assert!(!ip_range.contains_ip("8.8.8.8")); 1150 | assert!(!ip_range.contains_ip("11.0.0.0")); 1151 | assert!(!ip_range.contains_ip("192.167.255.255")); 1152 | assert!(!ip_range.contains_ip("255.255.255.255")); 1153 | } 1154 | 1155 | #[test] 1156 | fn contains_ip_boundary1() { 1157 | let mut ip_range = IpRange::new(); 1158 | ip_range.add("0.0.0.0/0".parse().unwrap()); 1159 | 1160 | assert!(ip_range.contains_ip("0.0.0.0")); 1161 | assert!(ip_range.contains_ip("8.8.8.8")); 1162 | assert!(ip_range.contains_ip("192.168.0.0")); 1163 | assert!(ip_range.contains_ip("192.168.1.1")); 1164 | } 1165 | 1166 | #[test] 1167 | fn contains_ip_boundary2() { 1168 | let mut ip_range = IpRange::new(); 1169 | ip_range.add("254.254.254.254/32".parse().unwrap()); 1170 | 1171 | assert!(!ip_range.contains_ip("0.0.0.0")); 1172 | assert!(!ip_range.contains_ip("8.8.8.8")); 1173 | assert!(!ip_range.contains_ip("192.168.0.0")); 1174 | assert!(ip_range.contains_ip("254.254.254.254")); 1175 | } 1176 | 1177 | #[test] 1178 | fn find_network_with_one_network() { 1179 | let mut ip_range = IpRange::new(); 1180 | let network = "192.168.0.0/24".parse().unwrap(); 1181 | ip_range.add(network); 1182 | 1183 | assert_eq!(Some(network), ip_range.find_network_by_ip("192.168.0.0")); 1184 | assert_eq!(Some(network), ip_range.find_network_by_ip("192.168.0.128")); 1185 | assert_eq!(Some(network), ip_range.find_network_by_ip("192.168.0.255")); 1186 | assert_eq!(None, ip_range.find_network_by_ip("192.167.255.255")); 1187 | assert_eq!(None, ip_range.find_network_by_ip("192.168.1.0")); 1188 | } 1189 | 1190 | #[test] 1191 | fn find_network_with_many_networks() { 1192 | let mut ip_range = IpRange::new(); 1193 | let network1 = "192.168.0.0/24".parse().unwrap(); 1194 | let network2 = "172.16.0.0/16".parse().unwrap(); 1195 | let network3 = "10.0.0.0/8".parse().unwrap(); 1196 | ip_range 1197 | .add(network1) 1198 | .add(network2) 1199 | .add(network3) 1200 | .simplify(); 1201 | 1202 | assert_eq!(Some(network1), ip_range.find_network_by_ip("192.168.0.128")); 1203 | assert_eq!(Some(network2), ip_range.find_network_by_ip("172.16.32.1")); 1204 | assert_eq!(Some(network3), ip_range.find_network_by_ip("10.10.10.10")); 1205 | assert_eq!(None, ip_range.find_network_by_ip("0.0.0.0")); 1206 | assert_eq!(None, ip_range.find_network_by_ip("8.8.8.8")); 1207 | assert_eq!(None, ip_range.find_network_by_ip("11.0.0.0")); 1208 | assert_eq!(None, ip_range.find_network_by_ip("192.167.255.255")); 1209 | assert_eq!(None, ip_range.find_network_by_ip("255.255.255.255")); 1210 | } 1211 | 1212 | #[test] 1213 | fn find_network_boundary1() { 1214 | let mut ip_range = IpRange::new(); 1215 | let network = "0.0.0.0/0".parse().unwrap(); 1216 | ip_range.add(network); 1217 | 1218 | assert_eq!(Some(network), ip_range.find_network_by_ip("0.0.0.0")); 1219 | assert_eq!(Some(network), ip_range.find_network_by_ip("8.8.8.8")); 1220 | assert_eq!(Some(network), ip_range.find_network_by_ip("192.168.0.0")); 1221 | assert_eq!(Some(network), ip_range.find_network_by_ip("192.168.1.1")); 1222 | } 1223 | 1224 | #[test] 1225 | fn find_network_boundary2() { 1226 | let mut ip_range = IpRange::new(); 1227 | let network = "254.254.254.254/32".parse().unwrap(); 1228 | ip_range.add(network); 1229 | 1230 | assert_eq!(None, ip_range.find_network_by_ip("0.0.0.0")); 1231 | assert_eq!(None, ip_range.find_network_by_ip("8.8.8.8")); 1232 | assert_eq!(None, ip_range.find_network_by_ip("192.168.0.0")); 1233 | assert_eq!( 1234 | Some(network), 1235 | ip_range.find_network_by_ip("254.254.254.254") 1236 | ); 1237 | } 1238 | 1239 | #[test] 1240 | fn contains_network_with_one_network() { 1241 | let mut ip_range = IpRange::new(); 1242 | ip_range.add("192.168.0.0/24".parse().unwrap()); 1243 | 1244 | assert!(ip_range.contains_network("192.168.0.0/24")); 1245 | assert!(ip_range.contains_network("192.168.0.128/25")); 1246 | assert!(!ip_range.contains_network("192.168.0.0/23")); 1247 | assert!(!ip_range.contains_network("192.168.1.0/24")); 1248 | assert!(!ip_range.contains_network("192.167.0.0/24")); 1249 | } 1250 | 1251 | #[test] 1252 | fn contains_network_with_many_networks() { 1253 | let mut ip_range = IpRange::new(); 1254 | ip_range 1255 | .add("192.168.0.0/24".parse().unwrap()) 1256 | .add("172.16.0.0/16".parse().unwrap()) 1257 | .add("10.0.0.0/8".parse().unwrap()) 1258 | .simplify(); 1259 | 1260 | assert!(ip_range.contains_network("192.168.0.128/25")); 1261 | assert!(ip_range.contains_network("172.16.32.0/20")); 1262 | assert!(ip_range.contains_network("10.10.0.0/16")); 1263 | assert!(!ip_range.contains_network("0.0.0.0/0")); 1264 | assert!(!ip_range.contains_network("8.0.0.0/6")); 1265 | assert!(!ip_range.contains_network("8.0.0.0/7")); 1266 | assert!(!ip_range.contains_network("11.0.0.0/9")); 1267 | assert!(!ip_range.contains_network("192.167.255.255/32")); 1268 | assert!(!ip_range.contains_network("255.0.0.0/8")); 1269 | } 1270 | 1271 | #[test] 1272 | fn contains_network_boundary1() { 1273 | let mut ip_range = IpRange::new(); 1274 | ip_range.add("0.0.0.0/0".parse().unwrap()); 1275 | 1276 | assert!(ip_range.contains_network("0.0.0.0/0")); 1277 | assert!(ip_range.contains_network("8.0.0.0/6")); 1278 | assert!(ip_range.contains_network("11.0.0.0/9")); 1279 | assert!(ip_range.contains_network("192.168.0.128/25")); 1280 | assert!(ip_range.contains_network("255.255.255.255/32")); 1281 | } 1282 | 1283 | #[test] 1284 | fn contains_network_boundary2() { 1285 | let mut ip_range = IpRange::new(); 1286 | ip_range.add("254.254.254.254/32".parse().unwrap()); 1287 | 1288 | assert!(!ip_range.contains_network("0.0.0.0/0")); 1289 | assert!(!ip_range.contains_network("8.0.0.0/6")); 1290 | assert!(!ip_range.contains_network("254.254.0.0/16")); 1291 | assert!(ip_range.contains_network("254.254.254.254/32")); 1292 | assert!(!ip_range.contains_network("255.255.255.255/32")); 1293 | } 1294 | 1295 | #[test] 1296 | fn super_network_with_one_network() { 1297 | let mut ip_range = IpRange::new(); 1298 | let network = "192.168.0.0/24".parse().unwrap(); 1299 | ip_range.add(network); 1300 | 1301 | assert_eq!( 1302 | Some(network), 1303 | ip_range.super_network_by_network("192.168.0.0/24") 1304 | ); 1305 | assert_eq!( 1306 | Some(network), 1307 | ip_range.super_network_by_network("192.168.0.128/25") 1308 | ); 1309 | assert_eq!(None, ip_range.super_network_by_network("192.168.0.0/23")); 1310 | assert_eq!(None, ip_range.super_network_by_network("192.168.1.0/24")); 1311 | assert_eq!(None, ip_range.super_network_by_network("192.167.0.0/24")); 1312 | } 1313 | 1314 | #[test] 1315 | fn super_network_with_many_networks() { 1316 | let mut ip_range = IpRange::new(); 1317 | let network1 = "192.168.0.0/24".parse().unwrap(); 1318 | let network2 = "172.16.0.0/16".parse().unwrap(); 1319 | let network3 = "10.0.0.0/8".parse().unwrap(); 1320 | ip_range 1321 | .add(network1) 1322 | .add(network2) 1323 | .add(network3) 1324 | .simplify(); 1325 | 1326 | assert_eq!( 1327 | Some(network1), 1328 | ip_range.super_network_by_network("192.168.0.128/25") 1329 | ); 1330 | assert_eq!( 1331 | Some(network2), 1332 | ip_range.super_network_by_network("172.16.32.0/20") 1333 | ); 1334 | assert_eq!( 1335 | Some(network3), 1336 | ip_range.super_network_by_network("10.10.0.0/16") 1337 | ); 1338 | assert_eq!(None, ip_range.super_network_by_network("0.0.0.0/0")); 1339 | assert_eq!(None, ip_range.super_network_by_network("8.0.0.0/6")); 1340 | assert_eq!(None, ip_range.super_network_by_network("8.0.0.0/7")); 1341 | assert_eq!(None, ip_range.super_network_by_network("11.0.0.0/9")); 1342 | assert_eq!( 1343 | None, 1344 | ip_range.super_network_by_network("192.167.255.255/32") 1345 | ); 1346 | assert_eq!(None, ip_range.super_network_by_network("255.0.0.0/8")); 1347 | } 1348 | 1349 | #[test] 1350 | fn super_network_boundary1() { 1351 | let mut ip_range = IpRange::new(); 1352 | let network = "0.0.0.0/0".parse().unwrap(); 1353 | ip_range.add(network); 1354 | 1355 | assert_eq!( 1356 | Some(network), 1357 | ip_range.super_network_by_network("0.0.0.0/0") 1358 | ); 1359 | assert_eq!( 1360 | Some(network), 1361 | ip_range.super_network_by_network("8.0.0.0/6") 1362 | ); 1363 | assert_eq!( 1364 | Some(network), 1365 | ip_range.super_network_by_network("11.0.0.0/9") 1366 | ); 1367 | assert_eq!( 1368 | Some(network), 1369 | ip_range.super_network_by_network("192.168.0.128/25") 1370 | ); 1371 | assert_eq!( 1372 | Some(network), 1373 | ip_range.super_network_by_network("255.255.255.255/32") 1374 | ); 1375 | } 1376 | 1377 | #[test] 1378 | fn super_network_boundary2() { 1379 | let mut ip_range = IpRange::new(); 1380 | let network = "254.254.254.254/32".parse().unwrap(); 1381 | ip_range.add(network); 1382 | 1383 | assert_eq!(None, ip_range.super_network_by_network("0.0.0.0/0")); 1384 | assert_eq!(None, ip_range.super_network_by_network("8.0.0.0/6")); 1385 | assert_eq!(None, ip_range.super_network_by_network("254.254.0.0/16")); 1386 | assert_eq!( 1387 | Some(network), 1388 | ip_range.super_network_by_network("254.254.254.254/32") 1389 | ); 1390 | assert_eq!( 1391 | None, 1392 | ip_range.super_network_by_network("255.255.255.255/32") 1393 | ); 1394 | } 1395 | 1396 | #[test] 1397 | fn merge_empty1() { 1398 | let ip_range1 = IpRange::new(); 1399 | let mut ip_range2 = IpRange::new(); 1400 | let network1 = "10.0.0.0/8".parse().unwrap(); 1401 | let network2 = "172.16.0.0/16".parse().unwrap(); 1402 | let network3 = "192.168.1.0/24".parse().unwrap(); 1403 | let network4 = "254.254.254.254/32".parse().unwrap(); 1404 | ip_range2 1405 | .add(network1) 1406 | .add(network2) 1407 | .add(network3) 1408 | .add(network4) 1409 | .simplify(); 1410 | 1411 | let ip_range = ip_range1.merge(&ip_range2); 1412 | assert_eq!(ip_range.into_iter().count(), 4); 1413 | assert_eq!(Some(network1), ip_range.get_network(8, "10.0.0.0")); 1414 | assert_eq!(Some(network2), ip_range.get_network(16, "172.16.0.0")); 1415 | assert_eq!(Some(network3), ip_range.get_network(24, "192.168.1.0")); 1416 | assert_eq!(Some(network4), ip_range.get_network(32, "254.254.254.254")); 1417 | } 1418 | 1419 | #[test] 1420 | fn merge_empty2() { 1421 | let mut ip_range1 = IpRange::new(); 1422 | let ip_range2 = IpRange::new(); 1423 | let network1 = "10.0.0.0/8".parse().unwrap(); 1424 | let network2 = "172.16.0.0/16".parse().unwrap(); 1425 | let network3 = "192.168.1.0/24".parse().unwrap(); 1426 | let network4 = "254.254.254.254/32".parse().unwrap(); 1427 | ip_range1 1428 | .add(network1) 1429 | .add(network2) 1430 | .add(network3) 1431 | .add(network4) 1432 | .simplify(); 1433 | 1434 | let ip_range = ip_range1.merge(&ip_range2); 1435 | assert_eq!(ip_range.into_iter().count(), 4); 1436 | assert_eq!(Some(network1), ip_range.get_network(8, "10.0.0.0")); 1437 | assert_eq!(Some(network2), ip_range.get_network(16, "172.16.0.0")); 1438 | assert_eq!(Some(network3), ip_range.get_network(24, "192.168.1.0")); 1439 | assert_eq!(Some(network4), ip_range.get_network(32, "254.254.254.254")); 1440 | } 1441 | 1442 | #[test] 1443 | fn merge_disjoint() { 1444 | let mut ip_range1 = IpRange::new(); 1445 | let mut ip_range2 = IpRange::new(); 1446 | let network1 = "10.0.0.0/8".parse().unwrap(); 1447 | let network2 = "172.16.0.0/16".parse().unwrap(); 1448 | let network3 = "192.168.1.0/24".parse().unwrap(); 1449 | let network4 = "254.254.254.254/32".parse().unwrap(); 1450 | ip_range1.add(network1).add(network2); 1451 | ip_range2.add(network3).add(network4); 1452 | 1453 | let ip_range = ip_range1.merge(&ip_range2); 1454 | assert_eq!(ip_range.into_iter().count(), 4); 1455 | assert_eq!(Some(network1), ip_range.get_network(8, "10.0.0.0")); 1456 | assert_eq!(Some(network2), ip_range.get_network(16, "172.16.0.0")); 1457 | assert_eq!(Some(network3), ip_range.get_network(24, "192.168.1.0")); 1458 | assert_eq!(Some(network4), ip_range.get_network(32, "254.254.254.254")); 1459 | } 1460 | 1461 | #[test] 1462 | fn merge_joint1() { 1463 | let mut ip_range1 = IpRange::new(); 1464 | let mut ip_range2 = IpRange::new(); 1465 | let network1 = "172.16.4.0/24".parse().unwrap(); 1466 | let network2 = "172.16.4.0/22".parse().unwrap(); 1467 | ip_range1.add(network1); 1468 | ip_range2.add(network2); 1469 | 1470 | let ip_range = ip_range1.merge(&ip_range2); 1471 | assert_eq!(ip_range.into_iter().count(), 1); 1472 | assert_eq!(Some(network2), ip_range.get_network(22, "172.16.4.0")); 1473 | } 1474 | 1475 | #[test] 1476 | fn merge_joint2() { 1477 | let mut ip_range1 = IpRange::new(); 1478 | let mut ip_range2 = IpRange::new(); 1479 | let network1 = "172.16.5.0/24".parse().unwrap(); 1480 | let network2 = "172.16.4.0/22".parse().unwrap(); 1481 | ip_range1.add(network1); 1482 | ip_range2.add(network2); 1483 | 1484 | let ip_range = ip_range1.merge(&ip_range2); 1485 | assert_eq!(ip_range.into_iter().count(), 1); 1486 | assert_eq!(Some(network2), ip_range.get_network(22, "172.16.4.0")); 1487 | } 1488 | 1489 | #[test] 1490 | fn merge_sequent1() { 1491 | let mut ip_range1 = IpRange::new(); 1492 | let mut ip_range2 = IpRange::new(); 1493 | let network1 = "172.16.4.0/24".parse().unwrap(); 1494 | let network2 = "172.16.5.0/24".parse().unwrap(); 1495 | let network3 = "172.16.6.0/24".parse().unwrap(); 1496 | ip_range1.add(network1); 1497 | ip_range2.add(network2); 1498 | ip_range2.add(network3); 1499 | 1500 | let ip_range = ip_range1.merge(&ip_range2); 1501 | assert_eq!(ip_range.into_iter().count(), 2); 1502 | assert_eq!( 1503 | "172.16.4.0/23".parse().ok(), 1504 | ip_range.get_network(23, "172.16.4.0") 1505 | ); 1506 | assert_eq!( 1507 | "172.16.6.0/24".parse().ok(), 1508 | ip_range.get_network(24, "172.16.6.0") 1509 | ); 1510 | } 1511 | 1512 | #[test] 1513 | fn merge_sequent2() { 1514 | let mut ip_range1 = IpRange::new(); 1515 | let mut ip_range2 = IpRange::new(); 1516 | let mut ip_range3 = IpRange::new(); 1517 | ip_range1 1518 | .add("192.168.0.0/20".parse().unwrap()) 1519 | .add("192.168.24.0/21".parse().unwrap()); 1520 | ip_range2 1521 | .add("192.168.16.0/22".parse().unwrap()) 1522 | .add("192.168.23.0/24".parse().unwrap()); 1523 | ip_range3 1524 | .add("192.168.20.0/24".parse().unwrap()) 1525 | .add("192.168.21.0/24".parse().unwrap()) 1526 | .add("192.168.22.0/24".parse().unwrap()); 1527 | 1528 | let ip_range = ip_range1.merge(&ip_range2); 1529 | let ip_range = ip_range.merge(&ip_range3); 1530 | assert_eq!(ip_range.into_iter().count(), 1); 1531 | assert_eq!( 1532 | "192.168.0.0/19".parse().ok(), 1533 | ip_range.get_network(19, "192.168.0.0") 1534 | ); 1535 | } 1536 | 1537 | #[test] 1538 | fn intersect_disjoint() { 1539 | let mut ip_range1 = IpRange::new(); 1540 | let mut ip_range2 = IpRange::new(); 1541 | let network1: Ipv4Net = "10.0.0.0/8".parse().unwrap(); 1542 | let network2 = "172.16.0.0/16".parse().unwrap(); 1543 | let network3 = "192.168.1.0/24".parse().unwrap(); 1544 | let network4 = "254.254.254.254/32".parse().unwrap(); 1545 | ip_range1.add(network1).add(network2); 1546 | ip_range2.add(network3).add(network4); 1547 | 1548 | let ip_range = ip_range1.intersect(&ip_range2); 1549 | assert_eq!(ip_range.into_iter().count(), 0); 1550 | } 1551 | 1552 | #[test] 1553 | fn intersect_joint1() { 1554 | let mut ip_range1 = IpRange::new(); 1555 | let mut ip_range2 = IpRange::new(); 1556 | let network1 = "172.16.4.0/24".parse().unwrap(); 1557 | let network2 = "172.16.4.0/22".parse().unwrap(); 1558 | ip_range1.add(network1); 1559 | ip_range2.add(network2); 1560 | 1561 | let ip_range = ip_range1.intersect(&ip_range2); 1562 | assert_eq!(ip_range.into_iter().count(), 1); 1563 | assert_eq!(Some(network1), ip_range.get_network(24, "172.16.4.0")); 1564 | } 1565 | 1566 | #[test] 1567 | fn intersect_joint2() { 1568 | let mut ip_range1 = IpRange::new(); 1569 | let mut ip_range2 = IpRange::new(); 1570 | let network1 = "172.16.5.0/24".parse().unwrap(); 1571 | let network2 = "172.16.4.0/22".parse().unwrap(); 1572 | ip_range1.add(network1); 1573 | ip_range2.add(network2); 1574 | 1575 | let ip_range = ip_range1.intersect(&ip_range2); 1576 | assert_eq!(ip_range.into_iter().count(), 1); 1577 | assert_eq!(Some(network1), ip_range.get_network(24, "172.16.5.0")); 1578 | } 1579 | 1580 | #[test] 1581 | fn intersect_joint3() { 1582 | let mut ip_range1 = IpRange::new(); 1583 | let mut ip_range2 = IpRange::new(); 1584 | let network1 = "172.16.5.0/24".parse().unwrap(); 1585 | let network2 = "172.16.5.0/24".parse().unwrap(); 1586 | ip_range1.add(network1); 1587 | ip_range2.add(network2); 1588 | 1589 | let ip_range = ip_range1.intersect(&ip_range2); 1590 | assert_eq!(ip_range.into_iter().count(), 1); 1591 | assert_eq!(Some(network1), ip_range.get_network(24, "172.16.5.0")); 1592 | } 1593 | 1594 | #[test] 1595 | fn intersect_joint4() { 1596 | let mut ip_range1 = IpRange::new(); 1597 | let mut ip_range2 = IpRange::new(); 1598 | let network1 = "10.0.0.0/8".parse().unwrap(); 1599 | let network2 = "192.168.0.0/24".parse().unwrap(); 1600 | let network3 = "10.10.0.0/16".parse().unwrap(); 1601 | let network4 = "10.254.0.0/17".parse().unwrap(); 1602 | let network5 = "192.168.0.0/16".parse().unwrap(); 1603 | ip_range1.add(network1).add(network2); 1604 | ip_range2.add(network3).add(network4).add(network5); 1605 | 1606 | let ip_range = ip_range1.intersect(&ip_range2); 1607 | assert_eq!(ip_range.into_iter().count(), 3); 1608 | assert_eq!(Some(network3), ip_range.get_network(16, "10.10.0.0")); 1609 | assert_eq!(Some(network4), ip_range.get_network(17, "10.254.0.0")); 1610 | assert_eq!(Some(network2), ip_range.get_network(24, "192.168.0.0")); 1611 | } 1612 | 1613 | #[test] 1614 | fn exclude_disjoint() { 1615 | let mut ip_range1 = IpRange::new(); 1616 | let mut ip_range2 = IpRange::new(); 1617 | let network1: Ipv4Net = "10.0.0.0/8".parse().unwrap(); 1618 | let network2 = "172.16.0.0/16".parse().unwrap(); 1619 | let network3 = "192.168.1.0/24".parse().unwrap(); 1620 | let network4 = "254.254.254.254/32".parse().unwrap(); 1621 | ip_range1.add(network1).add(network2); 1622 | ip_range2.add(network3).add(network4); 1623 | 1624 | let ip_range = ip_range1.exclude(&ip_range2); 1625 | assert_eq!(ip_range1, ip_range); 1626 | } 1627 | 1628 | #[test] 1629 | fn exclude_larger() { 1630 | let mut ip_range1 = IpRange::new(); 1631 | let mut ip_range2 = IpRange::new(); 1632 | let network1: Ipv4Net = "172.16.4.0/24".parse().unwrap(); 1633 | let network2 = "192.168.1.0/24".parse().unwrap(); 1634 | let network3 = "172.16.4.0/22".parse().unwrap(); 1635 | ip_range1.add(network1).add(network2); 1636 | ip_range2.add(network3); 1637 | 1638 | let ip_range = ip_range1.exclude(&ip_range2); 1639 | assert_eq!(ip_range.into_iter().count(), 1); 1640 | assert_eq!(Some(network2), ip_range.get_network(24, "192.168.1.0")); 1641 | } 1642 | 1643 | #[test] 1644 | fn exclude_identical() { 1645 | let mut ip_range1 = IpRange::new(); 1646 | let mut ip_range2 = IpRange::new(); 1647 | let network1: Ipv4Net = "172.16.5.0/24".parse().unwrap(); 1648 | let network2 = "192.168.1.0/24".parse().unwrap(); 1649 | let network3 = "172.16.4.0/22".parse().unwrap(); 1650 | let network4 = "10.0.0.0/8".parse().unwrap(); 1651 | 1652 | ip_range1.add(network1).add(network2); 1653 | ip_range2.add(network3).add(network4); 1654 | 1655 | let ip_range = ip_range1.exclude(&ip_range2); 1656 | assert_eq!(ip_range.into_iter().count(), 1); 1657 | assert_eq!(Some(network2), ip_range.get_network(24, "192.168.1.0")); 1658 | } 1659 | 1660 | #[test] 1661 | fn exclude_split1() { 1662 | let mut ip_range1 = IpRange::new(); 1663 | let mut ip_range2 = IpRange::new(); 1664 | let network1: Ipv4Net = "172.16.4.0/22".parse().unwrap(); 1665 | let network2 = "192.168.1.0/24".parse().unwrap(); 1666 | let network3 = "172.16.5.0/24".parse().unwrap(); 1667 | let network4 = "10.0.0.0/8".parse().unwrap(); 1668 | 1669 | ip_range1.add(network1).add(network2); 1670 | ip_range2.add(network3).add(network4); 1671 | 1672 | let ip_range = ip_range1.exclude(&ip_range2); 1673 | assert_eq!(ip_range.into_iter().count(), 3); 1674 | assert_eq!(Some(network2), ip_range.get_network(24, "192.168.1.0")); 1675 | assert_eq!( 1676 | "172.16.4.0/24".parse().ok(), 1677 | ip_range.get_network(24, "172.16.4.0") 1678 | ); 1679 | assert_eq!( 1680 | "172.16.6.0/23".parse().ok(), 1681 | ip_range.get_network(23, "172.16.6.0") 1682 | ); 1683 | } 1684 | 1685 | #[test] 1686 | fn exclude_split2() { 1687 | let mut ip_range1 = IpRange::new(); 1688 | let mut ip_range2 = IpRange::new(); 1689 | let network1: Ipv4Net = "172.16.4.0/22".parse().unwrap(); 1690 | let network2 = "192.168.1.0/24".parse().unwrap(); 1691 | let network3 = "172.16.4.0/24".parse().unwrap(); 1692 | let network4 = "10.0.0.0/8".parse().unwrap(); 1693 | 1694 | ip_range1.add(network1).add(network2); 1695 | ip_range2.add(network3).add(network4); 1696 | 1697 | let ip_range = ip_range1.exclude(&ip_range2); 1698 | assert_eq!(ip_range.into_iter().count(), 3); 1699 | assert_eq!(Some(network2), ip_range.get_network(24, "192.168.1.0")); 1700 | assert_eq!( 1701 | "172.16.5.0/24".parse().ok(), 1702 | ip_range.get_network(24, "172.16.5.0") 1703 | ); 1704 | assert_eq!( 1705 | "172.16.6.0/23".parse().ok(), 1706 | ip_range.get_network(23, "172.16.6.0") 1707 | ); 1708 | } 1709 | 1710 | #[test] 1711 | fn iter_ipv4() { 1712 | let mut data = vec!["1.0.1.0/24", "1.0.2.0/23", "1.0.8.0/21"]; 1713 | let ip_range: IpRange = data.iter().map(|net| net.parse().unwrap()).collect(); 1714 | let mut nets: Vec = ip_range.iter().map(|net| format!("{}", net)).collect(); 1715 | data.sort_unstable(); 1716 | nets.sort_unstable(); 1717 | assert_eq!(nets, data); 1718 | } 1719 | 1720 | #[test] 1721 | fn iter_ipv6() { 1722 | let mut data = vec![ 1723 | "2400:9a40::/32", 1724 | "2400:9dc0::/32", 1725 | "2400:9e00::/32", 1726 | "2400:a040::/32", 1727 | ]; 1728 | let ip_range: IpRange = data.iter().map(|net| net.parse().unwrap()).collect(); 1729 | let mut nets: Vec = ip_range.iter().map(|net| format!("{}", net)).collect(); 1730 | data.sort_unstable(); 1731 | nets.sort_unstable(); 1732 | assert_eq!(nets, data); 1733 | } 1734 | 1735 | #[test] 1736 | fn debug_fmt() { 1737 | let ip_range: IpRange = IpRange::default(); 1738 | assert_eq!(format!("{:?}", ip_range), "IpRange []"); 1739 | 1740 | let ip_range: IpRange = ["1.0.1.0/24", "1.0.2.0/23", "1.0.8.0/21"] 1741 | .iter() 1742 | .map(|net| net.parse().unwrap()) 1743 | .collect(); 1744 | assert_eq!( 1745 | format!("{:?}", ip_range), 1746 | "IpRange [1.0.8.0/21, 1.0.2.0/23, 1.0.1.0/24]" 1747 | ); 1748 | 1749 | let ip_range: IpRange = [ 1750 | "192.168.0.0/16", 1751 | "1.0.2.0/23", 1752 | "1.0.8.0/21", 1753 | "127.0.0.0/8", 1754 | "172.16.0.0/12", 1755 | ] 1756 | .iter() 1757 | .map(|net| net.parse().unwrap()) 1758 | .collect(); 1759 | assert_eq!( 1760 | format!("{:?}", ip_range), 1761 | "IpRange [127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, ...]" 1762 | ); 1763 | 1764 | let ip_range: IpRange = [ 1765 | "2001:4438::/32", 1766 | "2001:4510::/29", 1767 | "2400:1040::/32", 1768 | "2400:12c0::/32", 1769 | "2400:1340::/32", 1770 | "2400:1380::/32", 1771 | "2400:15c0::/32", 1772 | ] 1773 | .iter() 1774 | .map(|net| net.parse().unwrap()) 1775 | .collect(); 1776 | assert_eq!( 1777 | format!("{:?}", ip_range), 1778 | "IpRange [2001:4510::/29, 2001:4438::/32, 2400:1040::/32, ...]" 1779 | ); 1780 | } 1781 | 1782 | #[test] 1783 | fn remove_all() { 1784 | let mut ip_range = IpRange::new(); 1785 | let network: Ipv4Net = "1.0.1.0/24".parse().unwrap(); 1786 | ip_range.add(network); 1787 | ip_range.remove(network); 1788 | assert!(ip_range.iter().next().is_none()); 1789 | } 1790 | 1791 | #[test] 1792 | fn add_to_all_zeros() { 1793 | let mut ip_range: IpRange = IpRange::new(); 1794 | ip_range.add("0.0.0.0/0".parse().unwrap()); 1795 | ip_range.add("127.0.0.1/32".parse().unwrap()); 1796 | assert!(ip_range.contains_network("0.0.0.0/0")); 1797 | } 1798 | 1799 | #[test] 1800 | #[cfg(feature = "serde")] 1801 | fn serialize_ipv4_as_binary() { 1802 | let mut ip_range: IpRange = IpRange::new(); 1803 | ip_range.add("0.0.0.0/0".parse().unwrap()); 1804 | ip_range.add("127.0.0.1/32".parse().unwrap()); 1805 | ip_range.add("254.254.254.254/32".parse().unwrap()); 1806 | let encoded: Vec = bincode::serialize(&ip_range).unwrap(); 1807 | let decoded_ip_range: IpRange = bincode::deserialize(&encoded[..]).unwrap(); 1808 | assert_eq!(ip_range, decoded_ip_range); 1809 | } 1810 | 1811 | #[test] 1812 | #[cfg(feature = "serde")] 1813 | fn serialize_ipv6_as_binary() { 1814 | let mut ip_range: IpRange = IpRange::new(); 1815 | ip_range.add("2001:4438::/32".parse().unwrap()); 1816 | ip_range.add("2400:1040::/32".parse().unwrap()); 1817 | ip_range.add("2400:1340::/32".parse().unwrap()); 1818 | let encoded: Vec = bincode::serialize(&ip_range).unwrap(); 1819 | let decoded_ip_range: IpRange = bincode::deserialize(&encoded[..]).unwrap(); 1820 | assert_eq!(ip_range, decoded_ip_range); 1821 | } 1822 | } 1823 | -------------------------------------------------------------------------------- /benches/chnlist.txt: -------------------------------------------------------------------------------- 1 | 1.0.1.0/24 2 | 1.0.2.0/23 3 | 1.0.8.0/21 4 | 1.0.32.0/19 5 | 1.1.0.0/24 6 | 1.1.2.0/23 7 | 1.1.4.0/22 8 | 1.1.8.0/21 9 | 1.1.16.0/20 10 | 1.1.32.0/19 11 | 1.2.0.0/23 12 | 1.2.2.0/24 13 | 1.2.5.0/24 14 | 1.2.6.0/23 15 | 1.2.8.0/21 16 | 1.2.16.0/20 17 | 1.2.32.0/19 18 | 1.2.64.0/18 19 | 1.3.0.0/16 20 | 1.4.1.0/24 21 | 1.4.2.0/23 22 | 1.4.4.0/22 23 | 1.4.8.0/21 24 | 1.4.16.0/20 25 | 1.4.32.0/19 26 | 1.4.64.0/18 27 | 1.8.0.0/18 28 | 1.8.64.0/19 29 | 1.8.96.0/22 30 | 1.8.100.0/23 31 | 1.8.112.0/20 32 | 1.8.128.0/20 33 | 1.8.144.0/22 34 | 1.8.148.0/23 35 | 1.8.154.0/23 36 | 1.8.156.0/22 37 | 1.8.160.0/19 38 | 1.8.192.0/19 39 | 1.8.224.0/20 40 | 1.8.244.0/22 41 | 1.8.248.0/21 42 | 1.10.0.0/21 43 | 1.10.8.0/23 44 | 1.10.11.0/24 45 | 1.10.12.0/22 46 | 1.10.16.0/20 47 | 1.10.32.0/19 48 | 1.10.64.0/18 49 | 1.12.0.0/14 50 | 1.24.0.0/13 51 | 1.45.0.0/16 52 | 1.48.0.0/14 53 | 1.56.0.0/13 54 | 1.68.0.0/14 55 | 1.80.0.0/12 56 | 1.116.0.0/14 57 | 1.180.0.0/14 58 | 1.184.0.0/15 59 | 1.188.0.0/14 60 | 1.192.0.0/13 61 | 1.202.0.0/15 62 | 1.204.0.0/14 63 | 14.0.0.0/21 64 | 14.0.12.0/22 65 | 14.1.0.0/22 66 | 14.1.24.0/22 67 | 14.1.108.0/22 68 | 14.16.0.0/12 69 | 14.102.128.0/22 70 | 14.102.180.0/22 71 | 14.103.0.0/16 72 | 14.104.0.0/13 73 | 14.112.0.0/12 74 | 14.130.0.0/15 75 | 14.134.0.0/15 76 | 14.144.0.0/12 77 | 14.192.56.0/21 78 | 14.192.76.0/22 79 | 14.196.0.0/15 80 | 14.204.0.0/15 81 | 14.208.0.0/12 82 | 20.134.160.0/20 83 | 20.139.160.0/20 84 | 27.0.128.0/21 85 | 27.0.160.0/21 86 | 27.0.188.0/22 87 | 27.8.0.0/13 88 | 27.16.0.0/12 89 | 27.34.232.0/21 90 | 27.36.0.0/14 91 | 27.40.0.0/13 92 | 27.50.40.0/21 93 | 27.50.128.0/17 94 | 27.54.72.0/21 95 | 27.54.152.0/21 96 | 27.54.192.0/18 97 | 27.98.208.0/20 98 | 27.98.224.0/19 99 | 27.99.128.0/17 100 | 27.103.0.0/16 101 | 27.106.128.0/18 102 | 27.106.204.0/22 103 | 27.109.32.0/19 104 | 27.109.124.0/22 105 | 27.112.0.0/18 106 | 27.112.80.0/20 107 | 27.112.112.0/21 108 | 27.113.128.0/18 109 | 27.115.0.0/17 110 | 27.116.44.0/22 111 | 27.121.72.0/21 112 | 27.121.120.0/21 113 | 27.128.0.0/15 114 | 27.131.220.0/22 115 | 27.144.0.0/16 116 | 27.148.0.0/14 117 | 27.152.0.0/13 118 | 27.184.0.0/13 119 | 27.192.0.0/11 120 | 27.224.0.0/14 121 | 36.0.0.0/22 122 | 36.0.16.0/20 123 | 36.0.32.0/19 124 | 36.0.64.0/18 125 | 36.0.128.0/17 126 | 36.1.0.0/16 127 | 36.4.0.0/14 128 | 36.16.0.0/12 129 | 36.32.0.0/14 130 | 36.36.0.0/16 131 | 36.37.0.0/19 132 | 36.37.36.0/23 133 | 36.37.39.0/24 134 | 36.37.40.0/21 135 | 36.37.48.0/20 136 | 36.40.0.0/13 137 | 36.48.0.0/15 138 | 36.51.0.0/17 139 | 36.51.128.0/18 140 | 36.51.192.0/19 141 | 36.51.224.0/20 142 | 36.51.240.0/21 143 | 36.51.248.0/22 144 | 36.51.252.0/23 145 | 36.56.0.0/13 146 | 36.96.0.0/11 147 | 36.128.0.0/10 148 | 36.192.0.0/11 149 | 36.248.0.0/14 150 | 36.254.0.0/16 151 | 36.255.116.0/22 152 | 36.255.128.0/22 153 | 36.255.164.0/22 154 | 36.255.172.0/22 155 | 36.255.176.0/22 156 | 39.0.0.0/24 157 | 39.0.2.0/23 158 | 39.0.4.0/22 159 | 39.0.8.0/21 160 | 39.0.16.0/20 161 | 39.0.32.0/19 162 | 39.0.64.0/18 163 | 39.0.128.0/17 164 | 39.64.0.0/11 165 | 39.96.0.0/13 166 | 39.104.0.0/14 167 | 39.108.0.0/16 168 | 39.128.0.0/10 169 | 40.0.176.0/20 170 | 40.0.247.0/24 171 | 40.0.248.0/22 172 | 40.0.252.0/23 173 | 40.0.255.0/24 174 | 40.72.0.0/15 175 | 40.125.128.0/17 176 | 40.126.64.0/18 177 | 40.198.10.0/24 178 | 40.198.16.0/21 179 | 40.198.24.0/23 180 | 40.251.225.0/24 181 | 40.251.227.0/24 182 | 42.0.0.0/22 183 | 42.0.8.0/21 184 | 42.0.16.0/21 185 | 42.0.24.0/22 186 | 42.0.32.0/19 187 | 42.0.128.0/19 188 | 42.0.160.0/20 189 | 42.0.176.0/21 190 | 42.0.184.0/24 191 | 42.0.186.0/23 192 | 42.0.188.0/22 193 | 42.0.192.0/20 194 | 42.0.208.0/21 195 | 42.0.216.0/22 196 | 42.0.220.0/23 197 | 42.0.223.0/24 198 | 42.0.224.0/19 199 | 42.1.0.0/19 200 | 42.1.32.0/20 201 | 42.1.48.0/21 202 | 42.1.56.0/22 203 | 42.4.0.0/14 204 | 42.48.0.0/13 205 | 42.56.0.0/14 206 | 42.62.0.0/17 207 | 42.62.128.0/19 208 | 42.62.160.0/20 209 | 42.62.180.0/22 210 | 42.62.184.0/21 211 | 42.63.0.0/16 212 | 42.80.0.0/15 213 | 42.83.64.0/20 214 | 42.83.80.0/22 215 | 42.83.88.0/21 216 | 42.83.96.0/19 217 | 42.83.128.0/23 218 | 42.83.134.0/24 219 | 42.83.140.0/24 220 | 42.83.142.0/23 221 | 42.83.144.0/20 222 | 42.83.160.0/19 223 | 42.83.192.0/18 224 | 42.84.0.0/14 225 | 42.88.0.0/13 226 | 42.96.64.0/19 227 | 42.96.96.0/21 228 | 42.96.108.0/22 229 | 42.96.112.0/20 230 | 42.96.128.0/17 231 | 42.97.0.0/16 232 | 42.99.0.0/18 233 | 42.99.64.0/19 234 | 42.99.96.0/20 235 | 42.99.112.0/22 236 | 42.99.120.0/21 237 | 42.100.0.0/14 238 | 42.120.0.0/15 239 | 42.122.0.0/16 240 | 42.123.0.0/19 241 | 42.123.36.0/22 242 | 42.123.40.0/21 243 | 42.123.48.0/20 244 | 42.123.64.0/18 245 | 42.123.128.0/19 246 | 42.123.160.0/22 247 | 42.123.164.0/24 248 | 42.123.166.0/23 249 | 42.123.168.0/21 250 | 42.123.176.0/20 251 | 42.123.192.0/18 252 | 42.128.0.0/12 253 | 42.156.0.0/19 254 | 42.156.36.0/22 255 | 42.156.40.0/21 256 | 42.156.48.0/20 257 | 42.156.64.0/18 258 | 42.156.128.0/17 259 | 42.157.0.0/16 260 | 42.158.0.0/15 261 | 42.160.0.0/12 262 | 42.176.0.0/13 263 | 42.184.0.0/15 264 | 42.186.0.0/16 265 | 42.187.0.0/18 266 | 42.187.64.0/19 267 | 42.187.96.0/20 268 | 42.187.112.0/21 269 | 42.187.120.0/22 270 | 42.187.128.0/17 271 | 42.192.0.0/13 272 | 42.201.0.0/17 273 | 42.202.0.0/15 274 | 42.204.0.0/14 275 | 42.208.0.0/12 276 | 42.224.0.0/12 277 | 42.240.0.0/16 278 | 42.242.0.0/15 279 | 42.244.0.0/15 280 | 42.246.0.0/16 281 | 42.247.0.0/22 282 | 42.247.4.0/24 283 | 42.247.5.0/25 284 | 42.247.5.128/26 285 | 42.247.5.204/30 286 | 42.247.5.208/28 287 | 42.247.5.224/27 288 | 42.247.6.0/23 289 | 42.247.8.0/21 290 | 42.247.16.0/20 291 | 42.247.32.0/19 292 | 42.247.64.0/18 293 | 42.247.128.0/17 294 | 42.248.0.0/13 295 | 43.224.12.0/22 296 | 43.224.24.0/22 297 | 43.224.44.0/22 298 | 43.224.52.0/22 299 | 43.224.56.0/22 300 | 43.224.64.0/21 301 | 43.224.72.0/22 302 | 43.224.80.0/22 303 | 43.224.100.0/22 304 | 43.224.144.0/22 305 | 43.224.160.0/22 306 | 43.224.176.0/22 307 | 43.224.184.0/22 308 | 43.224.200.0/21 309 | 43.224.208.0/21 310 | 43.224.216.0/22 311 | 43.224.240.0/22 312 | 43.225.76.0/22 313 | 43.225.84.0/22 314 | 43.225.120.0/22 315 | 43.225.180.0/22 316 | 43.225.184.0/22 317 | 43.225.208.0/22 318 | 43.225.216.0/21 319 | 43.225.224.0/20 320 | 43.225.240.0/21 321 | 43.225.252.0/22 322 | 43.226.32.0/19 323 | 43.226.64.0/19 324 | 43.226.96.0/20 325 | 43.226.112.0/21 326 | 43.226.120.0/22 327 | 43.226.128.0/19 328 | 43.226.160.0/21 329 | 43.226.236.0/22 330 | 43.226.240.0/20 331 | 43.227.0.0/21 332 | 43.227.8.0/22 333 | 43.227.32.0/19 334 | 43.227.64.0/19 335 | 43.227.104.0/22 336 | 43.227.136.0/21 337 | 43.227.144.0/22 338 | 43.227.152.0/21 339 | 43.227.160.0/20 340 | 43.227.176.0/21 341 | 43.227.188.0/22 342 | 43.227.192.0/19 343 | 43.227.232.0/22 344 | 43.227.248.0/21 345 | 43.228.0.0/18 346 | 43.228.64.0/21 347 | 43.228.76.0/22 348 | 43.228.100.0/22 349 | 43.228.116.0/22 350 | 43.228.132.0/22 351 | 43.228.136.0/22 352 | 43.228.148.0/22 353 | 43.228.152.0/22 354 | 43.228.188.0/22 355 | 43.229.40.0/22 356 | 43.229.56.0/22 357 | 43.229.96.0/22 358 | 43.229.136.0/21 359 | 43.229.168.0/21 360 | 43.229.176.0/20 361 | 43.229.192.0/21 362 | 43.229.216.0/21 363 | 43.229.232.0/21 364 | 43.230.20.0/22 365 | 43.230.32.0/22 366 | 43.230.68.0/22 367 | 43.230.72.0/22 368 | 43.230.84.0/22 369 | 43.230.124.0/22 370 | 43.230.220.0/22 371 | 43.230.224.0/19 372 | 43.231.12.0/22 373 | 43.231.32.0/20 374 | 43.231.80.0/20 375 | 43.231.96.0/20 376 | 43.231.136.0/21 377 | 43.231.144.0/20 378 | 43.231.160.0/20 379 | 43.231.176.0/21 380 | 43.236.0.0/15 381 | 43.238.0.0/16 382 | 43.239.0.0/19 383 | 43.239.32.0/20 384 | 43.239.48.0/22 385 | 43.239.116.0/22 386 | 43.239.120.0/22 387 | 43.239.172.0/22 388 | 43.240.0.0/22 389 | 43.240.56.0/21 390 | 43.240.68.0/22 391 | 43.240.72.0/21 392 | 43.240.84.0/22 393 | 43.240.124.0/22 394 | 43.240.128.0/21 395 | 43.240.136.0/22 396 | 43.240.156.0/22 397 | 43.240.160.0/19 398 | 43.240.192.0/19 399 | 43.240.240.0/20 400 | 43.241.0.0/20 401 | 43.241.16.0/21 402 | 43.241.48.0/22 403 | 43.241.76.0/22 404 | 43.241.80.0/20 405 | 43.241.112.0/22 406 | 43.241.168.0/21 407 | 43.241.176.0/21 408 | 43.241.184.0/22 409 | 43.241.208.0/20 410 | 43.241.224.0/20 411 | 43.241.240.0/22 412 | 43.241.248.0/22 413 | 43.242.8.0/21 414 | 43.242.16.0/20 415 | 43.242.48.0/20 416 | 43.242.64.0/22 417 | 43.242.72.0/21 418 | 43.242.80.0/20 419 | 43.242.96.0/22 420 | 43.242.144.0/20 421 | 43.242.160.0/21 422 | 43.242.180.0/22 423 | 43.242.188.0/22 424 | 43.242.192.0/21 425 | 43.242.204.0/22 426 | 43.242.216.0/21 427 | 43.242.252.0/22 428 | 43.243.4.0/22 429 | 43.243.8.0/21 430 | 43.243.16.0/22 431 | 43.243.88.0/22 432 | 43.243.128.0/22 433 | 43.243.136.0/22 434 | 43.243.144.0/21 435 | 43.243.156.0/22 436 | 43.243.180.0/22 437 | 43.243.228.0/22 438 | 43.243.232.0/22 439 | 43.243.244.0/22 440 | 43.246.0.0/18 441 | 43.246.64.0/19 442 | 43.246.96.0/22 443 | 43.246.228.0/22 444 | 43.247.4.0/22 445 | 43.247.8.0/22 446 | 43.247.44.0/22 447 | 43.247.48.0/22 448 | 43.247.68.0/22 449 | 43.247.76.0/22 450 | 43.247.84.0/22 451 | 43.247.88.0/21 452 | 43.247.96.0/21 453 | 43.247.108.0/22 454 | 43.247.112.0/22 455 | 43.247.148.0/22 456 | 43.247.152.0/22 457 | 43.247.176.0/20 458 | 43.247.196.0/22 459 | 43.247.200.0/21 460 | 43.247.208.0/20 461 | 43.247.224.0/19 462 | 43.248.0.0/21 463 | 43.248.20.0/22 464 | 43.248.28.0/22 465 | 43.248.48.0/22 466 | 43.248.76.0/22 467 | 43.248.80.0/20 468 | 43.248.96.0/19 469 | 43.248.128.0/20 470 | 43.248.144.0/21 471 | 43.248.176.0/20 472 | 43.248.192.0/20 473 | 43.248.208.0/22 474 | 43.248.228.0/22 475 | 43.248.232.0/22 476 | 43.248.244.0/22 477 | 43.249.4.0/22 478 | 43.249.120.0/22 479 | 43.249.132.0/22 480 | 43.249.136.0/22 481 | 43.249.144.0/20 482 | 43.249.160.0/21 483 | 43.249.168.0/22 484 | 43.249.192.0/22 485 | 43.249.236.0/22 486 | 43.250.4.0/22 487 | 43.250.12.0/22 488 | 43.250.16.0/21 489 | 43.250.28.0/22 490 | 43.250.32.0/22 491 | 43.250.96.0/20 492 | 43.250.112.0/21 493 | 43.250.128.0/22 494 | 43.250.144.0/21 495 | 43.250.160.0/22 496 | 43.250.168.0/22 497 | 43.250.176.0/22 498 | 43.250.200.0/22 499 | 43.250.212.0/22 500 | 43.250.216.0/21 501 | 43.250.236.0/22 502 | 43.250.244.0/22 503 | 43.251.4.0/22 504 | 43.251.12.0/22 505 | 43.251.36.0/22 506 | 43.251.192.0/22 507 | 43.251.232.0/22 508 | 43.251.244.0/22 509 | 43.252.48.0/22 510 | 43.252.56.0/22 511 | 43.252.224.0/22 512 | 43.254.0.0/21 513 | 43.254.8.0/22 514 | 43.254.24.0/22 515 | 43.254.36.0/22 516 | 43.254.44.0/22 517 | 43.254.52.0/22 518 | 43.254.64.0/22 519 | 43.254.72.0/22 520 | 43.254.84.0/22 521 | 43.254.88.0/21 522 | 43.254.100.0/22 523 | 43.254.104.0/22 524 | 43.254.112.0/21 525 | 43.254.128.0/22 526 | 43.254.136.0/21 527 | 43.254.144.0/20 528 | 43.254.168.0/21 529 | 43.254.180.0/22 530 | 43.254.184.0/21 531 | 43.254.192.0/22 532 | 43.254.200.0/22 533 | 43.254.208.0/22 534 | 43.254.220.0/22 535 | 43.254.224.0/20 536 | 43.254.240.0/22 537 | 43.254.248.0/21 538 | 43.255.0.0/21 539 | 43.255.8.0/22 540 | 43.255.16.0/22 541 | 43.255.48.0/22 542 | 43.255.64.0/20 543 | 43.255.84.0/22 544 | 43.255.96.0/22 545 | 43.255.144.0/22 546 | 43.255.176.0/22 547 | 43.255.184.0/22 548 | 43.255.192.0/22 549 | 43.255.200.0/21 550 | 43.255.208.0/21 551 | 43.255.224.0/21 552 | 43.255.232.0/22 553 | 43.255.244.0/22 554 | 45.40.192.0/18 555 | 45.65.16.0/20 556 | 45.112.132.0/22 557 | 45.112.188.0/22 558 | 45.112.208.0/22 559 | 45.112.216.0/21 560 | 45.112.228.0/22 561 | 45.112.232.0/21 562 | 45.113.12.0/22 563 | 45.113.16.0/20 564 | 45.113.40.0/22 565 | 45.113.52.0/22 566 | 45.113.72.0/22 567 | 45.113.144.0/21 568 | 45.113.168.0/22 569 | 45.113.184.0/22 570 | 45.113.200.0/21 571 | 45.113.208.0/20 572 | 45.113.228.0/22 573 | 45.113.240.0/22 574 | 45.113.252.0/22 575 | 45.114.0.0/22 576 | 45.114.32.0/22 577 | 45.114.40.0/22 578 | 45.114.52.0/22 579 | 45.114.96.0/22 580 | 45.114.124.0/22 581 | 45.114.136.0/22 582 | 45.114.196.0/22 583 | 45.114.200.0/22 584 | 45.114.228.0/22 585 | 45.114.236.0/22 586 | 45.114.252.0/22 587 | 45.115.44.0/22 588 | 45.115.100.0/22 589 | 45.115.120.0/22 590 | 45.115.132.0/22 591 | 45.115.144.0/22 592 | 45.115.156.0/22 593 | 45.115.164.0/22 594 | 45.115.200.0/22 595 | 45.115.212.0/22 596 | 45.115.216.0/22 597 | 45.115.244.0/22 598 | 45.115.248.0/22 599 | 45.116.16.0/21 600 | 45.116.24.0/22 601 | 45.116.32.0/21 602 | 45.116.52.0/22 603 | 45.116.96.0/21 604 | 45.116.140.0/22 605 | 45.116.152.0/22 606 | 45.116.208.0/22 607 | 45.117.8.0/22 608 | 45.117.20.0/22 609 | 45.117.68.0/22 610 | 45.117.124.0/22 611 | 45.117.252.0/22 612 | 45.119.60.0/22 613 | 45.119.64.0/21 614 | 45.119.72.0/22 615 | 45.119.104.0/22 616 | 45.119.232.0/22 617 | 45.120.100.0/22 618 | 45.120.140.0/22 619 | 45.120.164.0/22 620 | 45.120.240.0/22 621 | 45.121.52.0/22 622 | 45.121.64.0/21 623 | 45.121.72.0/22 624 | 45.121.92.0/22 625 | 45.121.96.0/22 626 | 45.121.172.0/22 627 | 45.121.176.0/22 628 | 45.121.240.0/20 629 | 45.122.0.0/19 630 | 45.122.32.0/21 631 | 45.122.40.0/22 632 | 45.122.60.0/22 633 | 45.122.64.0/19 634 | 45.122.96.0/20 635 | 45.122.112.0/21 636 | 45.122.160.0/19 637 | 45.122.192.0/20 638 | 45.122.208.0/21 639 | 45.122.216.0/22 640 | 45.123.28.0/22 641 | 45.123.32.0/21 642 | 45.123.44.0/22 643 | 45.123.48.0/20 644 | 45.123.64.0/20 645 | 45.123.80.0/21 646 | 45.123.120.0/22 647 | 45.123.128.0/21 648 | 45.123.136.0/22 649 | 45.123.148.0/22 650 | 45.123.152.0/21 651 | 45.123.164.0/22 652 | 45.123.168.0/21 653 | 45.123.176.0/21 654 | 45.123.184.0/22 655 | 45.123.204.0/22 656 | 45.123.212.0/22 657 | 45.123.224.0/19 658 | 45.124.0.0/22 659 | 45.124.20.0/22 660 | 45.124.28.0/22 661 | 45.124.32.0/21 662 | 45.124.44.0/22 663 | 45.124.68.0/22 664 | 45.124.76.0/22 665 | 45.124.80.0/22 666 | 45.124.100.0/22 667 | 45.124.124.0/22 668 | 45.124.172.0/22 669 | 45.124.176.0/22 670 | 45.124.208.0/22 671 | 45.124.248.0/22 672 | 45.125.24.0/22 673 | 45.125.44.0/22 674 | 45.125.52.0/22 675 | 45.125.56.0/22 676 | 45.125.76.0/22 677 | 45.125.80.0/20 678 | 45.125.96.0/21 679 | 45.125.136.0/22 680 | 45.126.48.0/21 681 | 45.126.108.0/22 682 | 45.126.112.0/21 683 | 45.126.120.0/22 684 | 45.126.220.0/22 685 | 45.127.8.0/21 686 | 45.127.128.0/22 687 | 45.127.144.0/21 688 | 45.127.156.0/22 689 | 45.248.8.0/22 690 | 45.248.80.0/22 691 | 45.248.88.0/22 692 | 45.248.96.0/20 693 | 45.248.128.0/21 694 | 45.248.204.0/22 695 | 45.248.208.0/20 696 | 45.248.224.0/19 697 | 45.249.0.0/21 698 | 45.249.12.0/22 699 | 45.249.16.0/20 700 | 45.249.32.0/21 701 | 45.249.112.0/22 702 | 45.249.188.0/22 703 | 45.249.192.0/20 704 | 45.249.208.0/21 705 | 45.250.12.0/22 706 | 45.250.16.0/22 707 | 45.250.28.0/22 708 | 45.250.32.0/21 709 | 45.250.40.0/22 710 | 45.250.76.0/22 711 | 45.250.80.0/20 712 | 45.250.96.0/22 713 | 45.250.104.0/21 714 | 45.250.112.0/20 715 | 45.250.128.0/20 716 | 45.250.144.0/21 717 | 45.250.152.0/22 718 | 45.250.164.0/22 719 | 45.250.180.0/22 720 | 45.250.184.0/21 721 | 45.250.192.0/22 722 | 45.251.0.0/22 723 | 45.251.8.0/22 724 | 45.251.16.0/21 725 | 45.251.52.0/22 726 | 45.251.84.0/22 727 | 45.251.88.0/21 728 | 45.251.96.0/21 729 | 45.251.120.0/21 730 | 45.251.136.0/21 731 | 45.251.144.0/20 732 | 45.251.160.0/19 733 | 45.251.192.0/19 734 | 45.251.224.0/22 735 | 45.252.0.0/19 736 | 45.252.32.0/20 737 | 45.252.48.0/22 738 | 45.252.84.0/22 739 | 45.252.88.0/21 740 | 45.252.96.0/19 741 | 45.252.128.0/19 742 | 45.252.160.0/20 743 | 45.252.176.0/22 744 | 45.252.192.0/19 745 | 45.252.224.0/21 746 | 45.252.232.0/22 747 | 45.253.0.0/18 748 | 45.253.64.0/20 749 | 45.253.80.0/21 750 | 45.253.92.0/22 751 | 45.253.96.0/20 752 | 45.253.112.0/21 753 | 45.253.120.0/22 754 | 45.253.130.0/23 755 | 45.253.132.0/22 756 | 45.253.136.0/21 757 | 45.253.144.0/20 758 | 45.253.160.0/19 759 | 45.253.192.0/18 760 | 45.254.0.0/20 761 | 45.254.16.0/21 762 | 45.254.28.0/22 763 | 45.254.40.0/22 764 | 45.254.48.0/20 765 | 45.254.64.0/18 766 | 45.254.128.0/18 767 | 45.254.192.0/19 768 | 45.254.224.0/21 769 | 45.254.236.0/22 770 | 45.254.240.0/22 771 | 45.254.248.0/22 772 | 45.255.0.0/18 773 | 45.255.64.0/19 774 | 45.255.96.0/20 775 | 45.255.112.0/21 776 | 45.255.120.0/22 777 | 45.255.136.0/21 778 | 45.255.144.0/20 779 | 45.255.160.0/19 780 | 45.255.192.0/19 781 | 45.255.224.0/20 782 | 45.255.240.0/21 783 | 45.255.248.0/22 784 | 46.248.24.0/23 785 | 47.92.0.0/14 786 | 47.96.0.0/11 787 | 49.4.0.0/14 788 | 49.51.46.0/23 789 | 49.51.48.0/22 790 | 49.51.52.0/23 791 | 49.51.56.0/22 792 | 49.51.60.0/23 793 | 49.51.64.0/18 794 | 49.51.148.0/22 795 | 49.51.152.0/21 796 | 49.51.160.0/19 797 | 49.51.192.0/18 798 | 49.52.0.0/14 799 | 49.64.0.0/11 800 | 49.112.0.0/13 801 | 49.120.0.0/14 802 | 49.128.0.0/24 803 | 49.128.2.0/23 804 | 49.128.4.0/22 805 | 49.140.0.0/15 806 | 49.152.0.0/14 807 | 49.208.0.0/14 808 | 49.220.0.0/14 809 | 49.232.0.0/14 810 | 49.239.0.0/18 811 | 49.239.192.0/18 812 | 52.80.0.0/15 813 | 52.82.187.0/24 814 | 52.82.188.0/22 815 | 52.82.192.0/18 816 | 52.83.0.0/16 817 | 52.94.249.0/27 818 | 54.222.0.0/15 819 | 54.231.208.0/20 820 | 54.240.224.0/24 821 | 57.92.96.0/20 822 | 58.14.0.0/15 823 | 58.16.0.0/13 824 | 58.24.0.0/15 825 | 58.30.0.0/15 826 | 58.32.0.0/11 827 | 58.65.232.0/21 828 | 58.66.0.0/15 829 | 58.68.128.0/19 830 | 58.68.160.0/23 831 | 58.68.163.0/24 832 | 58.68.164.0/22 833 | 58.68.179.0/24 834 | 58.68.180.0/24 835 | 58.68.200.0/21 836 | 58.68.208.0/20 837 | 58.68.224.0/19 838 | 58.82.0.0/17 839 | 58.83.0.0/16 840 | 58.87.64.0/18 841 | 58.99.128.0/17 842 | 58.100.0.0/15 843 | 58.116.0.0/14 844 | 58.128.0.0/13 845 | 58.144.0.0/16 846 | 58.154.0.0/15 847 | 58.192.0.0/11 848 | 58.240.0.0/12 849 | 59.32.0.0/11 850 | 59.64.0.0/12 851 | 59.80.0.0/15 852 | 59.82.0.0/17 853 | 59.82.128.0/18 854 | 59.82.192.0/19 855 | 59.82.224.0/20 856 | 59.82.240.0/22 857 | 59.82.248.0/21 858 | 59.83.0.0/18 859 | 59.83.128.0/17 860 | 59.107.0.0/16 861 | 59.108.0.0/15 862 | 59.110.0.0/16 863 | 59.111.0.0/17 864 | 59.111.128.0/18 865 | 59.111.192.0/19 866 | 59.111.224.0/20 867 | 59.111.240.0/21 868 | 59.111.248.0/22 869 | 59.111.252.0/23 870 | 59.111.255.0/24 871 | 59.151.0.0/17 872 | 59.152.16.0/20 873 | 59.152.32.0/21 874 | 59.152.64.0/20 875 | 59.152.112.0/21 876 | 59.153.4.0/22 877 | 59.153.32.0/22 878 | 59.153.64.0/21 879 | 59.153.72.0/22 880 | 59.153.92.0/22 881 | 59.153.116.0/22 882 | 59.153.136.0/22 883 | 59.153.152.0/21 884 | 59.153.164.0/22 885 | 59.153.168.0/21 886 | 59.153.176.0/20 887 | 59.153.192.0/22 888 | 59.155.0.0/16 889 | 59.172.0.0/14 890 | 59.191.0.0/17 891 | 59.192.0.0/10 892 | 60.0.0.0/11 893 | 60.55.0.0/16 894 | 60.63.0.0/16 895 | 60.160.0.0/11 896 | 60.194.0.0/15 897 | 60.200.0.0/13 898 | 60.208.0.0/12 899 | 60.232.0.0/15 900 | 60.235.0.0/16 901 | 60.245.128.0/17 902 | 60.247.0.0/16 903 | 60.252.0.0/16 904 | 60.253.128.0/17 905 | 60.255.0.0/16 906 | 61.4.81.0/24 907 | 61.4.82.0/23 908 | 61.4.84.0/22 909 | 61.4.88.0/21 910 | 61.4.176.0/20 911 | 61.8.160.0/20 912 | 61.14.212.0/22 913 | 61.14.216.0/21 914 | 61.14.240.0/21 915 | 61.28.0.0/17 916 | 61.29.128.0/18 917 | 61.29.192.0/19 918 | 61.29.224.0/20 919 | 61.45.128.0/18 920 | 61.45.224.0/20 921 | 61.47.128.0/18 922 | 61.48.0.0/13 923 | 61.87.192.0/18 924 | 61.128.0.0/10 925 | 61.232.0.0/14 926 | 61.236.0.0/15 927 | 61.240.0.0/14 928 | 62.234.0.0/16 929 | 65.55.209.0/24 930 | 72.163.248.0/22 931 | 87.254.207.0/24 932 | 93.183.14.0/24 933 | 93.183.18.0/24 934 | 94.191.0.0/17 935 | 101.0.0.0/22 936 | 101.1.0.0/22 937 | 101.2.172.0/22 938 | 101.4.0.0/14 939 | 101.16.0.0/12 940 | 101.32.0.0/15 941 | 101.34.0.0/16 942 | 101.35.0.0/20 943 | 101.35.16.0/22 944 | 101.35.21.0/24 945 | 101.35.22.0/23 946 | 101.35.24.0/21 947 | 101.35.32.0/19 948 | 101.35.64.0/20 949 | 101.35.80.0/23 950 | 101.35.84.0/22 951 | 101.35.88.0/21 952 | 101.35.96.0/19 953 | 101.35.128.0/17 954 | 101.36.0.0/18 955 | 101.36.64.0/20 956 | 101.36.88.0/21 957 | 101.36.96.0/19 958 | 101.36.128.0/17 959 | 101.37.0.0/16 960 | 101.38.0.0/15 961 | 101.40.0.0/13 962 | 101.48.0.0/15 963 | 101.50.8.0/21 964 | 101.50.56.0/22 965 | 101.52.0.0/16 966 | 101.53.100.0/22 967 | 101.54.0.0/16 968 | 101.55.224.0/21 969 | 101.64.0.0/13 970 | 101.72.0.0/14 971 | 101.76.0.0/15 972 | 101.78.0.0/22 973 | 101.78.32.0/19 974 | 101.80.0.0/12 975 | 101.96.0.0/21 976 | 101.96.8.0/22 977 | 101.96.16.0/20 978 | 101.96.128.0/17 979 | 101.99.96.0/19 980 | 101.101.64.0/19 981 | 101.101.100.0/24 982 | 101.101.102.0/23 983 | 101.101.104.0/21 984 | 101.101.112.0/20 985 | 101.102.64.0/19 986 | 101.102.100.0/23 987 | 101.102.102.0/24 988 | 101.102.104.0/21 989 | 101.102.112.0/20 990 | 101.104.0.0/14 991 | 101.110.64.0/19 992 | 101.110.96.0/20 993 | 101.110.116.0/22 994 | 101.110.120.0/21 995 | 101.120.0.0/14 996 | 101.124.0.0/15 997 | 101.126.0.0/16 998 | 101.128.0.0/22 999 | 101.128.8.0/21 1000 | 101.128.16.0/20 1001 | 101.128.32.0/19 1002 | 101.129.0.0/16 1003 | 101.130.0.0/15 1004 | 101.132.0.0/14 1005 | 101.144.0.0/12 1006 | 101.192.0.0/14 1007 | 101.196.0.0/17 1008 | 101.196.128.0/19 1009 | 101.196.160.0/22 1010 | 101.196.164.0/23 1011 | 101.196.166.0/24 1012 | 101.196.168.0/21 1013 | 101.196.176.0/20 1014 | 101.196.192.0/18 1015 | 101.198.128.0/18 1016 | 101.198.194.0/24 1017 | 101.198.196.0/24 1018 | 101.198.198.0/23 1019 | 101.198.200.0/21 1020 | 101.198.208.0/20 1021 | 101.198.224.0/19 1022 | 101.199.0.0/16 1023 | 101.200.0.0/15 1024 | 101.203.128.0/19 1025 | 101.203.160.0/21 1026 | 101.203.172.0/22 1027 | 101.203.176.0/20 1028 | 101.204.0.0/14 1029 | 101.224.0.0/13 1030 | 101.232.0.0/15 1031 | 101.234.64.0/21 1032 | 101.234.76.0/22 1033 | 101.234.80.0/20 1034 | 101.234.96.0/19 1035 | 101.236.0.0/14 1036 | 101.240.0.0/13 1037 | 101.248.0.0/15 1038 | 101.251.0.0/22 1039 | 101.251.8.0/21 1040 | 101.251.16.0/20 1041 | 101.251.32.0/19 1042 | 101.251.64.0/19 1043 | 101.251.96.0/20 1044 | 101.251.116.0/22 1045 | 101.251.120.0/21 1046 | 101.251.128.0/17 1047 | 101.252.0.0/15 1048 | 101.254.0.0/16 1049 | 103.1.8.0/22 1050 | 103.1.20.0/22 1051 | 103.1.24.0/22 1052 | 103.1.72.0/22 1053 | 103.1.88.0/22 1054 | 103.1.168.0/22 1055 | 103.2.108.0/22 1056 | 103.2.156.0/22 1057 | 103.2.164.0/22 1058 | 103.2.200.0/21 1059 | 103.2.208.0/21 1060 | 103.3.84.0/22 1061 | 103.3.88.0/21 1062 | 103.3.96.0/19 1063 | 103.3.128.0/20 1064 | 103.3.148.0/22 1065 | 103.3.152.0/21 1066 | 103.4.56.0/22 1067 | 103.4.168.0/22 1068 | 103.4.184.0/22 1069 | 103.5.36.0/22 1070 | 103.5.52.0/22 1071 | 103.5.56.0/22 1072 | 103.5.152.0/22 1073 | 103.5.168.0/22 1074 | 103.5.192.0/22 1075 | 103.5.252.0/22 1076 | 103.6.76.0/22 1077 | 103.6.108.0/22 1078 | 103.6.120.0/22 1079 | 103.6.220.0/22 1080 | 103.6.228.0/22 1081 | 103.7.140.0/22 1082 | 103.7.212.0/22 1083 | 103.7.216.0/21 1084 | 103.8.0.0/21 1085 | 103.8.8.0/22 1086 | 103.8.32.0/22 1087 | 103.8.52.0/22 1088 | 103.8.68.0/22 1089 | 103.8.108.0/22 1090 | 103.8.156.0/22 1091 | 103.8.200.0/21 1092 | 103.8.220.0/22 1093 | 103.9.8.0/22 1094 | 103.9.24.0/22 1095 | 103.9.108.0/22 1096 | 103.9.152.0/22 1097 | 103.9.248.0/21 1098 | 103.10.0.0/22 1099 | 103.10.16.0/22 1100 | 103.10.84.0/22 1101 | 103.10.111.0/24 1102 | 103.10.140.0/22 1103 | 103.11.16.0/22 1104 | 103.11.168.0/22 1105 | 103.11.180.0/22 1106 | 103.12.32.0/22 1107 | 103.12.136.0/22 1108 | 103.12.184.0/22 1109 | 103.12.232.0/22 1110 | 103.13.12.0/22 1111 | 103.13.124.0/22 1112 | 103.13.144.0/22 1113 | 103.13.196.0/22 1114 | 103.13.244.0/22 1115 | 103.14.84.0/22 1116 | 103.14.132.0/22 1117 | 103.14.136.0/22 1118 | 103.14.156.0/22 1119 | 103.14.240.0/22 1120 | 103.15.4.0/22 1121 | 103.15.8.0/22 1122 | 103.15.16.0/22 1123 | 103.15.96.0/22 1124 | 103.15.200.0/22 1125 | 103.16.52.0/22 1126 | 103.16.80.0/21 1127 | 103.16.88.0/22 1128 | 103.16.108.0/22 1129 | 103.16.124.0/22 1130 | 103.17.40.0/22 1131 | 103.17.64.0/22 1132 | 103.17.120.0/23 1133 | 103.17.136.0/22 1134 | 103.17.160.0/22 1135 | 103.17.204.0/22 1136 | 103.17.228.0/22 1137 | 103.18.192.0/22 1138 | 103.18.208.0/21 1139 | 103.18.224.0/22 1140 | 103.19.12.0/22 1141 | 103.19.40.0/21 1142 | 103.19.64.0/21 1143 | 103.19.72.0/22 1144 | 103.19.232.0/22 1145 | 103.20.12.0/22 1146 | 103.20.46.0/24 1147 | 103.20.68.0/22 1148 | 103.20.112.0/22 1149 | 103.20.128.0/22 1150 | 103.20.160.0/22 1151 | 103.20.248.0/22 1152 | 103.21.112.0/21 1153 | 103.21.140.0/22 1154 | 103.21.176.0/22 1155 | 103.21.240.0/22 1156 | 103.22.0.0/18 1157 | 103.22.64.0/19 1158 | 103.22.100.0/22 1159 | 103.22.104.0/21 1160 | 103.22.112.0/20 1161 | 103.22.188.0/22 1162 | 103.22.228.0/22 1163 | 103.22.252.0/22 1164 | 103.23.8.0/22 1165 | 103.23.56.0/22 1166 | 103.23.160.0/21 1167 | 103.23.176.0/22 1168 | 103.23.228.0/22 1169 | 103.24.24.0/22 1170 | 103.24.116.0/22 1171 | 103.24.128.0/22 1172 | 103.24.144.0/22 1173 | 103.24.176.0/22 1174 | 103.24.184.0/22 1175 | 103.24.228.0/22 1176 | 103.24.252.0/22 1177 | 103.25.20.0/22 1178 | 103.25.24.0/21 1179 | 103.25.32.0/21 1180 | 103.25.40.0/22 1181 | 103.25.48.0/22 1182 | 103.25.64.0/21 1183 | 103.25.148.0/22 1184 | 103.25.156.0/22 1185 | 103.25.216.0/22 1186 | 103.26.0.0/22 1187 | 103.26.64.0/22 1188 | 103.26.76.0/22 1189 | 103.26.116.0/22 1190 | 103.26.156.0/22 1191 | 103.26.160.0/22 1192 | 103.26.228.0/22 1193 | 103.26.240.0/22 1194 | 103.27.4.0/22 1195 | 103.27.12.0/22 1196 | 103.27.24.0/22 1197 | 103.27.56.0/22 1198 | 103.27.96.0/22 1199 | 103.27.240.0/22 1200 | 103.28.4.0/22 1201 | 103.28.8.0/22 1202 | 103.28.184.0/22 1203 | 103.28.204.0/22 1204 | 103.28.212.0/22 1205 | 103.29.16.0/22 1206 | 103.29.128.0/21 1207 | 103.29.136.0/22 1208 | 103.30.20.0/22 1209 | 103.30.96.0/22 1210 | 103.30.148.0/22 1211 | 103.30.202.0/23 1212 | 103.30.228.0/22 1213 | 103.30.234.0/24 1214 | 103.30.236.0/22 1215 | 103.31.48.0/21 1216 | 103.31.60.0/22 1217 | 103.31.64.0/21 1218 | 103.31.72.0/24 1219 | 103.31.148.0/22 1220 | 103.31.160.0/22 1221 | 103.31.168.0/22 1222 | 103.31.200.0/22 1223 | 103.31.236.0/22 1224 | 103.32.0.0/15 1225 | 103.34.0.0/16 1226 | 103.35.0.0/19 1227 | 103.35.32.0/20 1228 | 103.35.48.0/22 1229 | 103.35.104.0/22 1230 | 103.35.220.0/22 1231 | 103.36.28.0/22 1232 | 103.36.36.0/22 1233 | 103.36.56.0/21 1234 | 103.36.64.0/22 1235 | 103.36.72.0/22 1236 | 103.36.96.0/22 1237 | 103.36.132.0/22 1238 | 103.36.136.0/22 1239 | 103.36.160.0/19 1240 | 103.36.192.0/19 1241 | 103.36.224.0/20 1242 | 103.36.240.0/21 1243 | 103.37.12.0/22 1244 | 103.37.16.0/22 1245 | 103.37.24.0/22 1246 | 103.37.44.0/22 1247 | 103.37.52.0/22 1248 | 103.37.56.0/22 1249 | 103.37.72.0/22 1250 | 103.37.100.0/22 1251 | 103.37.104.0/22 1252 | 103.37.136.0/21 1253 | 103.37.144.0/20 1254 | 103.37.160.0/21 1255 | 103.37.172.0/22 1256 | 103.37.176.0/22 1257 | 103.37.188.0/22 1258 | 103.37.208.0/20 1259 | 103.37.252.0/22 1260 | 103.38.0.0/22 1261 | 103.38.32.0/22 1262 | 103.38.40.0/21 1263 | 103.38.76.0/22 1264 | 103.38.84.0/22 1265 | 103.38.92.0/22 1266 | 103.38.96.0/22 1267 | 103.38.116.0/22 1268 | 103.38.132.0/22 1269 | 103.38.140.0/22 1270 | 103.38.220.0/22 1271 | 103.38.224.0/21 1272 | 103.38.232.0/22 1273 | 103.38.252.0/23 1274 | 103.39.64.0/22 1275 | 103.39.88.0/22 1276 | 103.39.100.0/22 1277 | 103.39.104.0/22 1278 | 103.39.160.0/19 1279 | 103.39.200.0/21 1280 | 103.39.208.0/20 1281 | 103.39.224.0/21 1282 | 103.39.232.0/22 1283 | 103.40.12.0/22 1284 | 103.40.16.0/20 1285 | 103.40.32.0/20 1286 | 103.40.88.0/22 1287 | 103.40.192.0/22 1288 | 103.40.212.0/22 1289 | 103.40.220.0/22 1290 | 103.40.228.0/22 1291 | 103.40.232.0/21 1292 | 103.40.240.0/20 1293 | 103.41.0.0/22 1294 | 103.41.52.0/22 1295 | 103.41.140.0/22 1296 | 103.41.148.0/22 1297 | 103.41.152.0/22 1298 | 103.41.160.0/21 1299 | 103.41.220.0/22 1300 | 103.41.224.0/21 1301 | 103.41.232.0/22 1302 | 103.42.8.0/22 1303 | 103.42.24.0/22 1304 | 103.42.32.0/22 1305 | 103.42.64.0/21 1306 | 103.42.76.0/22 1307 | 103.42.232.0/22 1308 | 103.43.26.0/23 1309 | 103.43.84.0/22 1310 | 103.43.96.0/21 1311 | 103.43.104.0/22 1312 | 103.43.124.0/22 1313 | 103.43.184.0/22 1314 | 103.43.192.0/21 1315 | 103.43.208.0/22 1316 | 103.43.220.0/22 1317 | 103.43.224.0/22 1318 | 103.43.240.0/22 1319 | 103.44.56.0/22 1320 | 103.44.80.0/22 1321 | 103.44.120.0/21 1322 | 103.44.144.0/22 1323 | 103.44.152.0/22 1324 | 103.44.168.0/22 1325 | 103.44.176.0/20 1326 | 103.44.192.0/20 1327 | 103.44.224.0/22 1328 | 103.44.236.0/22 1329 | 103.44.240.0/20 1330 | 103.45.0.0/18 1331 | 103.45.72.0/21 1332 | 103.45.80.0/20 1333 | 103.45.96.0/19 1334 | 103.45.128.0/18 1335 | 103.45.192.0/19 1336 | 103.45.224.0/22 1337 | 103.45.248.0/22 1338 | 103.46.0.0/22 1339 | 103.46.12.0/22 1340 | 103.46.16.0/20 1341 | 103.46.32.0/19 1342 | 103.46.64.0/18 1343 | 103.46.128.0/21 1344 | 103.46.136.0/22 1345 | 103.46.152.0/21 1346 | 103.46.160.0/20 1347 | 103.46.176.0/21 1348 | 103.46.244.0/22 1349 | 103.46.248.0/22 1350 | 103.47.4.0/22 1351 | 103.47.20.0/22 1352 | 103.47.36.0/22 1353 | 103.47.40.0/22 1354 | 103.47.80.0/22 1355 | 103.47.96.0/22 1356 | 103.47.116.0/22 1357 | 103.47.120.0/22 1358 | 103.47.136.0/21 1359 | 103.47.212.0/22 1360 | 103.48.52.0/22 1361 | 103.48.92.0/22 1362 | 103.48.148.0/22 1363 | 103.48.152.0/23 1364 | 103.48.202.0/23 1365 | 103.48.216.0/21 1366 | 103.48.224.0/20 1367 | 103.48.240.0/21 1368 | 103.49.12.0/22 1369 | 103.49.20.0/22 1370 | 103.49.72.0/21 1371 | 103.49.96.0/22 1372 | 103.49.108.0/22 1373 | 103.49.128.0/22 1374 | 103.49.176.0/21 1375 | 103.50.36.0/22 1376 | 103.50.44.0/22 1377 | 103.50.48.0/20 1378 | 103.50.64.0/21 1379 | 103.50.72.0/22 1380 | 103.50.92.0/22 1381 | 103.50.108.0/22 1382 | 103.50.112.0/20 1383 | 103.50.132.0/22 1384 | 103.50.136.0/21 1385 | 103.50.172.0/22 1386 | 103.50.176.0/20 1387 | 103.50.192.0/21 1388 | 103.50.200.0/22 1389 | 103.50.220.0/22 1390 | 103.50.224.0/20 1391 | 103.50.240.0/21 1392 | 103.50.248.0/22 1393 | 103.52.40.0/22 1394 | 103.52.72.0/21 1395 | 103.52.80.0/21 1396 | 103.52.96.0/21 1397 | 103.52.104.0/22 1398 | 103.52.160.0/21 1399 | 103.52.172.0/22 1400 | 103.52.176.0/22 1401 | 103.52.184.0/22 1402 | 103.52.196.0/22 1403 | 103.53.64.0/21 1404 | 103.53.92.0/22 1405 | 103.53.124.0/22 1406 | 103.53.128.0/20 1407 | 103.53.144.0/22 1408 | 103.53.160.0/22 1409 | 103.53.180.0/22 1410 | 103.53.204.0/22 1411 | 103.53.208.0/21 1412 | 103.53.236.0/22 1413 | 103.53.248.0/22 1414 | 103.54.8.0/22 1415 | 103.54.48.0/22 1416 | 103.54.160.0/21 1417 | 103.54.212.0/22 1418 | 103.54.228.0/22 1419 | 103.54.240.0/22 1420 | 103.55.80.0/22 1421 | 103.55.120.0/22 1422 | 103.55.152.0/22 1423 | 103.55.172.0/22 1424 | 103.55.204.0/22 1425 | 103.55.208.0/22 1426 | 103.55.228.0/22 1427 | 103.55.236.0/22 1428 | 103.55.240.0/22 1429 | 103.56.20.0/22 1430 | 103.56.32.0/22 1431 | 103.56.56.0/21 1432 | 103.56.72.0/21 1433 | 103.56.140.0/22 1434 | 103.56.152.0/22 1435 | 103.56.200.0/22 1436 | 103.57.12.0/22 1437 | 103.57.52.0/22 1438 | 103.57.56.0/22 1439 | 103.57.76.0/22 1440 | 103.57.136.0/22 1441 | 103.57.196.0/22 1442 | 103.58.24.0/22 1443 | 103.59.76.0/22 1444 | 103.59.112.0/20 1445 | 103.59.128.0/22 1446 | 103.59.148.0/22 1447 | 103.60.32.0/22 1448 | 103.60.44.0/22 1449 | 103.60.164.0/22 1450 | 103.60.228.0/22 1451 | 103.60.236.0/22 1452 | 103.61.60.0/22 1453 | 103.61.104.0/22 1454 | 103.61.140.0/22 1455 | 103.61.152.0/21 1456 | 103.61.160.0/22 1457 | 103.61.172.0/22 1458 | 103.61.176.0/22 1459 | 103.62.24.0/22 1460 | 103.62.72.0/21 1461 | 103.62.80.0/21 1462 | 103.62.88.0/22 1463 | 103.62.96.0/19 1464 | 103.62.128.0/21 1465 | 103.62.156.0/22 1466 | 103.62.160.0/19 1467 | 103.62.192.0/22 1468 | 103.62.204.0/22 1469 | 103.62.208.0/20 1470 | 103.62.224.0/22 1471 | 103.63.32.0/19 1472 | 103.63.64.0/20 1473 | 103.63.80.0/21 1474 | 103.63.88.0/22 1475 | 103.63.140.0/22 1476 | 103.63.144.0/22 1477 | 103.63.152.0/22 1478 | 103.63.160.0/20 1479 | 103.63.176.0/21 1480 | 103.63.184.0/22 1481 | 103.63.192.0/20 1482 | 103.63.208.0/22 1483 | 103.63.240.0/20 1484 | 103.64.0.0/21 1485 | 103.64.24.0/21 1486 | 103.64.32.0/19 1487 | 103.64.64.0/18 1488 | 103.64.140.0/22 1489 | 103.64.144.0/22 1490 | 103.64.152.0/21 1491 | 103.64.160.0/19 1492 | 103.64.192.0/18 1493 | 103.65.0.0/20 1494 | 103.65.16.0/22 1495 | 103.65.48.0/20 1496 | 103.65.64.0/19 1497 | 103.65.100.0/22 1498 | 103.65.104.0/21 1499 | 103.65.112.0/20 1500 | 103.65.128.0/21 1501 | 103.65.136.0/22 1502 | 103.65.144.0/20 1503 | 103.65.160.0/20 1504 | 103.66.32.0/22 1505 | 103.66.40.0/22 1506 | 103.66.108.0/22 1507 | 103.66.200.0/22 1508 | 103.66.240.0/20 1509 | 103.67.0.0/21 1510 | 103.67.8.0/22 1511 | 103.67.40.0/21 1512 | 103.67.48.0/20 1513 | 103.67.64.0/18 1514 | 103.67.128.0/20 1515 | 103.67.144.0/21 1516 | 103.67.172.0/24 1517 | 103.67.175.0/24 1518 | 103.67.192.0/22 1519 | 103.67.212.0/22 1520 | 103.68.88.0/22 1521 | 103.68.100.0/22 1522 | 103.68.128.0/22 1523 | 103.69.16.0/22 1524 | 103.69.119.0/24 1525 | 103.69.212.0/23 1526 | 103.70.8.0/22 1527 | 103.70.148.0/22 1528 | 103.70.236.0/22 1529 | 103.70.252.0/22 1530 | 103.71.0.0/22 1531 | 103.71.68.0/22 1532 | 103.71.72.0/22 1533 | 103.71.80.0/21 1534 | 103.71.88.0/22 1535 | 103.71.120.0/21 1536 | 103.71.128.0/22 1537 | 103.71.144.0/22 1538 | 103.71.196.0/22 1539 | 103.71.200.0/22 1540 | 103.71.232.0/22 1541 | 103.72.12.0/22 1542 | 103.72.16.0/20 1543 | 103.72.32.0/20 1544 | 103.72.48.0/21 1545 | 103.72.112.0/20 1546 | 103.72.128.0/21 1547 | 103.72.149.0/24 1548 | 103.72.150.0/23 1549 | 103.72.172.0/22 1550 | 103.72.180.0/22 1551 | 103.72.224.0/19 1552 | 103.73.0.0/19 1553 | 103.73.48.0/22 1554 | 103.73.116.0/22 1555 | 103.73.120.0/22 1556 | 103.73.128.0/20 1557 | 103.73.144.0/22 1558 | 103.73.168.0/22 1559 | 103.73.176.0/22 1560 | 103.73.204.0/22 1561 | 103.73.208.0/22 1562 | 103.73.240.0/23 1563 | 103.73.242.0/24 1564 | 103.73.244.0/22 1565 | 103.73.248.0/22 1566 | 103.74.24.0/21 1567 | 103.74.32.0/20 1568 | 103.74.48.0/22 1569 | 103.74.56.0/21 1570 | 103.74.80.0/22 1571 | 103.74.124.0/22 1572 | 103.74.148.0/22 1573 | 103.74.152.0/21 1574 | 103.74.204.0/22 1575 | 103.74.232.0/22 1576 | 103.75.87.0/24 1577 | 103.75.88.0/21 1578 | 103.75.104.0/21 1579 | 103.75.112.0/22 1580 | 103.75.120.0/22 1581 | 103.75.128.0/22 1582 | 103.75.144.0/22 1583 | 103.75.152.0/22 1584 | 103.75.236.0/24 1585 | 103.76.60.0/22 1586 | 103.76.64.0/21 1587 | 103.76.72.0/22 1588 | 103.76.92.0/22 1589 | 103.76.216.0/21 1590 | 103.76.224.0/22 1591 | 103.77.28.0/22 1592 | 103.77.52.0/22 1593 | 103.77.56.0/22 1594 | 103.77.88.0/21 1595 | 103.77.132.0/22 1596 | 103.77.148.0/22 1597 | 103.77.220.0/22 1598 | 103.78.56.0/21 1599 | 103.78.64.0/22 1600 | 103.78.124.0/22 1601 | 103.78.172.0/22 1602 | 103.78.176.0/22 1603 | 103.78.196.0/22 1604 | 103.78.228.0/22 1605 | 103.79.24.0/21 1606 | 103.79.36.0/22 1607 | 103.79.40.0/21 1608 | 103.79.56.0/21 1609 | 103.79.64.0/21 1610 | 103.79.80.0/21 1611 | 103.79.136.0/22 1612 | 103.79.188.0/22 1613 | 103.79.192.0/20 1614 | 103.79.208.0/21 1615 | 103.79.243.0/24 1616 | 103.80.44.0/22 1617 | 103.80.72.0/22 1618 | 103.80.176.0/21 1619 | 103.80.184.0/22 1620 | 103.80.192.0/22 1621 | 103.80.200.0/22 1622 | 103.80.232.0/22 1623 | 103.81.4.0/22 1624 | 103.81.8.0/22 1625 | 103.81.16.0/21 1626 | 103.81.44.0/22 1627 | 103.81.48.0/22 1628 | 103.81.96.0/22 1629 | 103.81.120.0/22 1630 | 103.81.148.0/22 1631 | 103.81.164.0/22 1632 | 103.81.200.0/22 1633 | 103.81.232.0/22 1634 | 103.82.60.0/22 1635 | 103.82.68.0/22 1636 | 103.82.84.0/22 1637 | 103.82.104.0/22 1638 | 103.82.224.0/22 1639 | 103.82.236.0/22 1640 | 103.83.44.0/22 1641 | 103.83.52.0/22 1642 | 103.83.60.0/22 1643 | 103.83.72.0/22 1644 | 103.83.112.0/22 1645 | 103.83.132.0/22 1646 | 103.83.180.0/22 1647 | 103.84.0.0/22 1648 | 103.84.12.0/22 1649 | 103.84.16.0/20 1650 | 103.84.48.0/22 1651 | 103.84.56.0/22 1652 | 103.84.64.0/22 1653 | 103.84.72.0/22 1654 | 103.85.44.0/22 1655 | 103.85.48.0/21 1656 | 103.85.56.0/22 1657 | 103.85.84.0/22 1658 | 103.85.136.0/22 1659 | 103.85.144.0/22 1660 | 103.85.164.0/22 1661 | 103.85.168.0/21 1662 | 103.85.176.0/22 1663 | 103.86.28.0/22 1664 | 103.86.32.0/22 1665 | 103.86.60.0/22 1666 | 103.86.90.0/23 1667 | 103.86.204.0/22 1668 | 103.86.208.0/20 1669 | 103.86.224.0/19 1670 | 103.87.0.0/21 1671 | 103.87.20.0/22 1672 | 103.87.32.0/22 1673 | 103.87.96.0/22 1674 | 103.87.132.0/22 1675 | 103.87.180.0/22 1676 | 103.87.224.0/22 1677 | 103.88.4.0/22 1678 | 103.88.8.0/21 1679 | 103.88.16.0/21 1680 | 103.88.32.0/21 1681 | 103.88.60.0/22 1682 | 103.88.64.0/22 1683 | 103.88.72.0/22 1684 | 103.88.96.0/21 1685 | 103.88.152.0/23 1686 | 103.88.164.0/22 1687 | 103.88.188.0/22 1688 | 103.88.212.0/22 1689 | 103.89.28.0/22 1690 | 103.89.96.0/20 1691 | 103.89.112.0/21 1692 | 103.89.148.0/22 1693 | 103.89.172.0/22 1694 | 103.89.184.0/21 1695 | 103.89.192.0/19 1696 | 103.89.224.0/21 1697 | 103.90.52.0/22 1698 | 103.90.92.0/22 1699 | 103.90.100.0/22 1700 | 103.90.104.0/21 1701 | 103.90.112.0/20 1702 | 103.90.128.0/21 1703 | 103.90.152.0/22 1704 | 103.90.168.0/22 1705 | 103.90.173.0/24 1706 | 103.90.176.0/22 1707 | 103.90.188.0/22 1708 | 103.90.192.0/22 1709 | 103.91.36.0/22 1710 | 103.91.40.0/22 1711 | 103.91.108.0/22 1712 | 103.91.152.0/22 1713 | 103.91.176.0/22 1714 | 103.91.200.0/22 1715 | 103.91.208.0/21 1716 | 103.91.236.0/22 1717 | 103.92.48.0/20 1718 | 103.92.64.0/20 1719 | 103.92.80.0/22 1720 | 103.92.86.0/24 1721 | 103.92.88.0/22 1722 | 103.92.108.0/22 1723 | 103.92.124.0/22 1724 | 103.92.132.0/22 1725 | 103.92.156.0/22 1726 | 103.92.164.0/22 1727 | 103.92.168.0/21 1728 | 103.92.176.0/20 1729 | 103.92.192.0/22 1730 | 103.92.236.0/22 1731 | 103.92.240.0/20 1732 | 103.93.0.0/21 1733 | 103.93.28.0/22 1734 | 103.93.84.0/22 1735 | 103.93.152.0/22 1736 | 103.93.180.0/22 1737 | 103.93.204.0/22 1738 | 103.94.12.0/22 1739 | 103.94.20.0/22 1740 | 103.94.28.0/22 1741 | 103.94.32.0/20 1742 | 103.94.72.0/22 1743 | 103.94.88.0/22 1744 | 103.94.116.0/22 1745 | 103.94.160.0/22 1746 | 103.94.200.0/22 1747 | 103.95.31.0/24 1748 | 103.95.52.0/22 1749 | 103.95.68.0/22 1750 | 103.95.88.0/21 1751 | 103.95.136.0/21 1752 | 103.95.144.0/22 1753 | 103.95.152.0/22 1754 | 103.95.216.0/21 1755 | 103.95.224.0/22 1756 | 103.95.236.0/22 1757 | 103.95.240.0/20 1758 | 103.96.8.0/22 1759 | 103.96.124.0/22 1760 | 103.96.136.0/22 1761 | 103.96.152.0/21 1762 | 103.96.160.0/19 1763 | 103.96.192.0/20 1764 | 103.96.208.0/21 1765 | 103.96.216.0/22 1766 | 103.97.8.0/21 1767 | 103.97.17.0/24 1768 | 103.97.18.0/23 1769 | 103.97.20.0/22 1770 | 103.97.24.0/21 1771 | 103.97.36.0/22 1772 | 103.97.40.0/22 1773 | 103.97.56.0/22 1774 | 103.97.60.0/23 1775 | 103.97.64.0/21 1776 | 103.97.72.0/22 1777 | 103.97.112.0/21 1778 | 103.97.128.0/22 1779 | 103.97.144.0/21 1780 | 103.97.188.0/22 1781 | 103.97.192.0/22 1782 | 103.98.40.0/21 1783 | 103.98.48.0/22 1784 | 103.98.56.0/22 1785 | 103.98.80.0/22 1786 | 103.98.88.0/21 1787 | 103.98.96.0/21 1788 | 103.98.124.0/22 1789 | 103.98.136.0/21 1790 | 103.98.144.0/22 1791 | 103.98.164.0/22 1792 | 103.98.168.0/22 1793 | 103.98.180.0/22 1794 | 103.98.196.0/22 1795 | 103.98.216.0/21 1796 | 103.98.224.0/21 1797 | 103.98.232.0/22 1798 | 103.98.240.0/20 1799 | 103.99.40.0/24 1800 | 103.99.52.0/22 1801 | 103.99.56.0/22 1802 | 103.99.77.0/24 1803 | 103.99.78.0/23 1804 | 103.99.104.0/22 1805 | 103.99.116.0/22 1806 | 103.99.120.0/22 1807 | 103.99.132.0/22 1808 | 103.99.136.0/21 1809 | 103.99.144.0/22 1810 | 103.99.152.0/22 1811 | 103.99.220.0/22 1812 | 103.99.232.0/21 1813 | 103.100.0.0/22 1814 | 103.100.32.0/22 1815 | 103.100.40.0/22 1816 | 103.100.48.0/20 1817 | 103.100.64.0/21 1818 | 103.100.88.0/22 1819 | 103.100.116.0/22 1820 | 103.100.144.0/22 1821 | 103.100.240.0/22 1822 | 103.100.248.0/21 1823 | 103.101.4.0/22 1824 | 103.101.8.0/21 1825 | 103.101.28.0/22 1826 | 103.101.60.0/22 1827 | 103.101.121.0/24 1828 | 103.101.122.0/23 1829 | 103.101.124.0/22 1830 | 103.101.144.0/21 1831 | 103.101.153.0/24 1832 | 103.101.180.0/22 1833 | 103.101.184.0/22 1834 | 103.102.76.0/22 1835 | 103.102.80.0/22 1836 | 103.192.0.0/19 1837 | 103.192.48.0/21 1838 | 103.192.56.0/22 1839 | 103.192.84.0/22 1840 | 103.192.88.0/21 1841 | 103.192.96.0/20 1842 | 103.192.112.0/22 1843 | 103.192.128.0/20 1844 | 103.192.144.0/22 1845 | 103.192.164.0/22 1846 | 103.192.188.0/22 1847 | 103.192.208.0/21 1848 | 103.192.216.0/22 1849 | 103.192.252.0/22 1850 | 103.193.40.0/21 1851 | 103.193.120.0/22 1852 | 103.193.140.0/22 1853 | 103.193.160.0/22 1854 | 103.193.188.0/22 1855 | 103.193.192.0/22 1856 | 103.193.212.0/22 1857 | 103.193.216.0/21 1858 | 103.193.224.0/20 1859 | 103.194.16.0/22 1860 | 103.194.230.0/23 1861 | 103.195.112.0/22 1862 | 103.195.152.0/22 1863 | 103.195.160.0/22 1864 | 103.196.64.0/22 1865 | 103.196.72.0/22 1866 | 103.196.88.0/21 1867 | 103.196.96.0/22 1868 | 103.196.168.0/22 1869 | 103.196.185.0/24 1870 | 103.196.186.0/23 1871 | 103.197.180.0/22 1872 | 103.197.228.0/22 1873 | 103.197.253.0/24 1874 | 103.197.254.0/23 1875 | 103.198.20.0/22 1876 | 103.198.60.0/22 1877 | 103.198.64.0/22 1878 | 103.198.72.0/22 1879 | 103.198.124.0/22 1880 | 103.198.156.0/22 1881 | 103.198.180.0/22 1882 | 103.198.196.0/22 1883 | 103.198.200.0/22 1884 | 103.198.216.0/21 1885 | 103.198.224.0/20 1886 | 103.198.240.0/21 1887 | 103.199.164.0/22 1888 | 103.199.196.0/22 1889 | 103.199.228.0/22 1890 | 103.199.252.0/22 1891 | 103.200.52.0/22 1892 | 103.200.64.0/21 1893 | 103.200.136.0/21 1894 | 103.200.144.0/20 1895 | 103.200.160.0/19 1896 | 103.200.192.0/22 1897 | 103.200.220.0/22 1898 | 103.200.224.0/19 1899 | 103.201.0.0/20 1900 | 103.201.16.0/21 1901 | 103.201.28.0/22 1902 | 103.201.32.0/19 1903 | 103.201.64.0/22 1904 | 103.201.76.0/22 1905 | 103.201.80.0/20 1906 | 103.201.96.0/20 1907 | 103.201.112.0/21 1908 | 103.201.120.0/22 1909 | 103.201.152.0/21 1910 | 103.201.160.0/19 1911 | 103.201.192.0/18 1912 | 103.202.0.0/19 1913 | 103.202.32.0/20 1914 | 103.202.56.0/21 1915 | 103.202.64.0/18 1916 | 103.202.128.0/20 1917 | 103.202.144.0/22 1918 | 103.202.152.0/21 1919 | 103.202.160.0/19 1920 | 103.202.192.0/20 1921 | 103.202.212.0/22 1922 | 103.202.228.0/22 1923 | 103.202.236.0/22 1924 | 103.202.240.0/20 1925 | 103.203.0.0/19 1926 | 103.203.32.0/22 1927 | 103.203.96.0/19 1928 | 103.203.128.0/22 1929 | 103.203.140.0/22 1930 | 103.203.164.0/22 1931 | 103.203.168.0/22 1932 | 103.203.192.0/22 1933 | 103.203.200.0/22 1934 | 103.203.212.0/22 1935 | 103.203.216.0/22 1936 | 103.204.24.0/22 1937 | 103.204.88.0/22 1938 | 103.204.112.0/22 1939 | 103.204.136.0/21 1940 | 103.204.144.0/21 1941 | 103.204.152.0/22 1942 | 103.204.196.0/22 1943 | 103.204.232.0/21 1944 | 103.205.40.0/21 1945 | 103.205.52.0/22 1946 | 103.205.108.0/22 1947 | 103.205.116.0/22 1948 | 103.205.136.0/22 1949 | 103.205.162.0/24 1950 | 103.205.188.0/22 1951 | 103.205.192.0/21 1952 | 103.205.200.0/22 1953 | 103.205.236.0/22 1954 | 103.205.248.0/21 1955 | 103.206.0.0/22 1956 | 103.206.44.0/22 1957 | 103.206.148.0/22 1958 | 103.207.104.0/22 1959 | 103.207.184.0/21 1960 | 103.207.192.0/20 1961 | 103.207.208.0/21 1962 | 103.207.220.0/22 1963 | 103.207.228.0/22 1964 | 103.207.232.0/22 1965 | 103.208.12.0/22 1966 | 103.208.16.0/22 1967 | 103.208.28.0/22 1968 | 103.208.148.0/22 1969 | 103.209.112.0/22 1970 | 103.209.136.0/22 1971 | 103.209.200.0/22 1972 | 103.209.208.0/22 1973 | 103.209.216.0/22 1974 | 103.210.0.0/22 1975 | 103.210.96.0/22 1976 | 103.210.156.0/22 1977 | 103.210.160.0/19 1978 | 103.210.216.0/22 1979 | 103.211.44.0/22 1980 | 103.211.96.0/23 1981 | 103.211.98.0/24 1982 | 103.211.100.0/22 1983 | 103.211.156.0/22 1984 | 103.211.165.0/24 1985 | 103.211.168.0/22 1986 | 103.211.220.0/22 1987 | 103.211.248.0/22 1988 | 103.212.0.0/20 1989 | 103.212.44.0/22 1990 | 103.212.48.0/22 1991 | 103.212.84.0/22 1992 | 103.212.100.0/22 1993 | 103.212.148.0/22 1994 | 103.212.164.0/22 1995 | 103.212.196.0/22 1996 | 103.212.200.0/22 1997 | 103.212.230.0/23 1998 | 103.212.252.0/22 1999 | 103.213.40.0/21 2000 | 103.213.48.0/20 2001 | 103.213.64.0/19 2002 | 103.213.96.0/22 2003 | 103.213.132.0/22 2004 | 103.213.136.0/21 2005 | 103.213.144.0/20 2006 | 103.213.160.0/19 2007 | 103.213.252.0/22 2008 | 103.214.48.0/22 2009 | 103.214.84.0/22 2010 | 103.214.212.0/22 2011 | 103.214.240.0/21 2012 | 103.215.28.0/22 2013 | 103.215.32.0/21 2014 | 103.215.44.0/22 2015 | 103.215.100.0/23 2016 | 103.215.108.0/22 2017 | 103.215.116.0/22 2018 | 103.215.120.0/22 2019 | 103.215.140.0/22 2020 | 103.216.4.0/22 2021 | 103.216.8.0/21 2022 | 103.216.16.0/20 2023 | 103.216.32.0/20 2024 | 103.216.64.0/22 2025 | 103.216.108.0/22 2026 | 103.216.136.0/22 2027 | 103.216.152.0/22 2028 | 103.216.224.0/21 2029 | 103.216.240.0/20 2030 | 103.217.0.0/18 2031 | 103.217.168.0/22 2032 | 103.217.180.0/22 2033 | 103.217.184.0/21 2034 | 103.217.192.0/20 2035 | 103.218.8.0/21 2036 | 103.218.16.0/21 2037 | 103.218.29.0/24 2038 | 103.218.30.0/23 2039 | 103.218.32.0/19 2040 | 103.218.64.0/19 2041 | 103.218.192.0/20 2042 | 103.218.208.0/21 2043 | 103.218.216.0/22 2044 | 103.219.24.0/21 2045 | 103.219.32.0/21 2046 | 103.219.64.0/22 2047 | 103.219.84.0/22 2048 | 103.219.88.0/21 2049 | 103.219.96.0/21 2050 | 103.219.176.0/22 2051 | 103.219.184.0/22 2052 | 103.220.48.0/20 2053 | 103.220.64.0/22 2054 | 103.220.92.0/22 2055 | 103.220.96.0/22 2056 | 103.220.104.0/21 2057 | 103.220.116.0/22 2058 | 103.220.120.0/21 2059 | 103.220.128.0/20 2060 | 103.220.144.0/21 2061 | 103.220.152.0/22 2062 | 103.220.160.0/19 2063 | 103.220.192.0/21 2064 | 103.220.200.0/22 2065 | 103.220.240.0/20 2066 | 103.221.0.0/19 2067 | 103.221.32.0/20 2068 | 103.221.48.0/22 2069 | 103.221.88.0/21 2070 | 103.221.96.0/19 2071 | 103.221.128.0/18 2072 | 103.221.192.0/20 2073 | 103.222.0.0/20 2074 | 103.222.16.0/22 2075 | 103.222.24.0/21 2076 | 103.222.32.0/19 2077 | 103.222.64.0/18 2078 | 103.222.128.0/18 2079 | 103.222.192.0/19 2080 | 103.222.224.0/21 2081 | 103.222.232.0/22 2082 | 103.222.240.0/21 2083 | 103.223.16.0/20 2084 | 103.223.32.0/19 2085 | 103.223.64.0/19 2086 | 103.223.96.0/20 2087 | 103.223.112.0/21 2088 | 103.223.121.0/24 2089 | 103.223.123.0/24 2090 | 103.223.124.0/22 2091 | 103.223.128.0/21 2092 | 103.223.140.0/22 2093 | 103.223.144.0/20 2094 | 103.223.160.0/20 2095 | 103.223.176.0/21 2096 | 103.223.188.0/22 2097 | 103.223.192.0/18 2098 | 103.224.0.0/22 2099 | 103.224.40.0/21 2100 | 103.224.60.0/22 2101 | 103.224.220.0/22 2102 | 103.224.224.0/21 2103 | 103.224.232.0/22 2104 | 103.226.40.0/22 2105 | 103.226.56.0/21 2106 | 103.226.80.0/22 2107 | 103.226.116.0/22 2108 | 103.226.132.0/22 2109 | 103.226.156.0/22 2110 | 103.226.180.0/22 2111 | 103.226.196.0/22 2112 | 103.227.48.0/22 2113 | 103.227.72.0/21 2114 | 103.227.80.0/22 2115 | 103.227.100.0/22 2116 | 103.227.120.0/22 2117 | 103.227.132.0/22 2118 | 103.227.136.0/22 2119 | 103.227.196.0/22 2120 | 103.227.204.0/23 2121 | 103.227.206.0/24 2122 | 103.227.212.0/22 2123 | 103.227.228.0/22 2124 | 103.228.12.0/22 2125 | 103.228.88.0/22 2126 | 103.228.136.0/22 2127 | 103.228.160.0/22 2128 | 103.228.176.0/22 2129 | 103.228.204.0/22 2130 | 103.228.208.0/22 2131 | 103.228.232.0/22 2132 | 103.229.20.0/22 2133 | 103.229.60.0/23 2134 | 103.229.62.0/24 2135 | 103.229.136.0/22 2136 | 103.229.148.0/22 2137 | 103.229.172.0/22 2138 | 103.229.212.0/22 2139 | 103.229.216.0/21 2140 | 103.229.228.0/22 2141 | 103.229.236.0/22 2142 | 103.229.240.0/22 2143 | 103.230.0.0/22 2144 | 103.230.28.0/22 2145 | 103.230.40.0/21 2146 | 103.230.96.0/22 2147 | 103.230.196.0/22 2148 | 103.230.200.0/21 2149 | 103.230.212.0/22 2150 | 103.230.236.0/22 2151 | 103.231.16.0/21 2152 | 103.231.64.0/21 2153 | 103.231.144.0/22 2154 | 103.231.180.0/22 2155 | 103.231.244.0/22 2156 | 103.232.4.0/22 2157 | 103.232.144.0/22 2158 | 103.232.212.0/23 2159 | 103.232.214.0/24 2160 | 103.233.4.0/22 2161 | 103.233.44.0/22 2162 | 103.233.52.0/22 2163 | 103.233.104.0/22 2164 | 103.233.128.0/22 2165 | 103.233.136.0/22 2166 | 103.233.228.0/22 2167 | 103.234.0.0/22 2168 | 103.234.20.0/22 2169 | 103.234.56.0/22 2170 | 103.234.124.0/22 2171 | 103.234.128.0/22 2172 | 103.234.172.0/22 2173 | 103.234.180.0/22 2174 | 103.235.56.0/21 2175 | 103.235.80.0/21 2176 | 103.235.128.0/20 2177 | 103.235.144.0/21 2178 | 103.235.184.0/22 2179 | 103.235.192.0/22 2180 | 103.235.200.0/22 2181 | 103.235.220.0/22 2182 | 103.235.224.0/19 2183 | 103.236.0.0/18 2184 | 103.236.64.0/19 2185 | 103.236.96.0/22 2186 | 103.236.120.0/22 2187 | 103.236.184.0/22 2188 | 103.236.240.0/20 2189 | 103.237.0.0/20 2190 | 103.237.24.0/21 2191 | 103.237.68.0/22 2192 | 103.237.88.0/22 2193 | 103.237.152.0/22 2194 | 103.237.176.0/20 2195 | 103.237.192.0/18 2196 | 103.238.0.0/21 2197 | 103.238.16.0/20 2198 | 103.238.32.0/20 2199 | 103.238.48.0/21 2200 | 103.238.56.0/22 2201 | 103.238.88.0/21 2202 | 103.238.96.0/22 2203 | 103.238.132.0/22 2204 | 103.238.140.0/22 2205 | 103.238.144.0/22 2206 | 103.238.160.0/19 2207 | 103.238.196.0/22 2208 | 103.238.204.0/22 2209 | 103.238.252.0/22 2210 | 103.239.0.0/22 2211 | 103.239.44.0/22 2212 | 103.239.68.0/22 2213 | 103.239.152.0/21 2214 | 103.239.180.0/22 2215 | 103.239.184.0/22 2216 | 103.239.192.0/21 2217 | 103.239.204.0/22 2218 | 103.239.208.0/22 2219 | 103.239.224.0/22 2220 | 103.239.244.0/22 2221 | 103.240.16.0/22 2222 | 103.240.36.0/22 2223 | 103.240.72.0/22 2224 | 103.240.84.0/22 2225 | 103.240.124.0/22 2226 | 103.240.172.0/22 2227 | 103.240.188.0/22 2228 | 103.240.244.0/22 2229 | 103.241.12.0/22 2230 | 103.241.92.0/22 2231 | 103.241.96.0/22 2232 | 103.241.160.0/22 2233 | 103.241.184.0/21 2234 | 103.241.220.0/22 2235 | 103.242.128.0/23 2236 | 103.242.160.0/22 2237 | 103.242.168.0/21 2238 | 103.242.176.0/22 2239 | 103.242.200.0/22 2240 | 103.242.212.0/22 2241 | 103.242.220.0/22 2242 | 103.242.240.0/22 2243 | 103.243.136.0/22 2244 | 103.243.252.0/22 2245 | 103.244.16.0/22 2246 | 103.244.58.0/23 2247 | 103.244.60.0/22 2248 | 103.244.64.0/20 2249 | 103.244.80.0/21 2250 | 103.244.116.0/22 2251 | 103.244.164.0/22 2252 | 103.244.232.0/22 2253 | 103.244.252.0/22 2254 | 103.245.23.0/24 2255 | 103.245.52.0/22 2256 | 103.245.60.0/22 2257 | 103.245.80.0/22 2258 | 103.245.124.0/22 2259 | 103.245.128.0/22 2260 | 103.246.8.0/21 2261 | 103.246.120.0/21 2262 | 103.246.132.0/22 2263 | 103.246.152.0/22 2264 | 103.247.168.0/21 2265 | 103.247.176.0/22 2266 | 103.247.200.0/22 2267 | 103.247.212.0/22 2268 | 103.248.64.0/23 2269 | 103.248.100.0/22 2270 | 103.248.124.0/22 2271 | 103.248.152.0/22 2272 | 103.248.168.0/22 2273 | 103.248.192.0/22 2274 | 103.248.212.0/22 2275 | 103.248.224.0/21 2276 | 103.249.8.0/21 2277 | 103.249.52.0/22 2278 | 103.249.128.0/22 2279 | 103.249.136.0/22 2280 | 103.249.144.0/22 2281 | 103.249.164.0/22 2282 | 103.249.168.0/21 2283 | 103.249.176.0/22 2284 | 103.249.188.0/22 2285 | 103.249.193.0/24 2286 | 103.249.244.0/22 2287 | 103.249.252.0/22 2288 | 103.250.32.0/22 2289 | 103.250.104.0/22 2290 | 103.250.124.0/22 2291 | 103.250.180.0/22 2292 | 103.250.192.0/22 2293 | 103.250.216.0/22 2294 | 103.250.224.0/22 2295 | 103.250.236.0/22 2296 | 103.250.248.0/21 2297 | 103.251.32.0/22 2298 | 103.251.84.0/22 2299 | 103.251.96.0/22 2300 | 103.251.124.0/22 2301 | 103.251.160.0/22 2302 | 103.251.192.0/22 2303 | 103.251.204.0/22 2304 | 103.251.240.0/22 2305 | 103.252.28.0/22 2306 | 103.252.36.0/22 2307 | 103.252.64.0/22 2308 | 103.252.96.0/22 2309 | 103.252.104.0/22 2310 | 103.252.172.0/22 2311 | 103.252.204.0/22 2312 | 103.252.208.0/22 2313 | 103.252.232.0/22 2314 | 103.252.248.0/22 2315 | 103.253.4.0/22 2316 | 103.253.60.0/22 2317 | 103.253.204.0/22 2318 | 103.253.220.0/22 2319 | 103.253.224.0/22 2320 | 103.253.232.0/22 2321 | 103.254.8.0/22 2322 | 103.254.20.0/22 2323 | 103.254.64.0/21 2324 | 103.254.76.0/22 2325 | 103.254.112.0/22 2326 | 103.254.176.0/22 2327 | 103.254.188.0/22 2328 | 103.255.68.0/22 2329 | 103.255.88.0/21 2330 | 103.255.136.0/21 2331 | 103.255.184.0/22 2332 | 103.255.200.0/22 2333 | 103.255.208.0/22 2334 | 103.255.228.0/22 2335 | 104.166.103.0/24 2336 | 104.222.196.0/24 2337 | 106.0.0.0/24 2338 | 106.0.2.0/23 2339 | 106.0.4.0/22 2340 | 106.0.8.0/21 2341 | 106.0.16.0/20 2342 | 106.0.44.0/22 2343 | 106.0.64.0/18 2344 | 106.2.0.0/23 2345 | 106.2.3.0/24 2346 | 106.2.4.0/22 2347 | 106.2.8.0/21 2348 | 106.2.16.0/20 2349 | 106.2.32.0/19 2350 | 106.2.64.0/18 2351 | 106.2.128.0/17 2352 | 106.3.16.0/20 2353 | 106.3.32.0/19 2354 | 106.3.64.0/20 2355 | 106.3.80.0/22 2356 | 106.3.88.0/21 2357 | 106.3.96.0/19 2358 | 106.3.128.0/17 2359 | 106.4.0.0/14 2360 | 106.8.0.0/15 2361 | 106.11.0.0/16 2362 | 106.12.0.0/14 2363 | 106.16.0.0/12 2364 | 106.32.0.0/12 2365 | 106.48.0.0/21 2366 | 106.48.8.0/22 2367 | 106.48.16.0/20 2368 | 106.48.32.0/20 2369 | 106.48.57.0/24 2370 | 106.48.60.0/23 2371 | 106.48.63.0/24 2372 | 106.48.64.0/18 2373 | 106.48.128.0/17 2374 | 106.49.1.0/24 2375 | 106.49.2.0/23 2376 | 106.49.4.0/22 2377 | 106.49.8.0/21 2378 | 106.49.16.0/20 2379 | 106.49.32.0/19 2380 | 106.49.64.0/19 2381 | 106.49.96.0/24 2382 | 106.49.98.0/23 2383 | 106.49.100.0/22 2384 | 106.49.104.0/21 2385 | 106.49.112.0/20 2386 | 106.49.128.0/17 2387 | 106.50.0.0/16 2388 | 106.52.0.0/14 2389 | 106.56.0.0/13 2390 | 106.74.0.0/16 2391 | 106.75.0.0/17 2392 | 106.75.128.0/18 2393 | 106.75.201.0/24 2394 | 106.75.204.0/22 2395 | 106.75.208.0/20 2396 | 106.75.224.0/19 2397 | 106.80.0.0/12 2398 | 106.108.0.0/14 2399 | 106.112.0.0/12 2400 | 106.224.0.0/12 2401 | 107.153.91.0/24 2402 | 107.153.92.0/23 2403 | 109.71.4.0/24 2404 | 109.244.0.0/16 2405 | 110.6.0.0/15 2406 | 110.16.0.0/14 2407 | 110.34.40.0/21 2408 | 110.40.0.0/15 2409 | 110.42.0.0/16 2410 | 110.43.8.0/21 2411 | 110.43.16.0/20 2412 | 110.43.32.0/19 2413 | 110.43.64.0/18 2414 | 110.43.128.0/17 2415 | 110.44.12.0/22 2416 | 110.44.144.0/20 2417 | 110.48.0.0/17 2418 | 110.48.128.0/19 2419 | 110.48.161.0/24 2420 | 110.48.162.0/23 2421 | 110.48.164.0/22 2422 | 110.48.168.0/21 2423 | 110.48.176.0/20 2424 | 110.48.192.0/18 2425 | 110.51.0.0/16 2426 | 110.52.0.0/15 2427 | 110.56.0.0/13 2428 | 110.64.0.0/15 2429 | 110.72.0.0/15 2430 | 110.75.0.0/16 2431 | 110.76.0.0/20 2432 | 110.76.16.0/22 2433 | 110.76.20.0/24 2434 | 110.76.22.0/24 2435 | 110.76.24.0/21 2436 | 110.76.32.0/19 2437 | 110.76.132.0/22 2438 | 110.76.156.0/22 2439 | 110.76.184.0/22 2440 | 110.76.192.0/18 2441 | 110.77.0.0/17 2442 | 110.80.0.0/13 2443 | 110.88.0.0/14 2444 | 110.92.68.0/22 2445 | 110.93.32.0/19 2446 | 110.94.0.0/15 2447 | 110.96.0.0/11 2448 | 110.152.0.0/14 2449 | 110.156.0.0/15 2450 | 110.166.0.0/15 2451 | 110.172.192.0/18 2452 | 110.173.0.0/19 2453 | 110.173.32.0/20 2454 | 110.173.64.0/19 2455 | 110.173.192.0/19 2456 | 110.176.0.0/12 2457 | 110.192.0.0/11 2458 | 110.228.0.0/14 2459 | 110.232.32.0/19 2460 | 110.236.0.0/15 2461 | 110.240.0.0/12 2462 | 111.0.0.0/10 2463 | 111.66.0.0/16 2464 | 111.67.192.0/20 2465 | 111.68.64.0/19 2466 | 111.72.0.0/13 2467 | 111.85.0.0/16 2468 | 111.91.192.0/22 2469 | 111.91.197.0/24 2470 | 111.91.198.0/23 2471 | 111.91.200.0/21 2472 | 111.91.208.0/20 2473 | 111.92.248.0/21 2474 | 111.112.0.0/14 2475 | 111.116.0.0/15 2476 | 111.118.200.0/21 2477 | 111.119.64.0/20 2478 | 111.119.80.0/23 2479 | 111.119.82.0/24 2480 | 111.119.84.0/22 2481 | 111.119.88.0/21 2482 | 111.119.96.0/19 2483 | 111.119.128.0/19 2484 | 111.120.0.0/14 2485 | 111.124.0.0/16 2486 | 111.126.0.0/15 2487 | 111.128.0.0/11 2488 | 111.160.0.0/13 2489 | 111.170.0.0/16 2490 | 111.172.0.0/14 2491 | 111.176.0.0/13 2492 | 111.186.0.0/15 2493 | 111.192.0.0/12 2494 | 111.208.0.0/13 2495 | 111.221.28.0/24 2496 | 111.221.128.0/17 2497 | 111.222.0.0/16 2498 | 111.223.4.0/22 2499 | 111.223.8.0/21 2500 | 111.223.16.0/22 2501 | 111.223.240.0/22 2502 | 111.223.249.0/24 2503 | 111.223.250.0/23 2504 | 111.224.0.0/13 2505 | 111.235.96.0/19 2506 | 111.235.156.0/22 2507 | 111.235.160.0/21 2508 | 111.235.170.0/23 2509 | 111.235.172.0/22 2510 | 111.235.176.0/20 2511 | 112.0.0.0/10 2512 | 112.64.0.0/14 2513 | 112.73.64.0/18 2514 | 112.74.0.0/16 2515 | 112.80.0.0/12 2516 | 112.96.0.0/13 2517 | 112.109.128.0/17 2518 | 112.111.0.0/16 2519 | 112.112.0.0/14 2520 | 112.116.0.0/15 2521 | 112.122.0.0/15 2522 | 112.124.0.0/14 2523 | 112.128.0.0/14 2524 | 112.132.0.0/16 2525 | 112.137.48.0/21 2526 | 112.192.0.0/14 2527 | 112.224.0.0/11 2528 | 113.0.0.0/13 2529 | 113.8.0.0/15 2530 | 113.11.192.0/19 2531 | 113.12.0.0/14 2532 | 113.16.0.0/15 2533 | 113.18.0.0/16 2534 | 113.21.232.0/21 2535 | 113.24.0.0/14 2536 | 113.31.0.0/16 2537 | 113.44.0.0/14 2538 | 113.48.0.0/14 2539 | 113.52.160.0/22 2540 | 113.52.164.0/23 2541 | 113.52.166.0/24 2542 | 113.52.168.0/21 2543 | 113.52.176.0/20 2544 | 113.52.228.0/22 2545 | 113.54.0.0/15 2546 | 113.56.0.0/15 2547 | 113.58.0.0/16 2548 | 113.59.0.0/17 2549 | 113.59.224.0/22 2550 | 113.62.0.0/15 2551 | 113.64.0.0/10 2552 | 113.128.0.0/15 2553 | 113.130.96.0/20 2554 | 113.130.112.0/21 2555 | 113.132.0.0/14 2556 | 113.136.0.0/13 2557 | 113.194.0.0/15 2558 | 113.197.100.0/23 2559 | 113.197.102.0/24 2560 | 113.200.0.0/15 2561 | 113.202.0.0/16 2562 | 113.204.0.0/14 2563 | 113.208.96.0/19 2564 | 113.208.128.0/17 2565 | 113.209.0.0/16 2566 | 113.212.0.0/18 2567 | 113.212.100.0/22 2568 | 113.212.184.0/21 2569 | 113.213.0.0/17 2570 | 113.214.0.0/15 2571 | 113.218.0.0/15 2572 | 113.220.0.0/14 2573 | 113.224.0.0/12 2574 | 113.240.0.0/13 2575 | 113.248.0.0/14 2576 | 114.28.0.0/16 2577 | 114.31.64.0/21 2578 | 114.54.0.0/15 2579 | 114.60.0.0/14 2580 | 114.64.0.0/14 2581 | 114.68.0.0/16 2582 | 114.79.64.0/18 2583 | 114.80.0.0/12 2584 | 114.96.0.0/13 2585 | 114.104.0.0/14 2586 | 114.110.0.0/20 2587 | 114.110.64.0/18 2588 | 114.111.0.0/19 2589 | 114.111.160.0/19 2590 | 114.112.4.0/22 2591 | 114.112.8.0/22 2592 | 114.112.12.0/23 2593 | 114.112.24.0/21 2594 | 114.112.32.0/19 2595 | 114.112.64.0/19 2596 | 114.112.96.0/20 2597 | 114.112.116.0/22 2598 | 114.112.120.0/21 2599 | 114.112.136.0/21 2600 | 114.112.144.0/20 2601 | 114.112.160.0/19 2602 | 114.112.192.0/19 2603 | 114.113.0.0/17 2604 | 114.113.128.0/21 2605 | 114.113.140.0/22 2606 | 114.113.144.0/20 2607 | 114.113.160.0/19 2608 | 114.113.196.0/22 2609 | 114.113.200.0/21 2610 | 114.113.208.0/20 2611 | 114.113.224.0/20 2612 | 114.114.0.0/16 2613 | 114.115.0.0/18 2614 | 114.115.68.0/22 2615 | 114.115.72.0/21 2616 | 114.115.80.0/20 2617 | 114.115.96.0/19 2618 | 114.115.128.0/17 2619 | 114.116.0.0/14 2620 | 114.132.0.0/18 2621 | 114.132.64.0/19 2622 | 114.132.96.0/21 2623 | 114.132.104.0/22 2624 | 114.132.108.0/23 2625 | 114.132.110.0/24 2626 | 114.132.112.0/20 2627 | 114.132.128.0/17 2628 | 114.135.0.0/16 2629 | 114.138.0.0/15 2630 | 114.141.64.0/21 2631 | 114.141.80.0/21 2632 | 114.141.128.0/18 2633 | 114.196.0.0/15 2634 | 114.198.248.0/21 2635 | 114.208.0.0/12 2636 | 114.224.0.0/11 2637 | 115.24.0.0/14 2638 | 115.28.0.0/15 2639 | 115.31.64.0/20 2640 | 115.32.0.0/14 2641 | 115.42.56.0/22 2642 | 115.44.0.0/14 2643 | 115.48.0.0/12 2644 | 115.69.64.0/20 2645 | 115.84.0.0/18 2646 | 115.84.192.0/21 2647 | 115.84.201.0/24 2648 | 115.84.202.0/23 2649 | 115.84.204.0/22 2650 | 115.84.208.0/20 2651 | 115.85.192.0/18 2652 | 115.100.0.0/14 2653 | 115.104.0.0/14 2654 | 115.120.0.0/14 2655 | 115.124.16.0/20 2656 | 115.148.0.0/14 2657 | 115.152.0.0/13 2658 | 115.166.64.0/19 2659 | 115.168.0.0/13 2660 | 115.180.0.0/14 2661 | 115.187.0.0/20 2662 | 115.190.0.0/15 2663 | 115.192.0.0/11 2664 | 115.224.0.0/12 2665 | 116.0.8.0/21 2666 | 116.0.24.0/21 2667 | 116.1.0.0/16 2668 | 116.2.0.0/15 2669 | 116.4.0.0/14 2670 | 116.8.0.0/14 2671 | 116.13.0.0/16 2672 | 116.16.0.0/12 2673 | 116.50.0.0/20 2674 | 116.52.0.0/14 2675 | 116.56.0.0/15 2676 | 116.58.128.0/20 2677 | 116.58.208.0/20 2678 | 116.60.0.0/14 2679 | 116.66.0.0/18 2680 | 116.66.64.0/19 2681 | 116.66.96.0/20 2682 | 116.66.120.0/22 2683 | 116.68.136.0/21 2684 | 116.68.176.0/21 2685 | 116.69.0.0/16 2686 | 116.70.0.0/17 2687 | 116.76.0.0/14 2688 | 116.85.0.0/16 2689 | 116.89.144.0/20 2690 | 116.90.80.0/20 2691 | 116.90.184.0/21 2692 | 116.95.0.0/16 2693 | 116.112.0.0/14 2694 | 116.116.0.0/15 2695 | 116.128.0.0/10 2696 | 116.192.0.0/16 2697 | 116.193.16.0/20 2698 | 116.193.32.0/19 2699 | 116.193.176.0/21 2700 | 116.194.0.0/15 2701 | 116.196.0.0/21 2702 | 116.196.8.0/22 2703 | 116.196.12.0/23 2704 | 116.196.16.0/20 2705 | 116.196.33.0/24 2706 | 116.196.34.0/23 2707 | 116.196.36.0/22 2708 | 116.196.40.0/21 2709 | 116.196.48.0/20 2710 | 116.196.64.0/18 2711 | 116.196.128.0/17 2712 | 116.197.160.0/21 2713 | 116.197.180.0/23 2714 | 116.198.0.0/16 2715 | 116.199.0.0/17 2716 | 116.199.128.0/20 2717 | 116.199.144.0/22 2718 | 116.199.149.0/24 2719 | 116.199.150.0/23 2720 | 116.199.152.0/21 2721 | 116.204.0.0/15 2722 | 116.207.0.0/16 2723 | 116.208.0.0/14 2724 | 116.212.160.0/20 2725 | 116.213.64.0/18 2726 | 116.213.128.0/17 2727 | 116.214.32.0/19 2728 | 116.214.64.0/20 2729 | 116.214.128.0/17 2730 | 116.215.0.0/16 2731 | 116.216.0.0/14 2732 | 116.224.0.0/12 2733 | 116.242.0.0/15 2734 | 116.244.0.0/14 2735 | 116.248.0.0/15 2736 | 116.252.0.0/15 2737 | 116.254.104.0/21 2738 | 116.254.128.0/17 2739 | 116.255.128.0/17 2740 | 117.8.0.0/13 2741 | 117.21.0.0/16 2742 | 117.22.0.0/15 2743 | 117.24.0.0/13 2744 | 117.32.0.0/13 2745 | 117.40.0.0/14 2746 | 117.44.0.0/15 2747 | 117.48.0.0/14 2748 | 117.53.48.0/20 2749 | 117.53.176.0/20 2750 | 117.57.0.0/16 2751 | 117.58.0.0/18 2752 | 117.59.0.0/16 2753 | 117.60.0.0/14 2754 | 117.64.0.0/13 2755 | 117.72.0.0/15 2756 | 117.74.64.0/19 2757 | 117.74.128.0/17 2758 | 117.75.0.0/16 2759 | 117.76.0.0/14 2760 | 117.80.0.0/12 2761 | 117.100.0.0/15 2762 | 117.103.16.0/20 2763 | 117.103.40.0/21 2764 | 117.103.72.0/21 2765 | 117.103.128.0/20 2766 | 117.104.168.0/21 2767 | 117.104.188.0/24 2768 | 117.106.0.0/15 2769 | 117.112.0.0/13 2770 | 117.120.64.0/20 2771 | 117.120.80.0/22 2772 | 117.120.84.0/23 2773 | 117.120.86.0/24 2774 | 117.120.88.0/21 2775 | 117.120.96.0/19 2776 | 117.120.128.0/17 2777 | 117.121.0.0/19 2778 | 117.121.32.0/21 2779 | 117.121.40.0/22 2780 | 117.121.44.0/23 2781 | 117.121.46.0/24 2782 | 117.121.48.0/20 2783 | 117.121.64.0/18 2784 | 117.121.128.0/20 2785 | 117.121.148.0/22 2786 | 117.121.152.0/21 2787 | 117.121.160.0/19 2788 | 117.121.192.0/21 2789 | 117.122.128.0/17 2790 | 117.124.0.0/14 2791 | 117.128.0.0/10 2792 | 118.24.0.0/15 2793 | 118.26.0.0/19 2794 | 118.26.36.0/22 2795 | 118.26.40.0/21 2796 | 118.26.48.0/20 2797 | 118.26.64.0/19 2798 | 118.26.96.0/20 2799 | 118.26.112.0/21 2800 | 118.26.128.0/17 2801 | 118.28.0.0/14 2802 | 118.64.0.0/15 2803 | 118.66.0.0/16 2804 | 118.67.112.0/20 2805 | 118.72.0.0/13 2806 | 118.80.0.0/15 2807 | 118.84.0.0/15 2808 | 118.88.32.0/19 2809 | 118.88.64.0/18 2810 | 118.88.128.0/17 2811 | 118.89.0.0/16 2812 | 118.102.16.0/20 2813 | 118.102.32.0/21 2814 | 118.103.164.0/22 2815 | 118.103.168.0/21 2816 | 118.103.176.0/22 2817 | 118.103.245.0/24 2818 | 118.103.246.0/23 2819 | 118.112.0.0/13 2820 | 118.120.0.0/14 2821 | 118.124.0.0/15 2822 | 118.126.1.0/24 2823 | 118.126.2.0/23 2824 | 118.126.4.0/22 2825 | 118.126.8.0/21 2826 | 118.126.16.0/23 2827 | 118.126.18.0/24 2828 | 118.126.32.0/19 2829 | 118.126.64.0/18 2830 | 118.126.128.0/17 2831 | 118.127.128.0/19 2832 | 118.132.0.0/14 2833 | 118.144.0.0/14 2834 | 118.178.0.0/16 2835 | 118.180.0.0/14 2836 | 118.184.5.0/24 2837 | 118.184.8.0/23 2838 | 118.184.10.0/24 2839 | 118.184.12.0/24 2840 | 118.184.105.0/24 2841 | 118.184.106.0/23 2842 | 118.184.108.0/23 2843 | 118.184.110.0/24 2844 | 118.184.112.0/20 2845 | 118.184.128.0/20 2846 | 118.184.152.0/21 2847 | 118.184.160.0/19 2848 | 118.184.240.0/20 2849 | 118.186.0.0/16 2850 | 118.187.0.0/20 2851 | 118.187.16.0/21 2852 | 118.187.24.0/23 2853 | 118.187.27.0/24 2854 | 118.187.28.0/22 2855 | 118.187.32.0/19 2856 | 118.187.64.0/18 2857 | 118.187.128.0/17 2858 | 118.188.0.0/16 2859 | 118.190.0.0/16 2860 | 118.191.0.0/17 2861 | 118.191.128.0/18 2862 | 118.191.192.0/20 2863 | 118.191.208.0/21 2864 | 118.191.248.0/21 2865 | 118.192.0.0/16 2866 | 118.193.0.0/22 2867 | 118.193.40.0/21 2868 | 118.193.56.0/21 2869 | 118.193.68.0/22 2870 | 118.193.72.0/24 2871 | 118.193.77.0/24 2872 | 118.193.96.0/19 2873 | 118.194.0.0/20 2874 | 118.194.16.0/21 2875 | 118.194.24.0/22 2876 | 118.194.29.0/24 2877 | 118.194.30.0/23 2878 | 118.194.32.0/19 2879 | 118.194.64.0/18 2880 | 118.194.128.0/18 2881 | 118.194.192.0/19 2882 | 118.194.232.0/21 2883 | 118.194.240.0/20 2884 | 118.195.0.0/16 2885 | 118.196.0.0/14 2886 | 118.202.0.0/15 2887 | 118.204.0.0/14 2888 | 118.212.0.0/15 2889 | 118.215.192.0/18 2890 | 118.224.0.0/14 2891 | 118.228.0.0/17 2892 | 118.228.128.0/20 2893 | 118.228.144.0/21 2894 | 118.228.156.0/22 2895 | 118.228.160.0/19 2896 | 118.228.192.0/18 2897 | 118.229.0.0/16 2898 | 118.230.0.0/16 2899 | 118.239.0.0/16 2900 | 118.242.0.0/16 2901 | 118.244.0.0/14 2902 | 118.248.0.0/13 2903 | 119.0.0.0/15 2904 | 119.2.0.0/19 2905 | 119.2.128.0/17 2906 | 119.3.0.0/16 2907 | 119.4.0.0/14 2908 | 119.8.0.0/16 2909 | 119.10.0.0/17 2910 | 119.15.136.0/21 2911 | 119.16.0.0/16 2912 | 119.18.192.0/20 2913 | 119.18.208.0/21 2914 | 119.18.224.0/22 2915 | 119.18.228.0/24 2916 | 119.18.230.0/23 2917 | 119.18.232.0/21 2918 | 119.18.240.0/20 2919 | 119.19.0.0/16 2920 | 119.20.0.0/14 2921 | 119.27.64.0/18 2922 | 119.27.128.0/17 2923 | 119.28.28.0/24 2924 | 119.29.0.0/16 2925 | 119.30.48.0/20 2926 | 119.31.192.0/19 2927 | 119.32.0.0/14 2928 | 119.36.0.0/15 2929 | 119.38.0.0/17 2930 | 119.38.128.0/18 2931 | 119.38.192.0/20 2932 | 119.38.208.0/22 2933 | 119.38.212.0/23 2934 | 119.38.214.0/27 2935 | 119.38.214.56/29 2936 | 119.38.214.64/26 2937 | 119.38.214.128/25 2938 | 119.38.215.0/24 2939 | 119.38.216.0/21 2940 | 119.39.0.0/16 2941 | 119.40.0.0/18 2942 | 119.40.64.0/20 2943 | 119.40.128.0/17 2944 | 119.41.0.0/16 2945 | 119.42.0.0/19 2946 | 119.42.52.0/22 2947 | 119.42.128.0/20 2948 | 119.42.224.0/19 2949 | 119.44.0.0/15 2950 | 119.48.0.0/13 2951 | 119.57.0.0/16 2952 | 119.58.0.0/16 2953 | 119.59.128.0/17 2954 | 119.60.0.0/15 2955 | 119.62.0.0/16 2956 | 119.63.32.0/19 2957 | 119.75.208.0/20 2958 | 119.78.0.0/15 2959 | 119.80.0.0/16 2960 | 119.82.208.0/20 2961 | 119.84.0.0/14 2962 | 119.88.0.0/14 2963 | 119.96.0.0/13 2964 | 119.108.0.0/15 2965 | 119.112.0.0/12 2966 | 119.128.0.0/12 2967 | 119.144.0.0/14 2968 | 119.148.160.0/19 2969 | 119.151.192.0/18 2970 | 119.160.200.0/21 2971 | 119.161.120.0/21 2972 | 119.161.128.0/17 2973 | 119.162.0.0/15 2974 | 119.164.0.0/14 2975 | 119.176.0.0/12 2976 | 119.232.0.0/15 2977 | 119.235.128.0/19 2978 | 119.235.160.0/20 2979 | 119.235.184.0/22 2980 | 119.248.0.0/14 2981 | 119.252.96.0/21 2982 | 119.252.240.0/21 2983 | 119.252.248.0/22 2984 | 119.252.252.0/23 2985 | 119.252.254.0/24 2986 | 119.253.0.0/16 2987 | 119.254.0.0/15 2988 | 120.0.0.0/12 2989 | 120.24.0.0/14 2990 | 120.30.0.0/18 2991 | 120.30.64.0/20 2992 | 120.30.80.0/21 2993 | 120.30.88.0/22 2994 | 120.30.92.0/23 2995 | 120.30.94.0/24 2996 | 120.30.96.0/19 2997 | 120.30.128.0/17 2998 | 120.31.0.0/16 2999 | 120.32.0.0/12 3000 | 120.48.0.0/15 3001 | 120.52.0.0/14 3002 | 120.64.0.0/13 3003 | 120.72.32.0/19 3004 | 120.72.128.0/17 3005 | 120.76.0.0/14 3006 | 120.80.0.0/13 3007 | 120.88.8.0/21 3008 | 120.90.0.0/15 3009 | 120.92.0.0/16 3010 | 120.94.0.0/15 3011 | 120.128.0.0/14 3012 | 120.132.0.0/17 3013 | 120.132.128.0/18 3014 | 120.132.192.0/19 3015 | 120.132.224.0/21 3016 | 120.132.232.0/22 3017 | 120.132.240.0/20 3018 | 120.133.0.0/16 3019 | 120.134.0.0/15 3020 | 120.136.16.0/21 3021 | 120.136.128.0/18 3022 | 120.137.0.0/17 3023 | 120.143.128.0/19 3024 | 120.192.0.0/10 3025 | 121.0.8.0/21 3026 | 121.0.16.0/20 3027 | 121.4.0.0/15 3028 | 121.8.0.0/13 3029 | 121.16.0.0/12 3030 | 121.32.0.0/13 3031 | 121.40.0.0/14 3032 | 121.46.0.0/18 3033 | 121.46.76.0/22 3034 | 121.46.128.0/17 3035 | 121.47.0.0/16 3036 | 121.48.0.0/15 3037 | 121.50.8.0/21 3038 | 121.51.0.0/16 3039 | 121.52.160.0/19 3040 | 121.52.208.0/20 3041 | 121.52.224.0/19 3042 | 121.54.176.0/21 3043 | 121.55.0.0/18 3044 | 121.56.0.0/15 3045 | 121.58.0.0/17 3046 | 121.58.136.0/21 3047 | 121.58.144.0/20 3048 | 121.58.160.0/21 3049 | 121.59.0.0/16 3050 | 121.60.0.0/14 3051 | 121.68.0.0/14 3052 | 121.76.0.0/15 3053 | 121.79.128.0/18 3054 | 121.89.0.0/16 3055 | 121.100.128.0/17 3056 | 121.101.0.0/18 3057 | 121.101.208.0/20 3058 | 121.192.0.0/13 3059 | 121.200.192.0/21 3060 | 121.201.0.0/18 3061 | 121.201.64.0/20 3062 | 121.201.80.0/21 3063 | 121.201.88.0/22 3064 | 121.201.92.0/23 3065 | 121.201.94.0/24 3066 | 121.201.96.0/19 3067 | 121.201.128.0/17 3068 | 121.204.0.0/14 3069 | 121.224.0.0/12 3070 | 121.248.0.0/14 3071 | 121.255.0.0/16 3072 | 122.0.64.0/18 3073 | 122.0.128.0/17 3074 | 122.4.0.0/14 3075 | 122.8.1.0/24 3076 | 122.8.6.0/23 3077 | 122.8.10.0/23 3078 | 122.8.12.0/22 3079 | 122.8.16.0/20 3080 | 122.8.32.0/19 3081 | 122.8.64.0/20 3082 | 122.8.80.0/22 3083 | 122.8.86.0/23 3084 | 122.8.88.0/24 3085 | 122.8.92.0/22 3086 | 122.8.96.0/22 3087 | 122.8.100.0/24 3088 | 122.8.111.0/24 3089 | 122.8.112.0/21 3090 | 122.8.120.0/22 3091 | 122.8.124.0/23 3092 | 122.8.128.0/17 3093 | 122.10.132.0/22 3094 | 122.10.136.0/21 3095 | 122.10.144.0/20 3096 | 122.10.160.0/22 3097 | 122.10.196.0/23 3098 | 122.10.216.0/22 3099 | 122.10.228.0/22 3100 | 122.10.232.0/21 3101 | 122.10.240.0/21 3102 | 122.10.248.0/22 3103 | 122.11.0.0/17 3104 | 122.12.0.0/15 3105 | 122.14.0.0/17 3106 | 122.14.192.0/18 3107 | 122.48.0.0/16 3108 | 122.49.0.0/18 3109 | 122.51.0.0/16 3110 | 122.64.0.0/11 3111 | 122.96.0.0/15 3112 | 122.98.144.0/20 3113 | 122.98.160.0/21 3114 | 122.98.172.0/22 3115 | 122.98.176.0/20 3116 | 122.98.192.0/21 3117 | 122.98.232.0/21 3118 | 122.98.240.0/20 3119 | 122.102.0.0/20 3120 | 122.102.64.0/19 3121 | 122.112.0.0/18 3122 | 122.112.64.0/19 3123 | 122.112.96.0/22 3124 | 122.112.109.0/24 3125 | 122.112.118.0/24 3126 | 122.112.122.0/23 3127 | 122.112.124.0/23 3128 | 122.112.128.0/17 3129 | 122.113.0.0/16 3130 | 122.114.0.0/16 3131 | 122.115.0.0/18 3132 | 122.115.80.0/20 3133 | 122.115.96.0/19 3134 | 122.115.128.0/17 3135 | 122.119.0.0/16 3136 | 122.128.100.0/22 3137 | 122.128.120.0/21 3138 | 122.136.0.0/13 3139 | 122.144.128.0/17 3140 | 122.152.192.0/18 3141 | 122.156.0.0/14 3142 | 122.188.0.0/14 3143 | 122.192.0.0/14 3144 | 122.198.0.0/16 3145 | 122.200.40.0/21 3146 | 122.200.64.0/18 3147 | 122.201.48.0/20 3148 | 122.204.0.0/14 3149 | 122.224.0.0/12 3150 | 122.240.0.0/13 3151 | 122.248.24.0/21 3152 | 122.248.48.0/20 3153 | 122.255.64.0/21 3154 | 123.0.128.0/21 3155 | 123.0.136.0/23 3156 | 123.0.139.0/24 3157 | 123.0.140.0/22 3158 | 123.0.145.0/24 3159 | 123.0.147.0/24 3160 | 123.0.148.0/22 3161 | 123.0.152.0/21 3162 | 123.0.160.0/20 3163 | 123.0.176.0/22 3164 | 123.0.181.0/24 3165 | 123.0.182.0/24 3166 | 123.0.184.0/24 3167 | 123.0.191.0/24 3168 | 123.4.0.0/14 3169 | 123.8.0.0/13 3170 | 123.49.130.0/24 3171 | 123.49.136.0/22 3172 | 123.49.141.0/24 3173 | 123.49.143.0/24 3174 | 123.49.152.0/21 3175 | 123.49.160.0/19 3176 | 123.49.192.0/18 3177 | 123.50.160.0/19 3178 | 123.52.0.0/14 3179 | 123.56.0.0/15 3180 | 123.58.0.0/18 3181 | 123.58.64.0/20 3182 | 123.58.80.0/21 3183 | 123.58.88.0/22 3184 | 123.58.96.0/19 3185 | 123.58.128.0/17 3186 | 123.59.0.0/16 3187 | 123.61.0.0/16 3188 | 123.62.0.0/16 3189 | 123.64.0.0/11 3190 | 123.96.0.0/15 3191 | 123.98.0.0/17 3192 | 123.99.128.0/17 3193 | 123.100.0.0/19 3194 | 123.100.232.0/24 3195 | 123.101.0.0/16 3196 | 123.103.0.0/20 3197 | 123.103.16.0/21 3198 | 123.103.24.0/22 3199 | 123.103.28.0/23 3200 | 123.103.30.0/24 3201 | 123.103.32.0/19 3202 | 123.103.64.0/18 3203 | 123.108.134.0/24 3204 | 123.108.138.0/23 3205 | 123.108.140.0/24 3206 | 123.108.142.0/24 3207 | 123.108.208.0/20 3208 | 123.112.0.0/12 3209 | 123.128.0.0/13 3210 | 123.137.0.0/16 3211 | 123.138.0.0/15 3212 | 123.144.0.0/12 3213 | 123.160.0.0/12 3214 | 123.176.60.0/22 3215 | 123.176.80.0/20 3216 | 123.177.0.0/16 3217 | 123.178.0.0/15 3218 | 123.180.0.0/14 3219 | 123.184.0.0/13 3220 | 123.196.0.0/15 3221 | 123.199.128.0/17 3222 | 123.206.0.0/15 3223 | 123.232.0.0/14 3224 | 123.242.0.0/17 3225 | 123.242.192.0/21 3226 | 123.244.0.0/14 3227 | 123.249.0.0/16 3228 | 123.253.0.0/16 3229 | 123.254.96.0/21 3230 | 124.6.64.0/18 3231 | 124.14.0.0/15 3232 | 124.16.0.0/15 3233 | 124.20.0.0/14 3234 | 124.28.192.0/18 3235 | 124.29.0.0/17 3236 | 124.31.0.0/16 3237 | 124.40.112.0/20 3238 | 124.40.128.0/18 3239 | 124.40.192.0/19 3240 | 124.40.240.0/22 3241 | 124.42.0.0/16 3242 | 124.47.0.0/18 3243 | 124.64.0.0/15 3244 | 124.66.0.0/17 3245 | 124.67.0.0/16 3246 | 124.68.0.0/15 3247 | 124.70.0.0/22 3248 | 124.72.0.0/13 3249 | 124.88.0.0/13 3250 | 124.108.8.0/21 3251 | 124.108.40.0/21 3252 | 124.109.96.0/21 3253 | 124.112.0.0/13 3254 | 124.126.0.0/15 3255 | 124.128.0.0/13 3256 | 124.147.128.0/17 3257 | 124.150.137.0/24 3258 | 124.151.0.0/16 3259 | 124.152.0.0/16 3260 | 124.156.0.0/16 3261 | 124.160.0.0/13 3262 | 124.172.0.0/14 3263 | 124.192.0.0/15 3264 | 124.196.0.0/16 3265 | 124.200.0.0/13 3266 | 124.220.0.0/14 3267 | 124.224.0.0/12 3268 | 124.240.0.0/17 3269 | 124.240.128.0/18 3270 | 124.242.0.0/16 3271 | 124.243.192.0/18 3272 | 124.248.0.0/17 3273 | 124.249.0.0/16 3274 | 124.250.0.0/17 3275 | 124.250.136.0/21 3276 | 124.250.144.0/20 3277 | 124.250.160.0/19 3278 | 124.250.192.0/18 3279 | 124.251.0.0/16 3280 | 124.254.0.0/18 3281 | 125.31.192.0/18 3282 | 125.32.0.0/12 3283 | 125.58.128.0/17 3284 | 125.61.128.0/17 3285 | 125.62.0.0/18 3286 | 125.64.0.0/11 3287 | 125.96.0.0/15 3288 | 125.98.0.0/16 3289 | 125.104.0.0/13 3290 | 125.112.0.0/12 3291 | 125.169.0.0/16 3292 | 125.171.0.0/16 3293 | 125.208.0.0/19 3294 | 125.208.37.0/24 3295 | 125.208.40.0/24 3296 | 125.208.45.0/24 3297 | 125.208.48.0/20 3298 | 125.210.0.0/15 3299 | 125.213.0.0/17 3300 | 125.214.96.0/19 3301 | 125.215.0.0/18 3302 | 125.216.0.0/13 3303 | 125.254.128.0/17 3304 | 128.108.0.0/16 3305 | 129.28.0.0/16 3306 | 129.223.254.0/24 3307 | 131.228.96.0/24 3308 | 132.237.134.0/24 3309 | 132.237.150.0/24 3310 | 135.159.208.0/20 3311 | 135.244.80.0/20 3312 | 137.59.59.0/24 3313 | 137.59.88.0/22 3314 | 138.32.244.0/22 3315 | 139.5.56.0/21 3316 | 139.5.80.0/22 3317 | 139.5.92.0/22 3318 | 139.5.128.0/22 3319 | 139.5.160.0/22 3320 | 139.5.192.0/22 3321 | 139.5.204.0/22 3322 | 139.5.244.0/22 3323 | 139.9.0.0/16 3324 | 139.129.0.0/16 3325 | 139.148.0.0/16 3326 | 139.155.0.0/16 3327 | 139.159.0.0/19 3328 | 139.159.32.0/21 3329 | 139.159.40.0/22 3330 | 139.159.50.0/23 3331 | 139.159.52.0/22 3332 | 139.159.56.0/21 3333 | 139.159.64.0/19 3334 | 139.159.96.0/20 3335 | 139.159.112.0/22 3336 | 139.159.116.0/23 3337 | 139.159.120.0/21 3338 | 139.159.128.0/17 3339 | 139.170.0.0/16 3340 | 139.176.0.0/16 3341 | 139.183.0.0/16 3342 | 139.186.0.0/16 3343 | 139.189.0.0/16 3344 | 139.196.0.0/15 3345 | 139.198.0.0/21 3346 | 139.198.8.0/23 3347 | 139.198.11.0/24 3348 | 139.198.12.0/22 3349 | 139.198.16.0/20 3350 | 139.198.32.0/19 3351 | 139.198.64.0/19 3352 | 139.198.96.0/20 3353 | 139.198.112.0/21 3354 | 139.198.121.0/24 3355 | 139.198.122.0/23 3356 | 139.198.124.0/22 3357 | 139.198.128.0/17 3358 | 139.199.0.0/16 3359 | 139.200.0.0/13 3360 | 139.208.0.0/13 3361 | 139.217.0.0/16 3362 | 139.219.0.0/16 3363 | 139.220.0.0/17 3364 | 139.220.128.0/18 3365 | 139.220.192.0/22 3366 | 139.220.196.0/23 3367 | 139.220.200.0/21 3368 | 139.220.208.0/23 3369 | 139.220.212.0/22 3370 | 139.220.216.0/21 3371 | 139.220.224.0/19 3372 | 139.221.0.0/16 3373 | 139.224.0.0/16 3374 | 139.226.0.0/15 3375 | 140.75.0.0/16 3376 | 140.101.208.0/24 3377 | 140.143.0.0/16 3378 | 140.205.0.0/18 3379 | 140.205.64.0/19 3380 | 140.205.96.0/20 3381 | 140.205.112.0/21 3382 | 140.205.120.0/23 3383 | 140.205.123.0/24 3384 | 140.205.124.0/22 3385 | 140.205.128.0/17 3386 | 140.206.0.0/15 3387 | 140.210.0.0/16 3388 | 140.224.0.0/16 3389 | 140.237.0.0/16 3390 | 140.240.0.0/16 3391 | 140.242.216.0/24 3392 | 140.242.223.0/24 3393 | 140.242.224.0/24 3394 | 140.243.0.0/16 3395 | 140.246.0.0/16 3396 | 140.249.0.0/16 3397 | 140.250.0.0/16 3398 | 140.255.0.0/16 3399 | 144.0.0.0/16 3400 | 144.7.0.0/16 3401 | 144.12.0.0/16 3402 | 144.36.146.0/23 3403 | 144.48.12.0/22 3404 | 144.48.64.0/22 3405 | 144.48.88.0/22 3406 | 144.48.156.0/22 3407 | 144.48.180.0/22 3408 | 144.48.184.0/22 3409 | 144.48.204.0/22 3410 | 144.48.208.0/21 3411 | 144.52.0.0/16 3412 | 144.123.0.0/16 3413 | 144.211.80.0/24 3414 | 144.211.138.0/24 3415 | 144.255.0.0/16 3416 | 146.196.56.0/22 3417 | 146.196.68.0/22 3418 | 146.196.92.0/22 3419 | 146.196.112.0/21 3420 | 146.196.124.0/22 3421 | 146.217.137.0/24 3422 | 146.222.79.0/24 3423 | 146.222.81.0/24 3424 | 146.222.94.0/24 3425 | 148.70.0.0/16 3426 | 150.0.0.0/16 3427 | 150.109.0.0/16 3428 | 150.115.0.0/16 3429 | 150.121.0.0/16 3430 | 150.122.0.0/16 3431 | 150.129.136.0/22 3432 | 150.129.192.0/22 3433 | 150.129.252.0/22 3434 | 150.138.0.0/15 3435 | 150.223.0.0/16 3436 | 150.242.0.0/21 3437 | 150.242.8.0/22 3438 | 150.242.28.0/22 3439 | 150.242.44.0/22 3440 | 150.242.48.0/21 3441 | 150.242.56.0/22 3442 | 150.242.76.0/22 3443 | 150.242.80.0/22 3444 | 150.242.92.0/22 3445 | 150.242.96.0/22 3446 | 150.242.112.0/21 3447 | 150.242.120.0/22 3448 | 150.242.152.0/21 3449 | 150.242.160.0/21 3450 | 150.242.168.0/22 3451 | 150.242.184.0/21 3452 | 150.242.192.0/22 3453 | 150.242.224.0/22 3454 | 150.242.232.0/21 3455 | 150.242.240.0/21 3456 | 150.242.248.0/22 3457 | 150.255.0.0/16 3458 | 152.104.128.0/17 3459 | 153.0.0.0/16 3460 | 153.3.0.0/16 3461 | 153.34.0.0/15 3462 | 153.36.0.0/15 3463 | 153.99.0.0/16 3464 | 153.101.0.0/16 3465 | 153.118.0.0/15 3466 | 154.8.128.0/17 3467 | 156.107.160.0/24 3468 | 156.107.170.0/24 3469 | 157.0.0.0/16 3470 | 157.18.0.0/16 3471 | 157.61.0.0/16 3472 | 157.119.8.0/21 3473 | 157.119.16.0/22 3474 | 157.119.28.0/22 3475 | 157.119.132.0/22 3476 | 157.119.136.0/21 3477 | 157.119.144.0/20 3478 | 157.119.160.0/21 3479 | 157.119.172.0/22 3480 | 157.119.192.0/21 3481 | 157.119.240.0/22 3482 | 157.119.252.0/22 3483 | 157.122.0.0/16 3484 | 157.133.186.0/23 3485 | 157.133.192.0/21 3486 | 157.133.212.0/24 3487 | 157.148.0.0/16 3488 | 157.156.0.0/16 3489 | 157.255.0.0/16 3490 | 159.153.120.0/22 3491 | 159.226.0.0/16 3492 | 160.19.208.0/21 3493 | 160.19.216.0/22 3494 | 160.20.48.0/22 3495 | 160.62.10.0/24 3496 | 160.83.109.0/24 3497 | 160.83.110.0/23 3498 | 160.202.60.0/23 3499 | 160.202.62.0/24 3500 | 160.202.148.0/22 3501 | 160.202.152.0/22 3502 | 160.202.212.0/22 3503 | 160.202.216.0/21 3504 | 160.202.224.0/19 3505 | 160.238.64.0/22 3506 | 161.163.0.0/21 3507 | 161.163.28.0/23 3508 | 161.163.176.0/24 3509 | 161.163.178.0/23 3510 | 161.163.180.0/22 3511 | 161.207.0.0/16 3512 | 162.62.0.0/16 3513 | 162.105.0.0/16 3514 | 163.0.0.0/16 3515 | 163.47.4.0/22 3516 | 163.53.0.0/20 3517 | 163.53.36.0/22 3518 | 163.53.40.0/21 3519 | 163.53.48.0/20 3520 | 163.53.64.0/22 3521 | 163.53.88.0/21 3522 | 163.53.96.0/19 3523 | 163.53.128.0/21 3524 | 163.53.136.0/22 3525 | 163.53.160.0/20 3526 | 163.53.188.0/22 3527 | 163.53.220.0/22 3528 | 163.53.236.0/22 3529 | 163.53.240.0/23 3530 | 163.53.242.0/24 3531 | 163.125.0.0/16 3532 | 163.142.0.0/16 3533 | 163.177.0.0/16 3534 | 163.179.0.0/16 3535 | 163.204.0.0/16 3536 | 163.244.246.0/24 3537 | 165.156.30.0/24 3538 | 166.111.0.0/16 3539 | 167.139.0.0/16 3540 | 167.189.0.0/16 3541 | 167.220.244.0/22 3542 | 168.159.144.0/21 3543 | 168.159.152.0/22 3544 | 168.159.156.0/23 3545 | 168.159.158.0/24 3546 | 168.160.0.0/16 3547 | 168.230.0.0/24 3548 | 170.106.0.0/16 3549 | 170.179.0.0/16 3550 | 170.225.224.0/23 3551 | 170.252.152.0/21 3552 | 171.8.0.0/13 3553 | 171.34.0.0/15 3554 | 171.36.0.0/14 3555 | 171.40.0.0/13 3556 | 171.80.0.0/12 3557 | 171.104.0.0/13 3558 | 171.112.0.0/12 3559 | 171.208.0.0/12 3560 | 172.81.192.0/18 3561 | 175.0.0.0/12 3562 | 175.16.0.0/13 3563 | 175.24.0.0/14 3564 | 175.30.0.0/15 3565 | 175.42.0.0/15 3566 | 175.44.0.0/16 3567 | 175.46.0.0/15 3568 | 175.48.0.0/12 3569 | 175.64.0.0/11 3570 | 175.102.0.0/16 3571 | 175.106.128.0/17 3572 | 175.111.108.0/22 3573 | 175.111.144.0/20 3574 | 175.111.160.0/20 3575 | 175.111.184.0/22 3576 | 175.146.0.0/15 3577 | 175.148.0.0/14 3578 | 175.152.0.0/14 3579 | 175.158.96.0/22 3580 | 175.160.0.0/12 3581 | 175.176.156.0/22 3582 | 175.178.0.0/16 3583 | 175.184.128.0/18 3584 | 175.185.0.0/16 3585 | 175.186.0.0/15 3586 | 175.188.0.0/14 3587 | 180.76.16.0/20 3588 | 180.76.32.0/19 3589 | 180.76.64.0/18 3590 | 180.76.128.0/18 3591 | 180.76.192.0/19 3592 | 180.76.224.0/20 3593 | 180.76.240.0/24 3594 | 180.76.242.0/23 3595 | 180.76.244.0/22 3596 | 180.76.248.0/22 3597 | 180.76.252.0/23 3598 | 180.76.255.0/24 3599 | 180.77.0.0/16 3600 | 180.78.0.0/15 3601 | 180.84.0.0/15 3602 | 180.86.0.0/16 3603 | 180.88.0.0/14 3604 | 180.94.56.0/21 3605 | 180.94.96.0/20 3606 | 180.94.120.0/21 3607 | 180.95.128.0/17 3608 | 180.96.0.0/11 3609 | 180.129.128.0/17 3610 | 180.130.0.0/16 3611 | 180.136.0.0/13 3612 | 180.148.16.0/21 3613 | 180.148.152.0/21 3614 | 180.148.216.0/21 3615 | 180.148.224.0/19 3616 | 180.149.128.0/19 3617 | 180.150.176.0/20 3618 | 180.152.0.0/13 3619 | 180.160.0.0/12 3620 | 180.178.112.0/21 3621 | 180.178.192.0/18 3622 | 180.184.0.0/14 3623 | 180.188.0.0/17 3624 | 180.189.148.0/22 3625 | 180.200.252.0/22 3626 | 180.201.0.0/16 3627 | 180.202.0.0/15 3628 | 180.208.0.0/15 3629 | 180.210.212.0/22 3630 | 180.210.233.0/24 3631 | 180.210.236.0/22 3632 | 180.212.0.0/15 3633 | 180.222.224.0/19 3634 | 180.223.0.0/16 3635 | 180.233.0.0/18 3636 | 180.233.64.0/19 3637 | 180.233.144.0/22 3638 | 180.235.64.0/19 3639 | 180.235.112.0/22 3640 | 182.16.144.0/21 3641 | 182.16.192.0/19 3642 | 182.18.0.0/17 3643 | 182.23.184.0/21 3644 | 182.23.200.0/21 3645 | 182.32.0.0/12 3646 | 182.48.96.0/19 3647 | 182.49.0.0/16 3648 | 182.50.0.0/22 3649 | 182.50.8.0/21 3650 | 182.50.112.0/20 3651 | 182.51.0.0/17 3652 | 182.51.128.0/18 3653 | 182.51.192.0/21 3654 | 182.51.204.0/22 3655 | 182.51.208.0/20 3656 | 182.51.224.0/19 3657 | 182.54.0.0/17 3658 | 182.61.0.0/18 3659 | 182.61.128.0/17 3660 | 182.80.0.0/13 3661 | 182.88.0.0/14 3662 | 182.92.0.0/16 3663 | 182.96.0.0/11 3664 | 182.128.0.0/12 3665 | 182.144.0.0/13 3666 | 182.157.0.0/16 3667 | 182.160.64.0/21 3668 | 182.160.72.0/22 3669 | 182.160.76.0/23 3670 | 182.160.78.0/24 3671 | 182.160.80.0/20 3672 | 182.174.0.0/15 3673 | 182.200.0.0/13 3674 | 182.236.128.0/17 3675 | 182.237.24.0/21 3676 | 182.238.0.0/16 3677 | 182.239.0.0/19 3678 | 182.240.0.0/13 3679 | 182.254.0.0/16 3680 | 183.0.0.0/10 3681 | 183.64.0.0/13 3682 | 183.78.160.0/21 3683 | 183.78.180.0/22 3684 | 183.81.180.0/22 3685 | 183.84.0.0/15 3686 | 183.91.128.0/22 3687 | 183.91.136.0/21 3688 | 183.91.144.0/20 3689 | 183.92.0.0/14 3690 | 183.128.0.0/11 3691 | 183.160.0.0/13 3692 | 183.168.0.0/15 3693 | 183.170.0.0/16 3694 | 183.172.0.0/14 3695 | 183.184.0.0/13 3696 | 183.192.0.0/10 3697 | 185.109.236.0/24 3698 | 188.131.128.0/17 3699 | 192.11.23.0/24 3700 | 192.11.26.0/24 3701 | 192.11.39.0/24 3702 | 192.11.236.0/24 3703 | 192.23.191.0/24 3704 | 192.55.10.0/23 3705 | 192.55.40.0/24 3706 | 192.55.46.0/24 3707 | 192.55.68.0/22 3708 | 192.102.204.0/22 3709 | 192.124.154.0/24 3710 | 192.137.31.0/24 3711 | 192.139.135.0/24 3712 | 192.139.136.0/24 3713 | 192.140.128.0/21 3714 | 192.140.136.0/22 3715 | 192.140.156.0/22 3716 | 192.140.160.0/19 3717 | 192.140.192.0/20 3718 | 192.140.208.0/21 3719 | 192.144.128.0/17 3720 | 192.163.11.0/24 3721 | 192.200.24.0/24 3722 | 192.232.97.0/24 3723 | 193.20.64.0/22 3724 | 193.112.0.0/16 3725 | 194.138.202.0/23 3726 | 198.175.100.0/22 3727 | 198.208.17.0/24 3728 | 199.7.72.0/24 3729 | 199.65.192.0/21 3730 | 199.244.144.0/24 3731 | 202.0.100.0/23 3732 | 202.0.122.0/23 3733 | 202.1.105.0/24 3734 | 202.1.106.0/24 3735 | 202.3.128.0/23 3736 | 202.4.128.0/19 3737 | 202.4.252.0/22 3738 | 202.5.208.0/21 3739 | 202.5.216.0/22 3740 | 202.6.6.0/23 3741 | 202.6.66.0/23 3742 | 202.6.72.0/23 3743 | 202.6.87.0/24 3744 | 202.6.88.0/23 3745 | 202.6.92.0/23 3746 | 202.6.103.0/24 3747 | 202.6.108.0/24 3748 | 202.6.110.0/23 3749 | 202.6.114.0/24 3750 | 202.6.176.0/20 3751 | 202.8.0.0/24 3752 | 202.8.2.0/23 3753 | 202.8.4.0/23 3754 | 202.8.12.0/24 3755 | 202.8.24.0/24 3756 | 202.8.77.0/24 3757 | 202.8.128.0/19 3758 | 202.8.192.0/20 3759 | 202.9.32.0/24 3760 | 202.9.34.0/23 3761 | 202.9.48.0/23 3762 | 202.9.51.0/24 3763 | 202.9.52.0/23 3764 | 202.9.54.0/24 3765 | 202.9.57.0/24 3766 | 202.9.58.0/23 3767 | 202.10.64.0/21 3768 | 202.10.74.0/23 3769 | 202.10.76.0/22 3770 | 202.10.112.0/20 3771 | 202.12.1.0/24 3772 | 202.12.2.0/24 3773 | 202.12.17.0/24 3774 | 202.12.18.0/23 3775 | 202.12.72.0/24 3776 | 202.12.84.0/23 3777 | 202.12.96.0/24 3778 | 202.12.98.0/23 3779 | 202.12.106.0/24 3780 | 202.12.111.0/24 3781 | 202.12.116.0/24 3782 | 202.14.64.0/23 3783 | 202.14.69.0/24 3784 | 202.14.73.0/24 3785 | 202.14.74.0/23 3786 | 202.14.76.0/24 3787 | 202.14.78.0/23 3788 | 202.14.88.0/24 3789 | 202.14.97.0/24 3790 | 202.14.104.0/23 3791 | 202.14.108.0/23 3792 | 202.14.111.0/24 3793 | 202.14.114.0/23 3794 | 202.14.118.0/23 3795 | 202.14.124.0/23 3796 | 202.14.127.0/24 3797 | 202.14.129.0/24 3798 | 202.14.135.0/24 3799 | 202.14.136.0/24 3800 | 202.14.149.0/24 3801 | 202.14.151.0/24 3802 | 202.14.157.0/24 3803 | 202.14.158.0/23 3804 | 202.14.169.0/24 3805 | 202.14.170.0/23 3806 | 202.14.172.0/22 3807 | 202.14.176.0/24 3808 | 202.14.184.0/23 3809 | 202.14.208.0/23 3810 | 202.14.213.0/24 3811 | 202.14.219.0/24 3812 | 202.14.220.0/24 3813 | 202.14.222.0/23 3814 | 202.14.225.0/24 3815 | 202.14.226.0/23 3816 | 202.14.231.0/24 3817 | 202.14.235.0/24 3818 | 202.14.236.0/22 3819 | 202.14.246.0/24 3820 | 202.14.251.0/24 3821 | 202.20.66.0/24 3822 | 202.20.79.0/24 3823 | 202.20.87.0/24 3824 | 202.20.88.0/23 3825 | 202.20.90.0/24 3826 | 202.20.94.0/23 3827 | 202.20.114.0/24 3828 | 202.20.117.0/24 3829 | 202.20.120.0/24 3830 | 202.20.125.0/24 3831 | 202.20.126.0/23 3832 | 202.21.48.0/20 3833 | 202.21.131.0/24 3834 | 202.21.132.0/24 3835 | 202.21.141.0/24 3836 | 202.21.142.0/24 3837 | 202.21.147.0/24 3838 | 202.21.148.0/24 3839 | 202.21.150.0/23 3840 | 202.21.152.0/23 3841 | 202.21.154.0/24 3842 | 202.21.156.0/24 3843 | 202.21.208.0/24 3844 | 202.22.248.0/21 3845 | 202.27.12.0/24 3846 | 202.27.14.0/24 3847 | 202.27.136.0/23 3848 | 202.36.226.0/24 3849 | 202.38.0.0/22 3850 | 202.38.8.0/21 3851 | 202.38.48.0/20 3852 | 202.38.64.0/18 3853 | 202.38.128.0/21 3854 | 202.38.136.0/23 3855 | 202.38.138.0/24 3856 | 202.38.140.0/22 3857 | 202.38.146.0/23 3858 | 202.38.149.0/24 3859 | 202.38.150.0/23 3860 | 202.38.152.0/22 3861 | 202.38.156.0/24 3862 | 202.38.158.0/23 3863 | 202.38.160.0/23 3864 | 202.38.164.0/22 3865 | 202.38.168.0/22 3866 | 202.38.176.0/23 3867 | 202.38.184.0/21 3868 | 202.38.192.0/18 3869 | 202.40.4.0/23 3870 | 202.40.7.0/24 3871 | 202.40.15.0/24 3872 | 202.40.135.0/24 3873 | 202.40.136.0/24 3874 | 202.40.140.0/24 3875 | 202.40.143.0/24 3876 | 202.40.144.0/23 3877 | 202.40.150.0/24 3878 | 202.40.155.0/24 3879 | 202.40.156.0/24 3880 | 202.40.158.0/23 3881 | 202.40.162.0/24 3882 | 202.41.8.0/23 3883 | 202.41.11.0/24 3884 | 202.41.12.0/23 3885 | 202.41.128.0/24 3886 | 202.41.130.0/23 3887 | 202.41.142.0/24 3888 | 202.41.152.0/21 3889 | 202.41.192.0/24 3890 | 202.41.196.0/22 3891 | 202.41.200.0/22 3892 | 202.41.240.0/20 3893 | 202.43.76.0/22 3894 | 202.43.144.0/20 3895 | 202.44.16.0/20 3896 | 202.44.48.0/22 3897 | 202.44.67.0/24 3898 | 202.44.74.0/24 3899 | 202.44.97.0/24 3900 | 202.44.129.0/24 3901 | 202.44.132.0/23 3902 | 202.44.146.0/23 3903 | 202.45.0.0/23 3904 | 202.45.2.0/24 3905 | 202.45.15.0/24 3906 | 202.45.16.0/20 3907 | 202.46.16.0/23 3908 | 202.46.18.0/24 3909 | 202.46.20.0/23 3910 | 202.46.128.0/24 3911 | 202.46.224.0/20 3912 | 202.47.82.0/23 3913 | 202.47.96.0/20 3914 | 202.47.126.0/24 3915 | 202.47.128.0/24 3916 | 202.47.130.0/23 3917 | 202.52.34.0/24 3918 | 202.52.143.0/24 3919 | 202.53.140.0/24 3920 | 202.53.143.0/24 3921 | 202.57.212.0/22 3922 | 202.57.216.0/22 3923 | 202.57.240.0/20 3924 | 202.58.0.0/24 3925 | 202.58.112.0/22 3926 | 202.59.0.0/23 3927 | 202.59.212.0/22 3928 | 202.59.236.0/24 3929 | 202.59.240.0/24 3930 | 202.60.48.0/21 3931 | 202.60.96.0/21 3932 | 202.60.112.0/20 3933 | 202.60.132.0/22 3934 | 202.60.136.0/21 3935 | 202.60.144.0/20 3936 | 202.61.68.0/22 3937 | 202.61.76.0/22 3938 | 202.61.88.0/22 3939 | 202.61.123.0/24 3940 | 202.61.127.0/24 3941 | 202.62.112.0/22 3942 | 202.62.248.0/22 3943 | 202.62.252.0/24 3944 | 202.62.255.0/24 3945 | 202.63.80.0/20 3946 | 202.63.160.0/19 3947 | 202.63.248.0/22 3948 | 202.63.253.0/24 3949 | 202.65.0.0/21 3950 | 202.65.8.0/23 3951 | 202.67.0.0/22 3952 | 202.69.4.0/23 3953 | 202.69.16.0/20 3954 | 202.70.0.0/19 3955 | 202.70.96.0/20 3956 | 202.70.192.0/20 3957 | 202.71.32.0/20 3958 | 202.72.40.0/21 3959 | 202.72.80.0/20 3960 | 202.72.112.0/20 3961 | 202.73.128.0/22 3962 | 202.73.240.0/20 3963 | 202.74.8.0/21 3964 | 202.74.36.0/24 3965 | 202.74.42.0/24 3966 | 202.74.52.0/24 3967 | 202.74.80.0/20 3968 | 202.74.254.0/23 3969 | 202.75.208.0/20 3970 | 202.75.252.0/22 3971 | 202.76.247.0/24 3972 | 202.76.252.0/22 3973 | 202.77.39.0/24 3974 | 202.77.80.0/21 3975 | 202.77.92.0/22 3976 | 202.78.8.0/21 3977 | 202.79.224.0/21 3978 | 202.79.248.0/22 3979 | 202.80.192.0/20 3980 | 202.81.0.0/22 3981 | 202.81.176.0/20 3982 | 202.83.252.0/22 3983 | 202.84.4.0/22 3984 | 202.84.8.0/21 3985 | 202.84.16.0/23 3986 | 202.84.22.0/24 3987 | 202.84.24.0/21 3988 | 202.85.208.0/20 3989 | 202.86.249.0/24 3990 | 202.87.80.0/20 3991 | 202.88.32.0/22 3992 | 202.89.8.0/21 3993 | 202.89.96.0/22 3994 | 202.89.108.0/22 3995 | 202.89.119.0/24 3996 | 202.89.232.0/21 3997 | 202.90.0.0/22 3998 | 202.90.16.0/20 3999 | 202.90.37.0/24 4000 | 202.90.96.0/19 4001 | 202.90.193.0/24 4002 | 202.90.196.0/24 4003 | 202.90.205.0/24 4004 | 202.90.224.0/20 4005 | 202.91.0.0/22 4006 | 202.91.96.0/20 4007 | 202.91.128.0/22 4008 | 202.91.176.0/21 4009 | 202.91.184.0/23 4010 | 202.91.186.0/24 4011 | 202.91.188.0/22 4012 | 202.91.224.0/19 4013 | 202.92.0.0/22 4014 | 202.92.8.0/21 4015 | 202.92.48.0/20 4016 | 202.92.252.0/22 4017 | 202.93.0.0/22 4018 | 202.93.252.0/22 4019 | 202.94.0.0/19 4020 | 202.94.74.0/24 4021 | 202.94.81.0/24 4022 | 202.94.92.0/22 4023 | 202.95.0.0/19 4024 | 202.95.240.0/21 4025 | 202.95.252.0/22 4026 | 202.96.0.0/12 4027 | 202.112.0.0/13 4028 | 202.120.0.0/15 4029 | 202.122.0.0/21 4030 | 202.122.32.0/21 4031 | 202.122.64.0/19 4032 | 202.122.112.0/20 4033 | 202.122.128.0/24 4034 | 202.122.132.0/24 4035 | 202.123.96.0/20 4036 | 202.123.116.0/22 4037 | 202.123.120.0/22 4038 | 202.124.16.0/21 4039 | 202.124.24.0/22 4040 | 202.125.107.0/24 4041 | 202.125.109.0/24 4042 | 202.125.112.0/20 4043 | 202.125.176.0/20 4044 | 202.127.0.0/21 4045 | 202.127.12.0/22 4046 | 202.127.16.0/20 4047 | 202.127.40.0/21 4048 | 202.127.48.0/20 4049 | 202.127.112.0/20 4050 | 202.127.128.0/19 4051 | 202.127.160.0/21 4052 | 202.127.192.0/20 4053 | 202.127.208.0/23 4054 | 202.127.212.0/22 4055 | 202.127.216.0/21 4056 | 202.127.224.0/19 4057 | 202.129.208.0/24 4058 | 202.130.0.0/19 4059 | 202.130.39.0/24 4060 | 202.130.224.0/19 4061 | 202.131.16.0/21 4062 | 202.131.59.0/24 4063 | 202.131.208.0/20 4064 | 202.133.32.0/20 4065 | 202.134.58.0/24 4066 | 202.134.128.0/20 4067 | 202.134.208.0/20 4068 | 202.136.48.0/20 4069 | 202.136.208.0/20 4070 | 202.136.224.0/20 4071 | 202.136.248.0/22 4072 | 202.136.254.0/23 4073 | 202.137.231.0/24 4074 | 202.140.140.0/22 4075 | 202.140.144.0/20 4076 | 202.141.160.0/19 4077 | 202.142.16.0/20 4078 | 202.143.4.0/22 4079 | 202.143.16.0/20 4080 | 202.143.32.0/20 4081 | 202.143.56.0/21 4082 | 202.143.100.0/22 4083 | 202.143.104.0/22 4084 | 202.144.196.0/22 4085 | 202.146.160.0/20 4086 | 202.146.186.0/24 4087 | 202.146.188.0/22 4088 | 202.146.196.0/22 4089 | 202.146.200.0/21 4090 | 202.147.144.0/20 4091 | 202.148.32.0/20 4092 | 202.148.64.0/18 4093 | 202.149.32.0/19 4094 | 202.149.160.0/19 4095 | 202.149.224.0/19 4096 | 202.150.16.0/20 4097 | 202.150.32.0/20 4098 | 202.150.56.0/22 4099 | 202.150.192.0/20 4100 | 202.150.224.0/19 4101 | 202.151.0.0/22 4102 | 202.151.128.0/19 4103 | 202.152.176.0/20 4104 | 202.153.0.0/22 4105 | 202.153.7.0/24 4106 | 202.153.48.0/20 4107 | 202.157.192.0/19 4108 | 202.158.160.0/19 4109 | 202.158.242.0/24 4110 | 202.160.156.0/22 4111 | 202.160.176.0/20 4112 | 202.162.67.0/24 4113 | 202.162.75.0/24 4114 | 202.164.0.0/20 4115 | 202.164.96.0/19 4116 | 202.165.96.0/21 4117 | 202.165.104.0/22 4118 | 202.165.110.0/23 4119 | 202.165.176.0/20 4120 | 202.165.208.0/20 4121 | 202.165.239.0/24 4122 | 202.165.240.0/23 4123 | 202.165.243.0/24 4124 | 202.165.245.0/24 4125 | 202.165.251.0/24 4126 | 202.165.252.0/22 4127 | 202.166.224.0/19 4128 | 202.168.80.0/22 4129 | 202.168.128.0/20 4130 | 202.168.160.0/19 4131 | 202.170.128.0/19 4132 | 202.170.216.0/21 4133 | 202.170.224.0/19 4134 | 202.171.216.0/21 4135 | 202.171.232.0/24 4136 | 202.171.235.0/24 4137 | 202.172.0.0/22 4138 | 202.172.7.0/24 4139 | 202.173.0.0/22 4140 | 202.173.6.0/24 4141 | 202.173.8.0/21 4142 | 202.173.112.0/22 4143 | 202.173.120.0/22 4144 | 202.173.224.0/19 4145 | 202.174.64.0/20 4146 | 202.174.124.0/22 4147 | 202.176.224.0/19 4148 | 202.179.160.0/20 4149 | 202.179.240.0/20 4150 | 202.180.128.0/19 4151 | 202.180.208.0/21 4152 | 202.181.8.0/22 4153 | 202.181.28.0/22 4154 | 202.181.112.0/20 4155 | 202.182.32.0/20 4156 | 202.182.192.0/19 4157 | 202.189.0.0/18 4158 | 202.189.80.0/20 4159 | 202.189.184.0/21 4160 | 202.191.0.0/24 4161 | 202.191.68.0/22 4162 | 202.191.72.0/21 4163 | 202.191.80.0/20 4164 | 202.192.0.0/12 4165 | 203.0.4.0/22 4166 | 203.0.10.0/23 4167 | 203.0.18.0/24 4168 | 203.0.24.0/24 4169 | 203.0.42.0/23 4170 | 203.0.45.0/24 4171 | 203.0.46.0/23 4172 | 203.0.81.0/24 4173 | 203.0.82.0/23 4174 | 203.0.90.0/23 4175 | 203.0.96.0/23 4176 | 203.0.104.0/21 4177 | 203.0.114.0/23 4178 | 203.0.122.0/24 4179 | 203.0.128.0/24 4180 | 203.0.130.0/23 4181 | 203.0.132.0/22 4182 | 203.0.137.0/24 4183 | 203.0.142.0/24 4184 | 203.0.144.0/24 4185 | 203.0.146.0/24 4186 | 203.0.148.0/24 4187 | 203.0.150.0/23 4188 | 203.0.152.0/24 4189 | 203.0.177.0/24 4190 | 203.0.224.0/24 4191 | 203.1.4.0/22 4192 | 203.1.18.0/24 4193 | 203.1.26.0/23 4194 | 203.1.65.0/24 4195 | 203.1.66.0/23 4196 | 203.1.70.0/23 4197 | 203.1.76.0/23 4198 | 203.1.90.0/24 4199 | 203.1.97.0/24 4200 | 203.1.98.0/23 4201 | 203.1.100.0/22 4202 | 203.1.108.0/24 4203 | 203.1.253.0/24 4204 | 203.1.254.0/24 4205 | 203.2.64.0/21 4206 | 203.2.73.0/24 4207 | 203.2.112.0/21 4208 | 203.2.126.0/23 4209 | 203.2.140.0/24 4210 | 203.2.150.0/24 4211 | 203.2.152.0/22 4212 | 203.2.156.0/23 4213 | 203.2.160.0/21 4214 | 203.2.180.0/23 4215 | 203.2.196.0/23 4216 | 203.2.209.0/24 4217 | 203.2.214.0/23 4218 | 203.2.226.0/23 4219 | 203.2.229.0/24 4220 | 203.2.236.0/23 4221 | 203.3.68.0/24 4222 | 203.3.72.0/23 4223 | 203.3.75.0/24 4224 | 203.3.80.0/21 4225 | 203.3.96.0/22 4226 | 203.3.105.0/24 4227 | 203.3.112.0/21 4228 | 203.3.120.0/24 4229 | 203.3.123.0/24 4230 | 203.3.135.0/24 4231 | 203.3.139.0/24 4232 | 203.3.143.0/24 4233 | 203.4.132.0/23 4234 | 203.4.134.0/24 4235 | 203.4.151.0/24 4236 | 203.4.152.0/22 4237 | 203.4.174.0/23 4238 | 203.4.180.0/24 4239 | 203.4.186.0/24 4240 | 203.4.205.0/24 4241 | 203.4.208.0/22 4242 | 203.4.227.0/24 4243 | 203.4.230.0/23 4244 | 203.5.4.0/23 4245 | 203.5.7.0/24 4246 | 203.5.8.0/23 4247 | 203.5.11.0/24 4248 | 203.5.21.0/24 4249 | 203.5.22.0/24 4250 | 203.5.44.0/24 4251 | 203.5.46.0/23 4252 | 203.5.52.0/22 4253 | 203.5.56.0/23 4254 | 203.5.60.0/23 4255 | 203.5.114.0/23 4256 | 203.5.118.0/24 4257 | 203.5.120.0/24 4258 | 203.5.172.0/24 4259 | 203.5.180.0/23 4260 | 203.5.182.0/24 4261 | 203.5.185.0/24 4262 | 203.5.186.0/24 4263 | 203.5.188.0/23 4264 | 203.5.190.0/24 4265 | 203.5.195.0/24 4266 | 203.5.214.0/23 4267 | 203.5.218.0/23 4268 | 203.6.131.0/24 4269 | 203.6.136.0/24 4270 | 203.6.138.0/23 4271 | 203.6.142.0/24 4272 | 203.6.150.0/23 4273 | 203.6.157.0/24 4274 | 203.6.159.0/24 4275 | 203.6.224.0/20 4276 | 203.6.248.0/23 4277 | 203.7.129.0/24 4278 | 203.7.138.0/23 4279 | 203.7.147.0/24 4280 | 203.7.150.0/23 4281 | 203.7.158.0/24 4282 | 203.7.192.0/23 4283 | 203.7.200.0/24 4284 | 203.8.0.0/24 4285 | 203.8.8.0/24 4286 | 203.8.23.0/24 4287 | 203.8.24.0/21 4288 | 203.8.70.0/24 4289 | 203.8.82.0/24 4290 | 203.8.86.0/23 4291 | 203.8.91.0/24 4292 | 203.8.110.0/23 4293 | 203.8.115.0/24 4294 | 203.8.166.0/23 4295 | 203.8.169.0/24 4296 | 203.8.173.0/24 4297 | 203.8.184.0/24 4298 | 203.8.186.0/23 4299 | 203.8.190.0/23 4300 | 203.8.192.0/24 4301 | 203.8.197.0/24 4302 | 203.8.198.0/23 4303 | 203.8.203.0/24 4304 | 203.8.209.0/24 4305 | 203.8.210.0/23 4306 | 203.8.212.0/22 4307 | 203.8.217.0/24 4308 | 203.8.220.0/24 4309 | 203.9.32.0/24 4310 | 203.9.36.0/23 4311 | 203.9.57.0/24 4312 | 203.9.63.0/24 4313 | 203.9.65.0/24 4314 | 203.9.70.0/23 4315 | 203.9.72.0/24 4316 | 203.9.75.0/24 4317 | 203.9.76.0/23 4318 | 203.9.96.0/22 4319 | 203.9.100.0/23 4320 | 203.9.108.0/24 4321 | 203.9.158.0/24 4322 | 203.10.34.0/24 4323 | 203.10.56.0/24 4324 | 203.10.74.0/23 4325 | 203.10.84.0/22 4326 | 203.10.88.0/24 4327 | 203.10.95.0/24 4328 | 203.10.125.0/24 4329 | 203.11.70.0/24 4330 | 203.11.76.0/22 4331 | 203.11.82.0/24 4332 | 203.11.84.0/22 4333 | 203.11.100.0/22 4334 | 203.11.109.0/24 4335 | 203.11.117.0/24 4336 | 203.11.122.0/24 4337 | 203.11.126.0/24 4338 | 203.11.136.0/22 4339 | 203.11.141.0/24 4340 | 203.11.142.0/23 4341 | 203.11.180.0/22 4342 | 203.11.208.0/22 4343 | 203.12.16.0/24 4344 | 203.12.19.0/24 4345 | 203.12.24.0/24 4346 | 203.12.57.0/24 4347 | 203.12.65.0/24 4348 | 203.12.66.0/24 4349 | 203.12.70.0/23 4350 | 203.12.87.0/24 4351 | 203.12.90.0/23 4352 | 203.12.92.0/22 4353 | 203.12.100.0/23 4354 | 203.12.103.0/24 4355 | 203.12.114.0/24 4356 | 203.12.118.0/24 4357 | 203.12.130.0/24 4358 | 203.12.137.0/24 4359 | 203.12.196.0/22 4360 | 203.12.211.0/24 4361 | 203.12.219.0/24 4362 | 203.12.226.0/24 4363 | 203.12.240.0/22 4364 | 203.13.18.0/24 4365 | 203.13.24.0/24 4366 | 203.13.44.0/23 4367 | 203.13.80.192/26 4368 | 203.13.82.0/23 4369 | 203.13.84.0/22 4370 | 203.13.88.0/23 4371 | 203.13.92.0/22 4372 | 203.13.173.0/24 4373 | 203.13.224.0/23 4374 | 203.13.227.0/24 4375 | 203.13.233.0/24 4376 | 203.14.24.0/22 4377 | 203.14.33.0/24 4378 | 203.14.56.0/24 4379 | 203.14.61.0/24 4380 | 203.14.62.0/24 4381 | 203.14.104.0/24 4382 | 203.14.114.0/23 4383 | 203.14.118.0/24 4384 | 203.14.162.0/24 4385 | 203.14.184.0/21 4386 | 203.14.192.0/24 4387 | 203.14.194.0/23 4388 | 203.14.214.0/24 4389 | 203.14.231.0/24 4390 | 203.14.246.0/24 4391 | 203.15.0.0/20 4392 | 203.15.20.0/23 4393 | 203.15.22.0/24 4394 | 203.15.87.0/24 4395 | 203.15.88.0/23 4396 | 203.15.105.0/24 4397 | 203.15.112.0/21 4398 | 203.15.130.0/23 4399 | 203.15.149.0/24 4400 | 203.15.151.0/24 4401 | 203.15.156.0/22 4402 | 203.15.174.0/24 4403 | 203.15.227.0/24 4404 | 203.15.232.0/21 4405 | 203.15.240.0/23 4406 | 203.15.246.0/24 4407 | 203.16.10.0/24 4408 | 203.16.12.0/23 4409 | 203.16.16.0/21 4410 | 203.16.27.0/24 4411 | 203.16.38.0/24 4412 | 203.16.49.0/24 4413 | 203.16.50.0/23 4414 | 203.16.58.0/24 4415 | 203.16.63.0/24 4416 | 203.16.133.0/24 4417 | 203.16.161.0/24 4418 | 203.16.162.0/24 4419 | 203.16.186.0/23 4420 | 203.16.228.0/24 4421 | 203.16.238.0/24 4422 | 203.16.240.0/24 4423 | 203.16.245.0/24 4424 | 203.17.2.0/24 4425 | 203.17.18.0/24 4426 | 203.17.28.0/24 4427 | 203.17.39.0/24 4428 | 203.17.56.0/24 4429 | 203.17.74.0/23 4430 | 203.17.88.0/23 4431 | 203.17.136.0/24 4432 | 203.17.164.0/24 4433 | 203.17.187.0/24 4434 | 203.17.190.0/23 4435 | 203.17.231.0/24 4436 | 203.17.233.0/24 4437 | 203.17.248.0/23 4438 | 203.17.255.0/24 4439 | 203.18.2.0/23 4440 | 203.18.4.0/24 4441 | 203.18.7.0/24 4442 | 203.18.31.0/24 4443 | 203.18.37.0/24 4444 | 203.18.48.0/23 4445 | 203.18.52.0/24 4446 | 203.18.72.0/22 4447 | 203.18.80.0/23 4448 | 203.18.87.0/24 4449 | 203.18.100.0/23 4450 | 203.18.105.0/24 4451 | 203.18.107.0/24 4452 | 203.18.110.0/24 4453 | 203.18.129.0/24 4454 | 203.18.131.0/24 4455 | 203.18.132.0/23 4456 | 203.18.144.0/24 4457 | 203.18.153.0/24 4458 | 203.18.199.0/24 4459 | 203.18.208.0/24 4460 | 203.18.211.0/24 4461 | 203.18.215.0/24 4462 | 203.19.1.0/24 4463 | 203.19.18.0/24 4464 | 203.19.24.0/24 4465 | 203.19.30.0/24 4466 | 203.19.41.0/24 4467 | 203.19.44.0/23 4468 | 203.19.46.0/24 4469 | 203.19.58.0/24 4470 | 203.19.60.0/23 4471 | 203.19.64.0/24 4472 | 203.19.68.0/24 4473 | 203.19.72.0/24 4474 | 203.19.101.0/24 4475 | 203.19.111.0/24 4476 | 203.19.131.0/24 4477 | 203.19.133.0/24 4478 | 203.19.144.0/24 4479 | 203.19.147.0/24 4480 | 203.19.149.0/24 4481 | 203.19.156.0/24 4482 | 203.19.176.0/24 4483 | 203.19.178.0/23 4484 | 203.19.208.0/24 4485 | 203.19.228.0/22 4486 | 203.19.233.0/24 4487 | 203.19.242.0/24 4488 | 203.19.248.0/23 4489 | 203.19.255.0/24 4490 | 203.20.17.0/24 4491 | 203.20.40.0/23 4492 | 203.20.44.0/24 4493 | 203.20.48.0/24 4494 | 203.20.61.0/24 4495 | 203.20.65.0/24 4496 | 203.20.84.0/23 4497 | 203.20.89.0/24 4498 | 203.20.106.0/23 4499 | 203.20.115.0/24 4500 | 203.20.117.0/24 4501 | 203.20.118.0/23 4502 | 203.20.122.0/24 4503 | 203.20.126.0/23 4504 | 203.20.135.0/24 4505 | 203.20.136.0/21 4506 | 203.20.150.0/24 4507 | 203.20.230.0/24 4508 | 203.20.232.0/24 4509 | 203.20.236.0/24 4510 | 203.21.0.0/23 4511 | 203.21.2.0/24 4512 | 203.21.8.0/24 4513 | 203.21.10.0/24 4514 | 203.21.18.0/24 4515 | 203.21.33.0/24 4516 | 203.21.34.0/24 4517 | 203.21.41.0/24 4518 | 203.21.44.0/24 4519 | 203.21.68.0/24 4520 | 203.21.82.0/24 4521 | 203.21.96.0/22 4522 | 203.21.124.0/24 4523 | 203.21.136.0/23 4524 | 203.21.145.0/24 4525 | 203.21.206.0/24 4526 | 203.22.24.0/24 4527 | 203.22.28.0/23 4528 | 203.22.31.0/24 4529 | 203.22.68.0/24 4530 | 203.22.76.0/24 4531 | 203.22.84.0/24 4532 | 203.22.87.0/24 4533 | 203.22.92.0/22 4534 | 203.22.99.0/24 4535 | 203.22.106.0/24 4536 | 203.22.122.0/23 4537 | 203.22.131.0/24 4538 | 203.22.163.0/24 4539 | 203.22.166.0/24 4540 | 203.22.170.0/24 4541 | 203.22.176.0/21 4542 | 203.22.194.0/24 4543 | 203.22.242.0/23 4544 | 203.22.245.0/24 4545 | 203.22.246.0/24 4546 | 203.22.252.0/23 4547 | 203.23.0.0/24 4548 | 203.23.47.0/24 4549 | 203.23.61.0/24 4550 | 203.23.62.0/23 4551 | 203.23.73.0/24 4552 | 203.23.85.0/24 4553 | 203.23.92.0/22 4554 | 203.23.98.0/24 4555 | 203.23.107.0/24 4556 | 203.23.112.0/24 4557 | 203.23.130.0/24 4558 | 203.23.140.0/23 4559 | 203.23.172.0/24 4560 | 203.23.182.0/24 4561 | 203.23.186.0/23 4562 | 203.23.192.0/24 4563 | 203.23.197.0/24 4564 | 203.23.198.0/24 4565 | 203.23.204.0/22 4566 | 203.23.224.0/24 4567 | 203.23.226.0/23 4568 | 203.23.228.0/22 4569 | 203.23.249.0/24 4570 | 203.23.251.0/24 4571 | 203.24.13.0/24 4572 | 203.24.18.0/24 4573 | 203.24.27.0/24 4574 | 203.24.43.0/24 4575 | 203.24.56.0/24 4576 | 203.24.58.0/24 4577 | 203.24.67.0/24 4578 | 203.24.74.0/24 4579 | 203.24.79.0/24 4580 | 203.24.80.0/23 4581 | 203.24.84.0/23 4582 | 203.24.86.0/24 4583 | 203.24.90.0/24 4584 | 203.24.111.0/24 4585 | 203.24.112.0/24 4586 | 203.24.116.0/24 4587 | 203.24.122.0/23 4588 | 203.24.145.0/24 4589 | 203.24.152.0/23 4590 | 203.24.157.0/24 4591 | 203.24.161.0/24 4592 | 203.24.167.0/24 4593 | 203.24.186.0/23 4594 | 203.24.199.0/24 4595 | 203.24.202.0/24 4596 | 203.24.212.0/23 4597 | 203.24.217.0/24 4598 | 203.24.219.0/24 4599 | 203.24.244.0/24 4600 | 203.25.19.0/24 4601 | 203.25.20.0/23 4602 | 203.25.46.0/24 4603 | 203.25.48.0/21 4604 | 203.25.64.0/23 4605 | 203.25.91.0/24 4606 | 203.25.99.0/24 4607 | 203.25.100.0/24 4608 | 203.25.106.0/24 4609 | 203.25.131.0/24 4610 | 203.25.135.0/24 4611 | 203.25.138.0/24 4612 | 203.25.147.0/24 4613 | 203.25.153.0/24 4614 | 203.25.154.0/23 4615 | 203.25.164.0/24 4616 | 203.25.166.0/24 4617 | 203.25.174.0/23 4618 | 203.25.180.0/24 4619 | 203.25.182.0/24 4620 | 203.25.191.0/24 4621 | 203.25.199.0/24 4622 | 203.25.200.0/24 4623 | 203.25.202.0/23 4624 | 203.25.208.0/20 4625 | 203.25.229.0/24 4626 | 203.25.235.0/24 4627 | 203.25.236.0/24 4628 | 203.25.242.0/24 4629 | 203.26.12.0/24 4630 | 203.26.34.0/24 4631 | 203.26.49.0/24 4632 | 203.26.50.0/24 4633 | 203.26.55.0/24 4634 | 203.26.56.0/23 4635 | 203.26.60.0/24 4636 | 203.26.65.0/24 4637 | 203.26.68.0/24 4638 | 203.26.76.0/24 4639 | 203.26.80.0/24 4640 | 203.26.84.0/24 4641 | 203.26.97.0/24 4642 | 203.26.102.0/23 4643 | 203.26.115.0/24 4644 | 203.26.116.0/24 4645 | 203.26.129.0/24 4646 | 203.26.143.0/24 4647 | 203.26.144.0/24 4648 | 203.26.148.0/23 4649 | 203.26.154.0/24 4650 | 203.26.158.0/23 4651 | 203.26.161.0/24 4652 | 203.26.170.0/24 4653 | 203.26.173.0/24 4654 | 203.26.176.0/24 4655 | 203.26.185.0/24 4656 | 203.26.202.0/23 4657 | 203.26.210.0/24 4658 | 203.26.214.0/24 4659 | 203.26.222.0/24 4660 | 203.26.224.0/24 4661 | 203.26.228.0/24 4662 | 203.26.232.0/24 4663 | 203.27.0.0/24 4664 | 203.27.10.0/24 4665 | 203.27.15.0/24 4666 | 203.27.16.0/24 4667 | 203.27.20.0/24 4668 | 203.27.22.0/23 4669 | 203.27.40.0/24 4670 | 203.27.45.0/24 4671 | 203.27.53.0/24 4672 | 203.27.65.0/24 4673 | 203.27.66.0/24 4674 | 203.27.81.0/24 4675 | 203.27.88.0/24 4676 | 203.27.102.0/24 4677 | 203.27.109.0/24 4678 | 203.27.117.0/24 4679 | 203.27.121.0/24 4680 | 203.27.122.0/23 4681 | 203.27.125.0/24 4682 | 203.27.200.0/24 4683 | 203.27.202.0/24 4684 | 203.27.233.0/24 4685 | 203.27.241.0/24 4686 | 203.27.250.0/24 4687 | 203.28.10.0/24 4688 | 203.28.12.0/24 4689 | 203.28.33.0/24 4690 | 203.28.34.0/23 4691 | 203.28.43.0/24 4692 | 203.28.44.0/24 4693 | 203.28.54.0/24 4694 | 203.28.56.0/24 4695 | 203.28.73.0/24 4696 | 203.28.74.0/24 4697 | 203.28.76.0/24 4698 | 203.28.86.0/24 4699 | 203.28.88.0/24 4700 | 203.28.112.0/24 4701 | 203.28.131.0/24 4702 | 203.28.136.0/24 4703 | 203.28.140.0/24 4704 | 203.28.145.0/24 4705 | 203.28.165.0/24 4706 | 203.28.169.0/24 4707 | 203.28.170.0/24 4708 | 203.28.178.0/23 4709 | 203.28.185.0/24 4710 | 203.28.187.0/24 4711 | 203.28.196.0/24 4712 | 203.28.226.0/23 4713 | 203.28.239.0/24 4714 | 203.29.2.0/24 4715 | 203.29.8.0/23 4716 | 203.29.13.0/24 4717 | 203.29.14.0/24 4718 | 203.29.28.0/24 4719 | 203.29.46.0/24 4720 | 203.29.57.0/24 4721 | 203.29.61.0/24 4722 | 203.29.63.0/24 4723 | 203.29.69.0/24 4724 | 203.29.73.0/24 4725 | 203.29.81.0/24 4726 | 203.29.90.0/24 4727 | 203.29.95.0/24 4728 | 203.29.100.0/24 4729 | 203.29.103.0/24 4730 | 203.29.112.0/24 4731 | 203.29.120.0/22 4732 | 203.29.182.0/23 4733 | 203.29.187.0/24 4734 | 203.29.189.0/24 4735 | 203.29.190.0/24 4736 | 203.29.205.0/24 4737 | 203.29.210.0/24 4738 | 203.29.217.0/24 4739 | 203.29.227.0/24 4740 | 203.29.231.0/24 4741 | 203.29.233.0/24 4742 | 203.29.234.0/24 4743 | 203.29.248.0/24 4744 | 203.29.254.0/23 4745 | 203.30.16.0/23 4746 | 203.30.25.0/24 4747 | 203.30.29.0/24 4748 | 203.30.66.0/24 4749 | 203.30.81.0/24 4750 | 203.30.87.0/24 4751 | 203.30.111.0/24 4752 | 203.30.121.0/24 4753 | 203.30.123.0/24 4754 | 203.30.152.0/24 4755 | 203.30.156.0/24 4756 | 203.30.162.0/24 4757 | 203.30.173.0/24 4758 | 203.30.175.0/24 4759 | 203.30.187.0/24 4760 | 203.30.194.0/24 4761 | 203.30.217.0/24 4762 | 203.30.220.0/24 4763 | 203.30.222.0/24 4764 | 203.30.232.0/23 4765 | 203.30.235.0/24 4766 | 203.30.240.0/23 4767 | 203.30.246.0/24 4768 | 203.30.250.0/23 4769 | 203.31.45.0/24 4770 | 203.31.46.0/24 4771 | 203.31.49.0/24 4772 | 203.31.51.0/24 4773 | 203.31.54.0/23 4774 | 203.31.69.0/24 4775 | 203.31.72.0/24 4776 | 203.31.80.0/24 4777 | 203.31.85.0/24 4778 | 203.31.97.0/24 4779 | 203.31.105.0/24 4780 | 203.31.106.0/24 4781 | 203.31.108.0/23 4782 | 203.31.124.0/24 4783 | 203.31.162.0/24 4784 | 203.31.174.0/24 4785 | 203.31.177.0/24 4786 | 203.31.181.0/24 4787 | 203.31.187.0/24 4788 | 203.31.189.0/24 4789 | 203.31.204.0/24 4790 | 203.31.220.0/24 4791 | 203.31.222.0/23 4792 | 203.31.225.0/24 4793 | 203.31.229.0/24 4794 | 203.31.248.0/23 4795 | 203.31.253.0/24 4796 | 203.32.20.0/24 4797 | 203.32.48.0/23 4798 | 203.32.56.0/24 4799 | 203.32.60.0/24 4800 | 203.32.62.0/24 4801 | 203.32.68.0/23 4802 | 203.32.76.0/24 4803 | 203.32.81.0/24 4804 | 203.32.84.0/23 4805 | 203.32.95.0/24 4806 | 203.32.102.0/24 4807 | 203.32.105.0/24 4808 | 203.32.130.0/24 4809 | 203.32.133.0/24 4810 | 203.32.140.0/24 4811 | 203.32.152.0/24 4812 | 203.32.186.0/23 4813 | 203.32.192.0/24 4814 | 203.32.196.0/24 4815 | 203.32.203.0/24 4816 | 203.32.204.0/23 4817 | 203.32.212.0/24 4818 | 203.33.4.0/24 4819 | 203.33.7.0/24 4820 | 203.33.12.0/23 4821 | 203.33.21.0/24 4822 | 203.33.26.0/24 4823 | 203.33.32.0/24 4824 | 203.33.63.0/24 4825 | 203.33.64.0/24 4826 | 203.33.67.0/24 4827 | 203.33.68.0/24 4828 | 203.33.73.0/24 4829 | 203.33.79.0/24 4830 | 203.33.100.0/24 4831 | 203.33.122.0/24 4832 | 203.33.129.0/24 4833 | 203.33.131.0/24 4834 | 203.33.145.0/24 4835 | 203.33.156.0/24 4836 | 203.33.158.0/23 4837 | 203.33.174.0/24 4838 | 203.33.185.0/24 4839 | 203.33.200.0/24 4840 | 203.33.202.0/23 4841 | 203.33.204.0/24 4842 | 203.33.206.0/23 4843 | 203.33.214.0/23 4844 | 203.33.224.0/23 4845 | 203.33.226.0/24 4846 | 203.33.233.0/24 4847 | 203.33.243.0/24 4848 | 203.33.250.0/24 4849 | 203.34.4.0/24 4850 | 203.34.21.0/24 4851 | 203.34.27.0/24 4852 | 203.34.39.0/24 4853 | 203.34.48.0/23 4854 | 203.34.54.0/24 4855 | 203.34.56.0/23 4856 | 203.34.67.0/24 4857 | 203.34.69.0/24 4858 | 203.34.76.0/24 4859 | 203.34.92.0/24 4860 | 203.34.106.0/24 4861 | 203.34.113.0/24 4862 | 203.34.147.0/24 4863 | 203.34.150.0/24 4864 | 203.34.152.0/23 4865 | 203.34.161.0/24 4866 | 203.34.162.0/24 4867 | 203.34.187.0/24 4868 | 203.34.192.0/21 4869 | 203.34.204.0/22 4870 | 203.34.232.0/24 4871 | 203.34.240.0/24 4872 | 203.34.242.0/24 4873 | 203.34.245.0/24 4874 | 203.34.251.0/24 4875 | 203.55.2.0/23 4876 | 203.55.4.0/24 4877 | 203.55.10.0/24 4878 | 203.55.13.0/24 4879 | 203.55.22.0/24 4880 | 203.55.30.0/24 4881 | 203.55.93.0/24 4882 | 203.55.101.0/24 4883 | 203.55.109.0/24 4884 | 203.55.110.0/24 4885 | 203.55.116.0/23 4886 | 203.55.119.0/24 4887 | 203.55.128.0/23 4888 | 203.55.146.0/23 4889 | 203.55.192.0/24 4890 | 203.55.196.0/24 4891 | 203.55.218.0/23 4892 | 203.55.221.0/24 4893 | 203.55.224.0/24 4894 | 203.56.1.0/24 4895 | 203.56.4.0/24 4896 | 203.56.12.0/24 4897 | 203.56.24.0/24 4898 | 203.56.38.0/24 4899 | 203.56.40.0/24 4900 | 203.56.46.0/24 4901 | 203.56.50.0/23 4902 | 203.56.52.0/22 4903 | 203.56.68.0/23 4904 | 203.56.82.0/23 4905 | 203.56.84.0/23 4906 | 203.56.95.0/24 4907 | 203.56.110.0/24 4908 | 203.56.121.0/24 4909 | 203.56.161.0/24 4910 | 203.56.169.0/24 4911 | 203.56.172.0/23 4912 | 203.56.175.0/24 4913 | 203.56.183.0/24 4914 | 203.56.185.0/24 4915 | 203.56.187.0/24 4916 | 203.56.192.0/24 4917 | 203.56.198.0/24 4918 | 203.56.201.0/24 4919 | 203.56.208.0/23 4920 | 203.56.210.0/24 4921 | 203.56.214.0/24 4922 | 203.56.216.0/24 4923 | 203.56.227.0/24 4924 | 203.56.228.0/24 4925 | 203.56.232.0/24 4926 | 203.56.240.0/24 4927 | 203.56.252.0/24 4928 | 203.56.254.0/24 4929 | 203.57.5.0/24 4930 | 203.57.6.0/24 4931 | 203.57.12.0/23 4932 | 203.57.28.0/24 4933 | 203.57.39.0/24 4934 | 203.57.46.0/24 4935 | 203.57.58.0/24 4936 | 203.57.61.0/24 4937 | 203.57.66.0/24 4938 | 203.57.69.0/24 4939 | 203.57.70.0/23 4940 | 203.57.73.0/24 4941 | 203.57.90.0/24 4942 | 203.57.101.0/24 4943 | 203.57.109.0/24 4944 | 203.57.123.0/24 4945 | 203.57.157.0/24 4946 | 203.57.200.0/24 4947 | 203.57.202.0/24 4948 | 203.57.206.0/24 4949 | 203.57.222.0/24 4950 | 203.57.224.0/20 4951 | 203.57.246.0/23 4952 | 203.57.249.0/24 4953 | 203.57.253.0/24 4954 | 203.57.254.0/23 4955 | 203.62.2.0/24 4956 | 203.62.131.0/24 4957 | 203.62.139.0/24 4958 | 203.62.161.0/24 4959 | 203.62.197.0/24 4960 | 203.62.228.0/22 4961 | 203.62.234.0/24 4962 | 203.62.246.0/24 4963 | 203.65.240.0/22 4964 | 203.76.160.0/22 4965 | 203.76.168.0/22 4966 | 203.76.208.0/21 4967 | 203.76.216.0/22 4968 | 203.77.180.0/22 4969 | 203.78.48.0/20 4970 | 203.78.156.0/22 4971 | 203.79.0.0/20 4972 | 203.80.4.0/23 4973 | 203.80.32.0/20 4974 | 203.80.57.0/24 4975 | 203.80.129.0/24 4976 | 203.80.132.0/22 4977 | 203.80.138.0/23 4978 | 203.80.140.0/22 4979 | 203.80.144.0/20 4980 | 203.81.0.0/21 4981 | 203.81.16.0/20 4982 | 203.81.244.0/22 4983 | 203.82.0.0/23 4984 | 203.82.16.0/21 4985 | 203.82.112.0/20 4986 | 203.82.224.0/20 4987 | 203.83.0.0/22 4988 | 203.83.12.0/22 4989 | 203.83.56.0/21 4990 | 203.83.224.0/20 4991 | 203.86.0.0/18 4992 | 203.86.64.0/19 4993 | 203.86.250.0/24 4994 | 203.86.254.0/23 4995 | 203.88.32.0/19 4996 | 203.88.192.0/19 4997 | 203.89.0.0/22 4998 | 203.89.136.0/22 4999 | 203.89.144.0/24 5000 | 203.90.0.0/22 5001 | 203.90.8.0/21 5002 | 203.90.128.0/18 5003 | 203.90.192.0/19 5004 | 203.91.1.0/24 5005 | 203.91.32.0/19 5006 | 203.91.97.0/24 5007 | 203.91.98.0/23 5008 | 203.91.100.0/22 5009 | 203.91.104.0/24 5010 | 203.91.106.0/23 5011 | 203.91.108.0/22 5012 | 203.91.120.0/21 5013 | 203.92.0.0/22 5014 | 203.92.6.0/24 5015 | 203.92.160.0/19 5016 | 203.93.0.0/16 5017 | 203.94.0.0/19 5018 | 203.95.0.0/21 5019 | 203.95.96.0/19 5020 | 203.95.128.0/18 5021 | 203.95.200.0/21 5022 | 203.95.208.0/22 5023 | 203.95.224.0/19 5024 | 203.99.8.0/21 5025 | 203.99.16.0/20 5026 | 203.99.80.0/20 5027 | 203.100.32.0/20 5028 | 203.100.49.0/24 5029 | 203.100.50.0/23 5030 | 203.100.52.0/22 5031 | 203.100.58.0/24 5032 | 203.100.60.0/24 5033 | 203.100.63.0/24 5034 | 203.100.80.0/20 5035 | 203.100.96.0/19 5036 | 203.100.192.0/20 5037 | 203.104.32.0/20 5038 | 203.105.96.0/19 5039 | 203.105.128.0/19 5040 | 203.107.0.0/17 5041 | 203.110.160.0/19 5042 | 203.110.208.0/20 5043 | 203.110.232.0/23 5044 | 203.110.234.0/24 5045 | 203.114.80.0/20 5046 | 203.114.244.0/22 5047 | 203.118.192.0/19 5048 | 203.118.241.0/24 5049 | 203.118.248.0/22 5050 | 203.119.24.0/23 5051 | 203.119.32.0/24 5052 | 203.119.34.0/23 5053 | 203.119.80.0/22 5054 | 203.119.85.0/24 5055 | 203.119.113.0/24 5056 | 203.119.114.0/23 5057 | 203.119.116.0/22 5058 | 203.119.120.0/21 5059 | 203.119.128.0/17 5060 | 203.123.58.0/24 5061 | 203.128.32.0/19 5062 | 203.128.96.0/19 5063 | 203.128.128.0/24 5064 | 203.128.224.0/21 5065 | 203.130.32.0/20 5066 | 203.132.32.0/19 5067 | 203.134.247.0/24 5068 | 203.135.96.0/19 5069 | 203.135.160.0/20 5070 | 203.142.12.0/23 5071 | 203.142.219.0/24 5072 | 203.142.224.0/19 5073 | 203.145.0.0/19 5074 | 203.148.0.0/18 5075 | 203.148.64.0/20 5076 | 203.148.80.0/22 5077 | 203.148.86.0/23 5078 | 203.149.92.0/22 5079 | 203.152.64.0/19 5080 | 203.152.128.0/19 5081 | 203.153.0.0/22 5082 | 203.156.192.0/18 5083 | 203.158.16.0/21 5084 | 203.160.104.0/21 5085 | 203.160.129.0/24 5086 | 203.160.192.0/19 5087 | 203.161.0.0/22 5088 | 203.161.180.0/24 5089 | 203.161.183.0/24 5090 | 203.161.192.0/19 5091 | 203.166.160.0/19 5092 | 203.167.28.0/22 5093 | 203.168.0.0/19 5094 | 203.170.58.0/23 5095 | 203.171.0.0/22 5096 | 203.171.208.0/24 5097 | 203.171.224.0/20 5098 | 203.174.4.0/24 5099 | 203.174.6.0/24 5100 | 203.174.96.0/20 5101 | 203.175.128.0/19 5102 | 203.175.192.0/18 5103 | 203.176.0.0/18 5104 | 203.176.64.0/19 5105 | 203.176.168.0/21 5106 | 203.184.80.0/20 5107 | 203.187.160.0/19 5108 | 203.189.0.0/23 5109 | 203.189.6.0/23 5110 | 203.189.112.0/22 5111 | 203.189.192.0/19 5112 | 203.189.240.0/22 5113 | 203.190.96.0/20 5114 | 203.190.249.0/24 5115 | 203.191.0.0/23 5116 | 203.191.2.0/24 5117 | 203.191.5.0/24 5118 | 203.191.7.0/24 5119 | 203.191.64.0/18 5120 | 203.191.133.0/24 5121 | 203.191.144.0/20 5122 | 203.192.0.0/19 5123 | 203.193.224.0/19 5124 | 203.194.120.0/21 5125 | 203.195.64.0/19 5126 | 203.195.112.0/21 5127 | 203.195.128.0/17 5128 | 203.196.0.0/20 5129 | 203.196.28.0/22 5130 | 203.201.181.0/24 5131 | 203.201.182.0/24 5132 | 203.202.236.0/22 5133 | 203.205.64.0/19 5134 | 203.207.64.0/18 5135 | 203.207.128.0/17 5136 | 203.208.0.0/20 5137 | 203.208.16.0/22 5138 | 203.208.32.0/19 5139 | 203.209.224.0/19 5140 | 203.212.0.0/20 5141 | 203.212.80.0/20 5142 | 203.217.164.0/22 5143 | 203.223.0.0/20 5144 | 203.223.16.0/24 5145 | 203.223.22.0/24 5146 | 204.55.160.0/24 5147 | 204.74.96.0/24 5148 | 204.114.176.0/23 5149 | 206.219.44.0/23 5150 | 206.219.50.0/23 5151 | 206.219.52.0/23 5152 | 210.2.0.0/23 5153 | 210.2.2.0/24 5154 | 210.2.6.0/23 5155 | 210.2.8.0/21 5156 | 210.2.24.0/21 5157 | 210.5.0.0/19 5158 | 210.5.56.0/24 5159 | 210.5.60.0/24 5160 | 210.5.128.0/19 5161 | 210.7.56.0/21 5162 | 210.12.0.0/15 5163 | 210.14.64.0/19 5164 | 210.14.112.0/20 5165 | 210.14.128.0/17 5166 | 210.15.0.0/17 5167 | 210.15.128.0/18 5168 | 210.16.128.0/21 5169 | 210.16.136.0/22 5170 | 210.16.156.0/22 5171 | 210.16.160.0/19 5172 | 210.21.0.0/16 5173 | 210.22.0.0/16 5174 | 210.23.32.0/19 5175 | 210.25.0.0/16 5176 | 210.26.0.0/15 5177 | 210.28.0.0/14 5178 | 210.32.0.0/12 5179 | 210.51.0.0/16 5180 | 210.52.0.0/15 5181 | 210.56.192.0/19 5182 | 210.72.0.0/14 5183 | 210.76.0.0/15 5184 | 210.78.0.0/16 5185 | 210.79.64.0/18 5186 | 210.79.224.0/19 5187 | 210.82.0.0/15 5188 | 210.87.128.0/18 5189 | 210.185.192.0/18 5190 | 210.192.96.0/19 5191 | 211.64.0.0/13 5192 | 211.80.0.0/12 5193 | 211.96.0.0/15 5194 | 211.98.0.0/16 5195 | 211.99.0.0/18 5196 | 211.99.64.0/19 5197 | 211.99.128.0/17 5198 | 211.100.0.0/17 5199 | 211.100.128.0/19 5200 | 211.100.160.0/20 5201 | 211.100.184.0/21 5202 | 211.100.192.0/18 5203 | 211.101.0.0/16 5204 | 211.102.0.0/15 5205 | 211.136.0.0/13 5206 | 211.144.0.0/13 5207 | 211.152.0.0/15 5208 | 211.154.0.0/19 5209 | 211.154.32.0/20 5210 | 211.154.48.0/21 5211 | 211.154.64.0/18 5212 | 211.154.128.0/17 5213 | 211.155.0.0/18 5214 | 211.155.67.0/24 5215 | 211.155.68.0/24 5216 | 211.155.72.0/21 5217 | 211.155.80.0/20 5218 | 211.155.96.0/19 5219 | 211.155.128.0/17 5220 | 211.156.0.0/18 5221 | 211.156.64.0/19 5222 | 211.156.96.0/21 5223 | 211.156.104.0/22 5224 | 211.156.108.0/23 5225 | 211.156.112.0/20 5226 | 211.156.128.0/17 5227 | 211.157.0.0/16 5228 | 211.158.0.0/15 5229 | 211.160.0.0/13 5230 | 212.64.0.0/17 5231 | 212.129.128.0/17 5232 | 218.0.0.0/12 5233 | 218.16.0.0/13 5234 | 218.24.0.0/14 5235 | 218.28.0.0/15 5236 | 218.30.0.0/19 5237 | 218.30.64.0/18 5238 | 218.30.128.0/17 5239 | 218.31.0.0/16 5240 | 218.56.0.0/13 5241 | 218.64.0.0/11 5242 | 218.96.0.0/15 5243 | 218.98.0.0/18 5244 | 218.98.96.0/19 5245 | 218.98.128.0/19 5246 | 218.98.192.0/18 5247 | 218.99.0.0/16 5248 | 218.100.90.0/23 5249 | 218.100.92.4/30 5250 | 218.100.92.12/30 5251 | 218.100.92.16/28 5252 | 218.100.92.32/27 5253 | 218.100.92.64/26 5254 | 218.100.92.128/25 5255 | 218.100.93.0/24 5256 | 218.100.94.0/24 5257 | 218.100.96.0/19 5258 | 218.100.128.0/17 5259 | 218.104.0.0/14 5260 | 218.108.0.0/15 5261 | 218.185.192.0/22 5262 | 218.185.196.0/23 5263 | 218.185.198.0/24 5264 | 218.185.200.0/21 5265 | 218.185.208.0/20 5266 | 218.185.245.0/24 5267 | 218.185.246.0/23 5268 | 218.192.0.0/12 5269 | 218.240.0.0/14 5270 | 218.244.0.0/15 5271 | 218.246.0.0/17 5272 | 218.246.129.0/24 5273 | 218.246.131.0/24 5274 | 218.246.132.0/23 5275 | 218.246.134.0/24 5276 | 218.246.139.0/24 5277 | 218.246.144.0/20 5278 | 218.246.160.0/19 5279 | 218.246.192.0/18 5280 | 218.247.0.0/18 5281 | 218.247.96.0/19 5282 | 218.247.128.0/17 5283 | 218.249.0.0/16 5284 | 219.72.0.0/16 5285 | 219.82.0.0/16 5286 | 219.83.128.0/17 5287 | 219.90.68.0/22 5288 | 219.90.72.0/21 5289 | 219.128.0.0/11 5290 | 219.216.0.0/13 5291 | 219.224.0.0/13 5292 | 219.232.0.0/15 5293 | 219.234.0.0/21 5294 | 219.234.32.0/19 5295 | 219.234.64.0/18 5296 | 219.234.128.0/17 5297 | 219.235.0.0/16 5298 | 219.236.0.0/14 5299 | 219.242.0.0/15 5300 | 219.244.0.0/14 5301 | 220.101.192.0/18 5302 | 220.112.0.0/14 5303 | 220.152.128.0/17 5304 | 220.154.0.0/17 5305 | 220.154.128.0/21 5306 | 220.154.136.0/22 5307 | 220.154.140.0/24 5308 | 220.154.142.0/23 5309 | 220.154.144.0/21 5310 | 220.154.152.0/24 5311 | 220.154.154.0/23 5312 | 220.154.156.0/22 5313 | 220.154.160.0/19 5314 | 220.154.192.0/18 5315 | 220.155.0.0/21 5316 | 220.155.9.0/24 5317 | 220.155.10.0/23 5318 | 220.155.12.0/22 5319 | 220.155.16.0/21 5320 | 220.155.24.0/22 5321 | 220.155.28.0/23 5322 | 220.155.31.0/24 5323 | 220.155.32.0/19 5324 | 220.155.64.0/18 5325 | 220.155.128.0/17 5326 | 220.158.240.0/22 5327 | 220.160.0.0/11 5328 | 220.192.0.0/12 5329 | 220.231.0.0/18 5330 | 220.231.128.0/17 5331 | 220.232.64.0/18 5332 | 220.234.0.0/16 5333 | 220.242.0.0/24 5334 | 220.242.6.0/23 5335 | 220.242.8.0/21 5336 | 220.242.16.0/20 5337 | 220.242.32.0/19 5338 | 220.242.64.0/18 5339 | 220.242.128.0/17 5340 | 220.243.0.0/17 5341 | 220.243.128.0/18 5342 | 220.243.204.0/24 5343 | 220.243.214.0/24 5344 | 220.243.217.0/24 5345 | 220.243.218.0/24 5346 | 220.243.238.0/24 5347 | 220.247.136.0/21 5348 | 220.248.0.0/14 5349 | 220.252.0.0/16 5350 | 221.0.0.0/13 5351 | 221.8.0.0/14 5352 | 221.12.0.0/17 5353 | 221.12.128.0/18 5354 | 221.13.0.0/16 5355 | 221.14.0.0/15 5356 | 221.122.0.0/15 5357 | 221.128.128.0/17 5358 | 221.129.0.0/16 5359 | 221.130.0.0/15 5360 | 221.133.224.0/19 5361 | 221.136.0.0/15 5362 | 221.172.0.0/14 5363 | 221.176.0.0/19 5364 | 221.176.32.0/20 5365 | 221.176.48.0/21 5366 | 221.176.56.0/24 5367 | 221.176.58.0/23 5368 | 221.176.60.0/22 5369 | 221.176.64.0/18 5370 | 221.176.128.0/17 5371 | 221.177.0.0/16 5372 | 221.178.0.0/15 5373 | 221.180.0.0/14 5374 | 221.192.0.0/14 5375 | 221.196.0.0/15 5376 | 221.198.0.0/16 5377 | 221.199.0.0/17 5378 | 221.199.128.0/18 5379 | 221.199.192.0/20 5380 | 221.199.224.0/19 5381 | 221.200.0.0/13 5382 | 221.208.0.0/12 5383 | 221.224.0.0/12 5384 | 222.16.0.0/12 5385 | 222.32.0.0/11 5386 | 222.64.0.0/11 5387 | 222.125.0.0/16 5388 | 222.126.128.0/19 5389 | 222.126.160.0/21 5390 | 222.126.168.0/22 5391 | 222.126.172.0/23 5392 | 222.126.178.0/23 5393 | 222.126.180.0/22 5394 | 222.126.184.0/21 5395 | 222.126.192.0/21 5396 | 222.126.206.0/23 5397 | 222.126.208.0/22 5398 | 222.126.212.0/23 5399 | 222.126.216.0/21 5400 | 222.126.224.0/20 5401 | 222.126.240.0/24 5402 | 222.126.242.0/23 5403 | 222.126.244.0/22 5404 | 222.126.248.0/21 5405 | 222.128.0.0/12 5406 | 222.160.0.0/14 5407 | 222.168.0.0/13 5408 | 222.176.0.0/12 5409 | 222.192.0.0/11 5410 | 222.240.0.0/13 5411 | 222.248.0.0/15 5412 | 223.0.0.0/12 5413 | 223.20.0.0/15 5414 | 223.27.184.0/22 5415 | 223.29.208.0/22 5416 | 223.29.252.0/22 5417 | 223.64.0.0/11 5418 | 223.96.0.0/12 5419 | 223.112.0.0/14 5420 | 223.116.0.0/15 5421 | 223.120.0.0/13 5422 | 223.128.0.0/15 5423 | 223.144.0.0/12 5424 | 223.160.0.0/14 5425 | 223.166.0.0/15 5426 | 223.192.0.0/15 5427 | 223.198.0.0/15 5428 | 223.201.0.0/18 5429 | 223.201.64.0/21 5430 | 223.201.72.0/24 5431 | 223.201.74.0/23 5432 | 223.201.76.0/22 5433 | 223.201.80.0/20 5434 | 223.201.96.0/23 5435 | 223.201.99.0/24 5436 | 223.201.100.0/22 5437 | 223.201.104.0/21 5438 | 223.201.112.0/20 5439 | 223.201.128.0/21 5440 | 223.201.136.0/23 5441 | 223.201.139.0/24 5442 | 223.201.140.0/22 5443 | 223.201.144.0/20 5444 | 223.201.160.0/19 5445 | 223.201.192.0/19 5446 | 223.201.224.0/20 5447 | 223.201.240.0/22 5448 | 223.201.245.0/24 5449 | 223.201.246.0/23 5450 | 223.201.248.0/21 5451 | 223.202.0.0/17 5452 | 223.202.128.0/18 5453 | 223.202.192.0/19 5454 | 223.202.224.0/20 5455 | 223.202.240.0/21 5456 | 223.202.248.0/22 5457 | 223.202.252.0/23 5458 | 223.203.0.0/16 5459 | 223.208.0.0/13 5460 | 223.220.0.0/15 5461 | 223.223.176.0/20 5462 | 223.223.192.0/20 5463 | 223.240.0.0/13 5464 | 223.248.0.0/14 5465 | 223.252.128.0/19 5466 | 223.252.192.0/18 5467 | 223.254.0.0/17 5468 | 223.254.128.0/18 5469 | 223.254.192.0/20 5470 | 223.254.208.0/21 5471 | 223.254.216.0/22 5472 | 223.254.220.0/23 5473 | 223.254.222.0/24 5474 | 223.254.224.0/20 5475 | 223.254.240.0/21 5476 | 223.254.248.0/23 5477 | 223.254.251.0/24 5478 | 223.254.252.0/22 5479 | 223.255.0.0/17 5480 | 223.255.236.0/22 5481 | 223.255.252.0/23 --------------------------------------------------------------------------------