diff --git a/.gitmodules b/.gitmodules index c14024db..d74fc99e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -17,10 +17,6 @@ path = mobile/src/main/jni/redsocks url = https://github.com/shadowsocks/redsocks.git branch = shadowsocks-android -[submodule "mobile/src/main/jni/pdnsd"] - path = mobile/src/main/jni/pdnsd - url = https://github.com/shadowsocks/pdnsd.git - branch = shadowsocks-android [submodule "mobile/src/main/jni/mbedtls"] path = mobile/src/main/jni/mbedtls url = https://github.com/ARMmbed/mbedtls diff --git a/build.sbt b/build.sbt index bd13b300..b427f9ae 100644 --- a/build.sbt +++ b/build.sbt @@ -18,7 +18,7 @@ lazy val commonSettings = Seq( typedResources := false ) -val supportLibsVersion = "25.1.1" +val supportLibsVersion = "25.2.0" lazy val root = Project(id = "shadowsocks-android", base = file(".")) .settings(commonSettings) .aggregate(plugin, mobile) diff --git a/mobile/build.sbt b/mobile/build.sbt index c52a430b..cbde85e9 100644 --- a/mobile/build.sbt +++ b/mobile/build.sbt @@ -2,8 +2,8 @@ enablePlugins(AndroidApp) android.useSupportVectors name := "shadowsocks" -version := "4.0.4" -versionCode := Some(179) +version := "4.1.0" +versionCode := Some(180) proguardOptions ++= "-keep class com.github.shadowsocks.JniHelper { *; }" :: diff --git a/mobile/src/main/assets/overture/china_ip_list.txt b/mobile/src/main/assets/overture/china_ip_list.txt new file mode 100644 index 00000000..d61ecb64 --- /dev/null +++ b/mobile/src/main/assets/overture/china_ip_list.txt @@ -0,0 +1,5121 @@ +1.0.1.0/24 +1.0.2.0/23 +1.0.8.0/21 +1.0.32.0/19 +1.1.0.0/24 +1.1.2.0/23 +1.1.4.0/22 +1.1.8.0/21 +1.1.16.0/20 +1.1.32.0/19 +1.2.0.0/23 +1.2.2.0/24 +1.2.5.0/24 +1.2.6.0/23 +1.2.8.0/21 +1.2.16.0/20 +1.2.32.0/19 +1.2.64.0/18 +1.3.0.0/16 +1.4.1.0/24 +1.4.2.0/23 +1.4.4.0/22 +1.4.8.0/21 +1.4.16.0/20 +1.4.32.0/19 +1.4.64.0/18 +1.8.0.0/24 +1.8.2.0/23 +1.8.4.0/22 +1.8.9.0/24 +1.8.10.0/23 +1.8.12.0/22 +1.8.16.0/20 +1.8.32.0/19 +1.8.64.0/19 +1.8.96.0/22 +1.8.100.0/23 +1.8.107.0/24 +1.8.112.0/20 +1.8.128.0/20 +1.8.144.0/22 +1.8.148.0/23 +1.8.154.0/23 +1.8.156.0/22 +1.8.160.0/19 +1.8.192.0/19 +1.8.224.0/20 +1.8.244.0/22 +1.8.248.0/21 +1.10.0.0/21 +1.10.8.0/23 +1.10.11.0/24 +1.10.12.0/22 +1.10.16.0/20 +1.10.32.0/19 +1.10.64.0/18 +1.12.0.0/14 +1.24.0.0/13 +1.32.230.0/24 +1.45.0.0/16 +1.48.0.0/14 +1.56.0.0/13 +1.68.0.0/14 +1.80.0.0/12 +1.116.0.0/14 +1.180.0.0/14 +1.184.0.0/15 +1.188.0.0/14 +1.192.0.0/13 +1.202.0.0/15 +1.204.0.0/14 +14.0.0.0/21 +14.0.12.0/22 +14.1.0.0/22 +14.1.24.0/22 +14.1.108.0/22 +14.16.0.0/12 +14.102.128.0/22 +14.102.180.0/22 +14.103.0.0/16 +14.104.0.0/13 +14.112.0.0/12 +14.130.0.0/15 +14.134.0.0/15 +14.144.0.0/12 +14.192.56.0/21 +14.192.76.0/22 +14.196.0.0/15 +14.204.0.0/15 +14.208.0.0/12 +20.134.160.0/20 +20.139.160.0/20 +27.0.128.0/21 +27.0.160.0/21 +27.0.188.0/22 +27.0.204.0/22 +27.0.208.0/21 +27.8.0.0/13 +27.16.0.0/12 +27.34.232.0/21 +27.36.0.0/14 +27.40.0.0/13 +27.50.40.0/21 +27.50.128.0/17 +27.54.72.0/21 +27.54.152.0/21 +27.54.192.0/18 +27.98.208.0/20 +27.98.224.0/19 +27.99.128.0/17 +27.103.0.0/16 +27.106.128.0/18 +27.106.204.0/22 +27.109.32.0/19 +27.109.124.0/22 +27.112.0.0/18 +27.112.80.0/20 +27.112.112.0/21 +27.113.128.0/18 +27.115.0.0/17 +27.116.44.0/22 +27.121.72.0/21 +27.121.120.0/21 +27.128.0.0/15 +27.131.220.0/22 +27.144.0.0/16 +27.148.0.0/14 +27.152.0.0/13 +27.184.0.0/13 +27.192.0.0/11 +27.224.0.0/14 +36.0.0.0/22 +36.0.16.0/20 +36.0.32.0/19 +36.0.64.0/18 +36.0.128.0/17 +36.1.0.0/16 +36.4.0.0/14 +36.16.0.0/12 +36.32.0.0/14 +36.36.0.0/16 +36.37.0.0/19 +36.37.36.0/23 +36.37.39.0/24 +36.37.40.0/21 +36.37.48.0/20 +36.40.0.0/13 +36.48.0.0/15 +36.51.0.0/17 +36.51.128.0/18 +36.51.192.0/19 +36.51.224.0/20 +36.51.240.0/21 +36.51.248.0/22 +36.51.252.0/23 +36.56.0.0/13 +36.96.0.0/11 +36.128.0.0/10 +36.192.0.0/11 +36.248.0.0/14 +36.254.0.0/16 +36.255.116.0/22 +36.255.128.0/22 +36.255.164.0/22 +36.255.172.0/22 +36.255.176.0/22 +39.0.0.0/24 +39.0.2.0/23 +39.0.4.0/22 +39.0.8.0/21 +39.0.16.0/20 +39.0.32.0/19 +39.0.64.0/18 +39.0.128.0/17 +39.64.0.0/11 +39.96.0.0/13 +39.104.0.0/14 +39.108.0.0/16 +39.128.0.0/10 +40.0.176.0/20 +40.0.247.0/24 +40.0.248.0/22 +40.0.252.0/23 +40.0.255.0/24 +40.72.0.0/16 +40.125.128.0/17 +40.126.64.0/18 +40.198.10.0/24 +40.198.16.0/21 +40.198.24.0/23 +40.251.225.0/24 +40.251.227.0/24 +42.0.0.0/22 +42.0.8.0/21 +42.0.16.0/21 +42.0.24.0/22 +42.0.32.0/19 +42.0.128.0/19 +42.0.160.0/20 +42.0.176.0/21 +42.0.184.0/24 +42.0.186.0/23 +42.0.188.0/22 +42.0.192.0/20 +42.0.208.0/21 +42.0.216.0/22 +42.0.220.0/23 +42.0.223.0/24 +42.0.224.0/19 +42.1.0.0/19 +42.1.32.0/20 +42.1.48.0/21 +42.1.56.0/22 +42.4.0.0/14 +42.48.0.0/13 +42.56.0.0/14 +42.62.0.0/17 +42.62.128.0/19 +42.62.160.0/20 +42.62.180.0/22 +42.62.184.0/21 +42.63.0.0/16 +42.80.0.0/15 +42.83.64.0/20 +42.83.80.0/22 +42.83.88.0/21 +42.83.96.0/19 +42.83.128.0/23 +42.83.130.0/24 +42.83.132.0/24 +42.83.134.0/23 +42.83.140.0/24 +42.83.142.0/23 +42.83.144.0/20 +42.83.160.0/19 +42.83.192.0/18 +42.84.0.0/14 +42.88.0.0/13 +42.96.64.0/19 +42.96.96.0/21 +42.96.108.0/22 +42.96.112.0/20 +42.96.128.0/17 +42.97.0.0/16 +42.99.0.0/18 +42.99.64.0/19 +42.99.96.0/20 +42.99.112.0/22 +42.99.120.0/21 +42.100.0.0/14 +42.120.0.0/15 +42.122.0.0/16 +42.123.0.0/19 +42.123.36.0/22 +42.123.40.0/21 +42.123.48.0/20 +42.123.64.0/18 +42.123.128.0/19 +42.123.160.0/22 +42.123.164.0/24 +42.123.166.0/23 +42.123.168.0/21 +42.123.176.0/20 +42.123.192.0/18 +42.128.0.0/12 +42.156.0.0/19 +42.156.36.0/22 +42.156.40.0/21 +42.156.48.0/20 +42.156.64.0/18 +42.156.128.0/17 +42.157.0.0/16 +42.158.0.0/15 +42.160.0.0/12 +42.176.0.0/13 +42.184.0.0/15 +42.186.0.0/16 +42.187.0.0/18 +42.187.64.0/19 +42.187.96.0/20 +42.187.112.0/21 +42.187.120.0/22 +42.187.128.0/17 +42.192.0.0/13 +42.201.0.0/17 +42.202.0.0/15 +42.204.0.0/14 +42.208.0.0/12 +42.224.0.0/12 +42.240.0.0/16 +42.242.0.0/15 +42.244.0.0/15 +42.246.0.0/16 +42.247.0.0/22 +42.247.4.0/24 +42.247.5.0/25 +42.247.5.128/26 +42.247.5.204/30 +42.247.5.208/28 +42.247.5.224/27 +42.247.6.0/23 +42.247.8.0/21 +42.247.16.0/20 +42.247.32.0/19 +42.247.64.0/18 +42.247.128.0/17 +42.248.0.0/13 +43.224.12.0/22 +43.224.24.0/22 +43.224.44.0/22 +43.224.52.0/22 +43.224.56.0/22 +43.224.64.0/21 +43.224.72.0/22 +43.224.80.0/22 +43.224.100.0/22 +43.224.144.0/22 +43.224.160.0/22 +43.224.176.0/22 +43.224.184.0/22 +43.224.200.0/21 +43.224.208.0/21 +43.224.216.0/22 +43.224.240.0/22 +43.225.76.0/22 +43.225.84.0/22 +43.225.120.0/22 +43.225.180.0/22 +43.225.184.0/22 +43.225.208.0/22 +43.225.216.0/21 +43.225.224.0/20 +43.225.240.0/21 +43.225.252.0/22 +43.226.32.0/19 +43.226.64.0/19 +43.226.96.0/20 +43.226.112.0/21 +43.226.120.0/22 +43.226.128.0/19 +43.226.160.0/22 +43.226.236.0/22 +43.226.240.0/20 +43.227.0.0/21 +43.227.8.0/22 +43.227.32.0/19 +43.227.64.0/19 +43.227.136.0/21 +43.227.144.0/22 +43.227.152.0/21 +43.227.160.0/20 +43.227.176.0/21 +43.227.188.0/22 +43.227.192.0/19 +43.227.232.0/22 +43.227.248.0/21 +43.228.0.0/18 +43.228.64.0/21 +43.228.76.0/22 +43.228.100.0/22 +43.228.116.0/22 +43.228.132.0/22 +43.228.136.0/22 +43.228.148.0/22 +43.228.152.0/22 +43.228.188.0/22 +43.229.40.0/22 +43.229.56.0/22 +43.229.96.0/22 +43.229.136.0/21 +43.229.168.0/21 +43.229.176.0/20 +43.229.192.0/21 +43.229.216.0/21 +43.229.232.0/21 +43.230.20.0/22 +43.230.32.0/22 +43.230.68.0/22 +43.230.72.0/22 +43.230.84.0/22 +43.230.124.0/22 +43.230.220.0/22 +43.230.224.0/19 +43.231.12.0/22 +43.231.32.0/20 +43.231.80.0/20 +43.231.96.0/20 +43.231.136.0/21 +43.231.144.0/20 +43.231.160.0/20 +43.231.176.0/21 +43.236.0.0/15 +43.238.0.0/16 +43.239.0.0/19 +43.239.32.0/20 +43.239.48.0/22 +43.239.116.0/22 +43.239.120.0/22 +43.239.172.0/22 +43.240.0.0/22 +43.240.56.0/21 +43.240.68.0/22 +43.240.72.0/21 +43.240.84.0/22 +43.240.124.0/22 +43.240.128.0/21 +43.240.136.0/22 +43.240.156.0/22 +43.240.160.0/19 +43.240.192.0/19 +43.240.240.0/20 +43.241.0.0/20 +43.241.16.0/21 +43.241.48.0/22 +43.241.76.0/22 +43.241.80.0/20 +43.241.112.0/22 +43.241.168.0/21 +43.241.176.0/21 +43.241.184.0/22 +43.241.208.0/20 +43.241.224.0/20 +43.241.240.0/22 +43.241.248.0/22 +43.242.8.0/21 +43.242.16.0/20 +43.242.48.0/20 +43.242.64.0/22 +43.242.72.0/21 +43.242.80.0/20 +43.242.96.0/22 +43.242.144.0/20 +43.242.160.0/21 +43.242.180.0/22 +43.242.188.0/22 +43.242.192.0/21 +43.242.204.0/22 +43.242.216.0/21 +43.242.252.0/22 +43.243.4.0/22 +43.243.8.0/21 +43.243.16.0/22 +43.243.88.0/22 +43.243.128.0/22 +43.243.136.0/22 +43.243.144.0/21 +43.243.156.0/22 +43.243.180.0/22 +43.243.228.0/22 +43.243.232.0/22 +43.243.244.0/22 +43.246.0.0/18 +43.246.64.0/19 +43.246.96.0/22 +43.246.228.0/22 +43.247.4.0/22 +43.247.8.0/22 +43.247.44.0/22 +43.247.48.0/22 +43.247.68.0/22 +43.247.76.0/22 +43.247.84.0/22 +43.247.88.0/21 +43.247.96.0/21 +43.247.108.0/22 +43.247.112.0/22 +43.247.148.0/22 +43.247.152.0/22 +43.247.176.0/20 +43.247.196.0/22 +43.247.200.0/21 +43.247.208.0/20 +43.247.224.0/19 +43.248.0.0/21 +43.248.20.0/22 +43.248.28.0/22 +43.248.48.0/22 +43.248.76.0/22 +43.248.80.0/20 +43.248.96.0/19 +43.248.128.0/20 +43.248.144.0/21 +43.248.176.0/20 +43.248.192.0/20 +43.248.208.0/22 +43.248.228.0/22 +43.248.232.0/22 +43.248.244.0/22 +43.249.4.0/22 +43.249.120.0/22 +43.249.132.0/22 +43.249.136.0/22 +43.249.144.0/20 +43.249.160.0/21 +43.249.168.0/22 +43.249.192.0/22 +43.249.236.0/22 +43.250.4.0/22 +43.250.12.0/22 +43.250.16.0/21 +43.250.28.0/22 +43.250.32.0/22 +43.250.96.0/20 +43.250.112.0/22 +43.250.128.0/22 +43.250.144.0/21 +43.250.160.0/22 +43.250.168.0/22 +43.250.176.0/22 +43.250.200.0/22 +43.250.212.0/22 +43.250.216.0/21 +43.250.236.0/22 +43.250.244.0/22 +43.251.4.0/22 +43.251.12.0/22 +43.251.36.0/22 +43.251.192.0/22 +43.251.232.0/22 +43.251.244.0/22 +43.252.48.0/22 +43.252.56.0/22 +43.254.0.0/21 +43.254.8.0/22 +43.254.24.0/22 +43.254.36.0/22 +43.254.44.0/22 +43.254.52.0/22 +43.254.64.0/22 +43.254.72.0/22 +43.254.84.0/22 +43.254.88.0/21 +43.254.100.0/22 +43.254.104.0/22 +43.254.112.0/21 +43.254.128.0/22 +43.254.136.0/21 +43.254.144.0/20 +43.254.168.0/21 +43.254.180.0/22 +43.254.184.0/21 +43.254.192.0/22 +43.254.200.0/22 +43.254.208.0/22 +43.254.220.0/22 +43.254.224.0/20 +43.254.240.0/22 +43.254.248.0/21 +43.255.0.0/21 +43.255.8.0/22 +43.255.16.0/22 +43.255.48.0/22 +43.255.64.0/20 +43.255.84.0/22 +43.255.96.0/22 +43.255.144.0/22 +43.255.176.0/22 +43.255.184.0/22 +43.255.192.0/22 +43.255.200.0/21 +43.255.208.0/21 +43.255.224.0/21 +43.255.232.0/22 +43.255.244.0/22 +45.65.16.0/20 +45.112.132.0/22 +45.112.188.0/22 +45.112.208.0/22 +45.112.216.0/21 +45.112.228.0/22 +45.112.232.0/21 +45.113.12.0/22 +45.113.16.0/20 +45.113.40.0/22 +45.113.52.0/22 +45.113.72.0/22 +45.113.144.0/21 +45.113.168.0/22 +45.113.176.0/24 +45.113.184.0/22 +45.113.200.0/21 +45.113.208.0/20 +45.113.228.0/22 +45.113.240.0/22 +45.113.252.0/22 +45.114.0.0/22 +45.114.32.0/22 +45.114.40.0/22 +45.114.52.0/22 +45.114.96.0/22 +45.114.136.0/22 +45.114.196.0/22 +45.114.200.0/22 +45.114.228.0/22 +45.114.236.0/22 +45.114.252.0/22 +45.115.44.0/22 +45.115.100.0/22 +45.115.120.0/22 +45.115.132.0/22 +45.115.144.0/22 +45.115.156.0/22 +45.115.164.0/22 +45.115.200.0/22 +45.115.212.0/22 +45.115.216.0/22 +45.115.244.0/22 +45.115.248.0/22 +45.116.16.0/21 +45.116.24.0/22 +45.116.32.0/21 +45.116.52.0/22 +45.116.96.0/21 +45.116.140.0/22 +45.116.152.0/22 +45.116.208.0/22 +45.117.8.0/22 +45.117.20.0/22 +45.117.68.0/22 +45.117.124.0/22 +45.117.252.0/22 +45.119.60.0/22 +45.119.64.0/21 +45.119.72.0/22 +45.119.104.0/22 +45.119.232.0/22 +45.120.100.0/22 +45.120.140.0/22 +45.120.164.0/22 +45.120.240.0/22 +45.121.52.0/22 +45.121.64.0/21 +45.121.72.0/22 +45.121.92.0/22 +45.121.96.0/22 +45.121.172.0/22 +45.121.176.0/22 +45.121.240.0/20 +45.122.0.0/19 +45.122.32.0/21 +45.122.40.0/22 +45.122.60.0/22 +45.122.64.0/19 +45.122.96.0/20 +45.122.112.0/21 +45.122.160.0/19 +45.122.192.0/20 +45.122.208.0/21 +45.122.216.0/22 +45.123.28.0/22 +45.123.32.0/21 +45.123.44.0/22 +45.123.48.0/20 +45.123.64.0/20 +45.123.80.0/21 +45.123.90.0/23 +45.123.120.0/22 +45.123.128.0/21 +45.123.136.0/22 +45.123.148.0/22 +45.123.152.0/21 +45.123.164.0/22 +45.123.168.0/21 +45.123.176.0/21 +45.123.184.0/22 +45.123.204.0/22 +45.123.212.0/22 +45.123.224.0/19 +45.124.0.0/22 +45.124.20.0/22 +45.124.28.0/22 +45.124.32.0/21 +45.124.44.0/22 +45.124.68.0/22 +45.124.76.0/22 +45.124.80.0/22 +45.124.100.0/22 +45.124.124.0/22 +45.124.172.0/22 +45.124.176.0/22 +45.124.208.0/22 +45.124.248.0/22 +45.125.24.0/22 +45.125.44.0/22 +45.125.52.0/22 +45.125.56.0/22 +45.125.76.0/22 +45.125.80.0/20 +45.125.96.0/21 +45.125.136.0/22 +45.126.48.0/21 +45.126.108.0/22 +45.126.112.0/21 +45.126.120.0/22 +45.126.220.0/22 +45.127.8.0/21 +45.127.128.0/22 +45.127.144.0/21 +45.127.156.0/22 +45.248.8.0/22 +45.248.80.0/22 +45.248.88.0/22 +45.248.96.0/20 +45.248.128.0/21 +45.248.204.0/22 +45.248.208.0/20 +45.248.224.0/19 +45.249.0.0/21 +45.249.12.0/22 +45.249.16.0/20 +45.249.32.0/21 +45.249.112.0/22 +45.249.188.0/22 +45.249.192.0/20 +45.249.208.0/21 +45.250.12.0/22 +45.250.16.0/22 +45.250.28.0/22 +45.250.32.0/21 +45.250.40.0/22 +45.250.76.0/22 +45.250.80.0/20 +45.250.96.0/22 +45.250.104.0/21 +45.250.112.0/20 +45.250.128.0/20 +45.250.144.0/21 +45.250.152.0/22 +45.250.164.0/22 +45.250.180.0/22 +45.250.184.0/21 +45.250.192.0/22 +45.251.0.0/22 +45.251.8.0/22 +45.251.16.0/21 +45.251.52.0/22 +45.251.84.0/22 +45.251.88.0/21 +45.251.96.0/21 +45.251.120.0/21 +45.251.136.0/21 +45.251.144.0/20 +45.251.160.0/19 +45.251.192.0/19 +45.251.224.0/22 +45.252.0.0/19 +45.252.32.0/20 +45.252.48.0/22 +45.252.84.0/22 +45.252.88.0/21 +45.252.96.0/19 +45.252.128.0/19 +45.252.160.0/20 +45.252.176.0/22 +45.252.192.0/19 +45.252.224.0/21 +45.252.232.0/22 +45.253.0.0/18 +45.253.64.0/20 +45.253.80.0/21 +45.253.92.0/22 +45.253.96.0/20 +45.253.112.0/21 +45.253.120.0/22 +45.253.130.0/23 +45.253.132.0/22 +45.253.136.0/21 +45.253.144.0/20 +45.253.160.0/19 +45.253.192.0/18 +45.254.0.0/19 +45.254.40.0/22 +45.254.48.0/20 +45.254.64.0/18 +45.254.128.0/18 +45.254.192.0/19 +45.254.224.0/21 +45.254.236.0/22 +45.254.240.0/22 +45.254.248.0/22 +45.255.0.0/18 +45.255.64.0/19 +45.255.96.0/20 +45.255.112.0/21 +45.255.120.0/22 +45.255.125.0/24 +45.255.126.0/23 +45.255.136.0/21 +45.255.144.0/20 +45.255.160.0/19 +45.255.192.0/19 +45.255.224.0/20 +45.255.240.0/21 +45.255.248.0/22 +47.92.0.0/14 +47.96.0.0/11 +49.4.0.0/14 +49.52.0.0/14 +49.64.0.0/11 +49.112.0.0/13 +49.120.0.0/14 +49.128.0.0/24 +49.128.2.0/23 +49.140.0.0/15 +49.152.0.0/14 +49.208.0.0/14 +49.220.0.0/14 +49.232.0.0/14 +49.239.0.0/18 +49.239.192.0/18 +52.80.0.0/16 +52.94.249.0/28 +54.222.0.0/15 +54.231.208.0/20 +58.14.0.0/15 +58.16.0.0/13 +58.24.0.0/15 +58.30.0.0/15 +58.32.0.0/11 +58.65.232.0/21 +58.66.0.0/15 +58.68.128.0/19 +58.68.160.0/23 +58.68.163.0/24 +58.68.164.0/22 +58.68.179.0/24 +58.68.180.0/24 +58.68.200.0/21 +58.68.208.0/20 +58.68.224.0/19 +58.82.0.0/17 +58.83.0.0/16 +58.87.64.0/18 +58.99.128.0/17 +58.100.0.0/15 +58.116.0.0/14 +58.128.0.0/13 +58.144.0.0/16 +58.154.0.0/15 +58.192.0.0/11 +58.240.0.0/12 +59.32.0.0/11 +59.64.0.0/12 +59.80.0.0/15 +59.82.0.0/17 +59.82.128.0/18 +59.82.192.0/19 +59.82.224.0/20 +59.82.240.0/22 +59.82.248.0/21 +59.83.0.0/18 +59.83.128.0/17 +59.107.0.0/16 +59.108.0.0/15 +59.110.0.0/16 +59.111.0.0/17 +59.111.128.0/18 +59.111.192.0/19 +59.111.224.0/20 +59.111.240.0/21 +59.111.248.0/22 +59.111.252.0/23 +59.111.255.0/24 +59.151.0.0/17 +59.152.16.0/20 +59.152.32.0/21 +59.152.64.0/20 +59.152.112.0/21 +59.153.4.0/22 +59.153.32.0/22 +59.153.64.0/21 +59.153.72.0/22 +59.153.92.0/22 +59.153.116.0/22 +59.153.136.0/22 +59.153.152.0/21 +59.153.164.0/22 +59.153.168.0/21 +59.153.176.0/20 +59.153.192.0/22 +59.155.0.0/16 +59.172.0.0/14 +59.191.0.0/17 +59.192.0.0/10 +60.0.0.0/11 +60.55.0.0/16 +60.63.0.0/16 +60.160.0.0/11 +60.194.0.0/15 +60.200.0.0/13 +60.208.0.0/12 +60.232.0.0/15 +60.235.0.0/16 +60.245.128.0/17 +60.247.0.0/16 +60.252.0.0/16 +60.253.128.0/17 +60.255.0.0/16 +61.4.81.0/24 +61.4.82.0/23 +61.4.84.0/22 +61.4.88.0/21 +61.4.176.0/20 +61.8.160.0/20 +61.14.212.0/22 +61.14.216.0/21 +61.14.240.0/21 +61.28.0.0/17 +61.29.128.0/18 +61.29.192.0/19 +61.29.224.0/20 +61.45.128.0/18 +61.45.224.0/20 +61.47.128.0/18 +61.48.0.0/13 +61.87.192.0/18 +61.128.0.0/10 +61.232.0.0/14 +61.236.0.0/15 +61.240.0.0/14 +65.55.209.0/24 +72.163.248.0/22 +87.254.207.0/24 +93.183.14.0/24 +93.183.18.0/24 +101.0.0.0/22 +101.1.0.0/22 +101.2.172.0/22 +101.4.0.0/14 +101.16.0.0/12 +101.32.0.0/15 +101.34.0.0/16 +101.35.0.0/20 +101.35.16.0/22 +101.35.21.0/24 +101.35.22.0/23 +101.35.24.0/21 +101.35.32.0/19 +101.35.64.0/20 +101.35.80.0/23 +101.35.84.0/22 +101.35.88.0/21 +101.35.96.0/19 +101.35.128.0/17 +101.36.0.0/18 +101.36.64.0/20 +101.36.88.0/21 +101.36.96.0/19 +101.36.128.0/17 +101.37.0.0/16 +101.38.0.0/15 +101.40.0.0/13 +101.48.0.0/15 +101.50.56.0/22 +101.52.0.0/16 +101.53.100.0/22 +101.54.0.0/16 +101.55.224.0/21 +101.64.0.0/13 +101.72.0.0/14 +101.76.0.0/15 +101.78.0.0/22 +101.78.32.0/19 +101.80.0.0/12 +101.96.0.0/21 +101.96.8.0/22 +101.96.16.0/20 +101.96.128.0/17 +101.99.96.0/19 +101.101.64.0/19 +101.101.100.0/24 +101.101.102.0/23 +101.101.104.0/21 +101.101.112.0/20 +101.102.64.0/19 +101.102.100.0/23 +101.102.102.0/24 +101.102.104.0/21 +101.102.112.0/20 +101.104.0.0/14 +101.110.64.0/19 +101.110.96.0/20 +101.110.116.0/22 +101.110.120.0/21 +101.120.0.0/14 +101.124.0.0/15 +101.126.0.0/16 +101.128.0.0/22 +101.128.8.0/21 +101.128.16.0/20 +101.128.32.0/19 +101.129.0.0/16 +101.130.0.0/15 +101.132.0.0/14 +101.144.0.0/12 +101.192.0.0/14 +101.196.0.0/17 +101.196.128.0/19 +101.196.160.0/22 +101.196.164.0/23 +101.196.166.0/24 +101.196.168.0/21 +101.196.176.0/20 +101.196.192.0/18 +101.197.0.0/16 +101.198.0.0/15 +101.200.0.0/15 +101.203.128.0/19 +101.203.160.0/21 +101.203.172.0/22 +101.203.176.0/20 +101.204.0.0/14 +101.224.0.0/13 +101.232.0.0/15 +101.234.64.0/21 +101.234.76.0/22 +101.234.80.0/20 +101.234.96.0/19 +101.236.0.0/17 +101.236.128.0/18 +101.236.192.0/19 +101.236.224.0/20 +101.236.240.0/21 +101.237.0.0/16 +101.238.0.0/15 +101.240.0.0/13 +101.248.0.0/15 +101.251.0.0/22 +101.251.8.0/21 +101.251.16.0/20 +101.251.32.0/19 +101.251.64.0/19 +101.251.96.0/20 +101.251.116.0/22 +101.251.120.0/21 +101.251.128.0/17 +101.252.0.0/15 +101.254.0.0/16 +103.1.8.0/22 +103.1.20.0/22 +103.1.24.0/22 +103.1.72.0/22 +103.1.88.0/22 +103.1.168.0/22 +103.2.108.0/22 +103.2.156.0/22 +103.2.164.0/22 +103.2.200.0/21 +103.2.208.0/21 +103.3.84.0/22 +103.3.88.0/21 +103.3.96.0/19 +103.3.128.0/20 +103.3.148.0/22 +103.3.152.0/21 +103.4.56.0/22 +103.4.168.0/22 +103.4.184.0/22 +103.5.36.0/22 +103.5.52.0/22 +103.5.56.0/22 +103.5.168.0/22 +103.5.252.0/22 +103.6.76.0/22 +103.6.220.0/22 +103.7.212.0/22 +103.7.216.0/21 +103.8.4.0/22 +103.8.8.0/22 +103.8.32.0/22 +103.8.52.0/22 +103.8.108.0/22 +103.8.156.0/22 +103.8.200.0/21 +103.8.220.0/22 +103.9.8.0/22 +103.9.152.0/22 +103.9.248.0/22 +103.10.0.0/22 +103.10.16.0/22 +103.10.84.0/22 +103.10.111.0/24 +103.10.140.0/22 +103.11.180.0/22 +103.12.32.0/22 +103.12.136.0/22 +103.12.184.0/22 +103.12.232.0/22 +103.13.12.0/22 +103.13.124.0/22 +103.13.144.0/22 +103.13.196.0/22 +103.13.244.0/22 +103.14.84.0/22 +103.14.132.0/22 +103.14.136.0/22 +103.14.156.0/22 +103.14.240.0/22 +103.15.4.0/22 +103.15.8.0/22 +103.15.16.0/22 +103.15.96.0/22 +103.15.200.0/22 +103.16.52.0/22 +103.16.80.0/21 +103.16.88.0/22 +103.16.108.0/22 +103.16.124.0/22 +103.17.40.0/22 +103.17.120.0/22 +103.17.160.0/22 +103.17.204.0/22 +103.17.228.0/22 +103.18.192.0/22 +103.18.208.0/21 +103.18.224.0/22 +103.19.12.0/22 +103.19.40.0/22 +103.19.45.0/24 +103.19.46.0/23 +103.19.64.0/21 +103.19.72.0/22 +103.19.232.0/22 +103.20.12.0/22 +103.20.46.0/24 +103.20.112.0/22 +103.20.128.0/22 +103.20.160.0/22 +103.20.248.0/22 +103.21.112.0/21 +103.21.140.0/22 +103.21.176.0/22 +103.21.240.0/22 +103.22.0.0/18 +103.22.64.0/19 +103.22.100.0/22 +103.22.104.0/21 +103.22.112.0/20 +103.22.188.0/22 +103.22.228.0/22 +103.22.252.0/22 +103.23.8.0/22 +103.23.56.0/22 +103.23.160.0/21 +103.23.176.0/22 +103.23.228.0/22 +103.24.116.0/22 +103.24.128.0/22 +103.24.144.0/22 +103.24.176.0/22 +103.24.184.0/22 +103.24.220.0/23 +103.24.222.0/24 +103.24.228.0/22 +103.24.252.0/22 +103.25.20.0/22 +103.25.24.0/21 +103.25.32.0/21 +103.25.40.0/22 +103.25.48.0/22 +103.25.64.0/21 +103.25.148.0/22 +103.25.156.0/22 +103.25.216.0/22 +103.26.0.0/22 +103.26.64.0/22 +103.26.76.0/22 +103.26.156.0/22 +103.26.160.0/22 +103.26.228.0/22 +103.26.240.0/22 +103.27.4.0/22 +103.27.12.0/22 +103.27.24.0/22 +103.27.56.0/22 +103.27.96.0/22 +103.27.185.0/24 +103.27.186.0/23 +103.27.240.0/22 +103.28.4.0/22 +103.28.8.0/22 +103.28.204.0/22 +103.28.212.0/22 +103.29.16.0/22 +103.29.128.0/21 +103.29.136.0/22 +103.30.20.0/22 +103.30.96.0/22 +103.30.148.0/22 +103.30.202.0/23 +103.30.228.0/22 +103.30.234.0/24 +103.30.236.0/22 +103.31.48.0/21 +103.31.60.0/22 +103.31.64.0/21 +103.31.72.0/24 +103.31.148.0/22 +103.31.160.0/22 +103.31.168.0/22 +103.31.200.0/22 +103.31.236.0/22 +103.32.0.0/15 +103.34.0.0/16 +103.35.0.0/19 +103.35.32.0/20 +103.35.48.0/22 +103.35.104.0/22 +103.35.220.0/22 +103.36.28.0/22 +103.36.36.0/22 +103.36.56.0/21 +103.36.64.0/22 +103.36.72.0/22 +103.36.96.0/22 +103.36.132.0/22 +103.36.136.0/22 +103.36.160.0/19 +103.36.192.0/19 +103.36.224.0/20 +103.36.240.0/21 +103.37.12.0/22 +103.37.16.0/22 +103.37.24.0/22 +103.37.44.0/22 +103.37.52.0/22 +103.37.56.0/22 +103.37.72.0/22 +103.37.100.0/22 +103.37.104.0/22 +103.37.136.0/21 +103.37.144.0/20 +103.37.160.0/21 +103.37.172.0/22 +103.37.176.0/22 +103.37.208.0/20 +103.37.252.0/22 +103.38.0.0/22 +103.38.32.0/22 +103.38.40.0/21 +103.38.76.0/22 +103.38.84.0/22 +103.38.92.0/22 +103.38.96.0/22 +103.38.116.0/22 +103.38.132.0/22 +103.38.140.0/22 +103.38.220.0/22 +103.38.224.0/21 +103.38.232.0/22 +103.38.252.0/23 +103.39.64.0/22 +103.39.88.0/22 +103.39.100.0/22 +103.39.104.0/22 +103.39.160.0/19 +103.39.200.0/21 +103.39.208.0/20 +103.39.224.0/21 +103.39.232.0/22 +103.40.12.0/22 +103.40.16.0/20 +103.40.32.0/20 +103.40.88.0/22 +103.40.192.0/22 +103.40.212.0/22 +103.40.220.0/22 +103.40.228.0/22 +103.40.232.0/21 +103.40.240.0/20 +103.41.0.0/22 +103.41.52.0/22 +103.41.140.0/22 +103.41.148.0/22 +103.41.152.0/22 +103.41.160.0/21 +103.41.220.0/22 +103.41.224.0/21 +103.41.232.0/22 +103.42.8.0/22 +103.42.24.0/22 +103.42.32.0/22 +103.42.64.0/21 +103.42.76.0/22 +103.42.232.0/22 +103.43.26.0/23 +103.43.84.0/22 +103.43.96.0/21 +103.43.104.0/22 +103.43.124.0/22 +103.43.184.0/22 +103.43.192.0/21 +103.43.208.0/22 +103.43.220.0/22 +103.43.224.0/22 +103.43.240.0/22 +103.44.56.0/22 +103.44.80.0/22 +103.44.120.0/21 +103.44.144.0/22 +103.44.152.0/22 +103.44.168.0/22 +103.44.176.0/20 +103.44.192.0/20 +103.44.224.0/22 +103.44.236.0/22 +103.44.240.0/20 +103.45.72.0/21 +103.45.80.0/20 +103.45.96.0/19 +103.45.128.0/18 +103.45.192.0/19 +103.45.224.0/22 +103.45.248.0/22 +103.46.0.0/22 +103.46.12.0/22 +103.46.16.0/20 +103.46.32.0/19 +103.46.64.0/18 +103.46.128.0/21 +103.46.136.0/22 +103.46.152.0/21 +103.46.160.0/20 +103.46.176.0/21 +103.46.244.0/22 +103.46.248.0/22 +103.47.4.0/22 +103.47.20.0/22 +103.47.36.0/22 +103.47.40.0/22 +103.47.80.0/22 +103.47.96.0/22 +103.47.116.0/22 +103.47.120.0/22 +103.47.136.0/21 +103.47.212.0/22 +103.48.52.0/22 +103.48.92.0/22 +103.48.148.0/22 +103.48.202.0/23 +103.48.216.0/21 +103.48.224.0/20 +103.48.240.0/21 +103.49.12.0/22 +103.49.20.0/22 +103.49.72.0/21 +103.49.96.0/22 +103.49.108.0/22 +103.49.128.0/22 +103.49.176.0/21 +103.50.36.0/22 +103.50.44.0/22 +103.50.48.0/20 +103.50.64.0/21 +103.50.72.0/22 +103.50.92.0/22 +103.50.108.0/22 +103.50.112.0/20 +103.50.132.0/22 +103.50.136.0/21 +103.50.172.0/22 +103.50.176.0/20 +103.50.192.0/21 +103.50.200.0/22 +103.50.220.0/22 +103.50.224.0/20 +103.50.240.0/21 +103.50.248.0/22 +103.52.40.0/22 +103.52.72.0/21 +103.52.80.0/21 +103.52.96.0/21 +103.52.104.0/22 +103.52.160.0/21 +103.52.172.0/22 +103.52.176.0/22 +103.52.184.0/22 +103.52.196.0/22 +103.53.64.0/21 +103.53.92.0/22 +103.53.124.0/22 +103.53.128.0/20 +103.53.144.0/22 +103.53.160.0/22 +103.53.180.0/22 +103.53.204.0/22 +103.53.208.0/21 +103.53.236.0/22 +103.53.248.0/22 +103.54.8.0/22 +103.54.48.0/22 +103.54.160.0/21 +103.54.212.0/22 +103.54.228.0/22 +103.54.240.0/22 +103.55.80.0/22 +103.55.120.0/22 +103.55.152.0/22 +103.55.172.0/22 +103.55.204.0/22 +103.55.208.0/22 +103.55.228.0/22 +103.55.236.0/22 +103.55.240.0/22 +103.56.20.0/22 +103.56.32.0/22 +103.56.56.0/21 +103.56.72.0/21 +103.56.140.0/22 +103.56.152.0/22 +103.56.200.0/22 +103.57.12.0/22 +103.57.52.0/22 +103.57.56.0/22 +103.57.76.0/22 +103.57.136.0/22 +103.57.196.0/22 +103.58.24.0/22 +103.59.76.0/22 +103.59.112.0/20 +103.59.128.0/22 +103.59.148.0/22 +103.60.32.0/22 +103.60.44.0/22 +103.60.164.0/22 +103.60.228.0/22 +103.60.236.0/22 +103.61.60.0/22 +103.61.104.0/22 +103.61.140.0/22 +103.61.152.0/21 +103.61.160.0/22 +103.61.172.0/22 +103.61.176.0/22 +103.62.24.0/22 +103.62.72.0/21 +103.62.80.0/21 +103.62.88.0/22 +103.62.96.0/19 +103.62.128.0/21 +103.62.156.0/22 +103.62.160.0/19 +103.62.192.0/22 +103.62.204.0/22 +103.62.208.0/20 +103.62.224.0/22 +103.63.32.0/19 +103.63.64.0/20 +103.63.80.0/21 +103.63.88.0/22 +103.63.140.0/22 +103.63.144.0/22 +103.63.152.0/22 +103.63.160.0/20 +103.63.176.0/21 +103.63.184.0/22 +103.63.192.0/20 +103.63.208.0/22 +103.63.240.0/20 +103.64.0.0/21 +103.64.24.0/21 +103.64.32.0/19 +103.64.64.0/18 +103.64.140.0/22 +103.64.144.0/22 +103.64.152.0/21 +103.64.160.0/19 +103.64.192.0/18 +103.65.0.0/20 +103.65.16.0/22 +103.65.38.0/23 +103.65.42.0/23 +103.65.48.0/20 +103.65.64.0/19 +103.65.100.0/22 +103.65.104.0/21 +103.65.112.0/20 +103.65.128.0/21 +103.65.136.0/22 +103.65.144.0/20 +103.65.160.0/20 +103.66.32.0/22 +103.66.40.0/22 +103.66.108.0/22 +103.66.200.0/22 +103.66.240.0/20 +103.67.0.0/21 +103.67.8.0/22 +103.67.40.0/21 +103.67.48.0/20 +103.67.64.0/18 +103.67.128.0/20 +103.67.144.0/21 +103.67.172.0/22 +103.67.192.0/22 +103.67.212.0/22 +103.68.88.0/22 +103.68.100.0/22 +103.68.128.0/22 +103.68.192.0/22 +103.69.16.0/22 +103.69.119.0/24 +103.69.132.0/22 +103.70.8.0/22 +103.70.148.0/22 +103.70.184.0/22 +103.70.236.0/22 +103.70.252.0/22 +103.71.0.0/22 +103.71.48.0/22 +103.71.68.0/22 +103.71.72.0/22 +103.71.80.0/21 +103.71.88.0/22 +103.71.120.0/21 +103.71.128.0/22 +103.71.144.0/22 +103.71.196.0/22 +103.71.200.0/22 +103.71.232.0/22 +103.72.12.0/22 +103.72.16.0/20 +103.72.32.0/20 +103.72.48.0/21 +103.72.112.0/20 +103.72.128.0/21 +103.72.149.0/24 +103.72.150.0/23 +103.72.172.0/22 +103.72.180.0/22 +103.72.224.0/19 +103.73.0.0/19 +103.73.48.0/22 +103.73.116.0/22 +103.73.120.0/22 +103.73.128.0/20 +103.73.144.0/22 +103.73.168.0/22 +103.73.176.0/22 +103.73.204.0/22 +103.73.208.0/22 +103.73.240.0/23 +103.73.242.0/24 +103.73.244.0/22 +103.73.248.0/22 +103.74.24.0/21 +103.74.32.0/20 +103.74.48.0/22 +103.74.56.0/21 +103.74.80.0/22 +103.74.124.0/22 +103.74.148.0/22 +103.74.152.0/21 +103.74.204.0/22 +103.74.232.0/22 +103.75.16.0/22 +103.75.85.0/24 +103.75.87.0/24 +103.75.88.0/21 +103.75.104.0/21 +103.75.112.0/22 +103.75.120.0/22 +103.75.128.0/22 +103.75.144.0/22 +103.75.152.0/22 +103.75.236.0/24 +103.76.60.0/22 +103.76.64.0/21 +103.76.72.0/22 +103.76.92.0/22 +103.76.216.0/21 +103.76.224.0/22 +103.77.28.0/22 +103.77.52.0/22 +103.77.56.0/22 +103.77.72.0/22 +103.77.88.0/21 +103.77.132.0/22 +103.77.148.0/22 +103.77.220.0/22 +103.78.56.0/21 +103.78.64.0/21 +103.78.124.0/22 +103.78.172.0/22 +103.78.176.0/22 +103.78.196.0/22 +103.78.228.0/22 +103.79.24.0/21 +103.79.36.0/22 +103.79.40.0/21 +103.79.56.0/21 +103.79.64.0/21 +103.79.80.0/21 +103.79.136.0/22 +103.79.188.0/22 +103.79.192.0/20 +103.79.208.0/21 +103.79.240.0/22 +103.80.28.0/22 +103.80.44.0/22 +103.80.72.0/22 +103.80.176.0/21 +103.80.184.0/22 +103.80.192.0/22 +103.80.200.0/22 +103.80.232.0/22 +103.81.4.0/22 +103.81.8.0/22 +103.81.16.0/21 +103.81.44.0/22 +103.81.48.0/22 +103.81.96.0/22 +103.81.120.0/22 +103.81.148.0/22 +103.81.164.0/22 +103.81.168.0/22 +103.81.187.0/24 +103.81.200.0/22 +103.81.232.0/22 +103.82.52.0/22 +103.82.60.0/22 +103.82.68.0/22 +103.82.84.0/22 +103.82.104.0/22 +103.192.0.0/19 +103.192.48.0/21 +103.192.56.0/22 +103.192.84.0/22 +103.192.88.0/21 +103.192.96.0/20 +103.192.112.0/22 +103.192.128.0/20 +103.192.144.0/22 +103.192.164.0/22 +103.192.188.0/22 +103.192.208.0/21 +103.192.216.0/22 +103.192.252.0/22 +103.193.40.0/21 +103.193.120.0/21 +103.193.140.0/22 +103.193.160.0/22 +103.193.188.0/22 +103.193.192.0/22 +103.193.212.0/22 +103.193.216.0/21 +103.193.224.0/20 +103.194.16.0/22 +103.194.230.0/23 +103.195.112.0/22 +103.195.152.0/22 +103.195.160.0/22 +103.196.64.0/22 +103.196.72.0/22 +103.196.88.0/21 +103.196.96.0/22 +103.196.168.0/22 +103.196.185.0/24 +103.196.186.0/23 +103.197.180.0/22 +103.197.228.0/22 +103.197.253.0/24 +103.197.254.0/23 +103.198.20.0/22 +103.198.60.0/22 +103.198.64.0/22 +103.198.72.0/22 +103.198.124.0/22 +103.198.156.0/22 +103.198.180.0/22 +103.198.196.0/22 +103.198.200.0/22 +103.198.216.0/21 +103.198.224.0/20 +103.198.240.0/21 +103.199.164.0/22 +103.199.196.0/22 +103.199.228.0/22 +103.199.252.0/22 +103.200.52.0/22 +103.200.64.0/21 +103.200.136.0/21 +103.200.144.0/20 +103.200.160.0/19 +103.200.192.0/22 +103.200.220.0/22 +103.200.224.0/19 +103.201.0.0/20 +103.201.16.0/21 +103.201.28.0/22 +103.201.32.0/19 +103.201.64.0/22 +103.201.76.0/22 +103.201.80.0/20 +103.201.96.0/20 +103.201.112.0/21 +103.201.120.0/22 +103.201.152.0/21 +103.201.160.0/19 +103.201.192.0/18 +103.202.0.0/19 +103.202.32.0/20 +103.202.56.0/21 +103.202.64.0/18 +103.202.128.0/20 +103.202.144.0/22 +103.202.152.0/21 +103.202.160.0/19 +103.202.192.0/20 +103.202.212.0/22 +103.202.228.0/22 +103.202.236.0/22 +103.202.240.0/20 +103.203.0.0/19 +103.203.32.0/22 +103.203.96.0/19 +103.203.128.0/22 +103.203.140.0/22 +103.203.164.0/22 +103.203.168.0/22 +103.203.192.0/22 +103.203.200.0/22 +103.203.212.0/22 +103.203.216.0/22 +103.204.24.0/22 +103.204.72.0/22 +103.204.88.0/22 +103.204.112.0/22 +103.204.136.0/21 +103.204.144.0/21 +103.204.152.0/22 +103.204.196.0/22 +103.204.232.0/21 +103.205.40.0/21 +103.205.52.0/22 +103.205.108.0/22 +103.205.116.0/22 +103.205.136.0/22 +103.205.162.0/24 +103.205.188.0/22 +103.205.192.0/21 +103.205.200.0/22 +103.205.236.0/22 +103.205.248.0/21 +103.206.0.0/22 +103.206.44.0/22 +103.206.148.0/22 +103.207.104.0/22 +103.207.184.0/21 +103.207.192.0/20 +103.207.208.0/21 +103.207.220.0/22 +103.207.228.0/22 +103.207.232.0/22 +103.208.12.0/22 +103.208.16.0/22 +103.208.28.0/22 +103.208.40.0/21 +103.208.48.0/22 +103.208.148.0/22 +103.209.112.0/22 +103.209.136.0/22 +103.209.200.0/22 +103.209.208.0/22 +103.209.216.0/22 +103.210.0.0/22 +103.210.96.0/22 +103.210.156.0/22 +103.210.160.0/19 +103.210.216.0/22 +103.211.44.0/22 +103.211.96.0/23 +103.211.98.0/24 +103.211.100.0/22 +103.211.156.0/22 +103.211.165.0/24 +103.211.166.0/24 +103.211.168.0/22 +103.211.220.0/22 +103.211.248.0/22 +103.212.0.0/20 +103.212.44.0/22 +103.212.48.0/22 +103.212.84.0/22 +103.212.100.0/22 +103.212.148.0/22 +103.212.164.0/22 +103.212.196.0/22 +103.212.200.0/22 +103.212.230.0/23 +103.212.252.0/22 +103.213.40.0/21 +103.213.48.0/20 +103.213.64.0/19 +103.213.96.0/22 +103.213.132.0/22 +103.213.136.0/21 +103.213.144.0/20 +103.213.160.0/19 +103.213.252.0/22 +103.214.48.0/22 +103.214.84.0/22 +103.214.212.0/22 +103.214.240.0/21 +103.215.28.0/22 +103.215.32.0/21 +103.215.44.0/22 +103.215.100.0/22 +103.215.108.0/22 +103.215.116.0/22 +103.215.120.0/22 +103.215.140.0/22 +103.216.4.0/22 +103.216.8.0/21 +103.216.16.0/20 +103.216.32.0/20 +103.216.64.0/22 +103.216.108.0/22 +103.216.136.0/22 +103.216.152.0/22 +103.216.224.0/21 +103.216.240.0/20 +103.217.0.0/18 +103.217.168.0/22 +103.217.180.0/22 +103.217.184.0/21 +103.217.192.0/20 +103.218.8.0/21 +103.218.16.0/21 +103.218.28.0/22 +103.218.32.0/19 +103.218.64.0/19 +103.218.192.0/20 +103.218.208.0/21 +103.218.216.0/22 +103.219.24.0/21 +103.219.32.0/21 +103.219.64.0/22 +103.219.84.0/22 +103.219.88.0/21 +103.219.96.0/21 +103.219.176.0/22 +103.219.184.0/22 +103.220.48.0/20 +103.220.64.0/22 +103.220.92.0/22 +103.220.96.0/22 +103.220.104.0/21 +103.220.116.0/22 +103.220.120.0/21 +103.220.128.0/20 +103.220.144.0/21 +103.220.152.0/22 +103.220.160.0/19 +103.220.192.0/21 +103.220.200.0/22 +103.220.240.0/20 +103.221.0.0/19 +103.221.32.0/20 +103.221.48.0/22 +103.221.88.0/21 +103.221.96.0/19 +103.221.128.0/18 +103.221.192.0/20 +103.222.0.0/20 +103.222.16.0/22 +103.222.24.0/21 +103.222.32.0/19 +103.222.64.0/18 +103.222.128.0/18 +103.222.192.0/19 +103.222.224.0/21 +103.222.232.0/22 +103.222.240.0/21 +103.223.16.0/20 +103.223.32.0/19 +103.223.64.0/19 +103.223.96.0/20 +103.223.112.0/21 +103.223.121.0/24 +103.223.123.0/24 +103.223.124.0/22 +103.223.128.0/21 +103.223.140.0/22 +103.223.144.0/20 +103.223.160.0/20 +103.223.176.0/21 +103.223.188.0/22 +103.223.192.0/18 +103.224.40.0/21 +103.224.60.0/22 +103.224.220.0/22 +103.224.224.0/21 +103.224.232.0/22 +103.226.40.0/22 +103.226.56.0/21 +103.226.80.0/22 +103.226.116.0/22 +103.226.132.0/22 +103.226.156.0/22 +103.226.180.0/22 +103.226.196.0/22 +103.227.48.0/22 +103.227.72.0/21 +103.227.80.0/22 +103.227.100.0/22 +103.227.120.0/22 +103.227.132.0/22 +103.227.136.0/22 +103.227.196.0/22 +103.227.204.0/23 +103.227.206.0/24 +103.227.212.0/22 +103.227.228.0/22 +103.228.12.0/22 +103.228.88.0/22 +103.228.136.0/22 +103.228.160.0/22 +103.228.176.0/22 +103.228.204.0/22 +103.228.208.0/22 +103.228.232.0/22 +103.229.20.0/22 +103.229.60.0/23 +103.229.62.0/24 +103.229.136.0/22 +103.229.148.0/22 +103.229.172.0/22 +103.229.212.0/22 +103.229.216.0/21 +103.229.228.0/22 +103.229.236.0/22 +103.229.240.0/22 +103.230.0.0/22 +103.230.28.0/22 +103.230.40.0/21 +103.230.96.0/22 +103.230.196.0/22 +103.230.200.0/21 +103.230.212.0/22 +103.230.236.0/22 +103.231.16.0/21 +103.231.64.0/21 +103.231.144.0/22 +103.231.180.0/22 +103.231.244.0/22 +103.232.4.0/22 +103.232.144.0/22 +103.232.212.0/23 +103.232.214.0/24 +103.233.4.0/22 +103.233.44.0/22 +103.233.52.0/22 +103.233.104.0/22 +103.233.128.0/22 +103.233.136.0/22 +103.233.228.0/22 +103.234.0.0/22 +103.234.20.0/22 +103.234.56.0/22 +103.234.124.0/22 +103.234.128.0/22 +103.234.172.0/22 +103.234.180.0/22 +103.235.56.0/21 +103.235.80.0/21 +103.235.128.0/20 +103.235.144.0/21 +103.235.192.0/22 +103.235.200.0/22 +103.235.220.0/22 +103.235.224.0/19 +103.236.0.0/18 +103.236.64.0/19 +103.236.96.0/22 +103.236.120.0/22 +103.236.184.0/22 +103.236.240.0/20 +103.237.0.0/20 +103.237.24.0/21 +103.237.88.0/22 +103.237.152.0/22 +103.237.176.0/20 +103.237.192.0/18 +103.238.0.0/21 +103.238.16.0/20 +103.238.32.0/20 +103.238.48.0/21 +103.238.56.0/22 +103.238.88.0/21 +103.238.96.0/22 +103.238.132.0/22 +103.238.140.0/22 +103.238.144.0/22 +103.238.160.0/19 +103.238.196.0/22 +103.238.204.0/22 +103.238.252.0/22 +103.239.0.0/22 +103.239.44.0/22 +103.239.68.0/22 +103.239.152.0/21 +103.239.180.0/22 +103.239.184.0/22 +103.239.192.0/21 +103.239.204.0/22 +103.239.208.0/22 +103.239.224.0/22 +103.239.244.0/22 +103.240.16.0/22 +103.240.36.0/22 +103.240.72.0/22 +103.240.84.0/22 +103.240.124.0/22 +103.240.172.0/22 +103.240.244.0/22 +103.241.12.0/22 +103.241.92.0/22 +103.241.96.0/22 +103.241.160.0/22 +103.241.184.0/21 +103.241.220.0/22 +103.242.128.0/23 +103.242.160.0/22 +103.242.168.0/21 +103.242.176.0/22 +103.242.200.0/22 +103.242.212.0/22 +103.242.220.0/22 +103.242.240.0/22 +103.243.136.0/22 +103.243.252.0/22 +103.244.16.0/22 +103.244.58.0/23 +103.244.60.0/22 +103.244.64.0/20 +103.244.80.0/21 +103.244.164.0/22 +103.244.232.0/22 +103.244.252.0/22 +103.245.23.0/24 +103.245.52.0/22 +103.245.60.0/22 +103.245.80.0/22 +103.245.124.0/22 +103.245.128.0/22 +103.246.8.0/21 +103.246.120.0/21 +103.246.132.0/22 +103.246.152.0/22 +103.247.168.0/21 +103.247.176.0/22 +103.247.200.0/22 +103.247.212.0/22 +103.248.64.0/23 +103.248.100.0/22 +103.248.124.0/22 +103.248.152.0/22 +103.248.168.0/22 +103.248.192.0/22 +103.248.212.0/22 +103.248.224.0/21 +103.249.12.0/22 +103.249.52.0/22 +103.249.128.0/22 +103.249.136.0/22 +103.249.144.0/22 +103.249.164.0/22 +103.249.168.0/21 +103.249.176.0/22 +103.249.188.0/22 +103.249.193.0/24 +103.249.244.0/22 +103.249.252.0/22 +103.250.32.0/22 +103.250.104.0/22 +103.250.124.0/22 +103.250.180.0/22 +103.250.192.0/22 +103.250.216.0/22 +103.250.224.0/22 +103.250.236.0/22 +103.250.248.0/21 +103.251.32.0/22 +103.251.84.0/22 +103.251.96.0/22 +103.251.124.0/22 +103.251.160.0/22 +103.251.204.0/22 +103.251.240.0/22 +103.252.28.0/22 +103.252.36.0/22 +103.252.64.0/22 +103.252.104.0/22 +103.252.172.0/22 +103.252.204.0/22 +103.252.208.0/22 +103.252.232.0/22 +103.252.248.0/22 +103.253.4.0/22 +103.253.60.0/22 +103.253.204.0/22 +103.253.220.0/22 +103.253.224.0/22 +103.253.232.0/22 +103.254.8.0/22 +103.254.20.0/22 +103.254.64.0/21 +103.254.76.0/22 +103.254.112.0/22 +103.254.176.0/22 +103.254.188.0/22 +103.255.68.0/22 +103.255.88.0/21 +103.255.136.0/21 +103.255.200.0/22 +103.255.208.0/22 +106.0.0.0/24 +106.0.2.0/23 +106.0.4.0/22 +106.0.8.0/21 +106.0.16.0/20 +106.0.44.0/22 +106.0.64.0/18 +106.2.0.0/23 +106.2.3.0/24 +106.2.4.0/22 +106.2.8.0/21 +106.2.16.0/20 +106.2.32.0/19 +106.2.64.0/18 +106.2.128.0/17 +106.3.16.0/20 +106.3.32.0/19 +106.3.64.0/20 +106.3.80.0/22 +106.3.88.0/21 +106.3.96.0/19 +106.3.128.0/17 +106.4.0.0/14 +106.8.0.0/15 +106.11.0.0/16 +106.12.0.0/14 +106.16.0.0/12 +106.32.0.0/12 +106.48.0.0/21 +106.48.8.0/22 +106.48.16.0/20 +106.48.32.0/20 +106.48.52.0/22 +106.48.56.0/21 +106.48.64.0/18 +106.48.128.0/17 +106.49.1.0/24 +106.49.2.0/23 +106.49.4.0/22 +106.49.8.0/21 +106.49.16.0/20 +106.49.32.0/19 +106.49.64.0/19 +106.49.96.0/24 +106.49.98.0/23 +106.49.100.0/22 +106.49.104.0/21 +106.49.112.0/20 +106.49.128.0/17 +106.50.0.0/16 +106.52.0.0/14 +106.56.0.0/13 +106.74.0.0/16 +106.75.0.0/17 +106.75.128.0/18 +106.75.201.0/24 +106.75.204.0/22 +106.75.208.0/20 +106.75.224.0/19 +106.80.0.0/12 +106.108.0.0/14 +106.112.0.0/12 +106.224.0.0/12 +110.6.0.0/15 +110.16.0.0/14 +110.40.0.0/14 +110.44.12.0/22 +110.44.144.0/20 +110.48.0.0/17 +110.48.128.0/19 +110.48.161.0/24 +110.48.162.0/23 +110.48.164.0/22 +110.48.168.0/21 +110.48.176.0/20 +110.48.192.0/18 +110.51.0.0/16 +110.52.0.0/15 +110.56.0.0/13 +110.64.0.0/15 +110.72.0.0/15 +110.75.0.0/16 +110.76.0.0/20 +110.76.16.0/22 +110.76.20.0/24 +110.76.22.0/24 +110.76.24.0/21 +110.76.32.0/19 +110.76.132.0/22 +110.76.156.0/22 +110.76.184.0/22 +110.76.192.0/18 +110.77.0.0/17 +110.80.0.0/13 +110.88.0.0/14 +110.92.68.0/22 +110.93.32.0/19 +110.94.0.0/15 +110.96.0.0/11 +110.152.0.0/14 +110.156.0.0/15 +110.166.0.0/15 +110.172.192.0/18 +110.173.0.0/19 +110.173.32.0/20 +110.173.64.0/19 +110.173.192.0/19 +110.176.0.0/12 +110.192.0.0/11 +110.228.0.0/14 +110.232.32.0/19 +110.236.0.0/15 +110.240.0.0/12 +111.0.0.0/10 +111.66.0.0/16 +111.67.192.0/20 +111.68.64.0/19 +111.72.0.0/13 +111.85.0.0/16 +111.91.192.0/22 +111.91.197.0/24 +111.91.198.0/23 +111.91.200.0/21 +111.91.208.0/20 +111.112.0.0/14 +111.116.0.0/15 +111.118.200.0/21 +111.119.64.0/20 +111.119.80.0/23 +111.119.82.0/24 +111.119.84.0/22 +111.119.88.0/21 +111.119.96.0/19 +111.119.128.0/19 +111.120.0.0/14 +111.124.0.0/16 +111.126.0.0/15 +111.128.0.0/11 +111.160.0.0/13 +111.170.0.0/16 +111.172.0.0/14 +111.176.0.0/13 +111.186.0.0/15 +111.192.0.0/12 +111.208.0.0/13 +111.221.28.0/24 +111.221.128.0/17 +111.222.0.0/16 +111.223.4.0/22 +111.223.8.0/21 +111.223.16.0/22 +111.223.240.0/22 +111.223.248.0/22 +111.224.0.0/13 +111.235.96.0/19 +111.235.156.0/22 +111.235.160.0/21 +111.235.170.0/23 +111.235.172.0/22 +111.235.176.0/20 +112.0.0.0/10 +112.64.0.0/14 +112.73.64.0/18 +112.74.0.0/15 +112.80.0.0/12 +112.96.0.0/13 +112.109.128.0/17 +112.111.0.0/16 +112.112.0.0/14 +112.116.0.0/15 +112.122.0.0/15 +112.124.0.0/14 +112.128.0.0/14 +112.132.0.0/16 +112.137.48.0/21 +112.192.0.0/14 +112.224.0.0/11 +113.0.0.0/13 +113.8.0.0/15 +113.11.192.0/19 +113.12.0.0/14 +113.16.0.0/15 +113.18.0.0/16 +113.24.0.0/14 +113.31.0.0/16 +113.44.0.0/14 +113.48.0.0/14 +113.52.160.0/22 +113.52.164.0/23 +113.52.166.0/24 +113.52.168.0/21 +113.52.176.0/20 +113.54.0.0/15 +113.56.0.0/15 +113.58.0.0/16 +113.59.0.0/17 +113.59.224.0/22 +113.62.0.0/15 +113.64.0.0/10 +113.128.0.0/15 +113.130.96.0/20 +113.130.112.0/21 +113.132.0.0/14 +113.136.0.0/13 +113.194.0.0/15 +113.197.100.0/23 +113.197.102.0/24 +113.200.0.0/15 +113.202.0.0/16 +113.204.0.0/14 +113.208.96.0/19 +113.208.128.0/17 +113.209.0.0/16 +113.212.0.0/18 +113.212.100.0/22 +113.212.184.0/21 +113.213.0.0/17 +113.214.0.0/15 +113.218.0.0/15 +113.220.0.0/14 +113.224.0.0/12 +113.240.0.0/13 +113.248.0.0/14 +114.28.0.0/16 +114.54.0.0/15 +114.60.0.0/14 +114.64.0.0/14 +114.68.1.0/24 +114.68.2.0/23 +114.68.4.0/22 +114.68.8.0/21 +114.68.16.0/20 +114.68.32.0/19 +114.68.64.0/18 +114.68.128.0/17 +114.79.64.0/18 +114.80.0.0/12 +114.96.0.0/13 +114.104.0.0/14 +114.110.0.0/20 +114.110.64.0/18 +114.111.0.0/19 +114.111.160.0/19 +114.112.4.0/22 +114.112.8.0/22 +114.112.12.0/23 +114.112.24.0/21 +114.112.32.0/19 +114.112.64.0/19 +114.112.96.0/20 +114.112.116.0/22 +114.112.120.0/21 +114.112.136.0/21 +114.112.144.0/20 +114.112.160.0/19 +114.112.192.0/19 +114.113.0.0/17 +114.113.128.0/21 +114.113.140.0/22 +114.113.144.0/20 +114.113.160.0/19 +114.113.196.0/22 +114.113.200.0/21 +114.113.208.0/20 +114.113.224.0/20 +114.114.0.0/16 +114.115.0.0/18 +114.115.68.0/22 +114.115.72.0/21 +114.115.80.0/20 +114.115.96.0/19 +114.115.128.0/17 +114.116.0.0/14 +114.132.0.0/18 +114.132.64.0/19 +114.132.96.0/21 +114.132.104.0/22 +114.132.108.0/23 +114.132.110.0/24 +114.132.112.0/20 +114.132.128.0/17 +114.135.0.0/16 +114.138.0.0/15 +114.141.64.0/21 +114.141.128.0/18 +114.196.0.0/15 +114.198.248.0/21 +114.208.0.0/12 +114.224.0.0/11 +115.24.0.0/14 +115.28.0.0/15 +115.31.64.0/20 +115.32.0.0/14 +115.42.56.0/22 +115.44.0.0/14 +115.48.0.0/12 +115.69.64.0/20 +115.84.0.0/18 +115.84.192.0/21 +115.84.201.0/24 +115.84.202.0/23 +115.84.204.0/22 +115.84.208.0/20 +115.85.192.0/18 +115.100.0.0/14 +115.104.0.0/14 +115.120.0.0/14 +115.124.16.0/20 +115.148.0.0/14 +115.152.0.0/13 +115.166.64.0/19 +115.168.0.0/13 +115.180.0.0/14 +115.190.0.0/15 +115.192.0.0/11 +115.224.0.0/12 +116.0.8.0/21 +116.0.24.0/21 +116.1.0.0/16 +116.2.0.0/15 +116.4.0.0/14 +116.8.0.0/14 +116.13.0.0/16 +116.16.0.0/12 +116.50.0.0/20 +116.52.0.0/14 +116.56.0.0/15 +116.58.128.0/20 +116.58.208.0/20 +116.60.0.0/14 +116.66.0.0/18 +116.66.64.0/19 +116.66.96.0/20 +116.66.120.0/22 +116.66.176.0/22 +116.69.0.0/16 +116.70.0.0/17 +116.76.0.0/14 +116.85.0.0/16 +116.89.144.0/20 +116.90.80.0/20 +116.90.184.0/21 +116.95.0.0/16 +116.112.0.0/14 +116.116.0.0/15 +116.128.0.0/10 +116.192.0.0/16 +116.193.16.0/20 +116.193.32.0/19 +116.193.176.0/21 +116.194.0.0/15 +116.196.0.0/21 +116.196.8.0/22 +116.196.12.0/23 +116.196.16.0/20 +116.196.33.0/24 +116.196.34.0/23 +116.196.36.0/22 +116.196.40.0/21 +116.196.48.0/20 +116.196.64.0/18 +116.196.128.0/17 +116.197.180.0/23 +116.198.0.0/16 +116.199.0.0/17 +116.199.128.0/20 +116.199.144.0/22 +116.199.149.0/24 +116.199.150.0/23 +116.199.152.0/21 +116.204.0.0/15 +116.207.0.0/16 +116.208.0.0/14 +116.212.160.0/20 +116.213.64.0/18 +116.213.128.0/17 +116.214.32.0/19 +116.214.64.0/20 +116.214.128.0/17 +116.215.0.0/16 +116.216.0.0/14 +116.224.0.0/12 +116.242.0.0/15 +116.244.0.0/14 +116.248.0.0/15 +116.252.0.0/15 +116.254.128.0/17 +116.255.128.0/17 +117.8.0.0/13 +117.21.0.0/16 +117.22.0.0/15 +117.24.0.0/13 +117.32.0.0/13 +117.40.0.0/14 +117.44.0.0/15 +117.48.0.0/15 +117.50.0.0/16 +117.51.64.0/18 +117.51.128.0/17 +117.53.48.0/20 +117.53.176.0/20 +117.57.0.0/16 +117.58.0.0/18 +117.59.0.0/16 +117.60.0.0/14 +117.64.0.0/13 +117.72.0.0/15 +117.74.64.0/19 +117.74.128.0/17 +117.75.0.0/16 +117.76.0.0/14 +117.80.0.0/12 +117.100.0.0/15 +117.103.16.0/20 +117.103.40.0/21 +117.103.72.0/21 +117.103.128.0/20 +117.104.168.0/21 +117.104.188.0/24 +117.106.0.0/15 +117.112.0.0/13 +117.120.64.0/20 +117.120.80.0/22 +117.120.84.0/23 +117.120.86.0/24 +117.120.88.0/21 +117.120.96.0/19 +117.120.128.0/17 +117.121.0.0/19 +117.121.32.0/21 +117.121.40.0/22 +117.121.44.0/23 +117.121.46.0/24 +117.121.48.0/20 +117.121.64.0/18 +117.121.128.0/20 +117.121.148.0/22 +117.121.152.0/21 +117.121.160.0/19 +117.121.192.0/21 +117.122.128.0/17 +117.124.0.0/14 +117.128.0.0/10 +118.24.0.0/16 +118.25.96.0/19 +118.25.128.0/17 +118.26.0.0/19 +118.26.36.0/22 +118.26.40.0/21 +118.26.48.0/20 +118.26.64.0/19 +118.26.96.0/20 +118.26.112.0/21 +118.26.128.0/17 +118.28.0.0/14 +118.64.0.0/15 +118.66.0.0/16 +118.67.112.0/20 +118.72.0.0/13 +118.80.0.0/15 +118.84.0.0/15 +118.88.32.0/19 +118.88.64.0/18 +118.88.128.0/17 +118.89.0.0/16 +118.102.16.0/20 +118.102.32.0/21 +118.103.164.0/22 +118.103.168.0/21 +118.103.176.0/22 +118.103.244.0/22 +118.112.0.0/13 +118.120.0.0/14 +118.124.0.0/15 +118.126.1.0/24 +118.126.2.0/23 +118.126.4.0/22 +118.126.8.0/21 +118.126.16.0/23 +118.126.18.0/24 +118.126.32.0/19 +118.126.64.0/18 +118.126.128.0/17 +118.127.128.0/19 +118.132.0.0/14 +118.144.0.0/14 +118.178.0.0/16 +118.180.0.0/14 +118.184.5.0/24 +118.184.8.0/23 +118.184.10.0/24 +118.184.12.0/24 +118.184.54.0/24 +118.184.56.0/22 +118.184.60.0/23 +118.184.62.0/24 +118.184.80.0/20 +118.184.96.0/19 +118.184.128.0/17 +118.186.0.0/15 +118.188.0.0/16 +118.190.0.0/16 +118.191.0.0/17 +118.191.128.0/18 +118.191.192.0/20 +118.191.208.0/21 +118.191.248.0/21 +118.192.0.0/16 +118.193.0.0/22 +118.193.40.0/21 +118.193.56.0/21 +118.193.68.0/22 +118.193.72.0/24 +118.193.77.0/24 +118.193.96.0/19 +118.194.0.0/20 +118.194.16.0/21 +118.194.24.0/22 +118.194.29.0/24 +118.194.30.0/23 +118.194.32.0/19 +118.194.64.0/18 +118.194.128.0/18 +118.194.192.0/19 +118.194.232.0/21 +118.194.240.0/20 +118.195.0.0/16 +118.196.0.0/14 +118.202.0.0/15 +118.204.0.0/14 +118.212.0.0/15 +118.215.192.0/19 +118.224.0.0/14 +118.228.0.0/17 +118.228.128.0/20 +118.228.144.0/21 +118.228.156.0/22 +118.228.160.0/19 +118.228.192.0/18 +118.229.0.0/16 +118.230.0.0/16 +118.239.0.0/16 +118.242.0.0/16 +118.244.0.0/14 +118.248.0.0/13 +119.0.0.0/15 +119.2.0.0/19 +119.2.128.0/17 +119.3.0.0/16 +119.4.0.0/14 +119.8.0.0/16 +119.10.0.0/17 +119.15.136.0/21 +119.16.0.0/16 +119.18.192.0/20 +119.18.208.0/21 +119.18.224.0/22 +119.18.228.0/24 +119.18.230.0/23 +119.18.233.0/24 +119.18.234.0/24 +119.18.236.0/23 +119.18.239.0/24 +119.18.240.0/20 +119.19.0.0/16 +119.20.0.0/14 +119.27.64.0/18 +119.27.128.0/17 +119.28.122.0/23 +119.29.0.0/16 +119.30.48.0/20 +119.31.192.0/19 +119.32.0.0/14 +119.36.0.0/15 +119.38.0.0/17 +119.38.128.0/18 +119.38.192.0/19 +119.39.0.0/16 +119.40.0.0/18 +119.40.64.0/20 +119.40.128.0/17 +119.41.0.0/16 +119.42.0.0/19 +119.42.128.0/20 +119.42.224.0/19 +119.44.0.0/15 +119.48.0.0/13 +119.57.0.0/18 +119.57.64.0/19 +119.57.97.0/24 +119.57.98.0/23 +119.57.100.0/22 +119.57.104.0/21 +119.57.112.0/20 +119.57.128.0/17 +119.58.0.0/16 +119.59.128.0/17 +119.60.0.0/15 +119.62.0.0/16 +119.63.32.0/19 +119.75.208.0/20 +119.78.0.0/15 +119.80.0.0/16 +119.82.208.0/20 +119.84.0.0/14 +119.88.0.0/14 +119.96.0.0/13 +119.108.0.0/15 +119.112.0.0/12 +119.128.0.0/12 +119.144.0.0/14 +119.148.160.0/19 +119.151.192.0/18 +119.160.200.0/21 +119.161.128.0/17 +119.162.0.0/15 +119.164.0.0/14 +119.176.0.0/12 +119.232.0.0/15 +119.235.128.0/21 +119.235.136.0/24 +119.235.138.0/23 +119.235.140.0/22 +119.235.144.0/20 +119.235.160.0/20 +119.235.176.0/22 +119.235.184.0/22 +119.248.0.0/14 +119.252.96.0/21 +119.252.240.0/21 +119.252.248.0/22 +119.252.252.0/23 +119.252.254.0/24 +119.253.0.0/16 +119.254.0.0/15 +120.0.0.0/12 +120.24.0.0/14 +120.30.0.0/18 +120.30.64.0/20 +120.30.80.0/21 +120.30.88.0/22 +120.30.92.0/23 +120.30.94.0/24 +120.30.96.0/19 +120.30.128.0/17 +120.31.0.0/17 +120.31.128.0/20 +120.31.145.0/24 +120.31.146.0/23 +120.31.148.0/22 +120.31.152.0/21 +120.31.160.0/19 +120.31.192.0/18 +120.32.0.0/12 +120.48.0.0/15 +120.52.0.0/14 +120.64.0.0/13 +120.72.32.0/19 +120.72.128.0/17 +120.76.0.0/14 +120.80.0.0/13 +120.88.8.0/21 +120.90.0.0/15 +120.92.0.0/16 +120.94.0.0/15 +120.128.0.0/14 +120.132.0.0/17 +120.132.128.0/18 +120.132.192.0/19 +120.132.224.0/21 +120.132.232.0/22 +120.132.240.0/20 +120.133.0.0/16 +120.134.0.0/15 +120.136.128.0/18 +120.137.0.0/18 +120.137.64.0/21 +120.137.72.0/22 +120.137.76.0/24 +120.137.78.0/23 +120.137.80.0/20 +120.137.96.0/19 +120.143.128.0/19 +120.192.0.0/10 +121.0.8.0/21 +121.0.16.0/20 +121.4.0.0/15 +121.8.0.0/13 +121.16.0.0/12 +121.32.0.0/13 +121.40.0.0/14 +121.46.0.0/18 +121.46.76.0/22 +121.46.128.0/17 +121.47.0.0/16 +121.48.0.0/15 +121.50.8.0/21 +121.51.0.0/16 +121.52.160.0/19 +121.52.208.0/20 +121.52.224.0/19 +121.54.176.0/21 +121.54.188.0/22 +121.55.0.0/18 +121.56.0.0/15 +121.58.0.0/17 +121.58.136.0/21 +121.58.144.0/20 +121.58.160.0/21 +121.59.0.0/16 +121.60.0.0/14 +121.68.0.0/14 +121.76.0.0/15 +121.79.128.0/18 +121.89.0.0/16 +121.101.0.0/18 +121.101.208.0/20 +121.192.0.0/13 +121.200.192.0/21 +121.201.0.0/18 +121.201.64.0/20 +121.201.80.0/21 +121.201.88.0/22 +121.201.92.0/23 +121.201.94.0/24 +121.201.96.0/19 +121.201.128.0/17 +121.204.0.0/14 +121.224.0.0/12 +121.248.0.0/14 +121.255.0.0/16 +122.0.64.0/18 +122.0.128.0/17 +122.4.0.0/14 +122.8.15.0/24 +122.8.16.0/20 +122.8.32.0/19 +122.8.64.0/20 +122.8.80.0/22 +122.8.86.0/23 +122.8.88.0/24 +122.8.91.0/24 +122.8.92.0/22 +122.8.96.0/19 +122.8.196.0/22 +122.8.200.0/21 +122.8.208.0/20 +122.8.224.0/19 +122.10.132.0/22 +122.10.136.0/21 +122.10.144.0/20 +122.10.160.0/22 +122.10.196.0/23 +122.10.216.0/22 +122.10.228.0/22 +122.10.232.0/21 +122.10.240.0/21 +122.10.248.0/22 +122.11.0.0/17 +122.12.0.0/15 +122.14.0.0/17 +122.14.192.0/18 +122.48.0.0/16 +122.49.0.0/18 +122.51.0.0/16 +122.64.0.0/11 +122.96.0.0/15 +122.98.144.0/20 +122.98.160.0/21 +122.98.172.0/22 +122.98.176.0/20 +122.98.192.0/21 +122.98.232.0/21 +122.98.240.0/20 +122.102.0.0/20 +122.102.64.0/19 +122.112.0.0/18 +122.112.64.0/19 +122.112.96.0/22 +122.112.101.0/24 +122.112.109.0/24 +122.112.118.0/24 +122.112.122.0/23 +122.112.124.0/23 +122.112.128.0/17 +122.113.0.0/16 +122.114.0.0/16 +122.115.0.0/18 +122.115.80.0/20 +122.115.96.0/19 +122.115.128.0/17 +122.119.0.0/16 +122.128.100.0/22 +122.128.120.0/21 +122.136.0.0/13 +122.144.128.0/17 +122.152.192.0/18 +122.156.0.0/14 +122.188.0.0/14 +122.192.0.0/14 +122.198.0.0/16 +122.200.64.0/18 +122.201.48.0/20 +122.204.0.0/14 +122.224.0.0/12 +122.240.0.0/13 +122.248.24.0/21 +122.248.48.0/20 +122.255.64.0/21 +123.0.128.0/21 +123.0.136.0/23 +123.0.139.0/24 +123.0.140.0/22 +123.0.145.0/24 +123.0.147.0/24 +123.0.148.0/22 +123.0.152.0/21 +123.0.160.0/20 +123.0.176.0/22 +123.0.181.0/24 +123.0.182.0/24 +123.0.184.0/24 +123.0.191.0/24 +123.4.0.0/14 +123.8.0.0/13 +123.49.130.0/24 +123.49.136.0/22 +123.49.141.0/24 +123.49.143.0/24 +123.49.152.0/21 +123.49.160.0/19 +123.49.192.0/18 +123.50.160.0/19 +123.52.0.0/14 +123.56.0.0/15 +123.58.0.0/18 +123.58.64.0/20 +123.58.80.0/21 +123.58.88.0/22 +123.58.96.0/19 +123.58.128.0/17 +123.59.0.0/16 +123.61.0.0/16 +123.62.0.0/16 +123.64.0.0/11 +123.96.0.0/15 +123.98.0.0/17 +123.99.128.0/17 +123.100.0.0/19 +123.100.232.0/24 +123.101.0.0/16 +123.103.0.0/20 +123.103.16.0/21 +123.103.24.0/22 +123.103.28.0/23 +123.103.30.0/24 +123.103.32.0/19 +123.103.64.0/18 +123.108.134.0/24 +123.108.138.0/23 +123.108.140.0/24 +123.108.142.0/24 +123.108.208.0/20 +123.112.0.0/12 +123.128.0.0/13 +123.137.0.0/16 +123.138.0.0/15 +123.144.0.0/12 +123.160.0.0/12 +123.176.60.0/22 +123.176.80.0/20 +123.177.0.0/16 +123.178.0.0/15 +123.180.0.0/14 +123.184.0.0/13 +123.196.0.0/15 +123.199.128.0/17 +123.206.0.0/15 +123.232.0.0/14 +123.242.0.0/17 +123.244.0.0/14 +123.249.0.0/16 +123.253.0.0/16 +124.6.64.0/18 +124.14.0.0/15 +124.16.0.0/15 +124.20.0.0/14 +124.28.192.0/18 +124.29.0.0/17 +124.31.0.0/16 +124.40.112.0/20 +124.40.128.0/18 +124.40.192.0/19 +124.42.0.0/16 +124.47.0.0/18 +124.64.0.0/15 +124.66.0.0/17 +124.67.0.0/16 +124.68.0.0/15 +124.70.0.0/22 +124.72.0.0/13 +124.88.0.0/13 +124.108.8.0/21 +124.108.40.0/21 +124.109.96.0/21 +124.112.0.0/13 +124.126.0.0/15 +124.128.0.0/13 +124.147.128.0/17 +124.151.0.0/16 +124.152.0.0/16 +124.156.0.0/16 +124.160.0.0/13 +124.172.0.0/14 +124.192.0.0/15 +124.196.0.0/16 +124.200.0.0/13 +124.220.0.0/14 +124.224.0.0/12 +124.240.0.0/17 +124.240.128.0/18 +124.242.0.0/16 +124.243.192.0/18 +124.248.0.0/17 +124.249.0.0/16 +124.250.0.0/17 +124.250.136.0/21 +124.250.144.0/20 +124.250.160.0/19 +124.250.192.0/18 +124.251.0.0/16 +124.254.0.0/18 +125.31.192.0/18 +125.32.0.0/12 +125.58.128.0/17 +125.61.128.0/17 +125.62.0.0/18 +125.64.0.0/11 +125.96.0.0/15 +125.98.0.0/16 +125.104.0.0/13 +125.112.0.0/12 +125.169.0.0/16 +125.171.0.0/16 +125.208.0.0/19 +125.208.37.0/24 +125.208.39.0/24 +125.208.40.0/24 +125.208.48.0/20 +125.210.0.0/15 +125.213.0.0/17 +125.214.96.0/19 +125.215.0.0/18 +125.216.0.0/13 +125.254.128.0/17 +129.223.254.0/24 +132.237.134.0/24 +132.237.150.0/24 +135.159.208.0/20 +135.244.80.0/20 +137.59.88.0/22 +138.32.244.0/22 +139.5.56.0/21 +139.5.80.0/22 +139.5.92.0/22 +139.5.128.0/22 +139.5.160.0/22 +139.5.192.0/22 +139.5.204.0/22 +139.5.244.0/22 +139.9.0.0/16 +139.129.0.0/16 +139.148.0.0/16 +139.155.0.0/16 +139.159.0.0/19 +139.159.32.0/21 +139.159.40.0/22 +139.159.50.0/23 +139.159.52.0/22 +139.159.56.0/21 +139.159.64.0/19 +139.159.96.0/20 +139.159.112.0/22 +139.159.116.0/23 +139.159.120.0/21 +139.159.128.0/17 +139.170.0.0/16 +139.176.0.0/16 +139.183.0.0/16 +139.186.0.0/16 +139.189.0.0/16 +139.196.0.0/14 +139.200.0.0/13 +139.208.0.0/13 +139.217.0.0/16 +139.219.0.0/16 +139.220.0.0/15 +139.224.0.0/16 +139.226.0.0/15 +140.75.0.0/16 +140.101.208.0/24 +140.143.0.0/16 +140.205.0.0/18 +140.205.64.0/19 +140.205.96.0/20 +140.205.112.0/21 +140.205.120.0/23 +140.205.123.0/24 +140.205.124.0/22 +140.205.128.0/17 +140.206.0.0/15 +140.210.0.0/16 +140.224.0.0/16 +140.237.0.0/16 +140.240.0.0/16 +140.242.216.0/24 +140.242.223.0/24 +140.242.224.0/24 +140.243.0.0/16 +140.246.0.0/16 +140.249.0.0/16 +140.250.0.0/16 +140.255.0.0/16 +144.0.0.0/16 +144.7.0.0/16 +144.12.0.0/16 +144.36.146.0/23 +144.48.12.0/22 +144.48.64.0/22 +144.48.88.0/22 +144.48.156.0/22 +144.48.180.0/22 +144.48.184.0/22 +144.48.204.0/22 +144.48.208.0/21 +144.48.252.0/22 +144.52.0.0/16 +144.123.0.0/16 +144.211.80.0/24 +144.211.138.0/24 +144.255.0.0/16 +146.196.56.0/22 +146.196.68.0/22 +146.196.72.0/22 +146.196.92.0/22 +146.196.112.0/21 +146.196.124.0/22 +146.217.137.0/24 +146.222.79.0/24 +146.222.81.0/24 +146.222.94.0/24 +150.0.0.0/16 +150.115.0.0/16 +150.121.0.0/16 +150.122.0.0/16 +150.129.192.0/22 +150.129.252.0/22 +150.138.0.0/15 +150.223.0.0/16 +150.242.0.0/21 +150.242.8.0/22 +150.242.28.0/22 +150.242.44.0/22 +150.242.48.0/21 +150.242.56.0/22 +150.242.76.0/22 +150.242.80.0/22 +150.242.92.0/22 +150.242.96.0/22 +150.242.112.0/21 +150.242.120.0/22 +150.242.152.0/21 +150.242.160.0/21 +150.242.168.0/22 +150.242.184.0/21 +150.242.192.0/22 +150.242.232.0/21 +150.242.240.0/21 +150.242.248.0/22 +150.255.0.0/16 +152.104.128.0/17 +153.0.0.0/16 +153.3.0.0/16 +153.34.0.0/15 +153.36.0.0/15 +153.99.0.0/16 +153.101.0.0/16 +153.118.0.0/15 +156.107.160.0/24 +156.107.170.0/24 +157.0.0.0/16 +157.18.0.0/16 +157.61.0.0/16 +157.119.8.0/21 +157.119.16.0/22 +157.119.28.0/22 +157.119.132.0/22 +157.119.136.0/21 +157.119.144.0/20 +157.119.160.0/21 +157.119.172.0/22 +157.119.192.0/21 +157.119.240.0/22 +157.119.252.0/22 +157.122.0.0/16 +157.133.192.0/21 +157.148.0.0/16 +157.156.0.0/16 +157.255.0.0/16 +159.153.120.0/22 +159.226.0.0/16 +160.19.208.0/21 +160.19.216.0/22 +160.20.48.0/22 +160.62.10.0/24 +160.83.109.0/24 +160.83.110.0/23 +160.202.60.0/23 +160.202.62.0/24 +160.202.148.0/22 +160.202.152.0/22 +160.202.212.0/22 +160.202.216.0/21 +160.202.224.0/19 +160.238.64.0/22 +161.163.0.0/21 +161.163.28.0/23 +161.163.176.0/24 +161.163.178.0/23 +161.163.180.0/22 +161.207.0.0/16 +162.105.0.0/16 +163.0.0.0/16 +163.47.4.0/22 +163.53.0.0/20 +163.53.36.0/22 +163.53.40.0/21 +163.53.48.0/20 +163.53.64.0/22 +163.53.88.0/21 +163.53.96.0/19 +163.53.128.0/21 +163.53.136.0/22 +163.53.160.0/20 +163.53.188.0/22 +163.53.220.0/22 +163.53.240.0/22 +163.125.0.0/16 +163.142.0.0/16 +163.177.0.0/16 +163.179.0.0/16 +163.204.0.0/16 +163.244.246.0/24 +166.111.0.0/16 +167.139.0.0/16 +167.220.244.0/22 +168.159.144.0/21 +168.159.152.0/22 +168.159.156.0/23 +168.159.158.0/24 +168.160.0.0/16 +168.230.0.0/24 +170.225.224.0/23 +170.252.152.0/21 +171.8.0.0/13 +171.34.0.0/15 +171.36.0.0/14 +171.40.0.0/13 +171.80.0.0/12 +171.104.0.0/13 +171.112.0.0/12 +171.208.0.0/12 +175.0.0.0/12 +175.16.0.0/13 +175.24.0.0/14 +175.30.0.0/15 +175.42.0.0/15 +175.44.0.0/16 +175.46.0.0/15 +175.48.0.0/12 +175.64.0.0/11 +175.102.0.0/16 +175.106.128.0/17 +175.111.144.0/20 +175.111.160.0/20 +175.111.184.0/22 +175.146.0.0/15 +175.148.0.0/14 +175.152.0.0/14 +175.160.0.0/12 +175.178.0.0/16 +175.184.128.0/18 +175.185.0.0/16 +175.186.0.0/15 +175.188.0.0/14 +180.76.0.0/24 +180.76.2.0/23 +180.76.5.0/24 +180.76.16.0/20 +180.76.32.0/19 +180.76.64.0/21 +180.76.72.0/22 +180.76.77.0/24 +180.76.78.0/23 +180.76.80.0/20 +180.76.96.0/19 +180.76.128.0/18 +180.76.192.0/19 +180.76.224.0/20 +180.76.240.0/21 +180.76.248.0/22 +180.76.252.0/23 +180.76.255.0/24 +180.77.0.0/16 +180.78.0.0/15 +180.84.0.0/15 +180.86.0.0/16 +180.88.0.0/14 +180.94.56.0/21 +180.94.96.0/20 +180.95.128.0/17 +180.96.0.0/11 +180.129.128.0/17 +180.130.0.0/16 +180.136.0.0/13 +180.148.16.0/21 +180.148.152.0/21 +180.148.216.0/21 +180.148.224.0/19 +180.149.128.0/19 +180.150.176.0/20 +180.152.0.0/13 +180.160.0.0/12 +180.178.192.0/18 +180.184.0.0/14 +180.188.0.0/17 +180.189.148.0/22 +180.200.252.0/22 +180.201.0.0/16 +180.202.0.0/15 +180.208.0.0/15 +180.210.233.0/24 +180.210.236.0/22 +180.212.0.0/15 +180.222.224.0/19 +180.223.0.0/16 +180.233.0.0/18 +180.233.64.0/19 +180.233.144.0/22 +180.235.64.0/19 +180.235.112.0/22 +182.16.192.0/19 +182.18.0.0/17 +182.23.184.0/21 +182.23.200.0/21 +182.32.0.0/12 +182.48.96.0/19 +182.49.0.0/16 +182.50.0.0/22 +182.50.8.0/21 +182.50.112.0/20 +182.51.0.0/17 +182.51.128.0/18 +182.51.192.0/21 +182.51.204.0/22 +182.51.208.0/20 +182.51.224.0/19 +182.54.0.0/17 +182.61.0.0/18 +182.61.128.0/17 +182.80.0.0/13 +182.88.0.0/14 +182.92.0.0/16 +182.96.0.0/11 +182.128.0.0/12 +182.144.0.0/13 +182.157.0.0/16 +182.160.64.0/21 +182.160.72.0/22 +182.160.76.0/23 +182.160.78.0/24 +182.160.80.0/20 +182.174.0.0/15 +182.200.0.0/13 +182.236.128.0/17 +182.238.0.0/16 +182.239.0.0/19 +182.240.0.0/13 +182.254.0.0/16 +182.255.36.0/22 +183.0.0.0/10 +183.64.0.0/13 +183.78.180.0/22 +183.81.180.0/22 +183.84.0.0/15 +183.91.128.0/22 +183.91.136.0/21 +183.91.144.0/20 +183.92.0.0/14 +183.128.0.0/11 +183.160.0.0/13 +183.168.0.0/15 +183.170.0.0/16 +183.172.0.0/14 +183.184.0.0/13 +183.192.0.0/10 +192.11.23.0/24 +192.11.26.0/24 +192.11.39.0/24 +192.11.236.0/24 +192.23.191.0/24 +192.55.10.0/23 +192.55.40.0/24 +192.55.46.0/23 +192.55.68.0/22 +192.102.204.0/22 +192.124.154.0/24 +192.139.135.0/24 +192.139.136.0/24 +192.140.128.0/21 +192.140.136.0/22 +192.140.156.0/22 +192.140.160.0/19 +192.140.192.0/20 +192.140.208.0/21 +192.163.11.0/24 +192.232.97.0/24 +193.20.64.0/22 +194.138.202.0/23 +198.17.7.0/24 +198.175.100.0/22 +198.208.17.0/24 +199.7.72.0/24 +199.65.192.0/21 +199.244.144.0/24 +202.0.100.0/23 +202.0.122.0/23 +202.1.105.0/24 +202.1.106.0/24 +202.3.128.0/23 +202.4.128.0/19 +202.4.252.0/22 +202.5.208.0/21 +202.5.216.0/22 +202.6.6.0/23 +202.6.66.0/23 +202.6.72.0/23 +202.6.87.0/24 +202.6.88.0/23 +202.6.92.0/23 +202.6.103.0/24 +202.6.108.0/24 +202.6.110.0/23 +202.6.114.0/24 +202.6.176.0/20 +202.8.0.0/24 +202.8.2.0/23 +202.8.4.0/23 +202.8.12.0/24 +202.8.24.0/24 +202.8.77.0/24 +202.8.128.0/19 +202.8.192.0/20 +202.9.32.0/24 +202.9.34.0/23 +202.9.48.0/23 +202.9.51.0/24 +202.9.52.0/23 +202.9.54.0/24 +202.9.57.0/24 +202.9.58.0/23 +202.10.64.0/21 +202.10.74.0/23 +202.10.76.0/22 +202.12.1.0/24 +202.12.2.0/24 +202.12.17.0/24 +202.12.18.0/23 +202.12.72.0/24 +202.12.84.0/23 +202.12.96.0/24 +202.12.98.0/23 +202.12.106.0/24 +202.12.111.0/24 +202.12.116.0/24 +202.14.64.0/23 +202.14.69.0/24 +202.14.73.0/24 +202.14.74.0/23 +202.14.76.0/24 +202.14.78.0/23 +202.14.88.0/24 +202.14.97.0/24 +202.14.104.0/23 +202.14.108.0/23 +202.14.111.0/24 +202.14.114.0/23 +202.14.118.0/23 +202.14.124.0/23 +202.14.127.0/24 +202.14.129.0/24 +202.14.135.0/24 +202.14.136.0/24 +202.14.149.0/24 +202.14.151.0/24 +202.14.157.0/24 +202.14.158.0/23 +202.14.169.0/24 +202.14.170.0/23 +202.14.176.0/24 +202.14.184.0/23 +202.14.208.0/23 +202.14.213.0/24 +202.14.219.0/24 +202.14.220.0/24 +202.14.222.0/23 +202.14.225.0/24 +202.14.226.0/23 +202.14.231.0/24 +202.14.235.0/24 +202.14.236.0/22 +202.14.246.0/24 +202.14.251.0/24 +202.20.66.0/24 +202.20.79.0/24 +202.20.87.0/24 +202.20.88.0/23 +202.20.90.0/24 +202.20.94.0/23 +202.20.114.0/24 +202.20.117.0/24 +202.20.120.0/24 +202.20.125.0/24 +202.20.127.0/24 +202.21.48.0/20 +202.21.131.0/24 +202.21.132.0/24 +202.21.141.0/24 +202.21.142.0/24 +202.21.147.0/24 +202.21.148.0/24 +202.21.150.0/23 +202.21.152.0/23 +202.21.154.0/24 +202.21.156.0/24 +202.21.208.0/24 +202.22.248.0/21 +202.27.136.0/23 +202.38.0.0/22 +202.38.8.0/21 +202.38.48.0/20 +202.38.64.0/18 +202.38.128.0/21 +202.38.136.0/23 +202.38.138.0/24 +202.38.140.0/22 +202.38.146.0/23 +202.38.149.0/24 +202.38.150.0/23 +202.38.152.0/22 +202.38.156.0/24 +202.38.158.0/23 +202.38.160.0/23 +202.38.164.0/22 +202.38.168.0/22 +202.38.176.0/23 +202.38.184.0/21 +202.38.192.0/18 +202.40.4.0/23 +202.40.7.0/24 +202.40.15.0/24 +202.40.135.0/24 +202.40.136.0/24 +202.40.140.0/24 +202.40.143.0/24 +202.40.144.0/23 +202.40.150.0/24 +202.40.155.0/24 +202.40.156.0/24 +202.40.158.0/23 +202.40.162.0/24 +202.41.8.0/23 +202.41.11.0/24 +202.41.12.0/23 +202.41.128.0/24 +202.41.130.0/23 +202.41.152.0/21 +202.41.192.0/24 +202.41.240.0/20 +202.43.76.0/22 +202.43.144.0/20 +202.44.16.0/20 +202.44.67.0/24 +202.44.74.0/24 +202.44.129.0/24 +202.44.132.0/23 +202.44.146.0/23 +202.45.0.0/23 +202.45.2.0/24 +202.45.15.0/24 +202.45.16.0/20 +202.46.16.0/23 +202.46.18.0/24 +202.46.20.0/23 +202.46.128.0/24 +202.46.224.0/20 +202.47.82.0/23 +202.47.126.0/24 +202.47.128.0/24 +202.47.130.0/23 +202.53.140.0/24 +202.53.143.0/24 +202.57.240.0/20 +202.58.0.0/24 +202.58.112.0/22 +202.59.0.0/24 +202.59.212.0/22 +202.59.236.0/24 +202.60.48.0/21 +202.60.96.0/21 +202.60.112.0/20 +202.60.132.0/22 +202.60.136.0/21 +202.60.144.0/20 +202.61.68.0/22 +202.61.76.0/22 +202.61.88.0/22 +202.62.112.0/22 +202.62.248.0/22 +202.62.252.0/24 +202.62.255.0/24 +202.63.81.0/24 +202.63.82.0/23 +202.63.84.0/22 +202.63.88.0/21 +202.63.160.0/19 +202.63.248.0/22 +202.65.0.0/21 +202.65.8.0/23 +202.67.0.0/22 +202.69.4.0/23 +202.69.16.0/20 +202.70.0.0/19 +202.70.96.0/20 +202.70.192.0/20 +202.72.40.0/21 +202.72.80.0/20 +202.73.128.0/22 +202.74.8.0/21 +202.74.80.0/20 +202.74.254.0/23 +202.75.208.0/20 +202.75.252.0/22 +202.76.247.0/24 +202.76.252.0/22 +202.77.39.0/24 +202.77.80.0/21 +202.77.92.0/22 +202.78.8.0/21 +202.79.224.0/21 +202.79.248.0/22 +202.80.192.0/20 +202.81.0.0/22 +202.83.252.0/22 +202.84.4.0/22 +202.84.8.0/21 +202.84.16.0/23 +202.84.24.0/21 +202.85.208.0/20 +202.86.249.0/24 +202.87.80.0/20 +202.88.32.0/22 +202.89.8.0/21 +202.89.232.0/21 +202.90.0.0/22 +202.90.112.0/20 +202.90.196.0/24 +202.90.224.0/20 +202.91.0.0/22 +202.91.96.0/20 +202.91.128.0/22 +202.91.176.0/21 +202.91.184.0/23 +202.91.186.0/24 +202.91.188.0/22 +202.91.224.0/19 +202.92.0.0/22 +202.92.8.0/21 +202.92.48.0/20 +202.92.252.0/22 +202.93.0.0/22 +202.93.252.0/22 +202.94.0.0/19 +202.94.92.0/22 +202.95.0.0/19 +202.95.240.0/21 +202.95.252.0/22 +202.96.0.0/12 +202.112.0.0/13 +202.120.0.0/15 +202.122.0.0/21 +202.122.32.0/21 +202.122.64.0/19 +202.122.112.0/20 +202.122.128.0/24 +202.122.132.0/24 +202.123.96.0/20 +202.123.116.0/22 +202.123.120.0/22 +202.124.16.0/21 +202.124.24.0/22 +202.125.107.0/24 +202.125.112.0/20 +202.125.176.0/20 +202.127.0.0/21 +202.127.12.0/22 +202.127.16.0/20 +202.127.40.0/21 +202.127.48.0/20 +202.127.112.0/20 +202.127.128.0/19 +202.127.160.0/21 +202.127.192.0/20 +202.127.208.0/23 +202.127.212.0/22 +202.127.216.0/21 +202.127.224.0/19 +202.130.0.0/19 +202.130.224.0/19 +202.131.16.0/21 +202.131.59.0/24 +202.131.208.0/20 +202.133.32.0/20 +202.134.58.0/24 +202.134.128.0/20 +202.136.48.0/20 +202.136.208.0/20 +202.136.224.0/20 +202.136.254.0/23 +202.137.231.0/24 +202.141.160.0/19 +202.142.16.0/20 +202.143.4.0/22 +202.143.16.0/20 +202.143.32.0/20 +202.143.56.0/21 +202.143.100.0/22 +202.143.104.0/22 +202.146.160.0/20 +202.146.188.0/22 +202.146.196.0/22 +202.146.200.0/21 +202.147.144.0/20 +202.148.32.0/20 +202.148.64.0/18 +202.149.32.0/19 +202.149.160.0/19 +202.149.224.0/19 +202.150.16.0/20 +202.150.32.0/20 +202.150.56.0/22 +202.150.192.0/20 +202.150.224.0/19 +202.151.0.0/22 +202.151.128.0/19 +202.152.176.0/20 +202.153.0.0/22 +202.153.48.0/20 +202.157.192.0/19 +202.158.160.0/19 +202.160.156.0/22 +202.160.176.0/20 +202.162.67.0/24 +202.162.75.0/24 +202.164.0.0/20 +202.164.96.0/19 +202.165.96.0/21 +202.165.104.0/22 +202.165.110.0/23 +202.165.176.0/20 +202.165.208.0/20 +202.165.239.0/24 +202.165.240.0/23 +202.165.243.0/24 +202.165.245.0/24 +202.165.251.0/24 +202.165.252.0/22 +202.166.224.0/19 +202.168.80.0/22 +202.168.128.0/20 +202.168.160.0/19 +202.170.128.0/19 +202.170.216.0/21 +202.170.224.0/19 +202.171.216.0/21 +202.171.235.0/24 +202.172.0.0/22 +202.173.0.0/22 +202.173.8.0/21 +202.173.112.0/22 +202.173.120.0/22 +202.173.224.0/19 +202.174.64.0/20 +202.176.224.0/19 +202.179.240.0/20 +202.180.128.0/19 +202.180.208.0/21 +202.181.8.0/22 +202.181.28.0/22 +202.181.112.0/20 +202.182.32.0/20 +202.182.192.0/19 +202.189.0.0/18 +202.189.80.0/20 +202.189.184.0/21 +202.191.0.0/24 +202.191.68.0/22 +202.191.72.0/21 +202.191.80.0/20 +202.192.0.0/12 +203.0.4.0/22 +203.0.10.0/23 +203.0.18.0/24 +203.0.24.0/24 +203.0.42.0/23 +203.0.45.0/24 +203.0.46.0/23 +203.0.81.0/24 +203.0.82.0/23 +203.0.90.0/23 +203.0.96.0/23 +203.0.104.0/21 +203.0.114.0/23 +203.0.122.0/24 +203.0.128.0/24 +203.0.130.0/23 +203.0.132.0/22 +203.0.137.0/24 +203.0.142.0/24 +203.0.144.0/24 +203.0.146.0/24 +203.0.148.0/24 +203.0.150.0/23 +203.0.152.0/24 +203.0.177.0/24 +203.0.224.0/24 +203.1.4.0/22 +203.1.18.0/24 +203.1.26.0/23 +203.1.65.0/24 +203.1.66.0/23 +203.1.70.0/23 +203.1.76.0/23 +203.1.90.0/24 +203.1.97.0/24 +203.1.98.0/23 +203.1.100.0/22 +203.1.108.0/24 +203.1.253.0/24 +203.1.254.0/24 +203.2.64.0/21 +203.2.73.0/24 +203.2.112.0/21 +203.2.126.0/23 +203.2.140.0/24 +203.2.150.0/24 +203.2.152.0/22 +203.2.156.0/23 +203.2.160.0/21 +203.2.180.0/23 +203.2.196.0/23 +203.2.209.0/24 +203.2.214.0/23 +203.2.226.0/23 +203.2.229.0/24 +203.2.236.0/23 +203.3.68.0/24 +203.3.72.0/23 +203.3.75.0/24 +203.3.80.0/21 +203.3.96.0/22 +203.3.105.0/24 +203.3.112.0/21 +203.3.120.0/24 +203.3.123.0/24 +203.3.135.0/24 +203.3.139.0/24 +203.3.143.0/24 +203.4.132.0/23 +203.4.134.0/24 +203.4.151.0/24 +203.4.152.0/22 +203.4.174.0/23 +203.4.180.0/24 +203.4.186.0/24 +203.4.205.0/24 +203.4.208.0/22 +203.4.227.0/24 +203.4.230.0/23 +203.5.4.0/23 +203.5.7.0/24 +203.5.8.0/23 +203.5.11.0/24 +203.5.21.0/24 +203.5.22.0/24 +203.5.44.0/24 +203.5.46.0/23 +203.5.52.0/22 +203.5.56.0/23 +203.5.60.0/23 +203.5.114.0/23 +203.5.118.0/24 +203.5.120.0/24 +203.5.172.0/24 +203.5.180.0/23 +203.5.182.0/24 +203.5.185.0/24 +203.5.186.0/24 +203.5.188.0/23 +203.5.190.0/24 +203.5.195.0/24 +203.5.214.0/23 +203.5.218.0/23 +203.6.131.0/24 +203.6.136.0/24 +203.6.138.0/23 +203.6.142.0/24 +203.6.150.0/23 +203.6.157.0/24 +203.6.159.0/24 +203.6.224.0/20 +203.6.248.0/23 +203.7.129.0/24 +203.7.138.0/23 +203.7.147.0/24 +203.7.150.0/23 +203.7.158.0/24 +203.7.192.0/23 +203.7.200.0/24 +203.8.0.0/24 +203.8.8.0/24 +203.8.23.0/24 +203.8.24.0/21 +203.8.70.0/24 +203.8.82.0/24 +203.8.86.0/23 +203.8.91.0/24 +203.8.110.0/23 +203.8.115.0/24 +203.8.166.0/23 +203.8.169.0/24 +203.8.173.0/24 +203.8.184.0/24 +203.8.186.0/23 +203.8.190.0/23 +203.8.192.0/24 +203.8.197.0/24 +203.8.198.0/23 +203.8.203.0/24 +203.8.209.0/24 +203.8.210.0/23 +203.8.212.0/22 +203.8.217.0/24 +203.8.220.0/24 +203.9.32.0/24 +203.9.36.0/23 +203.9.57.0/24 +203.9.63.0/24 +203.9.65.0/24 +203.9.70.0/23 +203.9.72.0/24 +203.9.75.0/24 +203.9.76.0/23 +203.9.96.0/22 +203.9.100.0/23 +203.9.108.0/24 +203.9.158.0/24 +203.10.34.0/24 +203.10.56.0/24 +203.10.74.0/23 +203.10.84.0/22 +203.10.88.0/24 +203.10.95.0/24 +203.10.125.0/24 +203.11.70.0/24 +203.11.76.0/22 +203.11.82.0/24 +203.11.84.0/22 +203.11.100.0/22 +203.11.109.0/24 +203.11.117.0/24 +203.11.122.0/24 +203.11.126.0/24 +203.11.136.0/22 +203.11.141.0/24 +203.11.142.0/23 +203.11.180.0/22 +203.11.208.0/22 +203.12.16.0/24 +203.12.19.0/24 +203.12.24.0/24 +203.12.57.0/24 +203.12.65.0/24 +203.12.66.0/24 +203.12.70.0/23 +203.12.87.0/24 +203.12.88.0/21 +203.12.100.0/23 +203.12.103.0/24 +203.12.114.0/24 +203.12.118.0/24 +203.12.130.0/24 +203.12.137.0/24 +203.12.196.0/22 +203.12.211.0/24 +203.12.219.0/24 +203.12.226.0/24 +203.12.240.0/22 +203.13.18.0/24 +203.13.24.0/24 +203.13.44.0/23 +203.13.80.192/26 +203.13.82.0/23 +203.13.84.0/22 +203.13.88.0/23 +203.13.92.0/22 +203.13.173.0/24 +203.13.224.0/23 +203.13.227.0/24 +203.13.233.0/24 +203.14.24.0/22 +203.14.33.0/24 +203.14.56.0/24 +203.14.61.0/24 +203.14.62.0/24 +203.14.104.0/24 +203.14.114.0/23 +203.14.118.0/24 +203.14.162.0/24 +203.14.186.0/23 +203.14.192.0/24 +203.14.194.0/23 +203.14.214.0/24 +203.14.231.0/24 +203.14.246.0/24 +203.15.0.0/20 +203.15.20.0/23 +203.15.22.0/24 +203.15.87.0/24 +203.15.88.0/23 +203.15.105.0/24 +203.15.112.0/21 +203.15.130.0/23 +203.15.149.0/24 +203.15.151.0/24 +203.15.156.0/22 +203.15.174.0/24 +203.15.227.0/24 +203.15.232.0/21 +203.15.240.0/23 +203.15.246.0/24 +203.16.10.0/24 +203.16.12.0/23 +203.16.16.0/21 +203.16.27.0/24 +203.16.38.0/24 +203.16.49.0/24 +203.16.50.0/23 +203.16.58.0/24 +203.16.133.0/24 +203.16.161.0/24 +203.16.162.0/24 +203.16.186.0/23 +203.16.228.0/24 +203.16.238.0/24 +203.16.240.0/24 +203.16.245.0/24 +203.17.2.0/24 +203.17.18.0/24 +203.17.28.0/24 +203.17.39.0/24 +203.17.56.0/24 +203.17.74.0/23 +203.17.88.0/23 +203.17.136.0/24 +203.17.164.0/24 +203.17.187.0/24 +203.17.190.0/23 +203.17.231.0/24 +203.17.233.0/24 +203.17.248.0/24 +203.17.255.0/24 +203.18.2.0/23 +203.18.4.0/24 +203.18.7.0/24 +203.18.31.0/24 +203.18.37.0/24 +203.18.48.0/23 +203.18.52.0/24 +203.18.72.0/22 +203.18.80.0/23 +203.18.87.0/24 +203.18.100.0/23 +203.18.105.0/24 +203.18.107.0/24 +203.18.110.0/24 +203.18.129.0/24 +203.18.131.0/24 +203.18.132.0/23 +203.18.144.0/24 +203.18.153.0/24 +203.18.199.0/24 +203.18.208.0/24 +203.18.211.0/24 +203.18.215.0/24 +203.19.18.0/24 +203.19.24.0/24 +203.19.30.0/24 +203.19.41.0/24 +203.19.44.0/23 +203.19.46.0/24 +203.19.58.0/24 +203.19.60.0/23 +203.19.64.0/24 +203.19.68.0/24 +203.19.72.0/24 +203.19.101.0/24 +203.19.111.0/24 +203.19.131.0/24 +203.19.133.0/24 +203.19.144.0/24 +203.19.149.0/24 +203.19.156.0/24 +203.19.176.0/24 +203.19.178.0/23 +203.19.208.0/24 +203.19.228.0/22 +203.19.233.0/24 +203.19.242.0/24 +203.19.248.0/23 +203.19.255.0/24 +203.20.17.0/24 +203.20.40.0/23 +203.20.48.0/24 +203.20.61.0/24 +203.20.65.0/24 +203.20.84.0/23 +203.20.89.0/24 +203.20.106.0/23 +203.20.115.0/24 +203.20.117.0/24 +203.20.118.0/23 +203.20.122.0/24 +203.20.126.0/23 +203.20.135.0/24 +203.20.136.0/21 +203.20.150.0/24 +203.20.230.0/24 +203.20.232.0/24 +203.20.236.0/24 +203.21.0.0/23 +203.21.2.0/24 +203.21.8.0/24 +203.21.10.0/24 +203.21.18.0/24 +203.21.33.0/24 +203.21.34.0/24 +203.21.41.0/24 +203.21.44.0/24 +203.21.68.0/24 +203.21.82.0/24 +203.21.96.0/22 +203.21.124.0/24 +203.21.136.0/23 +203.21.145.0/24 +203.21.206.0/24 +203.22.24.0/24 +203.22.28.0/23 +203.22.31.0/24 +203.22.68.0/24 +203.22.76.0/24 +203.22.84.0/24 +203.22.87.0/24 +203.22.92.0/22 +203.22.99.0/24 +203.22.106.0/24 +203.22.122.0/23 +203.22.131.0/24 +203.22.163.0/24 +203.22.166.0/24 +203.22.170.0/24 +203.22.176.0/21 +203.22.194.0/24 +203.22.242.0/23 +203.22.245.0/24 +203.22.246.0/24 +203.22.252.0/23 +203.23.0.0/24 +203.23.47.0/24 +203.23.61.0/24 +203.23.62.0/23 +203.23.73.0/24 +203.23.85.0/24 +203.23.92.0/22 +203.23.98.0/24 +203.23.107.0/24 +203.23.112.0/24 +203.23.130.0/24 +203.23.140.0/23 +203.23.172.0/24 +203.23.182.0/24 +203.23.186.0/23 +203.23.192.0/24 +203.23.197.0/24 +203.23.198.0/24 +203.23.204.0/22 +203.23.224.0/24 +203.23.226.0/23 +203.23.228.0/22 +203.23.249.0/24 +203.23.251.0/24 +203.24.13.0/24 +203.24.18.0/24 +203.24.27.0/24 +203.24.43.0/24 +203.24.56.0/24 +203.24.58.0/24 +203.24.67.0/24 +203.24.74.0/24 +203.24.79.0/24 +203.24.80.0/23 +203.24.84.0/23 +203.24.86.0/24 +203.24.90.0/24 +203.24.111.0/24 +203.24.112.0/24 +203.24.116.0/24 +203.24.122.0/23 +203.24.145.0/24 +203.24.152.0/23 +203.24.157.0/24 +203.24.161.0/24 +203.24.167.0/24 +203.24.186.0/23 +203.24.199.0/24 +203.24.202.0/24 +203.24.212.0/23 +203.24.217.0/24 +203.24.219.0/24 +203.24.244.0/24 +203.25.19.0/24 +203.25.20.0/23 +203.25.46.0/24 +203.25.48.0/21 +203.25.64.0/23 +203.25.91.0/24 +203.25.99.0/24 +203.25.100.0/24 +203.25.106.0/24 +203.25.131.0/24 +203.25.135.0/24 +203.25.138.0/24 +203.25.147.0/24 +203.25.153.0/24 +203.25.154.0/23 +203.25.164.0/24 +203.25.166.0/24 +203.25.174.0/23 +203.25.180.0/24 +203.25.182.0/24 +203.25.191.0/24 +203.25.199.0/24 +203.25.200.0/24 +203.25.202.0/23 +203.25.208.0/20 +203.25.229.0/24 +203.25.235.0/24 +203.25.236.0/24 +203.25.242.0/24 +203.26.12.0/24 +203.26.34.0/24 +203.26.49.0/24 +203.26.50.0/24 +203.26.55.0/24 +203.26.56.0/23 +203.26.60.0/24 +203.26.65.0/24 +203.26.68.0/24 +203.26.76.0/24 +203.26.80.0/24 +203.26.84.0/24 +203.26.97.0/24 +203.26.102.0/23 +203.26.115.0/24 +203.26.116.0/24 +203.26.129.0/24 +203.26.143.0/24 +203.26.144.0/24 +203.26.148.0/23 +203.26.154.0/24 +203.26.158.0/23 +203.26.161.0/24 +203.26.170.0/24 +203.26.173.0/24 +203.26.176.0/24 +203.26.185.0/24 +203.26.202.0/23 +203.26.210.0/24 +203.26.214.0/24 +203.26.222.0/24 +203.26.224.0/24 +203.26.228.0/24 +203.26.232.0/24 +203.27.0.0/24 +203.27.10.0/24 +203.27.15.0/24 +203.27.16.0/24 +203.27.20.0/24 +203.27.22.0/23 +203.27.40.0/24 +203.27.45.0/24 +203.27.53.0/24 +203.27.65.0/24 +203.27.66.0/24 +203.27.81.0/24 +203.27.88.0/24 +203.27.102.0/24 +203.27.109.0/24 +203.27.117.0/24 +203.27.121.0/24 +203.27.122.0/23 +203.27.125.0/24 +203.27.200.0/24 +203.27.202.0/24 +203.27.233.0/24 +203.27.241.0/24 +203.27.250.0/24 +203.28.10.0/24 +203.28.12.0/24 +203.28.33.0/24 +203.28.34.0/23 +203.28.43.0/24 +203.28.44.0/24 +203.28.54.0/24 +203.28.56.0/24 +203.28.73.0/24 +203.28.74.0/24 +203.28.76.0/24 +203.28.86.0/24 +203.28.88.0/24 +203.28.112.0/24 +203.28.131.0/24 +203.28.136.0/24 +203.28.140.0/24 +203.28.145.0/24 +203.28.165.0/24 +203.28.169.0/24 +203.28.170.0/24 +203.28.178.0/23 +203.28.185.0/24 +203.28.187.0/24 +203.28.196.0/24 +203.28.226.0/23 +203.28.239.0/24 +203.29.2.0/24 +203.29.8.0/23 +203.29.13.0/24 +203.29.14.0/24 +203.29.28.0/24 +203.29.46.0/24 +203.29.57.0/24 +203.29.61.0/24 +203.29.63.0/24 +203.29.69.0/24 +203.29.73.0/24 +203.29.81.0/24 +203.29.90.0/24 +203.29.95.0/24 +203.29.100.0/24 +203.29.103.0/24 +203.29.112.0/24 +203.29.120.0/22 +203.29.182.0/23 +203.29.187.0/24 +203.29.189.0/24 +203.29.190.0/24 +203.29.205.0/24 +203.29.210.0/24 +203.29.217.0/24 +203.29.227.0/24 +203.29.231.0/24 +203.29.233.0/24 +203.29.234.0/24 +203.29.248.0/24 +203.29.254.0/23 +203.30.16.0/23 +203.30.25.0/24 +203.30.29.0/24 +203.30.66.0/24 +203.30.81.0/24 +203.30.87.0/24 +203.30.111.0/24 +203.30.121.0/24 +203.30.123.0/24 +203.30.152.0/24 +203.30.156.0/24 +203.30.162.0/24 +203.30.173.0/24 +203.30.175.0/24 +203.30.187.0/24 +203.30.194.0/24 +203.30.217.0/24 +203.30.220.0/24 +203.30.222.0/24 +203.30.232.0/23 +203.30.235.0/24 +203.30.240.0/23 +203.30.246.0/24 +203.30.250.0/23 +203.31.45.0/24 +203.31.46.0/24 +203.31.49.0/24 +203.31.51.0/24 +203.31.54.0/23 +203.31.69.0/24 +203.31.72.0/24 +203.31.80.0/24 +203.31.85.0/24 +203.31.97.0/24 +203.31.105.0/24 +203.31.106.0/24 +203.31.108.0/23 +203.31.124.0/24 +203.31.162.0/24 +203.31.174.0/24 +203.31.177.0/24 +203.31.181.0/24 +203.31.187.0/24 +203.31.189.0/24 +203.31.204.0/24 +203.31.220.0/24 +203.31.222.0/23 +203.31.225.0/24 +203.31.229.0/24 +203.31.248.0/23 +203.31.253.0/24 +203.32.20.0/24 +203.32.48.0/23 +203.32.56.0/24 +203.32.60.0/24 +203.32.62.0/24 +203.32.68.0/23 +203.32.76.0/24 +203.32.81.0/24 +203.32.84.0/23 +203.32.95.0/24 +203.32.102.0/24 +203.32.105.0/24 +203.32.130.0/24 +203.32.133.0/24 +203.32.140.0/24 +203.32.152.0/24 +203.32.186.0/23 +203.32.192.0/24 +203.32.196.0/24 +203.32.203.0/24 +203.32.204.0/23 +203.32.212.0/24 +203.33.4.0/24 +203.33.7.0/24 +203.33.12.0/22 +203.33.21.0/24 +203.33.26.0/24 +203.33.32.0/24 +203.33.63.0/24 +203.33.64.0/24 +203.33.67.0/24 +203.33.68.0/24 +203.33.73.0/24 +203.33.79.0/24 +203.33.100.0/24 +203.33.122.0/24 +203.33.129.0/24 +203.33.131.0/24 +203.33.145.0/24 +203.33.156.0/24 +203.33.158.0/23 +203.33.174.0/24 +203.33.185.0/24 +203.33.200.0/24 +203.33.202.0/23 +203.33.204.0/24 +203.33.206.0/23 +203.33.214.0/23 +203.33.224.0/23 +203.33.226.0/24 +203.33.233.0/24 +203.33.243.0/24 +203.33.250.0/24 +203.34.4.0/24 +203.34.21.0/24 +203.34.27.0/24 +203.34.39.0/24 +203.34.48.0/23 +203.34.54.0/24 +203.34.56.0/23 +203.34.67.0/24 +203.34.69.0/24 +203.34.76.0/24 +203.34.92.0/24 +203.34.106.0/24 +203.34.113.0/24 +203.34.147.0/24 +203.34.150.0/24 +203.34.152.0/23 +203.34.161.0/24 +203.34.162.0/24 +203.34.187.0/24 +203.34.192.0/21 +203.34.204.0/22 +203.34.232.0/24 +203.34.240.0/24 +203.34.242.0/24 +203.34.245.0/24 +203.34.251.0/24 +203.55.2.0/23 +203.55.4.0/24 +203.55.10.0/24 +203.55.13.0/24 +203.55.22.0/24 +203.55.30.0/24 +203.55.93.0/24 +203.55.101.0/24 +203.55.109.0/24 +203.55.110.0/24 +203.55.116.0/23 +203.55.119.0/24 +203.55.128.0/23 +203.55.146.0/23 +203.55.192.0/24 +203.55.196.0/24 +203.55.218.0/23 +203.55.221.0/24 +203.55.224.0/24 +203.56.1.0/24 +203.56.4.0/24 +203.56.12.0/24 +203.56.24.0/24 +203.56.38.0/24 +203.56.40.0/24 +203.56.46.0/24 +203.56.50.0/23 +203.56.52.0/22 +203.56.68.0/23 +203.56.82.0/23 +203.56.84.0/23 +203.56.95.0/24 +203.56.110.0/24 +203.56.121.0/24 +203.56.161.0/24 +203.56.169.0/24 +203.56.172.0/23 +203.56.175.0/24 +203.56.183.0/24 +203.56.185.0/24 +203.56.187.0/24 +203.56.192.0/24 +203.56.198.0/24 +203.56.201.0/24 +203.56.208.0/23 +203.56.210.0/24 +203.56.214.0/24 +203.56.216.0/24 +203.56.227.0/24 +203.56.228.0/24 +203.56.232.0/24 +203.56.240.0/24 +203.56.252.0/24 +203.56.254.0/24 +203.57.5.0/24 +203.57.6.0/24 +203.57.12.0/23 +203.57.28.0/24 +203.57.39.0/24 +203.57.46.0/24 +203.57.58.0/24 +203.57.61.0/24 +203.57.66.0/24 +203.57.69.0/24 +203.57.70.0/23 +203.57.73.0/24 +203.57.90.0/24 +203.57.101.0/24 +203.57.109.0/24 +203.57.123.0/24 +203.57.157.0/24 +203.57.200.0/24 +203.57.202.0/24 +203.57.206.0/24 +203.57.222.0/24 +203.57.224.0/20 +203.57.246.0/23 +203.57.249.0/24 +203.57.253.0/24 +203.57.254.0/23 +203.62.2.0/24 +203.62.131.0/24 +203.62.139.0/24 +203.62.161.0/24 +203.62.197.0/24 +203.62.228.0/22 +203.62.234.0/24 +203.62.246.0/24 +203.65.240.0/22 +203.76.160.0/22 +203.76.168.0/22 +203.76.208.0/21 +203.76.216.0/22 +203.76.247.0/24 +203.77.180.0/22 +203.78.48.0/20 +203.78.156.0/22 +203.79.0.0/20 +203.80.4.0/23 +203.80.32.0/20 +203.80.57.0/24 +203.80.132.0/22 +203.80.138.0/23 +203.80.140.0/22 +203.80.144.0/20 +203.81.0.0/21 +203.81.16.0/20 +203.82.0.0/23 +203.82.16.0/21 +203.83.0.0/22 +203.83.12.0/22 +203.83.56.0/21 +203.83.224.0/20 +203.86.0.0/18 +203.86.64.0/19 +203.86.254.0/23 +203.88.32.0/19 +203.88.192.0/19 +203.89.0.0/22 +203.89.8.0/21 +203.89.136.0/22 +203.90.0.0/22 +203.90.8.0/22 +203.90.128.0/18 +203.90.192.0/19 +203.91.1.0/24 +203.91.32.0/19 +203.91.97.0/24 +203.91.98.0/23 +203.91.100.0/22 +203.91.104.0/24 +203.91.106.0/23 +203.91.108.0/22 +203.91.120.0/21 +203.92.0.0/22 +203.92.160.0/19 +203.93.0.0/16 +203.94.0.0/19 +203.95.0.0/21 +203.95.96.0/19 +203.95.128.0/18 +203.95.200.0/21 +203.95.208.0/22 +203.95.224.0/19 +203.99.8.0/21 +203.99.16.0/20 +203.99.80.0/20 +203.100.32.0/20 +203.100.49.0/24 +203.100.50.0/23 +203.100.52.0/22 +203.100.63.0/24 +203.100.80.0/20 +203.100.96.0/19 +203.100.192.0/20 +203.104.32.0/20 +203.105.96.0/19 +203.105.128.0/19 +203.107.0.0/17 +203.110.160.0/19 +203.110.208.0/20 +203.110.232.0/23 +203.110.234.0/24 +203.114.80.0/20 +203.114.244.0/22 +203.118.192.0/19 +203.118.241.0/24 +203.118.248.0/22 +203.119.24.0/24 +203.119.34.0/23 +203.119.80.0/22 +203.119.85.0/24 +203.119.113.0/24 +203.119.114.0/23 +203.119.116.0/22 +203.119.120.0/21 +203.119.128.0/17 +203.128.32.0/19 +203.128.96.0/19 +203.128.128.0/24 +203.128.224.0/21 +203.130.32.0/20 +203.132.32.0/19 +203.134.240.0/22 +203.134.244.0/23 +203.134.246.0/24 +203.135.96.0/19 +203.135.160.0/20 +203.142.12.0/23 +203.142.219.0/24 +203.142.224.0/19 +203.145.0.0/19 +203.148.0.0/18 +203.148.64.0/20 +203.148.80.0/22 +203.148.86.0/23 +203.149.92.0/22 +203.152.64.0/19 +203.152.128.0/19 +203.153.0.0/22 +203.156.192.0/18 +203.158.16.0/21 +203.160.104.0/21 +203.160.129.0/24 +203.160.192.0/19 +203.161.0.0/22 +203.161.180.0/24 +203.161.192.0/19 +203.166.160.0/19 +203.167.28.0/22 +203.168.0.0/19 +203.170.58.0/23 +203.171.0.0/22 +203.171.224.0/20 +203.174.4.0/24 +203.174.96.0/19 +203.175.128.0/19 +203.175.192.0/18 +203.176.0.0/18 +203.176.64.0/19 +203.176.168.0/21 +203.184.80.0/20 +203.187.160.0/19 +203.189.0.0/23 +203.189.6.0/23 +203.189.112.0/22 +203.189.192.0/19 +203.189.240.0/22 +203.190.96.0/20 +203.190.249.0/24 +203.191.0.0/23 +203.191.64.0/18 +203.191.144.0/20 +203.192.0.0/19 +203.193.224.0/19 +203.194.120.0/21 +203.195.64.0/19 +203.195.112.0/21 +203.195.128.0/17 +203.196.0.0/20 +203.202.236.0/22 +203.205.64.0/19 +203.207.64.0/18 +203.207.128.0/17 +203.208.0.0/20 +203.208.16.0/22 +203.208.32.0/19 +203.209.224.0/19 +203.212.0.0/20 +203.212.80.0/20 +203.215.234.0/24 +203.215.236.0/22 +203.223.0.0/20 +203.223.16.0/22 +203.223.20.0/23 +203.223.22.0/24 +204.55.160.0/24 +204.74.96.0/24 +204.114.176.0/23 +206.219.44.0/23 +206.219.50.0/23 +206.219.52.0/23 +210.2.0.0/23 +210.2.2.0/24 +210.2.6.0/23 +210.2.8.0/21 +210.2.24.0/21 +210.5.0.0/19 +210.5.56.0/24 +210.5.59.0/24 +210.5.60.0/24 +210.5.128.0/19 +210.12.0.0/15 +210.14.64.0/19 +210.14.112.0/20 +210.14.128.0/17 +210.15.0.0/17 +210.15.128.0/18 +210.16.128.0/21 +210.16.136.0/22 +210.16.156.0/22 +210.16.160.0/19 +210.21.0.0/16 +210.22.0.0/16 +210.23.32.0/19 +210.25.0.0/16 +210.26.0.0/15 +210.28.0.0/14 +210.32.0.0/12 +210.51.0.0/16 +210.52.0.0/15 +210.56.192.0/19 +210.72.0.0/14 +210.76.0.0/15 +210.78.0.0/16 +210.79.64.0/18 +210.79.224.0/19 +210.82.0.0/15 +210.87.128.0/18 +210.185.192.0/18 +210.192.96.0/19 +211.64.0.0/13 +211.80.0.0/12 +211.96.0.0/15 +211.98.0.0/16 +211.99.0.0/18 +211.99.64.0/19 +211.99.128.0/17 +211.100.0.0/14 +211.136.0.0/13 +211.144.0.0/13 +211.152.0.0/15 +211.154.0.0/19 +211.154.32.0/20 +211.154.49.0/24 +211.154.52.0/22 +211.154.56.0/21 +211.154.64.0/18 +211.154.128.0/17 +211.155.0.0/18 +211.155.67.0/24 +211.155.68.0/24 +211.155.72.0/21 +211.155.80.0/20 +211.155.96.0/19 +211.155.128.0/17 +211.156.0.0/18 +211.156.64.0/19 +211.156.96.0/21 +211.156.104.0/22 +211.156.108.0/23 +211.156.112.0/20 +211.156.128.0/17 +211.157.0.0/16 +211.158.0.0/15 +211.160.0.0/13 +218.0.0.0/12 +218.16.0.0/13 +218.24.0.0/14 +218.28.0.0/15 +218.30.0.0/19 +218.30.64.0/18 +218.30.128.0/17 +218.31.0.0/16 +218.56.0.0/13 +218.64.0.0/11 +218.96.0.0/15 +218.98.32.0/19 +218.98.96.0/19 +218.98.128.0/19 +218.98.192.0/18 +218.99.0.0/16 +218.100.90.0/23 +218.100.92.0/23 +218.100.94.0/24 +218.100.96.0/19 +218.100.128.0/17 +218.104.0.0/14 +218.108.0.0/15 +218.185.192.0/22 +218.185.196.0/23 +218.185.198.0/24 +218.185.200.0/21 +218.185.208.0/20 +218.185.245.0/24 +218.185.246.0/23 +218.192.0.0/12 +218.240.0.0/14 +218.244.0.0/15 +218.246.0.0/17 +218.246.129.0/24 +218.246.131.0/24 +218.246.132.0/23 +218.246.134.0/24 +218.246.139.0/24 +218.246.160.0/19 +218.246.192.0/18 +218.247.0.0/18 +218.247.96.0/19 +218.247.128.0/17 +218.249.0.0/16 +219.72.0.0/16 +219.82.0.0/16 +219.83.128.0/17 +219.90.68.0/22 +219.90.72.0/21 +219.128.0.0/11 +219.216.0.0/13 +219.224.0.0/13 +219.232.0.0/15 +219.234.0.0/21 +219.234.26.0/23 +219.234.28.0/22 +219.234.32.0/19 +219.234.64.0/18 +219.234.128.0/17 +219.235.0.0/16 +219.236.0.0/14 +219.242.0.0/15 +219.244.0.0/14 +220.101.192.0/18 +220.112.0.0/14 +220.152.128.0/17 +220.154.0.0/17 +220.154.128.0/21 +220.154.136.0/22 +220.154.140.0/24 +220.154.142.0/23 +220.154.144.0/21 +220.154.152.0/24 +220.154.154.0/23 +220.154.156.0/22 +220.154.160.0/19 +220.154.192.0/18 +220.155.0.0/21 +220.155.9.0/24 +220.155.10.0/23 +220.155.12.0/22 +220.155.16.0/21 +220.155.24.0/22 +220.155.28.0/23 +220.155.31.0/24 +220.155.32.0/19 +220.155.64.0/18 +220.155.128.0/17 +220.158.240.0/22 +220.160.0.0/11 +220.192.0.0/12 +220.231.0.0/18 +220.231.128.0/17 +220.232.64.0/18 +220.234.0.0/16 +220.242.0.0/16 +220.243.0.0/17 +220.243.128.0/18 +220.243.200.0/24 +220.243.202.0/24 +220.243.204.0/24 +220.243.208.0/22 +220.243.214.0/23 +220.243.216.0/22 +220.243.221.0/24 +220.243.222.0/24 +220.243.238.0/24 +220.247.136.0/21 +220.248.0.0/14 +220.252.0.0/16 +221.0.0.0/13 +221.8.0.0/14 +221.12.0.0/17 +221.12.128.0/18 +221.13.0.0/16 +221.14.0.0/15 +221.122.0.0/15 +221.128.128.0/17 +221.129.0.0/16 +221.130.0.0/15 +221.133.224.0/19 +221.136.0.0/15 +221.172.0.0/14 +221.176.0.0/19 +221.176.32.0/20 +221.176.48.0/21 +221.176.56.0/24 +221.176.58.0/23 +221.176.60.0/22 +221.176.64.0/18 +221.176.128.0/17 +221.177.0.0/16 +221.178.0.0/15 +221.180.0.0/14 +221.192.0.0/14 +221.196.0.0/15 +221.198.0.0/16 +221.199.0.0/17 +221.199.128.0/18 +221.199.192.0/20 +221.199.224.0/19 +221.200.0.0/13 +221.208.0.0/12 +221.224.0.0/12 +222.16.0.0/12 +222.32.0.0/11 +222.64.0.0/11 +222.125.0.0/16 +222.126.128.0/19 +222.126.160.0/21 +222.126.168.0/22 +222.126.172.0/23 +222.126.178.0/23 +222.126.180.0/22 +222.126.184.0/21 +222.126.192.0/21 +222.126.206.0/23 +222.126.208.0/22 +222.126.212.0/23 +222.126.216.0/21 +222.126.224.0/20 +222.126.240.0/24 +222.126.242.0/23 +222.126.244.0/22 +222.126.248.0/21 +222.128.0.0/12 +222.160.0.0/14 +222.168.0.0/13 +222.176.0.0/12 +222.192.0.0/11 +222.240.0.0/13 +222.248.0.0/15 +223.0.0.0/12 +223.20.0.0/15 +223.27.184.0/22 +223.29.208.0/22 +223.29.252.0/22 +223.64.0.0/11 +223.96.0.0/12 +223.112.0.0/14 +223.116.0.0/15 +223.120.0.0/13 +223.128.0.0/15 +223.144.0.0/12 +223.160.0.0/14 +223.166.0.0/15 +223.192.0.0/15 +223.198.0.0/15 +223.201.0.0/18 +223.201.64.0/21 +223.201.72.0/24 +223.201.74.0/23 +223.201.76.0/22 +223.201.80.0/20 +223.201.96.0/23 +223.201.99.0/24 +223.201.100.0/22 +223.201.104.0/21 +223.201.112.0/20 +223.201.128.0/21 +223.201.136.0/23 +223.201.139.0/24 +223.201.140.0/22 +223.201.144.0/20 +223.201.160.0/19 +223.201.192.0/19 +223.201.224.0/20 +223.201.240.0/22 +223.201.245.0/24 +223.201.246.0/23 +223.201.248.0/21 +223.202.0.0/17 +223.202.128.0/18 +223.202.192.0/19 +223.202.224.0/20 +223.202.240.0/21 +223.202.248.0/23 +223.202.250.0/24 +223.203.0.0/16 +223.208.0.0/13 +223.220.0.0/15 +223.223.176.0/20 +223.223.192.0/20 +223.240.0.0/13 +223.248.0.0/14 +223.252.128.0/19 +223.252.192.0/18 +223.254.0.0/17 +223.254.128.0/18 +223.254.192.0/20 +223.254.208.0/21 +223.254.216.0/22 +223.254.220.0/23 +223.254.222.0/24 +223.254.224.0/20 +223.254.240.0/21 +223.254.248.0/23 +223.254.251.0/24 +223.254.252.0/22 +223.255.0.0/17 +223.255.236.0/22 +223.255.252.0/23 \ No newline at end of file diff --git a/mobile/src/main/assets/overture/gfwlist.txt b/mobile/src/main/assets/overture/gfwlist.txt new file mode 100644 index 00000000..ac444eb4 --- /dev/null +++ b/mobile/src/main/assets/overture/gfwlist.txt @@ -0,0 +1,2291 @@ +W0F1dG9Qcm94eSAwLjIuOV0KISBDaGVja3N1bTogcE5Hck0xWVd6OTVYdWl0OXpr +UnVDZwohIEV4cGlyZXM6IDZoCiEgVGl0bGU6IEdGV0xpc3Q0TEwKISBHRldMaXN0 +IHdpdGggRVZFUllUSElORyBpbmNsdWRlZAohIExhc3QgTW9kaWZpZWQ6IFdlZCwg +MjIgRmViIDIwMTcgMDY6MTM6MzkgKzAxMDAKIQohIEhvbWVQYWdlOiBodHRwczov +L2dpdGh1Yi5jb20vZ2Z3bGlzdC9nZndsaXN0CiEgTGljZW5zZTogaHR0cHM6Ly9y +YXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dmd2xpc3QvZ2Z3bGlzdC9tYXN0ZXIv +Q09QWUlORy50eHQKIQohIEdGV0xpc3QgaXMgdW5saWtlbHkgdG8gZnVsbHkgY29t +cHJpc2UgdGhlIHJlYWwKISBydWxlcyBiZWluZyBkZXBsb3llZCBpbnNpZGUgR0ZX +IHN5c3RlbS4gV2UgdHJ5CiEgb3VyIGJlc3QgdG8ga2VlcCB0aGUgbGlzdCB1cCB0 +byBkYXRlLiBQbGVhc2UKISBjb250YWN0IHVzIHJlZ2FyZGluZyBVUkwgc3VibWlz +c2lvbiAvIHJlbW92YWwsCiEgb3Igc3VnZ2VzdGlvbiAvIGVuaGFuY2VtZW50IGF0 +IGlzc3VlIHRyYWNrZXI6CiEgaHR0cHM6Ly9naXRodWIuY29tL2dmd2xpc3QvZ2Z3 +bGlzdC9pc3N1ZXMvLgoKIS0tLS0tLS0tLTQwMy80NTEvNTIwICYgVVJMIFJlZGly +ZWN0cy0tLS0tLS0tLQp8fDJkYm9vay5jb20KfHw0dGVybi5jb20KIS0tZWhlbnRh +aQp8aHR0cDovLzg1LjE3LjczLjMxLwp8fGFkb3JhbWEuY29tCnx8YWduZXNiLmZy +Cnx8YWtpYmEtd2ViLmNvbQp8fGFsaWVuLXVmb3MuY29tCnx8YWx0cmVjLmNvbQp8 +fGFyZW5hLnRhaXBlaQp8fGFzaWFuc3Bpc3MuY29tCnx8YXRoZW5hZWl6b3UuY29t +Cnx8YXp1YnUudHYKfHxiYXJyYWN1ZGEuY29tCnx8YmVlZy5jb20KfHxibG9vbWJl +cmd2aWV3LmNvbQp8fGJveXNtYXN0ZXIuY29tCnx8Y2FyZmF4LmNvbQouY2FzaW5v +YmVsbGluaS5jb20KfHxjYXNpbm9iZWxsaW5pLmNvbQp8fGNlbnRhdXJvLmNvbS5i +cgp8fGltYWdlcy5jb21pY28udHcKfHxzdGF0aWMuY29taWNvLnR3Cnx8Y3Jvc3Nm +aXJlLmNvLmtyCnx8ZDJwYXNzLmNvbQp8fGRhcnBhLm1pbAp8fGRlc2lwcm8uZGUK +fHxkaXNoLmNvbQp8aHR0cDovL2ltZy5kbHNpdGUuanAvCnNoYXJlLmRtaHkub3Jn +Cnx8ZG1tLmNvLmpwCnxodHRwOi8vd3d3LmRtbS5jb20vbmV0Z2FtZQp8fGVlc3Rp +LmVlCi5leHBla3QuY29tCnx8ZXhwZWt0LmNvbQouZXh0bWF0cml4LmNvbQp8fGV4 +dG1hdHJpeC5jb20KfHxmYWtrdS5uZXQKfHxmYXN0cGljLnJ1Cnx8ZmlsZXNvci5j +b20KfHxmaW5hbmNldHdpdHRlci5jb20KfHxmaW5kbWltYS5jb20KfHxmbGlwYm9h +cmQuY29tCnx8ZmxpdHRvLmNvbQp8fGZ1bmt5aW1nLmNvbQp8fGZ4bmV0d29ya3Mu +Y29tCnx8Z2V0dHlpbWFnZXMuY29tCnx8Z2V0dXBsb2FkZXIuY29tCnxodHRwczov +L2dpdGh1Yi5jb20vcHJvZ3JhbXRoaW5rL3poYW8KfHxnbGFzczguZXUKfHxnbHlw +ZS5jb20KfHxnbzE0MS5jb20KfHxoYXV0ZWxvb2suY29tCnx8aGF1dGVsb29rY2Ru +LmNvbQp8fGhtdmRpZ2l0YWwuY2EKfHxobXZkaWdpdGFsLmNvbQp8fGhvbWVkZXBv +dC5jb20KfHxob292ZXJzLmNvbQp8fGh1bHUuY29tCnx8aHVsdWltLmNvbQp8aHR0 +cDovL3NlY3VyZS5odXN0bGVyLmNvbQp8aHR0cDovL2h1c3RsZXJjYXNoLmNvbQp8 +aHR0cDovL3d3dy5odXN0bGVyY2FzaC5jb20KfHxoeWJyaWQtYW5hbHlzaXMuY29t +Cnx8Y2RuKi5pLXNjbXAuY29tCnx8aWxvdmVsb25ndG9lcy5jb20KfGh0dHA6Ly9p +bWdtZWdhLmNvbS8qLmdpZi5odG1sCnxodHRwOi8vaW1nbWVnYS5jb20vKi5qcGcu +aHRtbAp8aHR0cDovL2ltZ21lZ2EuY29tLyouanBlZy5odG1sCnxodHRwOi8vaW1n +bWVnYS5jb20vKi5wbmcuaHRtbAp8aHR0cDovL2ltZ3VyLmNvbS91cGxvYWQKfHxq +YXZodWIubmV0Cnx8amF2aHVnZS5jb20KLmphdmxpYnJhcnkuY29tCnx8amF2bGli +cmFyeS5jb20KfHxqY3Blbm5leS5jb20KfHxqaW1zLm5ldAp8fGp1bGllcG9zdC5j +b20KfHxrYXdhaWlrYXdhaWkuanAKfHxraGF0cmltYXphLm9yZwp8fGtrYm94LmNv +bQp8fGxlaXN1cmVwcm8uY29tCnx8bG9uZ3RvZXMuY29tCnx8bG92ZXR2c2hvdy5j +b20KfGh0dHA6Ly93d3cubS1zcG9ydC5jby51awp8fG1hY2dhbWVzdG9yZS5jb20K +fHxtYWRvbm5hLWF2LmNvbQp8fG1hbmdhZm94LmNvbQp8fG1hbmdhZm94Lm1lCnx8 +bWF0b21lLXBsdXMuY29tCnx8bWF0b21lLXBsdXMubmV0Cnx8bWF0dHdpbGNveC5u +ZXQKfHxtZXRhcnRodW50ZXIuY29tCnx8bWZ4bWVkaWEuY29tCnx8a2IubW9uaXRv +cndhcmUuY29tCnx8bW9uc3Rlci5jb20KfHxtb29keXouY29tCnx8bXV6dS50dgp8 +fG12Zy5qcAp8fG5hdGlvbndpZGUuY29tCnxodHRwOi8vd3d3Lm5iYy5jb20vbGl2 +ZQp8fG5lby1taXJhY2xlLmNvbQp8fG5ldGZsaXguY29tCnxodHRwOi8vbW8ubmln +aHRsaWZlMTQxLmNvbQp8fG5vcmRzdHJvbS5jb20KfHxub3Jkc3Ryb21pbWFnZS5j +b20KfHxub3Jkc3Ryb21yYWNrLmNvbQp8fG5vdHRpbmdoYW1wb3N0LmNvbQp8fG50 +ZHR2LmN6Cnx8czEubnVkZXp6LmNvbQp8fG51c2F0cmlwLmNvbQp8fG51dXZlbS5j +b20KfHxvbW5pNy5qcAp8fG9uYXBwLmNvbQohLS1XZSBhcmUgY29uZnVzZWQgYXMg +d2VsbAp8fG9udHJhYy5jb20KQEB8aHR0cDovL2Jsb2cub250cmFjLmNvbQp8fHBh +bmRvcmEuY29tCi5wYW5kb3JhLnR2Cnx8cGFya2Fuc2t5LmNvbQp8aHR0cDovLyou +cGltZy50dy8KfHxwdXJlMTguY29tCnx8cXEuY28uemEKfHxyMTguY29tCnxodHRw +Oi8vcmFkaWtvLmpwCnx8cmFtY2l0eS5jb20uYXUKfHxyZC5jb20KfHxyZGlvLmNv +bQp8fHNhZGlzdGljLXYuY29tCnxodHRwOi8vY2RuKi5zZWFyY2gueHh4Lwp8fHNo +dXR0ZXJzdG9jay5jb20KfHxzbGFja2VyLmNvbQp8fHNtLW1pcmFjbGUuY29tCnx8 +c3BvdGlmeS5jb20KfHxzcHJpbmdib2FyZHBsYXRmb3JtLmNvbQp8fHNwcml0ZS5v +cmcKQEB8aHR0cDovL3N0b3JlLnNwcml0ZS5vcmcKfHxzdXBlcnBhZ2VzLmNvbQp8 +fHN3YWdidWNrcy5jb20KfHxzd2l0Y2gxLmpwCnx8dGFwYW53YXAuY29tCnx8dGFy +Z2V0LmNvbQpAQHx8aW50bC50YXJnZXQuY29tCnx8dGhlYm9keXNob3AtdXNhLmNv +bQp8fHRtYS5jby5qcAp8fHRyYWNmb25lLmNvbQp8fHRyeWhlYXJ0LmpwCnx8dHVy +bnRhYmxlLmZtCnx8dHdlcmtpbmdidXR0LmNvbQp8fHZlZ2FzcmVkLmNvbQp8fHZl +dm8uY29tCnx8dmlwLWVudGVycHJpc2UuY29tCnxodHRwOi8vdml1LnR2L2NoLwp8 +aHR0cDovL3ZpdS50di9lbmNvcmUvCnxodHRwOi8vZWNzbS52cy5jb20vCnx8d2Fu +ei1mYWN0b3J5LmNvbQp8fHdoZXJldG93YXRjaC5jb20KfHx3aW5nYW1lc3RvcmUu +Y29tCnx8d2l6Y3JhZnRzLm5ldAp8fHhmaW5pdHkuY29tCnx8eXRuLmNvLmtyCnx8 +emF0dG9vLmNvbQp8fHpvem90b3duLmNvbQoKISMjIyMjIyMjIyMjIyMjR2VuZXJh +bCBMaXN0IFN0YXJ0IyMjIyMjIyMjIyMjIyMjCiEtLS0tLS0tLS0tLS0tLS0tLS0t +UHVyZSBJUC0tLS0tLS0tLS0tLS0tLS0tLS0tLQo1MC43LjMxLjIzMDo4ODk4CjE3 +NC4xNDIuMTA1LjE1Mwo2OS42NS4xOS4xNjAKCiEtLS0tLS0tLS0tLS0tTm9uLUxh +dGluIERvbWFpbiBOYW1lcy0tLS0tLS0tLS0tLQp8fHhuLS00Z3ExNzFwLmNvbQp8 +fHhuLS1wOGo5YTBkOWM5YS54bi0tcTlqeWI0YwoKIS0tLS0tLS0tLS0tLS0tLS1G +cmF1ZHMgJiBTY2Ftcy0tLS0tLS0tLS0tLS0tLS0tCmNoaW5hLW1tbS5qcC5uZXQK +LmxzeHN6emcuY29tCi5jaGluYS1tbW0ubmV0Cnx8Y2hpbmEtbW1tLm5ldApjaGlu +YS1tbW0uc2EuY29tCgohLS0tLS0tLS0tLS0tLS0tLS0tLS0tR3JvdXBzLS0tLS0t +LS0tLS0tLS0tLS0tLS0KISEtLS1BZnJhaWQgRnJlZUROUy0tLQoubm93LmltCgoh +IS0tLUFtYXpvbi0tLQouYW1hem9uLmNvbS9EYWxhaS1MYW1hCnMzLWFwLW5vcnRo +ZWFzdC0xLmFtYXpvbmF3cy5jb20KCiEhLS0tQXZNb28tLS0KLmF2bW8ucHcKIS0t +fGh0dHA6Ly9hdm1vLnB3Ci5hdm1vby5jb20KfGh0dHA6Ly9hdm1vby5jb20KLmF2 +bW9vLm5ldAp8aHR0cDovL2F2bW9vLm5ldAp8fGF2bW9vLnB3Ci5qYXZtb28ueHl6 +CnxodHRwOi8vamF2bW9vLnh5egouamF2dGFnLmNvbQp8aHR0cDovL2phdnRhZy5j +b20KLmphdnpvby5jb20KfGh0dHA6Ly9qYXZ6b28uY29tCgohIS0tLUNoYW5nZUlQ +LS0tCi4xZHVtYi5jb20KLjI1dS5jb20KLjJ3YWt5LmNvbQouMy1hLm5ldAouNGRx +LmNvbQouNG15ZG9tYWluLmNvbQouNHB1LmNvbQouYWNtZXRveS5jb20KLmFsbW9z +dG15LmNvbQouYW1lcmljYW51bmZpbmlzaGVkLmNvbQouYXV0aG9yaXplZGRucy5u +ZXQKLmF1dGhvcml6ZWRkbnMub3JnCi5hdXRob3JpemVkZG5zLnVzCi5iaWdtb25l +eS5iaXoKLmNoYW5nZWlwLm5hbWUKLmNoYW5nZWlwLm5ldAouY2hhbmdlaXAub3Jn +Ci5jbGVhbnNpdGUuYml6Ci5jbGVhbnNpdGUuaW5mbwouY2xlYW5zaXRlLnVzCi5j +b21wcmVzcy50bwouZGRucy5pbmZvCi5kZG5zLm1lLnVrCi5kZG5zLm1vYmkKLmRk +bnMubXMKLmRkbnMubmFtZQouZGRucy51cwouZGhjcC5iaXoKLmRucy1kbnMuY29t +Ci5kbnMtc3R1ZmYuY29tCi5kbnMwNC5jb20KLmRuczA1LmNvbQouZG5zMS51cwou +ZG5zMi51cwouZG5zZXQuY29tCi5kbnNyZC5jb20KLmRzbXRwLmNvbQouZHVtYjEu +Y29tCi5keW5hbWljLWRucy5uZXQKLmR5bmFtaWNkbnMuYml6Ci5keW5hbWljZG5z +LmNvLnVrCi5keW5hbWljZG5zLm1lLnVrCi5keW5hbWljZG5zLm9yZy51awouZHlu +ZG5zLnBybwouZHluc3NsLmNvbQouZWRucy5iaXoKLmVwYWMudG8KLmVzbXRwLmJp +egouZXp1YS5jb20KLmZhcXNlcnYuY29tCi5mYXJ0aXQuY29tCi5mcmVlZGRucy5j +b20KLmZyZWV0Y3AuY29tCi5mcmVld3d3LmJpegouZnJlZXd3dy5pbmZvCi5mdHAx +LmJpegouZnRwc2VydmVyLmJpegouZ2V0dHJpYWxzLmNvbQouZ290LWdhbWUub3Jn +Ci5ncjhkb21haW4uYml6Ci5ncjhuYW1lLmJpegouaHR0cHM0NDMubmV0Ci5odHRw +czQ0My5vcmcKLmlrd2IuY29tCi5pbnN0YW50aHEuY29tCi5pb3dueW91ci5iaXoK +Lmlvd255b3VyLm9yZwouaXNhc2VjcmV0LmNvbQouaXRlbWRiLmNvbQouaXRzYW9s +LmNvbQouamV0b3MuY29tCi5qa3ViLmNvbQouanVuZ2xlaGVhcnQuY29tCi5qdXN0 +ZGllZC5jb20KLmxmbGluay5jb20KLmxmbGlua3VwLmNvbQoubGZsaW5rdXAubmV0 +Ci5sZmxpbmt1cC5vcmcKLmxvbmdtdXNpYy5jb20KLm1lZm91bmQuY29tCi5tb25l +eWhvbWUuYml6Ci5tcmJhc2ljLmNvbQoubXJib251cy5jb20KLm1yZmFjZS5jb20K +Lm1yc2xvdmUuY29tCi5teTAzLmNvbQoubXlkYWQuaW5mbwoubXlkZG5zLmNvbQou +bXlmdHAuaW5mbwoubXlmdHAubmFtZQoubXlsZnR2LmNvbQoubXltb20uaW5mbwou +bXluZXRhdi5uZXQKLm15bmV0YXYub3JnCi5teW51bWJlci5vcmcKLm15cGljdHVy +ZS5pbmZvCi5teXBvcDMubmV0Ci5teXBvcDMub3JnCi5teXNlY29uZGFyeWRucy5j +b20KLm15d3d3LmJpegoubXl6LmluZm8KLm5pbnRoLmJpegoubnMwMS5iaXoKLm5z +MDEuaW5mbwoubnMwMS51cwoubnMwMi5iaXoKLm5zMDIuaW5mbwoubnMwMi51cwou +bnMxLm5hbWUKLm5zMi5uYW1lCi5uczMubmFtZQoub2NyeS5jb20KLm9uZWR1bWIu +Y29tCi5vbm15cGMuYml6Ci5vbm15cGMuaW5mbwoub25teXBjLm5ldAoub25teXBj +Lm9yZwoub25teXBjLnVzCi5vcmdhbmljY3JhcC5jb20KLm90em8uY29tCi5vdXJo +b2JieS5jb20KLnBjYW55d2hlcmUubmV0Ci5wb3J0MjUuYml6Ci5wcm94eWRucy5j +b20KLnFoaWdoLmNvbQoucXBvZS5jb20KLnJlYmF0ZXNydWxlLm5ldAouc2VsbGNs +YXNzaWNzLmNvbQouc2VuZHNtdHAuY29tCi5zZXJ2ZXVzZXIuY29tCi5zZXJ2ZXVz +ZXJzLmNvbQouc2V4aWR1ZGUuY29tCi5zZXh4eHkuYml6Ci5zaXh0aC5iaXoKLnNx +dWlybHkuaW5mbwouc3NsNDQzLm9yZwoudG9oLmluZm8KLnRveXRoaWV2ZXMuY29t +Ci50cmlja2lwLm5ldAoudHJpY2tpcC5vcmcKLnZpenZhei5jb20KLndoYS5sYQou +d2lrYWJhLmNvbQoud3d3MS5iaXoKLnd3d2hvc3QuYml6CkBAfGh0dHA6Ly94eC53 +d3dob3N0LmJpegoueDI0aHIuY29tCi54eHV6LmNvbQoueHh4eS5iaXoKLnh4eHku +aW5mbwoueWd0by5jb20KLnlvdWRvbnRjYXJlLmNvbQoueW91cnRyYXAuY29tCi56 +eW5zLmNvbQouenp1eC5jb20KCiEhLS0tQ2xvdWRGcm9udC0tLQpkMWIxODNzZzBu +dm51aC5jbG91ZGZyb250Lm5ldAp8aHR0cHM6Ly9kMWIxODNzZzBudm51aC5jbG91 +ZGZyb250Lm5ldApkMWMzN2dqd2EyNnRhYS5jbG91ZGZyb250Lm5ldAp8aHR0cHM6 +Ly9kMWMzN2dqd2EyNnRhYS5jbG91ZGZyb250Lm5ldAp8fGQzcmhyN2tnbXRycTF2 +LmNsb3VkZnJvbnQubmV0CgohIS0tLUR0RE5TLS0tCi4zZC1nYW1lLmNvbQouNGly +Yy5jb20KLmIwbmUuY29tCi5jaGF0bm9vay5jb20KLmRhcmt0ZWNoLm9yZwouZGVh +ZnRvbmUuY29tCi5kdGRucy5uZXQKLmVmZmVycy5jb20KLmV0b3ducy5uZXQKLmV0 +b3ducy5vcmcKLmZsbmV0Lm9yZwouZ290Z2Vla3MuY29tCi5zY2llcm9uLmNvbQou +c2x5aXAuY29tCi5zbHlpcC5uZXQKLnN1cm9vdC5jb20KCiEhLS0tRmFjZWJvb2st +LS0KfHxmYWNlYm9vay5icgouZmFjZWJvb2suY29tCnx8ZmFjZWJvb2suY29tCiEt +LS9eaHR0cHM/OlwvXC9bXlwvXStmYWNlYm9va1wuY29tLwpAQHx8KnY2LmZhY2Vi +b29rLmNvbQp8fGZhY2Vib29rLmRlc2lnbgp8fGNvbm5lY3QuZmFjZWJvb2submV0 +Cnx8ZmFjZWJvb2suaHUKfHxmYWNlYm9vay5pbgp8fGZhY2Vib29rLm5sCnx8ZmFj +ZWJvb2suc2UKfHxmYi5jb20KfHxmYi5tZQp8fG0ubWUKfHxtZXNzZW5nZXIuY29t +Cnx8b2N1bHVzLmNvbQoKISEtLS1Hb29nbGUtLS0KISMjI2h0dHBzOi8vd3d3Lmdv +b2dsZS5jb20vc3VwcG9ydGVkX2RvbWFpbnMjIyMKIS4uLkdGV0xpc3QgZG9lc24n +dCBpbnRlbmQgdG8gc3VwcG9ydCB0eXBvc3F1YXR0aW5nLi4uCnx8MWUxMDAubmV0 +Cnx8YWJjLnh5egp8fGFkbW9iLmNvbQp8fGFkc2Vuc2UuY29tCnx8YWdvb2dsZWFk +YXkuY29tCnx8YW1wcHJvamVjdC5vcmcKfHxhbmRyb2lkLmNvbQp8fGFuZHJvaWRp +ZnkuY29tCi5hcHBzcG90LmNvbQp8fGFwcHNwb3QuY29tCmJsb2dzcG90LmNvbQov +Xmh0dHBzPzpcL1wvW15cL10rYmxvZ3Nwb3RcLiguKikvCi5ibG9nc3BvdC5oawou +YmxvZ3Nwb3QuanAKfHxjZXJ0aWZpY2F0ZS10cmFuc3BhcmVuY3kub3JnCnx8Y2hy +b21lLmNvbQp8fGNocm9tZWNhc3QuY29tCnx8Y2hyb21lZXhwZXJpbWVudHMuY29t +Cnx8Y2hyb21lcmNpc2UuY29tCnx8Y2hyb21lc3RhdHVzLmNvbQp8fGNocm9taXVt +Lm9yZwp8fGNvbS5nb29nbGUKfHxkYXRhLXZvY2FidWxhcnkub3JnCnx8ZGVlcG1p +bmQuY29tCnx8ZGVqYS5jb20KfHxkaWdpc2ZlcmEuY29tCnx8ZG9tYWlucy5nb29n +bGUKfHxmZWVkYnVybmVyLmNvbQp8fGcuY28KfHxnY3IuaW8KfHxnZXQuaG93Cnx8 +Z2V0bWRsLmlvCnx8Z2dwaHQuY29tCnx8Z21haWwuY29tCnx8Z21vZHVsZXMuY29t +Cnx8Z29kb2Mub3JnCnx8Z29sYW5nLm9yZwp8fGdvby5nbAouZ29vZ2xlLmFlCi5n +b29nbGUuYXMKLmdvb2dsZS5hbQouZ29vZ2xlLmF0Ci5nb29nbGUuYXoKLmdvb2ds +ZS5iYQouZ29vZ2xlLmNhdAouZ29vZ2xlLmNkCi5nb29nbGUuY2kKLmdvb2dsZS5j +by5pZAouZ29vZ2xlLmNvLmpwCi5nb29nbGUuY28ua3IKLmdvb2dsZS5jby5tYQou +Z29vZ2xlLmNvLnVrCi5nb29nbGUuY29tCi5nb29nbGUuZGUKLmdvb2dsZS5kagou +Z29vZ2xlLmRrCi5nb29nbGUuZXMKLmdvb2dsZS5maQouZ29vZ2xlLmZtCi5nb29n +bGUuZnIKLmdvb2dsZS5nZwouZ29vZ2xlLmdsCi5nb29nbGUuZ3IKLmdvb2dsZS5p +ZQouZ29vZ2xlLmlzCi5nb29nbGUuaXQKLmdvb2dsZS5qbwouZ29vZ2xlLmt6Ci5n +b29nbGUubHYKLmdvb2dsZS5tbgouZ29vZ2xlLm1zCi5nb29nbGUubmwKLmdvb2ds +ZS5udQouZ29vZ2xlLm5vCi5nb29nbGUucm8KLmdvb2dsZS5ydQouZ29vZ2xlLnJ3 +Ci5nb29nbGUuc2MKLmdvb2dsZS5zaAouZ29vZ2xlLnNrCi5nb29nbGUuc20KLmdv +b2dsZS5zbgouZ29vZ2xlLnRrCi5nb29nbGUudG0KLmdvb2dsZS50bwouZ29vZ2xl +LnR0Ci5nb29nbGUudnUKLmdvb2dsZS53cwovXmh0dHBzPzpcL1wvKFteXC9dK1wu +KSpnb29nbGVcLihhY3xhZHxhZXxhbHxhbXxhc3xhdHxhenxiYXxiZXxiZnxiZ3xi +aXxianxic3xidHxieXxjYXxjYXR8Y2R8Y2Z8Y2d8Y2h8Y2l8Y2x8Y218Y28uYW98 +Y28uYnd8Y28uY2t8Y28uY3J8Y28uaWR8Y28uaWx8Y28uaW58Y28uanB8Y28ua2V8 +Y28ua3J8Y28ubHN8Y28ubWF8Y29tfGNvbS5hZnxjb20uYWd8Y29tLmFpfGNvbS5h +cnxjb20uYXV8Y29tLmJkfGNvbS5iaHxjb20uYm58Y29tLmJvfGNvbS5icnxjb20u +Ynp8Y29tLmNvfGNvbS5jdXxjb20uY3l8Y29tLmRvfGNvbS5lY3xjb20uZWd8Y29t +LmV0fGNvbS5manxjb20uZ2h8Y29tLmdpfGNvbS5ndHxjb20uaGt8Y29tLmptfGNv +bS5raHxjb20ua3d8Y29tLmxifGNvbS5seXxjb20ubW18Y29tLm10fGNvbS5teHxj +b20ubXl8Y29tLm5hfGNvbS5uZnxjb20ubmd8Y29tLm5pfGNvbS5ucHxjb20ub218 +Y29tLnBhfGNvbS5wZXxjb20ucGd8Y29tLnBofGNvbS5wa3xjb20ucHJ8Y29tLnB5 +fGNvbS5xYXxjb20uc2F8Y29tLnNifGNvbS5zZ3xjb20uc2x8Y29tLnN2fGNvbS50 +anxjb20udHJ8Y29tLnR3fGNvbS51YXxjb20udXl8Y29tLnZjfGNvbS52bnxjby5t +enxjby5uenxjby50aHxjby50enxjby51Z3xjby51a3xjby51enxjby52ZXxjby52 +aXxjby56YXxjby56bXxjby56d3xjdnxjenxkZXxkanxka3xkbXxkenxlZXxlc3xm +aXxmbXxmcnxnYXxnZXxnZ3xnbHxnbXxncHxncnxneXxoa3xobnxocnxodHxodXxp +ZXxpbXxpcXxpc3xpdHxqZXxqb3xrZ3xraXxrenxsYXxsaXxsa3xsdHxsdXxsdnxt +ZHxtZXxtZ3xta3xtbHxtbnxtc3xtdXxtdnxtd3xteHxuZXxubHxub3xucnxudXxv +cmd8cGx8cG58cHN8cHR8cm98cnN8cnV8cnd8c2N8c2V8c2h8c2l8c2t8c218c258 +c298c3J8c3R8dGR8dGd8dGt8dGx8dG18dG58dG98dHR8dXN8dmd8dm58dnV8d3Mp +XC8uKi8KIS0tfHxnb29nbGUtYW5hbHl0aWNzLmNvbQohLS18fGdvb2dsZWFkc2Vy +dmljZXMuY29tCnx8Z29vZ2xlYXBpcy5jbgp8fGdvb2dsZWFwaXMuY29tCnx8Z29v +Z2xlYXBwcy5jb20KfHxnb29nbGVhcnRwcm9qZWN0LmNvbQp8fGdvb2dsZWJsb2cu +Y29tCnx8Z29vZ2xlYm90LmNvbQp8fGdvb2dsZWNvZGUuY29tCnx8Z29vZ2xlY29t +bWVyY2UuY29tCnx8Z29vZ2xlZG9tYWlucy5jb20KfHxnb29nbGVlYXJ0aC5jb20K +fHxnb29nbGVkcml2ZS5jb20KfHxnb29nbGVncm91cHMuY29tCnx8Z29vZ2xlY2Fw +aXRhbC5jb20KfHxnb29nbGVob3N0ZWQuY29tCnx8Z29vZ2xlaWRlYXMuY29tCnx8 +Z29vZ2xlbGFicy5jb20KfHxnb29nbGVtYWlsLmNvbQp8fGdvb2dsZXBsYXkuY29t +Cnx8Z29vZ2xlcGx1cy5jb20KfHxnb29nbGVzb3VyY2UuY29tCnx8Z29vZ2xlc3lu +ZGljYXRpb24uY29tCiEtLXx8Z29vZ2xldGFnbWFuYWdlci5jb20KIS0tfHxnb29n +bGV0YWdzZXJ2aWNlcy5jb20KfHxnb29nbGV1c2VyY29udGVudC5jb20KfHxnb29n +bGV2aWRlby5jb20KfHxnb29nbGV3ZWJsaWdodC5jb20KfHxnb29nbGV6aXAubmV0 +Cnx8Z3JvdXBzLmdvb2dsZS5jbgp8fGdzdGF0aWMuY29tCnx8Z3Z0MC5jb20KfHxn +dnQxLmNvbQp8fGd2dDMuY29tCnx8Z3d0cHJvamVjdC5vcmcKfHxodG1sNXJvY2tz +LmNvbQp8fGlhbS5zb3kKfHxpZ29vZ2xlLmNvbQp8fGl0YXNvZnR3YXJlLmNvbQp8 +fGxpa2UuY29tCnx8bWFkZXdpdGhjb2RlLmNvbQp8fG1hdGVyaWFsLmlvCnx8bmlj +Lmdvb2dsZQp8fG9uMi5jb20KfHxwYW5vcmFtaW8uY29tCnx8cGljYXNhd2ViLmNv +bQp8fHBvbHltZXItcHJvamVjdC5vcmcKfHxxdWVzdHZpc3VhbC5jb20KfHxyZWNh +cHRjaGEubmV0Cnx8cmVkaG90bGFicy5jb20KfHxyZWdpc3RyeS5nb29nbGUKfHxz +Y2hlbWEub3JnCnxodHRwOi8vc2lwbWw1Lm9yZy8KfHxzdG9yaWVzLmdvb2dsZQp8 +fHN5bmVyZ3lzZS5jb20KfHx0ZW5zb3JmbG93Lm9yZwp8fHRoaW5rd2l0aGdvb2ds +ZS5jb20KfHx0aWx0YnJ1c2guY29tCiEtLXx8d3d3Lmdvb2dsZQp8fHdhdmVwcm90 +b2NvbC5vcmcKfHx3YXltby5jb20KfHx3ZWJtcHJvamVjdC5vcmcKfHx3ZWJydGMu +b3JnCnx8d2hhdGJyb3dzZXIub3JnCnx8d2l0aGdvb2dsZS5jb20KfHx5b3V0dS5i +ZQoueW91dHViZS5jb20KfHx5b3V0dWJlLmNvbQp8fHlvdXR1YmUtbm9jb29raWUu +Y29tCnx8eW91dHViZWVkdWNhdGlvbi5jb20KfHx5b3V0dWJlZ2FtaW5nLmNvbQp8 +fHl0aW1nLmNvbQp8fHp5bmFtaWNzLmNvbQoKISEtLS1LaWNrQVNTLS0tCiEtLU9G +RklDSUFMIFVSTCBsaXN0IGF0OiBodHRwczovL2thc3RhdHVzLmNvbQoua2F0LmNy +CgohIS0tLU5hdWdodHlBbWVyaWNhLS0tCnx8bmF1Z2h0eWFtZXJpY2EuY29tCgoh +IS0tLVYyRVgtLS0KLnYyZXguY29tCiEtLUluY2x1ZGVkIGluIGFib3ZlIHJ1bGU6 +IGRucy52MmV4LmNvbQpAQHxodHRwOi8vdjJleC5jb20KQEB8aHR0cDovL2Nkbi52 +MmV4LmNvbQpAQHxodHRwOi8vY24udjJleC5jb20KQEB8aHR0cDovL2hrLnYyZXgu +Y29tCkBAfGh0dHA6Ly9pLnYyZXguY29tCkBAfGh0dHA6Ly9sYXgudjJleC5jb20K +QEB8aHR0cDovL25ldWUudjJleC5jb20KQEB8aHR0cDovL3BhZ2VzcGVlZC52MmV4 +LmNvbQpAQHxodHRwOi8vc3RhdGljLnYyZXguY29tCkBAfGh0dHA6Ly93b3Jrc3Bh +Y2UudjJleC5jb20KQEB8aHR0cDovL3d3dy52MmV4LmNvbQoKIS0tLS0tLS0tLS0t +LS0tLS0tLU51bWVyaWNzLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi4wMzBidXkuY29t +Ci4wcnoudHcKfGh0dHA6Ly8wcnoudHcKfHwwdG8yNTUuY29tCjEtYXBwbGUuY29t +LnR3Cnx8MS1hcHBsZS5jb20udHcKLjEwMGtlLm9yZwouMTAwMGdpcmkubmV0Cnx8 +MTAwMGdpcmkubmV0Ci4xMGNvbmRpdGlvbnNvZmxvdmUuY29tCnx8MTBtdXN1bWUu +Y29tCjEyM3JmLmNvbQouMTJiZXQuY29tCnx8MTJiZXQuY29tCi4xMnZwbi5jb20K +LjEydnBuLm5ldAp8fDEydnBuLmNvbQp8fDEydnBuLm5ldAoxNDFob25na29uZy5j +b20vZm9ydW0KLjE0MXR1YmUuY29tCi4xNjg4LmNvbS5hdQouMTczbmcuY29tCnx8 +MTczbmcuY29tCi4xNzdwaWMuaW5mbwouMTd0MTdwLmNvbQoxOG9ubHlnaXJscy5j +b20KLjE4dmlyZ2luc2V4LmNvbQouMTk0OWVyLm9yZwp6aGFvLjE5ODQuY2l0eQp8 +fHpoYW8uMTk4NC5jaXR5CjE5ODRiYnMuY29tCnx8MTk4NGJicy5jb20KIS0tfHwx +OTg0YmxvZy5jb20KLjE5ODRiYnMub3JnCnx8MTk4NGJicy5vcmcKLjE5OTF3YXku +Y29tCnx8MTk5MXdheS5jb20KLjE5OThjZHAub3JnCi4xYmFvLm9yZwp8aHR0cDov +LzFiYW8ub3JnCi4xZWV3LmNvbQouMW1vYmlsZS5jb20KfGh0dHA6Ly8qLjFtb2Jp +bGUudHcKfHwxcG9uZG8udHYKLjItaGFuZC5pbmZvCi4yMDAwZnVuLmNvbS9iYnMK +LjIwMDh4aWFuemhhbmcuaW5mbwp8fDIwMDh4aWFuemhhbmcuaW5mbwp8fDIwMTcu +aGsKMjFhbmR5LmNvbS9ibG9nCi4yMXByb24uY29tCjIxc2V4dHVyeS5jb20KLjIy +OC5uZXQudHcKfHwyNGhycy5jYQoyNHNtaWxlLm9yZwoybGlwc3R1YmUuY29tCi4y +c2hhcmVkLmNvbQozMGJveGVzLmNvbQouMzE1bHouY29tCnx8MzJyZWQuY29tCnx8 +MzZyYWluLmNvbQouM2E1YS5jb20KM2FyYWJ0di5jb20KLjNib3lzMmdpcmxzLmNv +bQouM3Byb3h5LnJ1Ci4zcmVuLmNhCi4zdHVpLm5ldAp8fDRibHVlc3RvbmVzLmJp +egohLS18fDRjaGFuLm9yZwouNGV2ZXJwcm94eS5jb20KfHw0ZXZlcnByb3h5LmNv +bQp8fDRyYnR2LmNvbQp8fDRzaGFyZWQuY29tCnRhaXdhbm5hdGlvbi41MHdlYnMu +Y29tCnx8NTEuY2EKfHw1MWphdi5vcmcKLjUxbHVvYmVuLmNvbQp8fDUxbHVvYmVu +LmNvbQouNTI3OC5jYwo1YWltaWt1LmNvbQo1aTAxLmNvbQouNWlzb3RvaTUub3Jn +Ci41bWFvZGFuZy5jb20KfHw2M2kuY29tCi42NG11c2V1bS5vcmcKNjR0aWFud2Fu +Zy5jb20KNjR3aWtpLmNvbQouNjYuY2EKNjY2a2IuY29tCjZwYXJrLmNvbQp8fDZw +YXJrLmNvbQp8fDdjYXB0dXJlLmNvbQouN2Nvdy5jb20KLjgtZC5jb20KfGh0dHA6 +Ly84LWQuY29tCjg1Y2MubmV0CnxodHRwOi8vODVzdC5jb20KLjg4MTkwMy5jb20v +cGFnZS96aC10dy8KfHw4ODE5MDMuY29tCi44ODguY29tCi44ODhwb2tlci5jb20K +ODktNjQub3JnCnx8ODktNjQub3JnCi44bmV3cy5jb20udHcKLjh6MS5uZXQKfHw4 +ejEubmV0Ci45MDAxNzAwLmNvbQp8aHR0cDovLzkwOHRhaXdhbi5vcmcvCnx8OTFw +b3JuLmNvbQouOTJjY2F2LmNvbQouOTkxLmNvbQp8aHR0cDovLzk5MS5jb20KLjk5 +YnRnYzAxLmNvbQp8fDk5YnRnYzAxLmNvbQouOTljbi5pbmZvCnxodHRwOi8vOTlj +bi5pbmZvCnx8OWJpcy5jb20KfHw5YmlzLm5ldAoKIS0tLS0tLS0tLS0tLS0tLS0t +LS0tQUEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi50aWJldC5hLnNlCnxodHRw +Oi8vdGliZXQuYS5zZQp8fGEtbm9ybWFsLWRheS5jb20KYTUuY29tLnJ1CnxodHRw +Oi8vYWFtYWNhdS5jb20KIS0tfGh0dHA6Ly9jZG4qLmFiYy5jb20vCi5hYmMuY29t +Ci5hYmNoaW5lc2UuY29tCi5hYmx3YW5nLmNvbQouYWJvbHVvd2FuZy5jb20KfHxh +Ym9sdW93YW5nLmNvbQouYWJvdXRnZncuY29tCi5hYnMuZWR1Ci5hY2NpbS5vcmcK +LmFjZXJvcy1kZS1oaXNwYW5pYS5jb20KLmFjZXZwbi5jb20KfHxhY2V2cG4uY29t +Ci5hY2cxOC5tZQp8aHR0cDovL2FjZzE4Lm1lCnx8YWNna2ouY29tCi5hY253LmNv +bS5hdQphY3RpbWVzLmNvbS5hdQphY3RpdnBuLmNvbQp8fGFjdGl2cG4uY29tCnx8 +YWN1bG8udXMKfHxhZGRpY3RlZHRvY29mZmVlLmRlCi5hZGVsYWlkZWJicy5jb20v +YmJzCi5hZHBsLm9yZy5oawp8aHR0cDovL2FkcGwub3JnLmhrCi5hZHVsdC1zZXgt +Z2FtZXMuY29tCnx8YWR1bHQtc2V4LWdhbWVzLmNvbQphZHVsdGZyaWVuZGZpbmRl +ci5jb20KYWR1bHRrZWVwLm5ldC9wZWVwc2hvdy9tZW1iZXJzL21haW4uaHRtCnx8 +YWR2YW5zY2VuZS5jb20KfHxhZHZlcnRmYW4uY29tCi5hZS5vcmcKfHxhZW5oYW5j +ZXJzLmNvbQp8fGFmLm1pbAouYWZhbnRpYmJzLmNvbQp8aHR0cDovL2FmYW50aWJi +cy5jb20KLmFpLWthbi5uZXQKfHxhaS1rYW4ubmV0CmFpLXdlbi5uZXQKLmFpcGgu +bmV0Cnx8YWlwaC5uZXQKfHxhaXJjb25zb2xlLmNvbQp8aHR0cDovL2Rvd25sb2Fk +LmFpcmNyYWNrLW5nLm9yZwouYWlydnBuLm9yZwp8fGFpcnZwbi5vcmcKLmFpc2V4 +LmNvbQp8fGFpdC5vcmcudHcKYWl3ZWl3ZWkuY29tCi5haXdlaXdlaWJsb2cuY29t +Cnx8YWl3ZWl3ZWlibG9nLmNvbQp8fHd3dy5hanNhbmRzLmNvbQoKISEtLS1Ba2Ft +YWktLS0KfGh0dHBzOi8vZmJjZG4qLmFrYW1haWhkLm5ldC8KYTI0OC5lLmFrYW1h +aS5uZXQKfHxhMjQ4LmUuYWthbWFpLm5ldAp2b2EtMTEuYWthY2FzdC5ha2FtYWlz +dHJlYW0ubmV0CgouYWthZGVtaXllLm9yZy91Zwp8aHR0cDovL2FrYWRlbWl5ZS5v +cmcvdWcKfHxha2liYS1vbmxpbmUuY29tCnx8YWwtcWltbWFoLm5ldAp8fGFsYWJv +dXQuY29tCi5hbGFuaG91LmNvbQp8aHR0cDovL2FsYW5ob3UuY29tCnx8YWxhc2Jh +cnJpY2FkYXMub3JnCmFsZXhsdXIub3JnCnx8YWxmb3JhdHR2Lm5ldAouYWxoYXlh +dC5jb20KLmFsaWNlamFwYW4uY28uanAKYWxpZW5ndS5jb20KfHxhbGthc2lyLmNv +bQp8fGFsbGNvbm5lY3RlZC5jbwouYWxsZHJhd25zZXguY29tCnx8YWxsZHJhd25z +ZXguY29tCnx8YWxsZmluZWdpcmxzLmNvbQouYWxsZ2lybG1hc3NhZ2UuY29tCmFs +bGdpcmxzYWxsb3dlZC5vcmcKYWxsaWFuY2Uub3JnLmhrCi5hbGxpbmZhLmNvbQp8 +aHR0cDovL2FsbGluZmEuY29tCi5hbGxqYWNrcG90c2Nhc2luby5jb20KfHxhbGxt +b3ZpZS5jb20KLmFscGhhcG9ybm8uY29tCnx8YWx0ZXJuYXRlLXRvb2xzLmNvbQph +bHRlcm5hdGl2ZXRvLm5ldC9zb2Z0d2FyZQphbHZpbmFsZXhhbmRlci5jb20KYWx3 +YXlzZGF0YS5jb20KfHxhbHdheXNkYXRhLmNvbQp8fGFsd2F5c2RhdGEubmV0Ci5h +bHdheXN2cG4uY29tCnx8YWx3YXlzdnBuLmNvbQp8fGFtNzMwLmNvbS5oawphbWF6 +b24uY29tL1ByaXNvbmVyLVN0YXRlLVNlY3JldC1Kb3VybmFsLVByZW1pZXIKYW1l +YmxvLmpwCnx8YW1lYmxvLmpwCnd3dzEuYW1lcmljYW4uZWR1L3RlZC9pY2UvdGli +ZXQKfHxhbWVyaWNhbmdyZWVuY2FyZC5jb20KfGh0dHA6Ly93d3cuYW1lcmljb3Jw +cy5nb3YKfHxhbWlibG9ja2Vkb3Jub3QuY29tCi5hbWlnb2Jicy5uZXQKLmFtaXRh +YmhhZm91bmRhdGlvbi51cwp8aHR0cDovL2FtaXRhYmhhZm91bmRhdGlvbi51cwou +YW1uZXN0eS5vcmcKfHxhbW5lc3R5Lm9yZwouYW1uZXN0eS50dwouYW1uZXN0eXVz +YS5vcmcKfHxhbW5lc3R5dXNhLm9yZwouYW1ueWVtYWNoZW4ub3JnCi5hbW9paXN0 +LmNvbQphbmRyb2lkcGx1cy5jby9hcGsKLmFuZHlnb2QuY29tCnxodHRwOi8vYW5k +eWdvZC5jb20KYW5uYXRhbS5jb20vY2hpbmVzZQp8fGFuY2hvcmZyZWUuY29tCiEt +LUdIUwp8fGFuY3Njb25mLm9yZwp8fGFuZGZhcmF3YXkubmV0Cnx8YW5kcm9pZC14 +ODYub3JnCmFuZ2VsZmlyZS5jb20vaGkvaGF5YXNoaQp8fGFuZ3VsYXJqcy5vcmcK +YW5pbWVjcmF6eS5uZXQKLmFuaW1lc2hpcHB1dWRlbi5jb20KYW5pc2NhcnR1am8u +Y29tCnx8YW5pc2NhcnR1am8uY29tCnx8YW5vYmlpLmNvbQouYW5vbnltaXR5bmV0 +d29yay5jb20KLmFub255bWl6ZXIuY29tCmFub250ZXh0LmNvbQouYW5wb3BvLmNv +bQouYW5zd2VyaW5nLWlzbGFtLm9yZwp8aHR0cDovL3d3dy5hbnRkLm9yZwp8fGFu +dGhvbnljYWx6YWRpbGxhLmNvbQouYW50aTE5ODQuY29tCmFudGljaHJpc3RlbmRv +bS5jb20KLmFudGl3YXZlLm5ldAp8aHR0cDovL2FudGl3YXZlLm5ldAouYW55c2V4 +LmNvbQp8aHR0cDovL2FueXNleC5jb20KfHxhb2JvLmNvbS5hdQouYW9mcmllbmQu +Y29tCnxodHRwOi8vYW9mcmllbmQuY29tCi5hb2ZyaWVuZC5jb20uYXUKLmFvamlh +by5vcmcKfHxhb2xjaGFubmVscy5hb2wuY29tCnZpZGVvLmFvbC5jYS92aWRlby1k +ZXRhaWwKdmlkZW8uYW9sLmNvLnVrL3ZpZGVvLWRldGFpbAp2aWRlby5hb2wuY29t +Cnx8dmlkZW8uYW9sLmNvbQp8fHNlYXJjaC5hb2wuY29tCnd3dy5hb2xuZXdzLmNv +bQp8fGFvbWl3YW5nLmNvbQp2aWRlby5hcC5vcmcKLmFwZXR1YmUuY29tCnx8YXBp +YXJ5LmlvCi5hcGlnZWUuY29tCnx8YXBpZ2VlLmNvbQphcGstZGwuY29tCmFwa2Rs +ZXIuY29tL2Fway92aWV3Ci5hcGttb25rLmNvbS9hcHAKfHxhcGtwbHouY29tCmFw +a3B1cmUuY29tCnx8YXBrcHVyZS5jb20KLmFwbHVzdnBuLmNvbQohLS18fGFwcGFu +bmllLmNvbQouYXBwZG93bmxvYWRlci5uZXQvQW5kcm9pZAphcHBsZWRhaWx5LmNv +bQp8fGFwcHNvY2tzLm5ldAp8fGFwcHN0by5yZQp8fGFyY2hpdmVzLmdvdgouYXJj +aGl2ZS5pcwp8aHR0cDovL2FyY2hpdmUuaXMKLmFyY2hpdmUuZm8KfHxhcmNoaXZl +Lm9yZwouYXJjdG9zaWEuY29tCnxodHRwOi8vYXJjdG9zaWEuY29tCnx8YXJlY2Et +YmFja3VwLm9yZwouYXJldGh1c2Euc3UKfHxhcmV0aHVzYS5zdQp8fGFybGluZ3Rv +bmNlbWV0ZXJ5Lm1pbAp8fGFybXkubWlsCnx8YXJzdGVjaG5pY2EuY29tCi5hcnQ0 +dGliZXQxOTk4Lm9yZwphcnRvZnBlYWNlZm91bmRhdGlvbi5vcmcKYXJ0c3kubmV0 +Cnx8YXNhY3Aub3JnCi5hc2FoaWNoaW5lc2UuY29tCnx8YXNhaGljaGluZXNlLmNv +bQphc2RmZy5qcC9kYWJyCmFzZy50bwouYXNpYS1nYW1pbmcuY29tCi5hc2lhaGFy +dmVzdC5vcmcKfHxhc2lhaGFydmVzdC5vcmcKYXNpYW5ld3MuaXQKfGh0dHA6Ly9q +YXBhbmZpcnN0LmFzaWFuZnJlZWZvcnVtLmNvbS8KfHxhc2lhbnNleGRpYXJ5LmNv +bQp8fGFzaWFud29tZW5zZmlsbS5kZQouYXNpYXRncC5jb20KLmFzaWF0b2RheS51 +cwp8fGFza3N0dWRlbnQuY29tCi5hc2t5bnoubmV0Cnx8YXNreW56Lm5ldAp8fGFz +c2VtYmxhLmNvbQp8fGFzdHJpbGwuY29tCnx8YXRjLm9yZy5hdQouYXRjaGluZXNl +LmNvbQp8aHR0cDovL2F0Y2hpbmVzZS5jb20KYXRnZncub3JnCi5hdGxhc3Bvc3Qu +Y29tCnx8YXRsYXNwb3N0LmNvbQp8fGF0ZG10LmNvbQouYXRuZXh0LmNvbQp8fGF0 +bmV4dC5jb20KYXZhYXoub3JnCnx8YXZhYXoub3JnCiEtLXx8YXZhc3QuY29tCi5h +dmNpdHkudHYKLmF2Y29vbC5jb20KLmF2ZGIuaW4KfHxhdmRiLmluCi5hdmRiLnR2 +Cnx8YXZkYi50dgouYXZmYW50YXN5LmNvbQp8fGF2aWRlbXV4Lm9yZwp8fGF2b2lz +aW9uLmNvbQouYXZ5YWhvby5jb20KfHxheHVyZWZvcm1hYy5jb20KLmF6ZXJiYXlj +YW4udHYKYXplcmltaXguY29tCiEtLWJveHVuLmF6dXJld2Vic2l0ZXMubmV0IGRv +ZXNuJ3QgZXhpc3QuCmJveHVuKi5henVyZXdlYnNpdGVzLm5ldAp8fGJveHVuKi5h +enVyZXdlYnNpdGVzLm5ldAoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tQkItLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tCmZvcnVtLmJhYnkta2luZ2RvbS5jb20KYmFieW5l +dC5jb20uaGsKYmFja2NoaW5hLmNvbQp8fGJhY2tjaGluYS5jb20KLmJhY2twYWNr +ZXJzLmNvbS50dy9mb3J1bQpiYWNrdG90aWFuYW5tZW4uY29tCi5iYWRqb2pvLmNv +bQpiYWRvby5jb20KfGh0dHA6Ly8qMi5iYWhhbXV0LmNvbS50dwp8fGJhaWR1Lmpw +Cnx8YmFpbGFuZGFpbHkuY29tCnx8YmFpeGluZy5tZQp8fGJha2dlZWtob21lLnRr +Ci5iYW5hbmEtdnBuLmNvbQp8fGJhbmFuYS12cG4uY29tCi5iYW5kd2Fnb25ob3N0 +LmNvbQp8fGJhbmR3YWdvbmhvc3QuY29tCi5iYW5nYnJvc25ldHdvcmsuY29tCi5i +YW5nY2hlbi5uZXQKfGh0dHA6Ly9iYW5nY2hlbi5uZXQKfHxiYW5neW91bGF0ZXIu +Y29tCmJhbm5lZGJvb2sub3JnCnx8YmFubmVkYm9vay5vcmcKLmJhbm5lZG5ld3Mu +b3JnCi5iYXJlbmFrZWRpc2xhbS5jb20KfHxiYXJuYWJ1LmNvLnVrCmJhcnR2cG4u +Y29tCi5iYXN0aWxsZXBvc3QuY29tCmJheXZvaWNlLm5ldAp8fGJheXZvaWNlLm5l +dApkYWp1c2hhLmJheXdvcmRzLmNvbQp8fGJiY2hhdC50dgp8fGJiLWNoYXQudHYK +LmJiYy5jby51ay9jaGluZXNlCi5iYmMuY28udWsvbmV3cy93b3JsZC1hc2lhLWNo +aW5hCi5iYmMuY28udWsvdHYKLmJiYy5jby51ay96aG9uZ3dlbgouYmJjLmNvbS91 +a2NoaW5hCi5iYmMuY29tL3pob25nd2VuCm5ld3MuYmJjLmNvLnVrL29udGhpc2Rh +eSpuZXdzaWRfMjQ5NjAwMC8yNDk2Mjc3Cm5ld3Nmb3J1bXMuYmJjLmNvLnVrCi5i +YmNjaGluZXNlLmNvbQp8fGJiY2NoaW5lc2UuY29tCnxodHRwOi8vYmJjLmluCi5i +YmcuZ292Ci5iYmt6LmNvbS9mb3J1bQouYmJucmFkaW8ub3JnCmJicy10dy5jb20K +LmJic2RpZ2VzdC5jb20vdGhyZWFkCnx8YmJzZmVlZC5jb20KYmJzbGFuZC5jb20K +LmJic21vLmNvbQouYmJzb25lLmNvbQpiYnRveXN0b3JlLmNvbQouYmNhc3QuY28u +bnoKLmJjYy5jb20udHcvYm9hcmQKLmJjY2hpbmVzZS5uZXQKLmJjbW9ybmluZy5j +b20KYmRzbXZpZGVvcy5uZXQKLmJlYWNvbmV2ZW50cy5jb20KLmJlYm8uY29tCnx8 +YmViby5jb20KLmJlZXZwbi5jb20KfHxiZWV2cG4uY29tCi5iZWhpbmRraW5rLmNv +bQp8fGJlaWppbmcxOTg5LmNvbQpiZWlqaW5nc3ByaW5nLmNvbQp8fGJlaWppbmdz +cHJpbmcuY29tCi5iZWxhbWlvbmxpbmUuY29tCi5iZWxsLndpa2kKfGh0dHA6Ly9i +ZWxsLndpa2kKYmVteXdpZmUuY2MKYmVyaWMubWUKLmJlcmxpbnR3aXR0ZXJ3YWxs +LmNvbQp8fGJlcmxpbnR3aXR0ZXJ3YWxsLmNvbQouYmVybS5jby5uegouYmVzdGZv +cmNoaW5hLm9yZwp8fGJlc3Rmb3JjaGluYS5vcmcKfHxiZXN0dnBuLmNvbQouYmVz +dHZwbnNlcnZlci5jb20KLmJlc3R2cG5zZXJ2aWNlLmNvbQouYmVzdHZwbnVzYS5j +b20KfHxiZXQzNjUuY29tCi5iZXRmYWlyLmNvbQouYmV0dGVydnBuLmNvbQp8fGJl +dHRlcnZwbi5jb20KLmJldHR3ZWVuLmNvbQp8fGJldHR3ZWVuLmNvbQp8fGJldHZp +Y3Rvci5jb20KLmJld3d3Lm5ldAouYmV5b25kZmlyZXdhbGwuY29tCnx8YmZubi5v +cmcKfHxiZnNoLmhrCi5iZ3Zwbi5jb20KfHxiZ3Zwbi5jb20KYmlhbnRhaWxhamlh +by5jb20KYmlhbnRhaWxhamlhby5pbgouYmlibGVzZm9yYW1lcmljYS5vcmcKfGh0 +dHA6Ly9iaWJsZXNmb3JhbWVyaWNhLm9yZwouYmljMjAxMS5vcmcKYmlnZm9vbHMu +Y29tCnx8YmlnamFwYW5lc2VzZXguY29tCi5iaWduZXdzLm9yZwp8fGJpZ25ld3Mu +b3JnCi5iaWdzb3VuZC5vcmcKfGh0dHA6Ly9iaWxseXBhbi5jb20vd2lraQp8fGJp +bGx5d3IuY29tCmJpcGljLm5ldAouYml0LmRvCnxodHRwOi8vYml0LmRvCi5iaXQu +bHkKfGh0dHA6Ly9iaXQubHkKIS0tfHxiaXRidWNrZXQub3JnCnx8Yml0Y29pbnRh +bGsub3JnCi5iaXRzaGFyZS5jb20KfHxiaXRzaGFyZS5jb20KYml0c25vb3AuY29t +CmJpemhhdC5jb20KfHxibC1kb3VqaW5zb3Vrby5jb20KLmJqbmV3bGlmZS5vcmcK +LmJqcy5vcmcKYmp6Yy5vcmcKfHxianpjLm9yZwouYmxhY2tsb2dpYy5jb20KLmJs +YWNrdnBuLmNvbQp8fGJsYWNrdnBuLmNvbQp0b3IuYmxpbmdibGluZ3NxdWFkLm5l +dAouYmxpbmt4LmNvbQp8fGJsaW5reC5jb20KYmxpbncuY29tCi5ibGlwLnR2Cnx8 +YmxpcC50di8KLmJsb2NrY24uY29tCnx8YmxvY2tjbi5jb20KfHxibG9ja2xlc3Mu +Y29tCnx8YmxvZy5kZQouYmxvZy5qcAp8aHR0cDovL2Jsb2cuanAKfHxibG9nYmxv +Zy5jb20KLmJsb2djYXRhbG9nLmNvbQp8fGJsb2djYXRhbG9nLmNvbQp8fGJsb2dj +aXR5Lm1lCi5ibG9nZ2VyLmNvbQp8fGJsb2dnZXIuY29tCmJsb2dpbWcuanAKfHxi +bG9nLmthbmd5ZS5vcmcKLmJsb2dsaW5lcy5jb20KfHxibG9nbGluZXMuY29tCnx8 +YmxvZ2xvdmluLmNvbQpyY29udmVyc2F0aW9uLmJsb2dzLmNvbQpibG9ndGQubmV0 +Ci5ibG9ndGQub3JnCnxodHRwOi8vYmxvZ3RkLm9yZwp8fGJsb29kc2hlZC5uZXQK +LmJsb29tYmVyZy5jbgp8fGJsb29tYmVyZy5jbgouYmxvb21iZXJnLmNvbQp8fGJs +b29tYmVyZy5jb20KYmxvb21iZXJnLmRlCnx8Ymxvb21iZXJnLmRlCnx8Ymxvb21m +b3J0dW5lLmNvbQpibHVlYW5nZWxsaXZlLmNvbQouYm1maW5uLmNvbQp8fGJucm1l +dGFsLmNvbQpib2FyZHJlYWRlci5jb20vdGhyZWFkCnx8Ym9hcmRyZWFkZXIuY29t +Ci5ib2QuYXNpYQp8aHR0cDovL2JvZC5hc2lhCi5ib2RvZzg4LmNvbQouYm9sZWh2 +cG4ubmV0Cnx8Ym9sZWh2cG4ubmV0CmJvbmJvbm1lLmNvbQouYm9uYm9uc2V4LmNv +bQouYm9uZm91bmRhdGlvbi5vcmcKLmJvbmdhY2Ftcy5jb20KfHxib29ic3RhZ3Jh +bS5jb20KfHxib29rLmNvbS50dwpib29rZXB1Yi5jb20KfHxib29rcy5jb20udHcK +fHxib3RhbndhbmcuY29tCi5ib3QubnUKLmJvd2VucHJlc3MuY29tCnx8Ym93ZW5w +cmVzcy5jb20KfHxhcHAuYm94LmNvbQpkbC5ib3gubmV0Cnx8ZGwuYm94Lm5ldAou +Ym94cG4uY29tCnx8Ym94cG4uY29tCmJveHVuLmNvbQp8fGJveHVuLmNvbQouYm94 +dW4udHYKfHxib3h1bi50dgpib3h1bmJsb2cuY29tCnx8Ym94dW5ibG9nLmNvbQou +Ym94dW5jbHViLmNvbQpib3lhbmd1LmNvbQouYm95ZnJpZW5kdHYuY29tCi5ib3lz +Zm9vZC5jb20KfHxici5zdAouYnJhaW55cXVvdGUuY29tL3F1b3Rlcy9hdXRob3Jz +L2QvZGFsYWlfbGFtYQp8fGJyYW5kb25odXRjaGluc29uLmNvbQp8fGJyYXVtZWlz +dGVyLm9yZwouYnJhdm90dWJlLm5ldAp8fGJyYXZvdHViZS5uZXQKLmJyYXp6ZXJz +LmNvbQp8fGJyYXp6ZXJzLmNvbQouYnJlYWsuY29tCnx8YnJlYWsuY29tCmJyZWFr +Z2Z3LmNvbQouYnJlYWtpbmd0d2VldHMuY29tCnx8YnJlYWtpbmd0d2VldHMuY29t +Cnx8YnJlYWt3YWxsLm5ldApicmlpYW4uY29tLzY1MTEvZnJlZWdhdGUKLmJyaWVm +ZHJlYW0uY29tLyVFNyVCNCVBMCVFNiVBMyVCQQpicml6emx5LmNvbQp8fGJyaXp6 +bHkuY29tCmJyb2FkYm9vay5jb20KLmJyb2FkcHJlc3NpbmMuY29tCnx8YnJvYWRw +cmVzc2luYy5jb20KYmJzLmJyb2NrYmJzLmNvbQpicnVjZXdhbmcubmV0Ci5icnV0 +YWx0Z3AuY29tCnx8YnJ1dGFsdGdwLmNvbQouYnQybWFnLmNvbQp8fGJ0OTUuY29t +Ci5idGFpYS5jb20KfGh0dHA6Ly9idGRpZ2cub3JnCi5idGt1Lm1lCnx8YnRrdS5t +ZQp8fGJ0a3Uub3JnCi5idHNwcmVhZC5jb20KLmJ1ZGFlZHUub3JnCnx8YnVkYWVk +dS5vcmcKLmJ1ZGRoYW5ldC5jb20udHcvemZyb3AvdGliZXQKLmJ1ZGRoaXN0Y2hh +bm5lbC50dgouYnVmZmVyZWQuY29tCnxodHRwOi8vYnVmZmVyZWQuY29tCi5idWxs +b2cub3JnCnx8YnVsbG9nLm9yZwouYnVsbG9nZ2VyLmNvbQp8fGJ1bGxvZ2dlci5j +b20KYnVuYnVuaGsuY29tCi5idXNheWFyaS5jb20KfGh0dHA6Ly9idXNheWFyaS5j +b20KLmJ1c2luZXNzaW5zaWRlci5jb20vYmluZy1jb3VsZC1iZS1jZW5zb3Jpbmct +c2VhcmNoLXJlc3VsdHMtMjAxNAouYnVzaW5lc3NpbnNpZGVyLmNvbS9jaGluYS1i +YW5rcy1wcmVwYXJpbmctZm9yLWRlYnQtaW1wbG9zaW9uLTIwMTQKLmJ1c2luZXNz +aW5zaWRlci5jb20vaG9uZy1rb25nLWFjdGl2aXN0cy1kZWZ5LXBvbGljZS10ZWFy +LWdhcy1hcy1wcm90ZXN0cy1jb250aW51ZS1vdmVybmlnaHQtMjAxNAouYnVzaW5l +c3NpbnNpZGVyLmNvbS9pbnRlcm5ldC1vdXRhZ2VzLXJlcG9ydGVkLWluLW5vcnRo +LWtvcmVhLTIwMTQKLmJ1c2luZXNzaW5zaWRlci5jb20vaXBob25lLTYtaXMtYXBw +cm92ZWQtZm9yLXNhbGUtaW4tY2hpbmEtMjAxNAouYnVzaW5lc3NpbnNpZGVyLmNv +bS9uZmwtYW5ub3VuY2Vycy1zdXJmYWNlLXRhYmxldHMtMjAxNAouYnVzaW5lc3Np +bnNpZGVyLmNvbS91bWJyZWxsYS1tYW4taG9uZy1rb25nLTIwMTQKfGh0dHA6Ly9z +dGF0aWMqLmJ1c2luZXNzaW5zaWRlci5jb20vCnxodHRwOi8vd3d3LmJ1c2luZXNz +aW5zaWRlci5jb20uYXUvKgouYnVzaW5lc3N3ZWVrLmNvbQouYnVzdS5vcmcvbmV3 +cwp8aHR0cDovL2J1c3Uub3JnL25ld3MKYnVzeXRyYWRlLmNvbQouYnV1Z2FhLmNv +bQouYnV6emhhbmQuY29tCi5idXp6aGFuZC5uZXQKLmJ1enpvcmFuZ2UuY29tCnx8 +YnV6em9yYW5nZS5jb20KYndzai5oawp8fGJ4LnRsCmhvbHouYnlldGhvc3Q4LmNv +bQoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tQ0MtLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tCi5jLXNwYW52aWRlby5vcmcKfHxjLXNwYW52aWRlby5vcmcKfHxjLWVzdC1z +aW1wbGUuY29tCi5jMTAwdGliZXQub3JnCnx8Y2FibGVnYXRlc2VhcmNoLm5ldAou +Y2FjaGluZXNlLmNvbQouY2FjbncuY29tCnxodHRwOi8vY2FjbncuY29tCi5jYWN0 +dXN2cG4uY29tCnx8Y2FjdHVzdnBuLmNvbQouY2FmZXByZXNzLmNvbQouY2Foci5v +cmcudHcKLmNhbGFtZW8uY29tL2Jvb2tzCmNuLmNhbGFtZW8uY29tCnxodHRwOi8v +Y24uY2FsYW1lby5jb20KLmNhbGdhcnljaGluZXNlLmNhCi5jYWxnYXJ5Y2hpbmVz +ZS5jb20KLmNhbGdhcnljaGluZXNlLm5ldAp8aHR0cDovL2Jsb2cuY2FsaWJyZS1l +Ym9vay5jb20KZmFsdW4uY2FsdGVjaC5lZHUKLml0cy5jYWx0ZWNoLmVkdS9+ZmFs +dW4vCi5jYW00LmNvbQouY2FtNC5qcAouY2FtNC5zZwouY2FtZnJvZy5jb20KfHxj +YW1mcm9nLmNvbQp8fGNhbXMuY29tCi5jYW1zLm9yZy5zZwpjYW5hZGFtZWV0LmNv +bQp8aHR0cDovL2Jicy5jYW50b25lc2UuYXNpYS8KIS0taHR0cDovL3d3dy5jYW50 +b25lc2UuYXNpYS9hY3Rpb24tYmJzLmh0bWwKLmNhbnl1Lm9yZwp8aHR0cDovL2Nh +bnl1Lm9yZwouY2FvLmltCi5jYW9iaWFuLmluZm8KfHxjYW9iaWFuLmluZm8KY2Fv +Y2hhbmdxaW5nLmNvbQp8fGNhb2NoYW5ncWluZy5jb20KLmNhcC5vcmcuaGsKfHxj +YXAub3JnLmhrCi5jYXJhYmluYXN5cGlzdG9sYXMuY29tCmNhcmRpbmFsa3VuZ2Zv +dW5kYXRpb24ub3JnCmNhcm1vdG9yc2hvdy5jb20KLmNhcnRvb25tb3ZlbWVudC5j +b20KLmNhc2FkZWx0aWJldGJjbi5vcmcKLmNhc2F0aWJldC5vcmcubXgKfGh0dHA6 +Ly9jYXNhdGliZXQub3JnLm14CmNhcmkuY29tLm15Cnx8Y2FyaWJiZWFuY29tLmNv +bQouY2FzaW5va2luZy5jb20KLmNhc2lub3JpdmEuY29tCnx8Y2F0Y2gyMi5uZXQK +fHxjYXRmaWdodHBheXBlcnZpZXcueHh4Ci5jYXRob2xpYy5vcmcuaGsKfHxjYXRo +b2xpYy5vcmcuaGsKY2F0aG9saWMub3JnLnR3Cnx8Y2F0aG9saWMub3JnLnR3Ci5j +YXRodm9pY2Uub3JnLnR3Cnx8Y2F0dHQuY29tCi5jYmMuY2EKfHxjYmMuY2EKLmNi +c25ld3MuY29tL3ZpZGVvCi5jYnRjLm9yZy5oawohLS5jY2MuZGUKIS18fGNjYy5k +ZQp8fGNjY2F0LmNjCi5jY2R0ci5vcmcKfHxjY2R0ci5vcmcKLmNjaGVyZS5jb20K +fHxjY2hlcmUuY29tCi5jY2ltLm9yZwouY2NsaWZlLmNhCmNjbGlmZS5vcmcKY2Ns +aWZlZmwub3JnCi5jY3RoZXJlLmNvbQp8fGNjdGhlcmUuY29tCi5jY3RvbmdiYW8u +Y29tL2FydGljbGUvMjA3ODczMgpjY3VlLmNhCmNjdWUuY29tCi5jY3ZvaWNlLmNh +Ci5jY3cub3JnLnR3Ci5jZ2RlcG90Lm9yZwp8aHR0cDovL2NnZGVwb3Qub3JnCnx8 +Y2Rib29rLm9yZwouY2RjcGFydHkuY29tCi5jZGVmLm9yZwp8fGNkZWYub3JnCnx8 +Y2RpZy5pbmZvCmNkanAub3JnCnx8Y2RqcC5vcmcKY2RuaW5zdGFncmFtLmNvbQp8 +fGNkbmluc3RhZ3JhbS5jb20KLmNkbmV3cy5jb20udHcKY2RwMTk4OS5vcmcKY2Rw +MTk5OC5vcmcKfHxjZHAxOTk4Lm9yZwpjZHAyMDA2Lm9yZwp8fGNkcDIwMDYub3Jn +Ci5jZHBhLnVybC50dwpjZHBldS5vcmcKY2RwdXNhLm9yZwpjZHB3ZWIub3JnCnx8 +Y2Rwd2ViLm9yZwpjZHB3dS5vcmcKfHxjZHB3dS5vcmcKfHxjZHcuY29tCi5jZWNj +Lmdvdgp8fGNlY2MuZ292Cnx8Y2VsbHVsby5pbmZvCnx8Y2VuZXdzLmV1Cnx8Y2Vu +dGVyZm9yaHVtYW5yZXByb2QuY29tCnx8Y2VudHJhbG5hdGlvbi5jb20KLmNlbnR1 +cnlzLm5ldAp8aHR0cDovL2NlbnR1cnlzLm5ldAouY2Zoa3Mub3JnLmhrCi5jZnRm +Yy5jb20KLmNnc3QuZWR1Ci5jaGFuZ2Uub3JnCnx8Y2hhbmdlLm9yZwouY2hhbmdw +LmNvbQp8fGNoYW5ncC5jb20KLmNoYW5nc2EubmV0CnxodHRwOi8vY2hhbmdzYS5u +ZXQKLmNoYXBtMjUuY29tCi5jaGF0dXJiYXRlLmNvbQouY2h1YW5nLXllbi5vcmcK +Y2hlbmdtaW5nbWFnLmNvbQouY2hlbmd1YW5nY2hlbmcuY29tCnx8Y2hlbmd1YW5n +Y2hlbmcuY29tCi5jaGVucG9rb25nLmNvbQouY2hlbnBva29uZy5uZXQKfGh0dHA6 +Ly9jaGVucG9rb25nLm5ldAp8fGNoZXJyeXNhdmUuY29tCi5jaGhvbmdiaS5vcmcK +Y2hpY2Fnb25jbXR2LmNvbQp8aHR0cDovL2NoaWNhZ29uY210di5jb20KLmNoaW5h +LXdlZWsuY29tCmNoaW5hMTAxLmNvbQp8fGNoaW5hMTAxLmNvbQp8fGNoaW5hMTgu +b3JnCnx8Y2hpbmEyMS5jb20KY2hpbmEyMS5vcmcKfHxjaGluYTIxLm9yZwouY2hp +bmE1MDAwLnVzCmNoaW5hYWZmYWlycy5vcmcKfHxjaGluYWFmZmFpcnMub3JnCnx8 +Y2hpbmFhaWQubWUKY2hpbmFhaWQudXMKY2hpbmFhaWQub3JnCmNoaW5hYWlkLm5l +dApjaGluYWNvbW1lbnRzLm9yZwp8fGNoaW5hY29tbWVudHMub3JnCmNoaW5hY2hh +bmdlLm9yZwpjaGluYWNoYW5uZWwuaGsKfHxjaGluYWNoYW5uZWwuaGsKLmNoaW5h +Y2l0eW5ld3MuYmUKLmNoaW5hZGlhbG9ndWUubmV0Ci5jaGluYWRpZ2l0YWx0aW1l +cy5uZXQKfHxjaGluYWRpZ2l0YWx0aW1lcy5uZXQKLmNoaW5hZWxlY3Rpb25zLm9y +Zwp8fGNoaW5hZWxlY3Rpb25zLm9yZwouY2hpbmFld2Vla2x5LmNvbQp8fGNoaW5h +ZXdlZWtseS5jb20KfHxjaGluYWZyZWVwcmVzcy5vcmcKLmNoaW5hZ2F0ZS5jb20K +Y2hpbmFnZWVrcy5vcmcKY2hpbmFnZncub3JnCnx8Y2hpbmFnZncub3JnCi5jaGlu +YWdvbmV0LmNvbQouY2hpbmFncmVlbnBhcnR5Lm9yZwp8fGNoaW5hZ3JlZW5wYXJ0 +eS5vcmcKLmNoaW5haG9yaXpvbi5vcmcKfHxjaGluYWhvcml6b24ub3JnCi5jaGlu +YWh1c2guY29tCi5jaGluYWlucGVyc3BlY3RpdmUuY29tCnx8Y2hpbmFpbnRlcmlt +Z292Lm9yZwpjaGluYWxhYm9yd2F0Y2gub3JnCmNoaW5hbGF3dHJhbnNsYXRlLmNv +bQouY2hpbmFwb3N0LmNvbS50dy90YWl3YW4vbmF0aW9uYWwvbmF0aW9uYWwtbmV3 +cwpjaGluYXhjaGluYS5jb20vaG93dG8KY2hpbmFsYXdhbmRwb2xpY3kuY29tCi5j +aGluYW11bGUuY29tCnx8Y2hpbmFtdWxlLmNvbQpjaGluYW16Lm9yZwouY2hpbmFw +cmVzcy5jb20ubXkKfHxjaGluYXByZXNzLmNvbS5teQouY2hpbmFyaWdodHNpYS5v +cmcKY2hpbmFzbWlsZS5uZXQvZm9ydW1zCmNoaW5hc29jaWFsZGVtb2NyYXRpY3Bh +cnR5LmNvbQp8fGNoaW5hc29jaWFsZGVtb2NyYXRpY3BhcnR5LmNvbQpjaGluYXNv +dWwub3JnCnx8Y2hpbmFzb3VsLm9yZwouY2hpbmFzdWNrcy5uZXQKLmNoaW5hdGlt +ZXMuY29tL3JlYWx0aW1lbmV3cy8yNjA0MDkvCnx8Y2hpbmF0b3BzZXguY29tCi5j +aGluYXRvd24uY29tLmF1CmNoaW5hdHdlZXBzLmNvbQpjaGluYXdheS5vcmcKLmNo +aW5hd29ya2VyLmluZm8KfHxjaGluYXdvcmtlci5pbmZvCmNoaW5heW91dGgub3Jn +LmhrCmNoaW5heXVhbm1pbi5vcmcKfHxjaGluYXl1YW5taW4ub3JnCi5jaGluZXNl +LWhlcm1pdC5uZXQKY2hpbmVzZS1sZWFkZXJzLm9yZwpjaGluZXNlLW1lbW9yaWFs +Lm9yZwouY2hpbmVzZWRhaWx5LmNvbQp8fGNoaW5lc2VkYWlseW5ld3MuY29tCi5j +aGluZXNlZGVtb2NyYWN5LmNvbQp8fGNoaW5lc2VkZW1vY3JhY3kuY29tCnx8Y2hp +bmVzZWdheS5vcmcKLmNoaW5lc2VuLmRlCnx8Y2hpbmVzZW4uZGUKLmNoaW5lc2Vw +ZW4ub3JnCi5jaGluZXNldGFsa3MubmV0L2NoCi5jaGluZ2NoZW9uZy5jb20KfHxj +aGluZ2NoZW9uZy5jb20KLmNoaW5tYW4ubmV0CnxodHRwOi8vY2hpbm1hbi5uZXQK +Y2hpdGh1Lm9yZwp8aHR0cDovL2Nobi5jaG9zdW4uY29tCmNubmV3cy5jaG9zdW4u +Y29tL2NsaWVudC9uZXdzL3Zpdy5hc3A/Y2F0ZT1DMDEmbWNhdGUKLmNocmRuZXQu +Y29tCnxodHRwOi8vY2hyZG5ldC5jb20KLmNocmlzdGlhbmZyZWVkb20ub3JnCnxo +dHRwOi8vY2hyaXN0aWFuZnJlZWRvbS5vcmcKY2hyaXN0aWFuc3R1ZHkuY29tCnx8 +Y2hyaXN0aWFuc3R1ZHkuY29tCmNocmlzdHVzcmV4Lm9yZy93d3cxL3NkYwp8fGNo +cm9tZWFkYmxvY2suY29tCi5jaHVib2xkLmNvbQpjaHVidW4uY29tCmNodWl6aS5u +ZXQKY2hyaXN0aWFudGltZXMub3JnLmhrCi5jaHJsYXd5ZXJzLmhrCnxodHRwOi8v +Y2hybGF3eWVycy5oawouY2h1cmNoaW5ob25na29uZy5vcmcvYjUvaW5kZXgucGhw +CnxodHRwOi8vY2h1cmNoaW5ob25na29uZy5vcmcvYjUvaW5kZXgucGhwCi5jaWVu +ZW4uY29tCi5jaW5lYXN0ZW50cmVmZi5kZQouY2lwZmcub3JnCnx8Y2lyY2xldGhl +YmF5Zm9ydGliZXQub3JnCi5jaXRpemVuY24uY29tCnx8Y2l0aXplbmNuLmNvbQp8 +aHR0cDovL2NpdGl6ZW5sYWIub3JnCnxodHRwOi8vd3d3LmNpdGl6ZW5sYWIub3Jn +Cnx8Y2l0aXplbnNjb21taXNzaW9uLmhrCi5jaXRpemVubGFiLm9yZwpjaXRpemVu +c3JhZGlvLm9yZwouY2l0eTM2NS5jYQp8aHR0cDovL2NpdHkzNjUuY2EKY2l0eTl4 +LmNvbQouY2l0eXRhbGsudHcvZXZlbnQKLmNpdmljcGFydHkuaGsKfHxjaXZpY3Bh +cnR5LmhrCi5jaXZpbGRpc29iZWRpZW5jZW1vdmVtZW50Lm9yZwpjaXZpbGhyZnJv +bnQub3JnCnx8Y2l2aWxocmZyb250Lm9yZwouY2l2aWxpYW5ndW5uZXIuY29tCi5j +aXZpbG1lZGlhLnR3Cnx8Y2l2aWxtZWRpYS50dwpwc2lwaG9uLmNpdmlzZWMub3Jn +Cnx8dnBuLmNqYi5uZXQKLmNrMTAxLmNvbQp8fGNrMTAxLmNvbQouY2xhcmlvbnBy +b2plY3Qub3JnL25ld3MvaXNsYW1pYy1zdGF0ZS1pc2lzLWlzaWwtcHJvcGFnYW5k +YQp8fGNsYXNzaWNhbGd1aXRhcmJsb2cubmV0Ci5jbGIub3JnLmhrCmNsZWFyaGFy +bW9ueS5uZXQKY2xlYXJ3aXNkb20ubmV0CmNsaW5pY2EtdGliZXQucnUKLmNsaXBm +aXNoLmRlCmNsb2FrcG9pbnQuY29tCnx8Y2x1YjEwNjkuY29tCmNtaS5vcmcudHcK +fGh0dHA6Ly93d3cuY21vaW5jLm9yZwpjbXAuaGt1LmhrCmhrdXBvcC5oa3UuaGsK +fHxjbXVsZS5jb20KfHxjbXVsZS5vcmcKfHxjbXMuZ292CnxodHRwOi8vdnBuLmNt +dS5lZHUKfGh0dHA6Ly92cG4uc3YuY211LmVkdQouY242LmV1Ci5jbmEuY29tLnR3 +Cnx8Y25hLmNvbS50dwouY25hYmMuY29tCi5jbmQub3JnCnx8Y25kLm9yZwpkb3du +bG9hZC5jbmV0LmNvbS9GcmVlZ2F0ZQouY25leC5vcmcuY24KLmNuaW5ldS5jb20K +d2lraS5jbml0dGVyLmNvbQouY25uLmNvbS92aWRlbwouY25wb2xpdGljcy5vcmcK +fHxjbnBvbGl0aWNzLm9yZwouY24tcHJveHkuY29tCnxodHRwOi8vY24tcHJveHku +Y29tCi5jbnByb3h5LmNvbQpibG9nLmNueWVzLmNvbQpuZXdzLmNueWVzLmNvbQp8 +fGNvYXQuY28uanAKLmNvY2hpbmEuY28KfHxjb2NoaW5hLmNvCnx8Y29jaGluYS5v +cmcKLmNvZGUxOTg0LmNvbS82NAp8aHR0cDovL2dvYWdlbnQuY29kZXBsZXguY29t +Cnx8Y29kZXNoYXJlLmlvCnx8Y29kZXNrdWxwdG9yLm9yZwp8aHR0cDovL3Rvc2gu +Y29tZWR5Y2VudHJhbC5jb20KY29tZWZyb21jaGluYS5jb20KfHxjb21lZnJvbWNo +aW5hLmNvbQouY29taWMtbWVnYS5tZQpjb21tYW5kYXJtcy5jb20KfHxjb21tZW50 +c2hrLmNvbQouY29tbXVuaXN0Y3JpbWVzLm9yZwp8fGNvbW11bmlzdGNyaW1lcy5v +cmcKfHxjb21tdW5pdHljaG9pY2VjdS5jb20KfHxjb21waWxlaGVhcnQuY29tCi5j +b250YWN0bWFnYXppbmUubmV0Ci5jb252aW8ubmV0Ci5jb29iYXkuY29tCnxodHRw +Oi8vd3d3LmNvb2wxOC5jb20vYmJzKi8KLmNvb2xhbGVyLmNvbQp8fGNvb2xhbGVy +LmNvbQpjb29sZGVyLmNvbQp8fGNvb2xkZXIuY29tCnx8Y29vbGxvdWQub3JnLnR3 +Ci5jb29sbmN1dGUuY29tCmNvcnVtY29sbGVnZS5jb20KLmNvcy1tb2UuY29tCnxo +dHRwOi8vY29zLW1vZS5jb20KfHxjb3VjaGRid2lraS5jb20KfHxjb3R3ZWV0LmNv +bQpjcGoub3JnCnx8Y3BqLm9yZwouY3E5OS51cwp8aHR0cDovL2NxOTkudXMKY3Jh +Y2tsZS5jb20KfHxjcmFja2xlLmNvbQp8fGNyY2hpbmEub3JnCmNyZC1uZXQub3Jn +CmNyZWFkZXJzLm5ldAp8fGNyZWFkZXJzLm5ldAouY3JlYWRlcnNuZXQuY29tCnx8 +Y3Jpc3R5bGkuY29tCi5jcm9jb3R1YmUuY29tCnxodHRwOi8vY3JvY290dWJlLmNv +bQouY3Jvc3N0aGV3YWxsLm5ldAp8fGNyb3NzdGhld2FsbC5uZXQKY3NkcGFydHku +Y29tCnx8Y3NkcGFydHkuY29tCnx8Y3N1Y2hlbi5kZQouY3Rhby5vcmcKLmN0ZnJp +ZW5kLm5ldAouY3RpdHYuY29tLnR3CmN0cy5jb20udHcKfGh0dHA6Ly9saWJyYXJ5 +LnVzYy5jdWhrLmVkdS5oay8KfGh0dHA6Ly9tamxzaC51c2MuY3Voay5lZHUuaGsv +Ci5jdWhrYWNzLm9yZy9+YmVubmcKLmN1aWh1YS5vcmcKfHxjdWlodWEub3JnCi5j +dWl3ZWlwaW5nLm5ldAp8fGN1aXdlaXBpbmcubmV0Cnx8Y3VsdHVyZS50dwouY3Vt +bG91ZGVyLmNvbQp8fGN1bWxvdWRlci5jb20KfHxjdXJ2ZWZpc2guY29tCi5jdXN1 +LmhrCnx8Y3VzdS5oawouY3cuY29tLnR3CnxodHRwOi8vZm9ydW0uY3liZXJjdG0u +Y29tCmN5YmVyZ2hvc3R2cG4uY29tCnx8Y3liZXJnaG9zdHZwbi5jb20KfHxjeW5z +Y3JpYmUuY29tCmN5dG9kZS51cwp8fGlmYW4uY3ouY2MKfHxtaWtlLmN6LmNjCnx8 +bmljLmN6LmNjCgohLS0tLS0tLS0tLS0tLS0tLS0tLS1ERC0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0KLmQtZnVreXUuY29tCnxodHRwOi8vZC1mdWt5dS5jb20KY2wu +ZDB6Lm5ldAouZDEwMC5uZXQKfHxkMTAwLm5ldAouZDJiYXkuY29tCnxodHRwOi8v +ZDJiYXkuY29tCi5kYWJyLmNvLnVrCnx8ZGFici5jby51awpkYWJyLmV1CmRhYnIu +bW9iaQp8fGRhYnIubW9iaQp8fGRhYnIubWUKZGFkYXppbS5jb20KfHxkYWRhemlt +LmNvbQouZGFkaTM2MC5jb20KZGFmYWdvb2QuY29tCmRhZmFoYW8uY29tCi5kYWlk +b3N0dXAucnUKfGh0dHA6Ly9kYWlkb3N0dXAucnUKLmRhaWxpZGFpbGkuY29tCnx8 +ZGFpbGlkYWlsaS5jb20KLmRhaWx5bW90aW9uLmNvbQp8fGRhaWx5bW90aW9uLmNv +bQpkYWlwaGFwaW5mby5uZXQKLmRhaml5dWFuLmNvbQp8fGRhaml5dWFuLmRlCmRh +aml5dWFuLmV1CmRhbGFpbGFtYS5jb20KLmRhbGFpbGFtYS5tbgp8aHR0cDovL2Rh +bGFpbGFtYS5tbgouZGFsYWlsYW1hLnJ1Cnx8ZGFsYWlsYW1hLnJ1CmRhbGFpbGFt +YTgwLm9yZwouZGFsYWlsYW1hLWFyY2hpdmVzLm9yZwouZGFsYWlsYW1hY2VudGVy +Lm9yZwp8aHR0cDovL2RhbGFpbGFtYWNlbnRlci5vcmcKZGFsYWlsYW1hZmVsbG93 +cy5vcmcKLmRhbGFpbGFtYWZpbG0uY29tCi5kYWxhaWxhbWFmb3VuZGF0aW9uLm9y +ZwouZGFsYWlsYW1haGluZGkuY29tCi5kYWxhaWxhbWFpbmF1c3RyYWxpYS5vcmcK +LmRhbGFpbGFtYWphcGFuZXNlLmNvbQouZGFsYWlsYW1hcHJvdGVzdGVycy5pbmZv +Ci5kYWxhaWxhbWFxdW90ZXMub3JnCi5kYWxhaWxhbWF0cnVzdC5vcmcKLmRhbGFp +bGFtYXZpc2l0Lm9yZy5uegouZGFsYWlsYW1hd29ybGQuY29tCnx8ZGFsYWlsYW1h +d29ybGQuY29tCmRhbGlhbm1lbmcub3JnCnx8ZGFsaWFubWVuZy5vcmcKLmRhbGl1 +bGlhbi5vcmcKfHxkYWxpdWxpYW4ub3JnCi5kYW5rZTRjaGluYS5uZXQKfHxkYW5r +ZTRjaGluYS5uZXQKLmRhbndlaS5vcmcKZGFvbGFuLm5ldAouZGFvemhvbmd4aW5n +Lm9yZwpkYXJrdG95Lm5ldAp8fGRhc3RyYXNzaS5vcmcKYmxvZy5kYXVtLm5ldC9f +YmxvZwouZGF2aWQta2lsZ291ci5jb20KfGh0dHA6Ly9kYXZpZC1raWxnb3VyLmNv +bQpkYXhhLmNuCnx8ZGF4YS5jbgpjbi5kYXlhYm9vay5jb20KLmRheWxpZmUuY29t +L3RvcGljL2RhbGFpX2xhbWEKfHxkYi50dAouZGJjLmhrL21haW4KfHxkY2FyZC50 +dwpkY21pbGl0YXJ5LmNvbQouZGRjLmNvbS50dwouZGRody5pbmZvCiEtLUNoYW5n +ZUlQCi5kZG5zLm1zCmRkbnMubmV0Cnx8ZGUtc2NpLm9yZwouZGUtc2NpLm9yZwpw +YWNrYWdlcy5kZWJpYW4ub3JnL3poLWNuL2xlbm55L2dwYXNzCnx8ZGVjb2RldC5j +bwoKIS0tT3JpZ2luOmNkbi1pMzAkXwohLS1FeGNlcHRpb246IEhvbWVwYWdlIGFj +Y2VzcyB3aXRob3V0IHJzdAohLS1LZXl3b3JkIGlzICRfCi5kZWZpbmViYWJlLmNv +bQoKfHxkZWxjYW1wLm5ldApkZWxpY2lvdXMuY29tL0dGV2Jvb2ttYXJrCi5kZW1v +Y3JhdHMub3JnCnx8ZGVtb2NyYXRzLm9yZwp8fGRlc2Muc2UKfHxkZXNzY2kuY29t +Ci5kZXN0cm95LWNoaW5hLmpwCnx8ZGV1dHNjaGUtd2VsbGUuZGUKIS0tfHxkZXZp +YW50YXJ0LmNvbQohLS18fGRldmlhbnRhcnQubmV0Cnx8ZGV2aW8udXMKfHxkZXZw +bi5jb20KfHxkZmFzLm1pbApkZm4ub3JnCmRoYXJtYWthcmEubmV0Ci5kaGFyYW1z +YWxhbmV0LmNvbQouZGlhb3l1aXNsYW5kcy5vcmcKfHxkaWFveXVpc2xhbmRzLm9y +Zwp8aHR0cDovL2RpZ2lsYW5kLnR3Lwp8fGRpZ2l0YWxub21hZHNwcm9qZWN0Lm9y +ZwouZGlpZ28uY29tCnx8ZGlpZ28uY29tCnx8ZGlsYmVyLnNlCnx8ZnVybC5uZXQK +LmRpcGl0eS5jb20KfHxkaXJlY3RjcmVhdGl2ZS5jb20KIS0tfHxkaXNjb2dzLmNv +bQohLS1AQHx8Y2RuLmRpc2NvZ3MuY29tCnxodHRwczovL3NlYXJjaC5kaXNjb25u +ZWN0Lm1lCi5kaXNjdXNzLmNvbS5oawp8fGRpc2N1c3MuY29tLmhrCi5kaXNjdXNz +NHUuY29tCmRpc3AuY2MKLmRpc3F1cy5jb20KfHxkaXNxdXMuY29tCi5kaXQtaW5j +LnVzCnx8ZGl0LWluYy51cwouZGl6aGlkaXpoaS5jb20KfHxkaXpodXpoaXNoYW5n +LmNvbQpkamFuZ29zbmlwcGV0cy5vcmcKLmRqb3J6LmNvbQp8fGRqb3J6LmNvbQp8 +fGRsLWxhYnkuanAKfHxkbHNpdGUuY29tCnx8ZG1jZG4ubmV0Ci5kbnNjcnlwdC5v +cmcKfHxkbnNjcnlwdC5vcmcKfHxkbnMyZ28uY29tCnx8ZG5zc2VjLm5ldApkb2N0 +b3J2b2ljZS5vcmcKCiEtLURvZ0ZhcnROZXR3b3JrCi5kb2dmYXJ0bmV0d29yay5j +b20vdG91cgpnbG9yeWhvbGUuY29tCgouZG9qaW4uY29tCi5kb2stZm9ydW0ubmV0 +Cnx8ZG9sYy5kZQp8fGRvbGYub3JnLmhrCnx8ZG9sbGYuY29tCi5kb21haW4uY2x1 +Yi50dwouZG9tYWludG9kYXkuY29tLmF1CmRvbmd0YWl3YW5nLmNvbQp8fGRvbmd0 +YWl3YW5nLmNvbQouZG9uZ3RhaXdhbmcubmV0Cnx8ZG9uZ3RhaXdhbmcubmV0Ci5k +b25neWFuZ2ppbmcuY29tCi5kb250ZmlsdGVyLnVzCnx8ZG9udG1vdmV0b2NoaW5h +LmNvbQouZG9yamVzaHVnZGVuLmNvbQouZG90cGxhbmUuY29tCnx8ZG90cGxhbmUu +Y29tCnx8ZG90c3ViLmNvbQp8fGRvdWdzY3JpcHRzLmNvbQp8fGRvdWhva2Fua28u +bmV0Cnx8ZG91amluY2FmZS5jb20KZG93ZWkub3JnCiEtLXx8ZG94eWdlbi5vcmcK +ZHBoay5vcmcKZHBwLm9yZy50dwp8fGRwcC5vcmcudHcKfHxkcHIuaW5mbwp8fGRy +YWdvbnNwcmluZ3Mub3JnCnx8ZHJhdy5pbwp8fGRyZWFtbWFzay5vcmcKLmRyZXB1 +bmcub3JnCnx8ZHJnYW4ubmV0Ci5kcm1pbmd4aWEub3JnCnxodHRwOi8vZHJtaW5n +eGlhLm9yZwp8fGRyb3Bib29rcy50dgp8fGRyb3Bib3guY29tCnx8YXBpLmRyb3Bi +b3hhcGkuY29tCnx8ZHJvcGJveHVzZXJjb250ZW50LmNvbQpkcnN1bmFjYWRlbXku +Y29tCi5kcnR1YmVyLmNvbQouZHNjbi5pbmZvCnxodHRwOi8vZHNjbi5pbmZvCi5k +c3RrLmRrCnxodHRwOi8vZHN0ay5kawp8fGR0aWJsb2cuY29tCnx8ZHRpYy5taWwK +ZHRpc2VydjIuY29tCi5kdHdhbmcub3JnCi5kdWFuemhpaHUuY29tCi5kdWNrZG5z +Lm9yZwp8aHR0cDovL2R1Y2tkbnMub3JnCi5kdWNrZHVja2dvLmNvbQp8fGR1Y2tk +dWNrZ28uY29tCi5kdWNrbG9hZC5jb20vZG93bmxvYWQKfHxkdWNrbXlsaWZlLmNv +bQouZHVnYS5qcAp8aHR0cDovL2R1Z2EuanAKLmR1aWh1YS5vcmcKfHxkdWlodWEu +b3JnCnx8ZHVpaHVhaHJqb3VybmFsLm9yZwouZHVvd2VpdGltZXMuY29tCnx8ZHVv +d2VpdGltZXMuY29tCmR1cGluZy5uZXQKfHxkdXBsaWNhdGkuY29tCmR1cG9sYS5j +b20KZHVwb2xhLm5ldAouZHVzaGkuY2EKfHxkdm9yYWsub3JnCi5kdy5jb20KfHxk +dy5jb20KfHxkdy5kZQouZHctd29ybGQuY29tCnx8ZHctd29ybGQuY29tCi5kdy13 +b3JsZC5kZQp8aHR0cDovL2R3LXdvcmxkLmRlCnd3dy5kd2hlZWxlci5jb20KZHdu +ZXdzLmNvbQp8fGR3bmV3cy5jb20KZHduZXdzLm5ldAp8fGR3bmV3cy5uZXQKeHlz +LmR4aW9uZy5jb20KfHxkeW5hd2ViaW5jLmNvbQouZHluZG5zLm9yZwouZHp6ZS5j +b20KCiEtLS0tLS0tLS0tLS0tLS0tLS0tLUVFLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLQp8fGUtY2xhc3NpY2FsLmNvbS50dwp8fGUtZ29sZC5jb20KLmUtZ29sZC5j +b20KfHxnLmUtaGVudGFpLm9yZwp8fGxvZmkuZS1oZW50YWkub3JnCi5lLWhlbnRh +aWRiLmNvbQp8aHR0cDovL2UtaGVudGFpZGIuY29tCmUtaW5mby5vcmcudHcKLmUt +dHJhZGVybGFuZC5uZXQvYm9hcmQKLmUtem9uZS5jb20uaGsvZGlzY3V6CnxodHRw +Oi8vZS16b25lLmNvbS5oay9kaXNjdXoKLmUxMjMuaGsKfGh0dHA6Ly9lMTIzLmhr +LwouZWFybHl0aWJldC5jb20KfGh0dHA6Ly9lYXJseXRpYmV0LmNvbQouZWFydGhj +YW0uY29tCi5lYXJ0aHZwbi5jb20KfHxlYXJ0aHZwbi5jb20KZWFzdGVybi1hcmsu +Y29tCi5lYXN0ZXJubGlnaHRuaW5nLm9yZwouZWFzdHR1cmtlc3Rhbi5jb20KfGh0 +dHA6Ly93d3cuZWFzdHR1cmtpc3Rhbi5uZXQvCi5lYXN0dHVya2lzdGFuLWdvdi5v +cmcKLmVhc3R0dXJraXN0YW5jYy5vcmcKLmVhc3R0dXJraXN0YW5nb3Zlcm5tZW50 +aW5leGlsZS51cwp8fGVhc3R0dXJraXN0YW5nb3Zlcm5tZW50aW5leGlsZS51cwou +ZWFzeWNhLmNhCi5lYXN5cGljLmNvbQouZWJvbnktYmVhdXR5LmNvbQplYm9va2Jy +b3dzZS5jb20KZWJvb2tlZS5jb20KfHxlY2ZhLm9yZy50dwp8fGVjaW1nLnR3CmVj +bWluaXN0cnkubmV0Ci5lY29ub21pc3QuY29tCmJicy5lY3N0YXJ0LmNvbQp8fGVk +Z2VjYXN0Y2RuLm5ldAovdHdpbWdcLmVkZ2VzdWl0ZVwubmV0XC9cLz9hcHBsZWRh +aWx5LwplZGljeXBhZ2VzLmNvbQouZWRtb250b25jaGluYS5jbgouZWRtb250b25z +ZXJ2aWNlLmNvbQplZG9vcnMuY29tCi5lZHVicmlkZ2UuY29tCnx8ZWR1YnJpZGdl +LmNvbQouZWR1cHJvLm9yZwp8fGVldnBuLmNvbQplZmNjLm9yZy5oawouZWZ1a3Qu +Y29tCnxodHRwOi8vZWZ1a3QuY29tCnx8ZWljLWF2LmNvbQouZWlzYmIuY29tCi5l +a3Npc296bHVrLmNvbQp8fGVrc2lzb3psdWsuY29tCmVsZWN0aW9uc21ldGVyLmNv +bQp8fGVsZ29vZy5pbQp8fGVscGFpcy5jb20KLmVsdG9uZGlzbmV5LmNvbQouZW1h +Z2EuY29tL2luZm8vMzQwNwplbWlseWxhdS5vcmcuaGsKLmVtYW5uYS5jb20vY2hp +bmVzZVRyYWRpdGlvbmFsCi5lbXBmaWwuY29tCi5lbXVsZS1lZDJrLmNvbQp8aHR0 +cDovL2VtdWxlLWVkMmsuY29tCi5lbXVsZWZhbnMuY29tCnxodHRwOi8vZW11bGVm +YW5zLmNvbQouZW11cGFyYWRpc2UubWUKfHxlbmV3c3RyZWUuY29tCi5lbmZhbC5k +ZQpjaGluZXNlLmVuZ2FkZ2V0LmNvbQplbmdsaXNoZm9yZXZlcnlvbmUub3JnCnx8 +ZW5nbGlzaGZyb21lbmdsYW5kLmNvLnVrCmVuZ2xpc2hwZW4ub3JnCi5lbmxpZ2h0 +ZW4ub3JnLnR3Cnx8ZW50ZXJtYXAuY29tCi5lbnRudC5jb20KfGh0dHA6Ly9lbnRu +dC5jb20KLmVwaXNjb3BhbGNodXJjaC5vcmcKLmVwb2NoaGsuY29tCnxodHRwOi8v +ZXBvY2hoay5jb20KZXBvY2h0aW1lcy1iZy5jb20KfHxlcG9jaHRpbWVzLWJnLmNv +bQplcG9jaHRpbWVzLXJvbWFuaWEuY29tCnx8ZXBvY2h0aW1lcy1yb21hbmlhLmNv +bQplcG9jaHRpbWVzLmNvLmlsCnx8ZXBvY2h0aW1lcy5jby5pbAplcG9jaHRpbWVz +LmNvLmtyCnx8ZXBvY2h0aW1lcy5jby5rcgplcG9jaHRpbWVzLmNvbQp8fGVwb2No +dGltZXMuY29tCi5lcG9jaHRpbWVzLmN6CmVwb2NodGltZXMuZGUKZXBvY2h0aW1l +cy5mcgouZXBvY2h0aW1lcy5pZQouZXBvY2h0aW1lcy5pdAplcG9jaHRpbWVzLmpw +CmVwb2NodGltZXMucnUKZXBvY2h0aW1lcy5zZQplcG9jaHRpbWVzdHIuY29tCi5l +cG9jaHdlZWsuY29tCnx8ZXBvY2h3ZWVrLmNvbQp8fGVwb2Nod2Vla2x5LmNvbQou +ZXBvcm5lci5jb20KLmVxdWluZW5vdy5jb20KZXJhYmFydS5uZXQKLmVyYXlzb2Z0 +LmNvbS50cgouZXJlcHVibGlrLmNvbQouZXJpZ2h0cy5uZXQKfHxlcmlnaHRzLm5l +dAouZXJrdHYuY29tCnxodHRwOi8vZXJrdHYuY29tCnx8ZXJuZXN0bWFuZGVsLm9y +Zwp8fGVyb2RhaXplbnN5dS5jb20KfHxlcm9kb3VqaW5sb2cuY29tCnx8ZXJvZG91 +amlud29ybGQuY29tCnx8ZXJvbWFuZ2Eta2luZ2RvbS5jb20KfHxlcm9tYW5nYWRv +dXppbi5jb20KLmVyb21vbi5uZXQKfGh0dHA6Ly9lcm9tb24ubmV0Ci5lcm9wcm9m +aWxlLmNvbQouZXJvdGljc2Fsb29uLm5ldAouZXNsaXRlLmNvbS9wcm9kdWN0Ci5l +c2xpdGUuY29tL1NlYXJjaF9CVy5hc3B4P3EKd2lraS5lc3UuaW0vJUU4JTlCJUE0 +JUU4JTlCJUE0JUU4JUFGJUFEJUU1JUJEJTk1Ci5ldGFhLm9yZy5hdQouZXRhZHVs +dC5jb20KZXRhaXdhbm5ld3MuY29tCnx8ZXRpemVyLm9yZwp8fGV0b2traS5jb20K +LmV0dG9kYXkubmV0CmV0dm9ubGluZS5oawouZXUub3JnCnx8ZXUub3JnCi5ldWNh +c2luby5jb20KLmV1bGFtLmNvbQouZXVyZWthdnB0LmNvbQp8fGV1cmVrYXZwdC5j +b20KZWVhcy5ldXJvcGEuZXUvZGVsZWdhdGlvbnMvY2hpbmEvcHJlc3NfY29ybmVy +L2FsbF9uZXdzL25ld3MvMjAxNS8yMDE1MDcxNl96aAplZWFzLmV1cm9wYS5ldS9z +dGF0ZW1lbnRzLWVlYXMvMjAxNS8xNTEwMjIKLmV2c2Nob29sLm5ldAp8aHR0cDov +L2V2c2Nob29sLm5ldAp8fGV4YmxvZy5qcAp8fGJsb2cuZXhibG9nLmNvLmpwCkBA +fHx3d3cuZXhibG9nLmpwCi5leGNocmlzdGlhbi5oawp8fGV4Y2hyaXN0aWFuLmhr +CnxodHRwOi8vYmxvZy5leGNpdGUuY28uanAKfHxleG1vcm1vbi5vcmcKfHxleHBh +dHNoaWVsZC5jb20KLmV4cGVjdGhpbS5jb20KfHxleHBlY3RoaW0uY29tCmV4cGVy +dHMtdW5pdmVycy5jb20KfHxleHBsb2FkZXIubmV0Ci5leHByZXNzdnBuLmNvbQp8 +aHR0cDovL2V4cHJlc3N2cG4uY29tCi5leHRyZW1ldHViZS5jb20KZXlldmlvLmpw +Cnx8ZXlldmlvLmpwCi5leW55LmNvbQp8fGV5bnkuY29tCi5lenBjLnRrL2NhdGVn +b3J5L3NvZnQKLmV6cGVlci5jb20KCiEtLS0tLS0tLS0tLS0tLS0tLS0tLUZGLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp8fGZhY2Vib29rcXVvdGVzNHUuY29tCi5m +YWNlbGVzcy5tZQp8fGZhY2VsZXNzLm1lCnxodHRwOi8vZmFjZXNvZnRpYmV0YW5z +ZWxmaW1tb2xhdG9ycy5pbmZvCnx8ZmFjZXNvZm55ZncuY29tCi5mYWl0aDEwMC5v +cmcKfGh0dHA6Ly9mYWl0aDEwMC5vcmcKCiEtLUVuaGFuY2VtZW50OgohLS1odHRw +Oi8vZmFpdGhmdWxleWUuY29tLmRldGFpbC53ZWJzaXRlLwohLS1odHRwOi8vZmFp +dGhmdWxleWUuY29tLmlwYWRkcmVzcy5jb20vCi5mYWl0aGZ1bGV5ZS5jb20KCnx8 +ZmFpdGh0aGVkb2cuaW5mbwouZmFra3UubmV0Ci5mYWxzZWZpcmUuY29tCnx8ZmFs +c2VmaXJlLmNvbQpmYWx1bi1jby5vcmcKZmFsdW5hcnQub3JnCnx8ZmFsdW5hc2lh +LmluZm8KZmFsdW5kYWZhLm9yZwpmYWx1bmRhZmEtZGMub3JnCnx8ZmFsdW5kYWZh +LWZsb3JpZGEub3JnCnx8ZmFsdW5kYWZhLW5jLm9yZwp8fGZhbHVuZGFmYS1wYS5u +ZXQKZmFsdW4tbnkubmV0Cnx8ZmFsdW5kYWZhaW5kaWEub3JnCmZhbHVuZGFmYW11 +c2V1bS5vcmcKLmZhbHVuZ29uZy5jbHViCi5mYWx1bmdvbmcuZGUKZmFsdW5nb25n +Lm9yZy51awp8fGZhbHVuaHIub3JnCmZhbHVuaW5mby5kZQpmYWx1bmluZm8ubmV0 +Ci5mYWx1bnBpbGlwaW5hcy5uZXQKfHxmYWx1bndvcmxkLm5ldApmYW1pbHlmZWQu +b3JnCnx8ZmFuZ2xpemhpLmluZm8KfHxmYW5nb25nLm9yZwpmYW5nb25naGVpa2Uu +Y29tCi5mYW5xaWFuZy50awpmYW5xaWFuZ2hvdS5jb20KfHxmYW5xaWFuZ2hvdS5j +b20KLmZhbnFpYW5nemhlLmNvbQp8fGZhbnFpYW5nemhlLmNvbQpmYXBkdS5jb20K +ZmFwcm94eS5jb20KIS0tLmZhcnhpYW4uY29tCi5mYXdhbmdodWlodWkub3JnCnx8 +ZmJjZG4ubmV0CmZhbnFpYW5neWFrZXhpLm5ldApmYWlsLmhrCnx8ZmFtdW5pb24u +Y29tCi5mYW4tcWlhbmcuY29tCi5mYW5nYmlueGluZy5jb20KfHxmYW5nYmlueGlu +Zy5jb20KZmFuZ2VtaW5nLmNvbQouZmFuZ21pbmNuLm9yZwp8fGZhbmdtaW5jbi5v +cmcKfHxmYW5zd29uZy5jb20KLmZhbnl1ZS5pbmZvCi5mYXJ3ZXN0Y2hpbmEuY29t +CgohLS1GYXN0bHkKZW4uZmF2b3R0ZXIubmV0CiEtLXx8cm53Lmdsb2JhbC5zc2wu +ZmFzdGx5Lm5ldAohLS18aHR0cHM6Ly8qZ2xvYmFsLnNzbC5mYXN0bHkubmV0Lwp8 +fGZhc3Qud2lzdGlhLmNvbQoKfHxmYXN0c3NoLmNvbQp8fGZhc3RzdG9uZS5vcmcK +ZmF2c3Rhci5mbQp8fGZhdnN0YXIuZm0KZmF5ZGFvLmNvbS93ZWJsb2cKfHxmYnNi +eC5jb20KZmMyLmNvbQouZmMyY2hpbmEuY29tCi5mYzJjbi5jb20KfHxmYzJjbi5j +b20KZmMyYmxvZy5uZXQKfGh0dHA6Ly91eWd1ci5mYzJ3ZWIuY29tLwp2aWRlby5m +ZGJveC5jb20KLmZkYzg5LmpwCnx8Zm91cmZhY2Uubm9kZXNub29wLmNvbQohLS1m +ZWVkYm9va3MubW9iaQp8fGZlZWxzc2guY29tCmZlZXIuY29tCi5mZWlmZWlzcy5j +b20KfGh0dHA6Ly9mZWl0aWFuYWNhZGVteS5vcmcKLmZlaXRpYW4tY2FsaWZvcm5p +YS5vcmcKfHxmZW1pbmlzdHRlYWNoZXIuY29tCi5mZW5nemhlbmdodS5jb20KfHxm +ZW5nemhlbmdodS5jb20KLmZlbmd6aGVuZ2h1Lm5ldAp8fGZlbmd6aGVuZ2h1Lm5l +dAouZmV2ZXJuZXQuY29tCnxodHRwOi8vZmYuaW0KZmZmZmYuYXQKZmZsaWNrLmNv +bQouZmZ2cG4uY29tCmZnbXR2Lm5ldAouZmdtdHYub3JnCi5maHJlcG9ydHMubmV0 +CnxodHRwOi8vZmhyZXBvcnRzLm5ldAouZmlncHJheWVyLmNvbQp8fGZpZ3ByYXll +ci5jb20KLmZpbGVmbHllci5jb20KfHxmaWxlZmx5ZXIuY29tCnxodHRwOi8vZmVl +ZHMuZmlsZWZvcnVtLmNvbQouZmlsZXMybWUuY29tCi5maWxlc2VydmUuY29tL2Zp +bGUKZmlsbHRoZXNxdWFyZS5vcmcKZmlsbWluZ2ZvcnRpYmV0Lm9yZwouZmlsdGhk +dW1wLmNvbQouZmluY2h2cG4uY29tCnx8ZmluY2h2cG4uY29tCiEtLWZpbmRib29r +LnR3CmZpbmRtZXNwb3QuY29tCi5maW5nZXJkYWlseS5jb20KZmlubGVyLm5ldAou +ZmlyZW9mbGliZXJ0eS5vcmcKfHxmaXJlb2ZsaWJlcnR5Lm9yZwouZmlyZXR3ZWV0 +LmlvCnx8ZmlyZXR3ZWV0LmlvCiEtLXx8ZmxhZ2ZveC5uZXQKLmZsYWdzb25saW5l +Lml0CmZsZXNoYm90LmNvbQouZmxldXJzZGVzbGV0dHJlcy5jb20KfGh0dHA6Ly9m +bGV1cnNkZXNsZXR0cmVzLmNvbQp8fGZsZ2cudXMKCiEtLXx8ZmFybTYuc3RhdGlj +ZmxpY2tyLmNvbQohLS0uZmxpY2tyLmNvbS9waG90b3MvNDYyMzEwNzdATjA2CiEt +LS5mbGlja3IuY29tL2dyb3Vwcy9haXdlaXdlaQohLS0uZmxpY2tyLmNvbS9waG90 +b3MvZGlnaXRhbGJveTEwMAohLS0uZmxpY2tyLmNvbS9waG90b3MvZnpoZW5naHUK +IS0tLmZsaWNrci5jb20vcGhvdG9zL2xvbmVseWZveAohLS1mbGlja3IuY29tL3Bo +b3Rvcy92YW52YW4vNTI5OTI1MTU3CiEtLS5mbGlja3IuY29tL3Bob3Rvcy93aW50 +ZXJrYW5hbAohLS0uZmxpY2tyLmNvbS9waG90b3Mvem9sYQp8fGZsaWNrci5jb20K +fHxzdGF0aWNmbGlja3IuY29tCgpmbGlja3JoaXZlbWluZC5uZXQKLmZsaW5nLmNv +bQp8fGZsaXBrYXJ0LmNvbQp8aHR0cDovL2NuLmZtbm5vdy5jb20KZm9mbGRmcmFk +aW8ub3JnCmJsb2cuZm9vbHNtb3VudGFpbi5jb20KLmZvcnVtNGhrLmNvbQpmYW5n +b25nLmZvcnVtcy1mcmVlLmNvbQpwaW9uZWVyLXdvcmtlci5mb3J1bXMtZnJlZS5j +b20KIS0tZm91cnNxdWFyZS5jb20KIS0tfGh0dHA6Ly80c3EuY29tCnxodHRwczov +L3NzKi40c3FpLm5ldAp8fGZvdG9wLm5ldAp2aWRlby5mb3hidXNpbmVzcy5jb20K +fGh0dHA6Ly9mb3hnYXkuY29tCnx8ZnJpbmdlbmV0d29yay5jb20KfHxmbGVjaGVp +bnRoZXBlY2hlLmZyCi5mb2Noay5vcmcKfGh0dHA6Ly9mb2Noay5vcmcKfHxmb2N1 +c3RhaXdhbi50dwouZm9jdXN2cG4uY29tCnx8Zm9mZy5vcmcKLmZvZmctZXVyb3Bl +Lm5ldAouZm9vb29vLmNvbQp8fGZvb29vby5jb20KZm9vdHdpYmFsbC5jb20KLmZv +dGlsZS5tZQp8fGZvdXJ0aGludGVybmF0aW9uYWwub3JnCnx8Zm94ZGllLnVzCnx8 +Zm94c3ViLmNvbQpmb3h0YW5nLmNvbQouZnBtdC5vcmcKfGh0dHA6Ly9mcG10Lm9y +ZwouZnBtdC50dwouZnBtdC1vc2VsLm9yZwp8fGZwbXRtZXhpY28ub3JnCmZxb2su +b3JnCnx8ZnFyb3V0ZXIuY29tCnx8ZnJhbmtsYy5jb20KLmZyZWFrc2hhcmUuY29t +CnxodHRwOi8vZnJlYWtzaGFyZS5jb20KfHxmcmVlNHUuY29tLmFyCmZyZWUtZ2F0 +ZS5vcmcKLmZyZWUuZnIvYWRzbAp8fGFsbG9ubGludXguZnJlZS5mcgp8fGRpbWl0 +cmlrLmZyZWUuZnIKa2luZW94LmZyZWUuZnIKfHxwdXR0eWNtLmZyZWUuZnIKfHxm +cmVlYWxpbS5jb20Kd2hpdGViZWFyLmZyZWViZWFyYmxvZy5vcmcKfHxmcmVlYnJv +d3Nlci5vcmcKLmZyZWVjaGFsLmNvbQouZnJlZWRvbWNoaW5hLmluZm8KfHxmcmVl +ZG9tY2hpbmEuaW5mbwouZnJlZWRvbWhvdXNlLm9yZwp8fGZyZWVkb21ob3VzZS5v +cmcKLmZyZWVkb21zaGVyYWxkLm9yZwp8fGZyZWVkb21zaGVyYWxkLm9yZwouZnJl +ZWZxLmNvbQouZnJlZWZ1Y2t2aWRzLmNvbQouZnJlZWdhby5jb20KfHxmcmVlZ2Fv +LmNvbQouZnJlZS1oYWRhLW5vdy5vcmcKZnJlZWlsaGFtdG9odGkub3JnCi5mcmVl +bG90dG8uY29tCnx8ZnJlZWxvdHRvLmNvbQpmcmVlbWFuMi5jb20KLmZyZWVvcGVu +dnBuLmNvbQpmcmVlbW9yZW4uY29tCmZyZWVtb3JlbmV3cy5jb20KZnJlZW11c2Uu +b3JnL2FyY2hpdmVzLzc4OQpmcmVlbmV0LWNoaW5hLm9yZwpmcmVlbmV3c2NuLmNv +bQpjbi5mcmVlb25lcy5jb20KLmZyZWVvei5vcmcvYmJzCnx8ZnJlZW96Lm9yZwp8 +fGZyZWVzc2gudXMKZnJlZTR1LmNvbS5hcgouZnJlZS1zc2guY29tCnx8ZnJlZS1z +c2guY29tCi5mcmVlZG9tY29sbGVjdGlvbi5vcmcvaW50ZXJ2aWV3cy9yZWJpeWFf +a2FkZWVyCi5mcmVlZm9ydW1zLm9yZwp8fGZyZWVuZXRwcm9qZWN0Lm9yZwouZnJl +ZW96Lm9yZwouZnJlZXRpYmV0Lm5ldAp8fGZyZWV0aWJldC5vcmcKLmZyZWV0aWJl +dGFuaGVyb2VzLm9yZwp8aHR0cDovL2ZyZWV0aWJldGFuaGVyb2VzLm9yZwouZnJl +ZXZpZXdtb3ZpZXMuY29tCi5mcmVldnBuLm1lCnxodHRwOi8vZnJlZXZwbi5tZQp8 +fGZyZWV3YWxscGFwZXI0Lm1lCi5mcmVld2Vicy5jb20KLmZyZWV3ZWNoYXQuY29t +Cnx8ZnJlZXdlY2hhdC5jb20KZnJlZXdlaWJvLmNvbQp8fGZyZWV3ZWliby5jb20K +LmZyZWV4aW53ZW4uY29tCi5mcmVleW91dHViZXByb3h5Lm5ldAp8fGZyZWV5b3V0 +dWJlcHJveHkubmV0CmZyaWVuZGZlZWQuY29tCmZyaWVuZGZlZWQtbWVkaWEuY29t +L2U5OWE0ZWJlMmZiNGMxOTg1YzJhNTg3NzVlYjQ0MjI5NjFhYTVhMmUKZnJpZW5k +cy1vZi10aWJldC5vcmcKLmZyaWVuZHNvZnRpYmV0Lm9yZwpmcmVlY2hpbmEubmV0 +CnxodHRwOi8vd3d3LnplbnN1ci5mcmVlcmsuY29tLwpmcmVldnBuLm5sCmZyZWV5 +ZWxsb3cuY29tCmhrLmZyaWVuZGR5LmNvbS9oawp8aHR0cDovL2FkdWx0LmZyaWVu +ZGZpbmRlci5jb20vCi5mcmluZy5jb20KfHxmcmluZy5jb20KLmZyb21jaGluYXRv +dXNhLm5ldAp8fGZyb21tZWwubmV0Ci5mcm9udGxpbmVkZWZlbmRlcnMub3JnCi5m +cm9vdHZwbi5jb20KfHxmcm9vdHZwbi5jb20KfHxmc2NrZWQub3JnCi5mc3VyZi5j +b20KLmZ0Y2hpbmVzZS5jb20vY2hhbm5lbC92aWRlbwouZnRjaGluZXNlLmNvbS9z +dG9yeS8wMDEwMjc1MwouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwMjY4MDcKLmZ0 +Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDMyNjkyCi5mdGNoaW5lc2UuY29tL3N0b3J5 +LzAwMTAzNzA5MAouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwMzcwOTEKLmZ0Y2hp +bmVzZS5jb20vc3RvcnkvMDAxMDM4MjIwCi5mdGNoaW5lc2UuY29tL3N0b3J5LzAw +MTA0MDg5MAouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNDA5MTgKLmZ0Y2hpbmVz +ZS5jb20vc3RvcnkvMDAxMDQyMTAwCi5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA0 +MjI1MgouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNDIyNzIKLmZ0Y2hpbmVzZS5j +b20vc3RvcnkvMDAxMDQ0Nzc2Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA0NTc1 +NQouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNDYxMTgKLmZ0Y2hpbmVzZS5jb20v +c3RvcnkvMDAxMDQ3MzQ1Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA0NzM3NQou +ZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNDc1NDUKLmZ0Y2hpbmVzZS5jb20vc3Rv +cnkvMDAxMDQ4NzEwCi5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA0OTM2MAouZnRj +aGluZXNlLmNvbS9zdG9yeS8wMDEwNTEzNzIKLmZ0Y2hpbmVzZS5jb20vc3Rvcnkv +MDAxMDUyOTY1Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA1MzUyNgouZnRjaGlu +ZXNlLmNvbS9zdG9yeS8wMDEwNTQxMDMKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAx +MDU0MTY4Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA1NDUyNgouZnRjaGluZXNl +LmNvbS9zdG9yeS8wMDEwNTQ2NDQKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDU1 +Mjk5Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA1NTU1MQouZnRjaGluZXNlLmNv +bS9zdG9yeS8wMDEwNTU1NTkKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDU2NTI5 +Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA1NjU1NAouZnRjaGluZXNlLmNvbS9z +dG9yeS8wMDEwNTY1NjcKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDU2NTg4Ci5m +dGNoaW5lc2UuY29tL3N0b3J5LzAwMTA1NjU5NgouZnRjaGluZXNlLmNvbS9zdG9y +eS8wMDEwNTc1MDkKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDU3NTMzCi5mdGNo +aW5lc2UuY29tL3N0b3J5LzAwMTA1ODI5NQouZnRjaGluZXNlLmNvbS9zdG9yeS8w +MDEwNTgzNDQKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDU4NDU4Ci5mdGNoaW5l +c2UuY29tL3N0b3J5LzAwMTA1ODQ2OAouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEw +NTg1NjEKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDU4NTY2Ci5mdGNoaW5lc2Uu +Y29tL3N0b3J5LzAwMTA1ODU2NwouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNTg1 +ODUKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDU4NjI4Ci5mdGNoaW5lc2UuY29t +L3N0b3J5LzAwMTA1ODY3OAouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNTk0ODQK +LmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDU5NTM4Ci5mdGNoaW5lc2UuY29tL3N0 +b3J5LzAwMTA1OTgxOAouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNTk5MTQKLmZ0 +Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDU5OTIwCi5mdGNoaW5lc2UuY29tL3N0b3J5 +LzAwMTA2MDE4MQouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNjA0OTMKLmZ0Y2hp +bmVzZS5jb20vc3RvcnkvMDAxMDYwNDk1Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAw +MTA2MDkyMQouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNjExMjAKLmZ0Y2hpbmVz +ZS5jb20vc3RvcnkvMDAxMDYyMDI4Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA2 +MjE3NgouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNjI0ODIKLmZ0Y2hpbmVzZS5j +b20vc3RvcnkvMDAxMDYyNTA4Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA2Mjc0 +MQouZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNjI3OTQKLmZ0Y2hpbmVzZS5jb20v +c3RvcnkvMDAxMDYzMTYwCi5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA2MzY5Mgou +ZnRjaGluZXNlLmNvbS9zdG9yeS8wMDEwNjM4MjYKLmZ0Y2hpbmVzZS5jb20vc3Rv +cnkvMDAxMDY1Mjg3Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA2NjQ2NQouZnRj +aGluZXNlLmNvbS9zdG9yeS8wMDEwNjY5NTkKLmZ0Y2hpbmVzZS5jb20vc3Rvcnkv +MDAxMDY3NDM1Cnd3dy5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA2NzQ3OQouZnRj +aGluZXNlLmNvbS9zdG9yeS8wMDEwNjc1NDUKLmZ0Y2hpbmVzZS5jb20vc3Rvcnkv +MDAxMDY3NjQ4Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA2NzY1MAouZnRjaGlu +ZXNlLmNvbS9zdG9yeS8wMDEwNjgyNDgKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAx +MDY4Mjc4Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA2ODM3OQouZnRjaGluZXNl +LmNvbS9zdG9yeS8wMDEwNjg0ODMKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDY5 +MzczCi5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA2OTUxNgouZnRjaGluZXNlLmNv +bS9zdG9yeS8wMDEwNzAzMDcKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDcwODA5 +Ci5mdGNoaW5lc2UuY29tL3N0b3J5LzAwMTA3MDk5MAouZnRjaGluZXNlLmNvbS9z +dG9yeS8wMDEwNzEwNDIKLmZ0Y2hpbmVzZS5jb20vc3RvcnkvMDAxMDcxMTA2Ci5m +dGNoaW5lc2UuY29tL3N0b3J5LzAwMTA3MTE4MQouZnRjaGluZXNlLmNvbS9zdG9y +eS8wMDEwNzEyMDgKLmZ0Y2hpbmVzZS5jb20vdmlkZW8vMTQzNwouZnRjaGluZXNl +LmNvbS92aWRlby8xODgyCi5mdGNoaW5lc2UuY29tL2NvbW1lbnRzCmZ1Y2QuY29t +Ci5mdWNrY25uaWMubmV0Cnx8ZnVja2NubmljLm5ldApmdWNrZ2Z3Lm9yZwp8fGZ1 +bGxlcmNvbnNpZGVyYXRpb24uY29tCmZ1bHVlLmNvbQouZnVuZi50dwpmdW5wLmNv +bQouZnVxLmNvbQouZnVyaGhkbC5vcmcKfHxmdXJpbmthbi5jb20KLmZ1dHVyZWNo +aW5hZm9ydW0ub3JnCnx8ZnV0dXJlbWVzc2FnZS5vcmcKLmZ1eC5jb20KLmZ1eWlu +Lm5ldAouZnV5aW5kaWFudGFpLm9yZwouZnV5dS5vcmcudHcKfHxmdy5jbQpmemg5 +OTkuY29tCmZ6aDk5OS5uZXQKZnpsbS5jb20KCiEtLS0tLS0tLS0tLS0tLS0tLS0t +LUdHLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQouZzZoZW50YWkuY29tCnxodHRw +Oi8vZzZoZW50YWkuY29tCnx8Zy1xdWVlbi5jb20KfHxnYWJvY29ycC5jb20KLmdh +ZXByb3h5LmNvbQouZ2Fmb3J1bS5vcmcKLmdhbGF4eW1hY2F1LmNvbQp8fGdhbGVu +d3UuY29tCi5nYWxzdGFycy5uZXQKfHxnYW1lNzM1LmNvbQpnYW1lYmFzZS5jb20u +dHcKZ2FtZWpvbHQuY29tCnxodHRwOi8vd2lraS5nYW1lcnAuanAKfHxnYW1lci5j +b20udHcKLmdhbWVyLmNvbS50dwouZ2FtZXouY29tLnR3Cnx8Z2FtZXouY29tLnR3 +Ci5nYW1vdXNhLmNvbQouZ2FvbWluZy5uZXQKfHxnYW9taW5nLm5ldApnYW5nZXMu +Y29tCi5nYW9waS5uZXQKfGh0dHA6Ly9nYW9waS5uZXQKLmdhb3poaXNoZW5nLm9y +ZwouZ2Fvemhpc2hlbmcubmV0CmdhcmRlbm5ldHdvcmtzLmNvbQp8fGdhcmRlbm5l +dHdvcmtzLm9yZwohLS1JUCBvZiBHYXJkZW4gTmV0d29yawo3Mi41Mi44MS4yMgp8 +fGdhcnRsaXZlLmNvbQp8fGdhdGhlci5jb20KZ2F0aS5vcmcudHcKLmdheWJ1YmJs +ZS5jb20KLmdheWNuLm5ldAp8fGdheW1hcC5jYwouZ2F5dHViZS5jb20KIS0tfHxn +YXl0dWJlLmNvbQp8fGltYWdlcy1nYXl0dWJlLmNvbQouZ2F5d2F0Y2guY29tCnxo +dHRwOi8vZ2F5d2F0Y2guY29tCi5nYXpvdHViZS5jb20KfHxnYXpvdHViZS5jb20K +fHxnY2Mub3JnLmhrCnx8Z2Nsb29uZXkuY29tCi5nY3BuZXdzLmNvbQp8aHR0cDov +L2djcG5ld3MuY29tCi5nZGJ0Lm5ldC9mb3J1bQpnZHpmLm9yZwp8fGdlZWstYXJ0 +Lm5ldApnZWVrZXJob21lLmNvbS8yMDEwLzAzL3hpeGlhbmctcHJvamVjdC1jcm9z +cy1nZncKfHxnZWVraGVhcnQuaW5mbwp8fGdlZWttYW51YWxzLmNvbQouZ2VsYm9v +cnUuY29tCnxodHRwOi8vZ2VsYm9vcnUuY29tCiEtLXx8Z2VudWl0ZWMuY29tCi5n +ZW9jaXRpZXMuY28uanAKLmdlb2NpdGllcy5jb20vU2lsaWNvblZhbGxleS9DaXJj +dWl0LzU2ODMvZG93bmxvYWQuaHRtbApoay5nZW9jaXRpZXMuY29tCmdlb2NpdGll +cy5qcAp8fGdlb2hvdC5jb20KfHxnZW9tZXRyaWN0b29scy5jb20KLmdlcmVmb3Vu +ZGF0aW9uLm9yZwouZ2V0Y2h1LmNvbQouZ2V0Y2xvYWsuY29tCnx8Z2V0Y2xvYWsu +Y29tCnx8Z2V0Zm94eXByb3h5Lm9yZwouZ2V0ZnJlZWR1ci5jb20KfHxnZXRnb20u +Y29tCi5nZXRsYW50ZXJuLm9yZwp8fGdldGxhbnRlcm4ub3JnCi5nZXRqZXRzby5j +b20vZm9ydW0KZ2V0aXRvbi5jb20KLmdldHNvY2lhbHNjb3BlLmNvbQpnZmJ2LmRl +Ci5nZmdvbGQuY29tLmhrCi5nZnNhbGUuY29tCnx8Z2ZzYWxlLmNvbQpnZncub3Jn +LnVhCi5nZncucHJlc3MKfGh0dHA6Ly9nZncucHJlc3MKLmdnc3NsLmNvbQp8fGdn +c3NsLmNvbQp8fGdob3N0Lm9yZwouZ2hvc3RwYXRoLmNvbQp8fGdob3N0cGF0aC5j +b20KfHxnaHV0Lm9yZwouZ2lmcmVlLmNvbQp8fGdpZ2Etd2ViLmpwCnR3LmdpZ2Fj +aXJjbGUuY29tCnxodHRwOi8vY24uZ2lnYW5ld3MuY29tLwpnaWdwb3Juby5ydQp8 +fGdpcmxiYW5rZXIuY29tCi5naXQuaW8KfHxnaXQuaW8KfGh0dHA6Ly9zb2Z0d2Fy +ZWRvd25sb2FkLmdpdGJvb2tzLmlvCgohLS0tR2l0SHViLS0tCi5naXRodWIuY29t +CnxodHRwczovL2dpc3QuZ2l0aHViLmNvbQpodHRwOi8vY3RobG8uZ2l0aHViLmlv +L2hrdHYKfHxoYW9lbC5naXRodWIuaW8KIS0tfGh0dHA6Ly9vbmlvbmhhY2tlci5n +aXRodWIuaW8KfHxzb2RhdGVhLmdpdGh1Yi5pbwp3c2d6YW8uZ2l0aHViLmlvCnxo +dHRwczovL3dzZ3phby5naXRodWIuaW8KIS0tLmdpdGh1Yi5pbwoKLmdpemxlbi5u +ZXQKfHxnaXpsZW4ubmV0Ci5namN6ei5jb20KZ2xvYmFsamloYWQubmV0Cmdsb2Jh +bG1lZGlhb3V0cmVhY2guY29tCmdsb2JhbG11c2V1bW9uY29tbXVuaXNtLm9yZwp8 +fGdsb2JhbHJlc2N1ZS5uZXQKLmdsb2JhbHRtLm9yZwouZ2xvYmFsdm9pY2Vzb25s +aW5lLm9yZwp8fGdsb2JhbHZvaWNlc29ubGluZS5vcmcKfHxnbG9iYWx2cG4ubmV0 +Ci5nbG9jay5jb20KZ2x1Y2ttYW4uY29tL0RhbGFpTGFtYQpnbWJkLmNuCnx8Z21o +ei5vcmcKfGh0dHA6Ly93d3cuZ21pZGRsZS5jb20KfGh0dHA6Ly93d3cuZ21pZGRs +ZS5uZXQKLmdtbGwub3JnCnx8Z25jaS5vcmcuaGsKZ28tcGtpLmNvbQp8fGdvYWdl +bnQuYml6Cnx8Z29hZ2VudHBsdXMuY29tCmdvYmV0LmNjCmdvZGZvb3RzdGVwcy5v +cmcKfHxnb2Rmb290c3RlcHMub3JnCmdvZG5zLndvcmsKZ29kc2RpcmVjdGNvbnRh +Y3QuY28udWsKLmdvZHNkaXJlY3Rjb250YWN0Lm9yZwpnb2RzZGlyZWN0Y29udGFj +dC5vcmcudHcKLmdvZHNpbW1lZGlhdGVjb250YWN0LmNvbQouZ29nb3R1bm5lbC5j +b20KfHxnb2hhcHB5LmNvbS50dwouZ29rYmF5cmFrLmNvbQouZ29sZGJldC5jb20K +fHxnb2xkYmV0c3BvcnRzLmNvbQouZ29sZGVuZnJvZy5jb20KfHxnb2xkZW5mcm9n +LmNvbQouZ29sZHN0ZXAubmV0Cnx8Z29sZHdhdmUuY29tCmdvbmdtZW5nLmluZm8K +Z29uZ20uaW4KZ29uZ21pbmxpbGlhbmcuY29tCi5nb25nd3QuY29tCnxodHRwOi8v +Z29uZ3d0LmNvbQpibG9nLmdvby5uZS5qcC9kdWNrLXRhaWxfMjAwOQouZ29vZGF5 +Lnh5egp8aHR0cDovL2dvb2RheS54eXoKLmdvb2RyZWFkcy5jb20KfHxnb29kcmVh +ZHMuY29tCi5nb29kcmVhZGVycy5jb20KfHxnb29kcmVhZGVycy5jb20KLmdvb2R0 +di5jb20udHcKLmdvb2R0di50dgp8fGdvb2ZpbmQuY29tCi5nb29nbGVzaWxlLmNv +bQouZ29wZXRpdGlvbi5jb20KfHxnb3BldGl0aW9uLmNvbQouZ29wcm94aW5nLm5l +dAouZ290cnVzdGVkLmNvbQp8fGdvdHJ1c3RlZC5jb20KfHxnb3R3LmNhCnx8Z3Jh +bW1hbHkuY29tCmdyYW5kdHJpYWwub3JnCi5ncmFwaGlzLm5lLmpwCnx8Z3JhcGhp +cy5uZS5qcAohLS18fHMuZ3JhdmF0YXIuY29tCmdyZWF0ZmlyZXdhbGwuYml6Cnx8 +Z3JlYXRmaXJld2FsbG9mY2hpbmEubmV0Ci5ncmVhdGZpcmV3YWxsb2ZjaGluYS5v +cmcKfHxncmVhdGZpcmV3YWxsb2ZjaGluYS5vcmcKfHxncmVlbmZpZWxkYm9va3N0 +b3JlLmNvbS5oawouZ3JlZW5wYXJ0eS5vcmcudHcKfHxncmVlbnBlYWNlLm9yZwou +Z3JlZW5yZWFkaW5ncy5jb20vZm9ydW0KZ3JlYXQtZmlyZXdhbGwuY29tCmdyZWF0 +LXJvYy5vcmcKZ3JlYXRyb2Mub3JnCmdyZWF0emhvbmdodWEub3JnCi5ncmVlbnBl +YWNlLmNvbS50dwouZ3JlZW52cG4ubmV0Cnx8Z3JlZW52cG4ubmV0Ci5ncmVlbnZw +bi5vcmcKZ3MtZGlzY3Vzcy5jb20KfHxndHJpY2tzLmNvbQpndWFuY2hhLm9yZwou +Z3VhcmRzdGVyLmNvbQouZ3VuLXdvcmxkLm5ldApndW5zYW5kYW1tby5jb20KfHxn +dXR0ZXJ1bmNlbnNvcmVkLmNvbQp8fGd2bS5jb20udHcKLmd6bS50dgp8fGd6b25l +LWFuaW1lLmluZm8KCiEtLS0tLS0tLS0tLS0tR0hTLS0tLS0KIS18fGZlZWRzLmNi +c25ld3MuY29tCiEtfHx3d3cuY2hpbmVzZWFsYnVtYXJ0LmNvbQp8fGNsZW1lbnRp +bmUtcGxheWVyLm9yZwohLXx8Y2xlbWVzaGEub3JnCiEtfHx3d3cuY2xvdWRnaXJs +ZnJpZW5kLmNvbQohLXx8Y29jb2F3aXRobG92ZS5jb20KIS18fGJsb2cuY29udHJv +bHNwYWNlLm9yZwohLUQKIS18fHd3dy5kYWlseWd5YW4uY29tCiEtfHxkYWlseXRv +ZG8ub3JnCiEtfHxibG9nLmRhbm1hcm5lci5jb20KIS18fGdpdGh1Yi5kYW5tYXJu +ZXIuY29tCiEtfHxkZXNpZ24tc2VlZHMuY29tCiEtfHxkZXNpZ25lcnMtYXJ0aXN0 +cy5jb20KIS18fG1haWwuZGl5YW5nLm9yZwohLXx8YmxvZy5kb3VnaGVsbG1hbm4u +Y29tCiEtfHxkb3duZm9yZXZlcnlvbmVvcmp1c3RtZS5jb20KIS18fGRyb2lkc2Vj +dXJpdHkuY29tCiEtfHx3d3cuZHJvcG1vY2tzLmNvbQohLXx8ZHVtYmxpdHRsZW1h +bi5jb20KIS1FCmVjaG9mb24uY29tCiEtfHxlY2hvZm9uLmNvbQohLXx8ZXBjLWph +di5jb20KIS18fGV2ZXJkYXJrLmluZm8KIS18fGV2aGVhZC5jb20KIS1GCiEtfHxm +YWNpbGVsb2dpbi5jb20KIS18fCouZmF0ZHVjay5vcmcKIS18fGJsb2cuZmRjbi5v +cmcKIS18fGZmdG9nby5jb20KIS18fGZsaWdodHNpbXRhbGsuY29tCiEtfHxtY2xl +ZS5mb29sbWUubmV0CiEtfHx3d3cuZnJpZW5kZGVjay5jb20KIS18fGZyaW5nZXNw +b2lsZXJzLmNvbQohLXx8ZnJpbmdldGVsZXZpc2lvbi5jb20KIS18fGZ1bnBlYS5j +b20KIS1HCiEtfHxibG9nLmdhdGVpbi5vcmcKIS18fGZlZWRzLmdhd2tlci5jb20K +IS18fGdlZWt0YW5nLmNvbQohLXx8Z2VvaG90LnVzCiEtfHxnZXRhcm91bmQuY29t +CiEtfHxnbWVyLm5ldAohLXx8d3d3Lmdtb3RlLm9yZwohLXx8YmxvZy5nbzJ3ZWIy +MC5uZXQKIS18fGdvb2dsZS1tZWxhbmdlLmNvbQohLXx8ZmFtZS5nb256b2xhYnMu +b3JnCiEtfHxnb3ZlY24ub3JnCiEtfHxncXVldWVzLmNvbQohLXx8Z3JhcGh5Y2Fs +Yy5jb20KfHxncmVhc2VzcG90Lm5ldAohLXx8YmxvZy5ncm93bGZvcndpbmRvd3Mu +Y29tCiEtSAohLXx8aGNtLmNvbS50dwohLXx8YmxvZy5oZWFkaXVzLmNvbQohLXx8 +aG9nYmF5c29mdHdhcmUuY29tCiEtfHxibG9nLmhvdG90Lm9yZwohLXx8ZmVlZHMu +aG93c3R1ZmZ3b3Jrcy5jb20KIS18fGh1aGFpdGFpLmNvbQohLXx8YmxvZy5odW1h +bnJpZ2h0c2ZpcnN0Lm9yZwohLUkKIS18fHNpdGUuaWN1LXByb2plY3Qub3JnCiEt +fHxpZ29yd2FyZS5jb20KIS18fGloYXMxMzM3Y29kZS5jb20KIS18fGlua25vdXZl +YXUuY29tCiEtfHxpbm90ZS50dwohLXx8aXJvbmhlbG1ldC5jb20KIS18fGl3Zndj +Zi5jb20KIS1KCiEtfHxibG9nLmphbmdtdC5jb20KIS18fGJsb2cuamF5ZmllbGRz +LmNvbQohLXx8dC5qaWVjaWkuY29tCiEtfHxibG9nLmpvaW50Lm5ldAohLXx8Ymxv +Zy5qc3F1YXJlZGphdmFzY3JpcHQuY29tCiEtfHxibG9nLmp0YndvcmxkLmNvbQoh +LUsKIS18fGthdGh5c2Nod2FsYmUuY29tCiEtfHx0b21hdG92cG4ua2VpdGhtb3ll +ci5jb20KIS18fHd3dy5rZWl0aG1veWVyLmNvbQohLXx8a2VuZGFsdmFuZHlrZS5j +b20KIS18fGJsb2cua2VuZ2FvLnR3CiEtfHxsb2cua2Vzby5jbgohLXx8d3d3Lmto +YW5hY2FkZW15Lm9yZwp8fHd3dy5rbGlwLm1lCiEtfHx1c2Jsb2FkZXJneC5rb3Vy +ZWlvLm5ldAohLXx8YmxvZy5rb3dhbGN6eWsuaW5mbwohLUwKIS18fGxhYnlyaW50 +aDIuY29tCiEtfHxsYXJzZ2VvcmdlLmNvbQohLXx8YmxvZy5sYXN0cGFzcy5jb20K +IS18fGRvY3MubGF0ZXhsYWIub3JnCiEtfHxsZWFuZXNzYXlzLmNvbQohLXx8Ymxv +Zy5saWRhb2JpbmcuaW5mbwohLXx8bG9nLmxpZ2h0b3J5Lm5ldAohLXx8ZmVlZHMu +bGltaS5uZXQKIS18fHd3dy5saXRlYXBwbGljYXRpb25zLmNvbQohLXx8YmxvZy5s +aXVrYW5neHUuaW5mbwohLXx8dHdpdHRlci5saXVrYW5neHUuaW5mbwohLXx8b2Fz +aXNuZXdzcm9vbS5saXZlNGV2ZXIudXMKIS18fHd3dy5sb2NrZXJnbm9tZS5jb20K +IS18fGxvY3FsLmNvbQpAQHx8c2l0ZS5sb2NxbC5jb20KIS18fGZlZWRzLmxvaWNs +ZW1ldXIuY29tCiEtfHxibG9nLmxvdWlzZ3JheS5jb20KIS1NCiEtfHxtYWRlYnlz +b2ZhLmNvbQohLXx8bWFkZW1vaXNlbGxlcm9ib3QuY29tCiEtfHxtYXNhbWl4ZXMu +Y29tCiEtfHx3d3cubWV0YW11c2UubmV0CiEtfHxibG9nLm1ldGFzcGxvaXQuY29t +CiEtfHxtaWxhemkuY29tCiEtfHx3d3cubWluaXdlYXRoZXIuY29tCiEtfHx0d2l0 +dGVyLm1pc3NpdS5jb20KIS18fHBsdXJrdG9wLWJ1dHRvbi5tbWRheXMuY29tCiEt +fHxmZWVkcy5tb2JpbGVyZWFkLmNvbQohLXx8d3d3Lm1vZGVybml6ci5jb20KIS18 +fHd3dy5tb2RrLml0CiEtfHxteXR3aXNoaXJ0LmNvbQohLU4KIS18fGJsb2cubmV0 +ZmxpeC5jb20KIS18fGJsb2cubmloaWxvZ2ljLmRrCiEtfHxudGxrLm9yZwohLXx8 +bnZxdWFuLm9yZwohLXx8bm9nb29kYXRjb2RpbmcuY29tCiEtfHxibG9nLm5vdGRv +dC5uZXQKIS18fHd3dy5ub3RpZnkuaW8KIS1PCiEtfHxibG9nLm9idmlvdXMuY29t +CiEtfHxvbmViaWdmbHVrZS5jb20KIS18fG92ZXJzdGltdWxhdGUuY29tCiEtUAoh +LXx8cGNnZWVrYmxvZy5jb20KIS18fGZlZWRzLnBkZmNobS5uZXQKIS18fGZlZWRz +LnBlb3BsZS5jb20KIS18fGJsb2cucGVyc2lzdGVudC5pbmZvCiEtfHxjaHJvbWUu +cGxhbnRzdnN6b21iaWVzLmNvbQohLXx8cG9ydGFibGVzb2Z0Lm9yZy5ydQohLXx8 +cHJhc2FubmF0ZWNoLm5ldAohLXx8dGFsay5uZXdzLnB0cy5vcmcudHcKIS18fHB5 +dGhvbi1leGNlbC5vcmcKIS1RCiEtUgohLXx8ci1jaGFydC5jb20KIS18fHJhbWVz +aHN1YnJhbWFuaWFuLm9yZwohLXx8cmFwaWQucGsKIS18fGJsb2cucmVkZGl0LmNv +bQohLXx8YmxvZy5yZW5hbnNlLmNvbQohLXx8cm9iZXJ0bWFvLmNvbQohLXx8d3d3 +LnJvbWVvLWZveHRyb3QuY29tCiEtUwohLXx8c2FsbWl5dWNrLmNvbQohLXx8c2Ft +c2FsLmNvbQohLXx8YmxvZy5zZWVtaW5nbGVlLmNvbQohLXx8YmxvZy5zZmxvdy5j +b20KIS18fGJsb2cuc2lnZnBlLmNvbQohLXx8c2ltcGxldGV4dC53cwohLXx8d3d3 +LnNrdWxwdC5vcmcKIS18fHJzcy5zbGFzaGRvdC5vcmcKIS18fHNuaXBwZXRzYXBw +LmNvbQohLXx8dy5zbnMubHkKIS18fHd3dy5zb2NpYWxubW9iaWxlLmNvbQohLXx8 +d3d3LnNvY2lhbHdob2lzLmNvbQohLXx8c3Bpcml0amIub3JnCiEtfHxzc2Jvb2su +Y29tCiEtfHxzc2hmb3J3YXJkaW5nLmNvbQohLXx8c3RhdGlvbmVyaWEuY29tCnx8 +c3RlcGhhbmllcmVkLmNvbQohLXx8c3Vuamlkb25nLm5ldAohLXx8c3luaXVtc29m +dHdhcmUuY29tCkBAfHxkb3dubG9hZC5zeW5pdW1zb2Z0d2FyZS5jb20KIS1UCiEt +fHx0YWd4ZWRvLmNvbQohLXx8YmxvZy50YXRvZWJhLm9yZwohLXx8d3d3LnRlY2hm +b2IuY29tCiEtfHx0ZWFjaHBhcmVudHN0ZWNoLm9yZwohLXx8dGhlOHBlbi5jb20K +IS18fHRoZWlwaG9uZXdpa2kuY29tCiEtfHxibG9nLnRoZXNpbGVudG51bWJlci5t +ZQohLXx8dGhlc3BvbnR5LmNvbQohLXx8dGhldWx0cmFsaW54LmNvbQohLXx8Ymxv +Zy50aGluay1hc3luYy5jb20KIS18fHRvcm5hZG93ZWIub3JnCiEtfHx0cmFuc3Bh +cmVudHVwdGltZS5jb20KIS18fHRyaWFuZ3VsYXRpb25ibG9nLmNvbQohLXx8Ymxv +Zy50c3VuYW5ldC5uZXQKIS18fGVuLnR1eGVyby5jb20KIS18fHR3YXp6dXAuY29t +CiEtfHx0d2VldHN3ZWxsLmNvbQohLXx8dHdpYmVzLmNvbQohLXx8YXJ0LnR3Z2cu +b3JnCiEtfHx0d2l2ZXJ0LmNvbQohLVUKfGh0dHA6Ly91YjAuY2MKIS18fGpvbm55 +LnVidW50dS10dy5uZXQKIS18fGJsb2cudW1vbmtleS5uZXQKIS1WCiEtfHx0cC52 +YmFwLmNvbS5hdQohLXx8d3d3LnZpcnR1b3Vzcm9tLmNvbQohLXx8YmxvZy52aXNp +Ym90ZWNoLmNvbQohLVcKIS18fHdhdmVwcm90b2NvbC5vcmcKIS18fHd3dy53YXZl +c2FuZGJveC5jb20KIS18fHdlYmZlZS5vcmcucnUKIS18fGJsb2cud2VibXByb2pl +Y3Qub3JnCiEtfHx3ZWJ1cGQ4Lm9yZwohLXx8d3d3LndoYXRicm93c2VyLm9yZwoh +LXx8d3d3LndoZXJlZG95b3Vnby5uZXQKIS18fHdpbGxoYWlucy5jb20KIS18fGZl +ZWRzLndpcmVkLmNvbQohLXx8d2lzZW1hcHBpbmcub3JnCndvenkuaW4KIS18fHdv +enkuaW4vCiEtfHxibG9nLnd1bmRlcmNvdW50ZXIuY29tCiEtWAohLXx8eGRlbHRh +Lm9yZwohLXx8eGlhb2dhb3ppLm9yZwohLXx8eGlsb3UudXMKIS18fHh6eS5vcmcu +cnUKIS1ZCiEtfHx5b29wZXIuYmUKIS18fHRzb25nLnl1bnhpLm5ldAohLVoKCmdv +c3BlbGhlcmFsZC5jb20KfHxnb3NwZWxoZXJhbGQuY29tCnxodHRwOi8vaGsuZ3Jh +ZGNvbm5lY3Rpb24uY29tLwp8fGdyYW5nb3J6Lm9yZwp8fGdyYXlsb2cyLm9yZwpn +cmVhdGZpcmUub3JnCnx8Z3JlYXRmaXJlLm9yZwpncmVhdGZpcmV3YWxsb2ZjaGlu +YS5vcmcKfHxncmVhdHJvYy50dwouZ3RzLXZwbi5jb20KfGh0dHA6Ly9ndHMtdnBu +LmNvbQouZ3UtY2h1LXN1bS5vcmcKfGh0dHA6Ly9ndS1jaHUtc3VtLm9yZwouZ3Vh +Z3Vhc3MuY29tCnxodHRwOi8vZ3VhZ3Vhc3MuY29tCi5ndWFndWFzcy5vcmcKfGh0 +dHA6Ly9ndWFndWFzcy5vcmcKZ3Vpc2hhbi5vcmcKfHxndWlzaGFuLm9yZwp8fGd1 +bnNhbWVyaWNhLmNvbQpndXJ1b25saW5lLmhrCnxodHRwOi8vZ3ZsaWIuY29tCi5n +eWFsd2FyaW5wb2NoZS5jb20KLmd5YXRzb3N0dWRpby5jb20KCiEtLS0tLS0tLS0t +LS0tLS0tLS0tLUhILS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQouaDUyOC5jb20K +Lmg1ZG0uY29tCi5oNWdhbGdhbWUubWUKfHxoLWNoaW5hLm9yZwouaC1tb2UuY29t +CnxodHRwOi8vaC1tb2UuY29tCmgxbjFjaGluYS5vcmcKLmhhY2cuY2x1Ygp8fGhh +Y2cuY2x1YgouaGFjZy5pbgp8aHR0cDovL2hhY2cuaW4KLmhhY2cubGkKfGh0dHA6 +Ly9oYWNnLmxpCi5oYWNnLnJlZAp8aHR0cDovL2hhY2cucmVkCi5oYWNrZW4uY2Mv +YmJzCi5oYWNrZXIub3JnCnx8aGFja3RoYXRwaG9uZS5uZXQKaGFobG8uY29tCnx8 +aGFra2F0di5vcmcudHcKLmhhbmRjcmFmdGVkc29mdHdhcmUub3JnCnxodHRwOi8v +YmJzLmhhbm1pbnp1Lm9yZy8KLmhhbnVueWkuY29tCi5oYW8ubmV3cy9uZXdzCnxo +dHRwOi8vYWUuaGFvMTIzLmNvbQp8aHR0cDovL2FyLmhhbzEyMy5jb20KfGh0dHA6 +Ly9ici5oYW8xMjMuY29tCnxodHRwOi8vZW4uaGFvMTIzLmNvbQp8aHR0cDovL2lk +LmhhbzEyMy5jb20KfGh0dHA6Ly9qcC5oYW8xMjMuY29tCnxodHRwOi8vbWEuaGFv +MTIzLmNvbQp8aHR0cDovL214LmhhbzEyMy5jb20KfGh0dHA6Ly9zYS5oYW8xMjMu +Y29tCnxodHRwOi8vdGguaGFvMTIzLmNvbQp8aHR0cDovL3R3LmhhbzEyMy5jb20K +fGh0dHA6Ly92bi5oYW8xMjMuY29tCnxodHRwOi8vaGsuaGFvMTIzaW1nLmNvbQp8 +aHR0cDovL2xkLmhhbzEyM2ltZy5jb20KfHxoYXBweS12cG4uY29tCnx8aGFyZHNl +eHR1YmUuY29tCi5oYXJ1bnlhaHlhLmNvbQp8aHR0cDovL2hhcnVueWFoeWEuY29t +Cnx8aGFzYW93YWxsLmNvbQpiYnMuaGFzaS53YW5nCmhhdmU4LmNvbQpAQHx8aGF5 +Z28uY29tCnx8aGR0dmIubmV0Ci5oZHpvZy5jb20KfGh0dHA6Ly9oZHpvZy5jb20K +fHxoZWFydHlpdC5jb20KLmhlYy5zdQp8aHR0cDovL2hlYy5zdQouaGVjYWl0b3Uu +bmV0Cnx8aGVjYWl0b3UubmV0Ci5oZWNoYWppLmNvbQp8fGhlY2hhamkuY29tCnx8 +aGVlYWN0LmVkdS50dwouaGVncmUtYXJ0LmNvbQp8aHR0cDovL2hlZ3JlLWFydC5j +b20KfHxjZG4uaGVsaXhzdHVkaW9zLm5ldAp8fGhlbHBsaW5mZW4uY29tCnx8aGVs +bG9hbmRyb2lkLmNvbQp8fGhlbGxvcXVlZXIuY29tCmhlbGxvdHh0LmNvbQp8fGhl +bGxvdHh0LmNvbQouaGVudGFpLnRvCi5oZWxsb3VrLm9yZy9mb3J1bS9sb2ZpdmVy +c2lvbgouaGVscGVhY2hwZW9wbGUuY29tCnx8aGVscGVhY2hwZW9wbGUuY29tCnx8 +aGVscHN0ZXIuZGUKLmhlbHB6aHVsaW5nLm9yZwpoZW50YWl0dWJlLnR2Ci5oZW50 +YWl2aWRlb3dvcmxkLmNvbQoKISMjIyMjIyMjIyMjLS1IZXJva3UtLSMjIyMjIyMj +IyMKfHxnZXRjbG91ZGFwcC5jb20KfHxjbC5seQpAQHx8Zi5jbC5seQp8fGdldHNt +YXJ0bGlua3MuY29tCnx8Z2l0LXNjbS5jb20KCmhlcWluZ2xpYW4ubmV0Cnx8aGV1 +bmdrb25nZGlzY3Vzcy5jb20KIS0tR29vZ2xlIGVtcGxveWVlIHdpdGhpbiBHb29n +bGUgSVAKfHxoZXh4ZWgubmV0CmFwcC5oZXl3aXJlLmNvbQouaGV5em8uY29tCi5o +Z3NlYXYuY29tCi5oaGRjYjNvZmZpY2Uub3JnCi5oaHRoZXNha3lhdHJpemluLm9y +ZwpoaS1vbi5vcmcudHcKaGlkZGVuLWFkdmVudC5vcmcKfHxoaWRkZW4tYWR2ZW50 +Lm9yZwpoaWRlY2xvdWQuY29tL2Jsb2cvMjAwOC8wNy8yOS9mdWNrLWJlaWppbmct +b2x5bXBpY3MuaHRtbAp8fGhpZGUubWUKLmhpZGVpcHZwbi5jb20KfHxoaWRlaXB2 +cG4uY29tCi5oaWRlbWFuLm5ldAp8fGhpZGVtYW4ubmV0CmhpZGVtZS5ubAouaGlk +ZW15YXNzLmNvbQp8fGhpZGVteWFzcy5jb20KaGlkZW15Y29tcC5jb20KfHxoaWRl +bXljb21wLmNvbQouaGloaWZvcnVtLmNvbQp8aHR0cDovL2hpaGlmb3J1bS5jb20K +fHxoaWhpc3RvcnkubmV0Ci5oaWdmdy5jb20KaGlnaHBlYWtzcHVyZWVhcnRoLmNv +bQp8fGhpZ2hyb2NrbWVkaWEuY29tCnx8aGlpdGNoLmNvbQp8fGhpa2luZ2dmdy5v +cmcKLmhpbGl2ZS50dgouaGltYWxheWFuLWZvdW5kYXRpb24ub3JnCmhpbWFsYXlh +bmdsYWNpZXIuY29tCi5oaW1lbWl4LmNvbQp8fGhpbWVtaXguY29tCi5oaW1lbWl4 +Lm5ldAp0aW1lcy5oaW5ldC5uZXQKLmhpdG9taS5sYQp8aHR0cDovL2hpdG9taS5s +YQpoaXpidXR0YWhyaXIub3JnCmhpemItdXQtdGFocmlyLmluZm8KaGl6Yi11dC10 +YWhyaXIub3JnCi5oamNsdWIuaW5mbwouaGstcHViLmNvbS9mb3J1bQp8aHR0cDov +L2hrLXB1Yi5jb20KLmhrMDEuY29tCi5oazMyMTY4LmNvbQp8fGhrMzIxNjguY29t +Cnx8aGthY2cuY29tCnx8aGthY2cubmV0Ci5oa2F0dm5ld3MuY29tCmhrYmMubmV0 +Ci5oa2JmLm9yZwouaGtib29rY2l0eS5jb20KfHxoa2Jvb2tjaXR5LmNvbQouaGtj +aHVyY2gub3JnCmhrY2kub3JnLmhrCi5oa2NtaS5lZHUKfHxoa2NuZXdzLmNvbQp8 +fGhrY29jLmNvbQpoa2RheS5uZXQKLmhrZGFpbHluZXdzLmNvbS5oay9jaGluYS5w +aHAKaGtkZi5vcmcKLmhrZWouY29tCi5oa2VwYy5jb20vZm9ydW0vdmlld3RocmVh +ZC5waHA/dGlkPTExNTMzMjIKY2hpbmEuaGtldC5jb20KfHxoa2ZhYS5jb20KaGtm +cmVlem9uZS5jb20KaGtmcm9udC5vcmcKbS5oa2dhbGRlbi5jb20KfGh0dHBzOi8v +bS5oa2dhbGRlbi5jb20KaGtnb2xkZW4uY29tCi5oa2dyZWVucmFkaW8ub3JnL2hv +bWUKLmhraGVhZGxpbmUuY29tKmJsb2cKLmhraGVhZGxpbmUuY29tL2luc3RhbnRu +ZXdzCmhraGtoay5jb20KaGtocmMub3JnLmhrCmhraHJtLm9yZy5oawp8fGhraXAu +b3JnLnVrCjE5ODlyZXBvcnQuaGtqYS5vcmcuaGsKaGtqYy5jb20KLmhranAub3Jn +Ci5oa2xmdC5jb20KLmhrbHRzLm9yZy5oawp8fGhrbHRzLm9yZy5oawpuZXdzLmhr +cGVhbnV0LmNvbQpoa3B0dS5vcmcKLmhrcmVwb3J0ZXIuY29tCnx8aGtyZXBvcnRl +ci5jb20KfGh0dHA6Ly9oa3Vwb3AuaGt1LmhrLwouaGt1c3UubmV0Cnx8aGt1c3Uu +bmV0Ci5oa3Z3ZXQuY29tCi5oa3djYy5vcmcuaGsKfHxoa3pvbmUub3JnCmhuamhq +LmNvbQp8fGhuamhqLmNvbQouaG5udHViZS5jb20KfHxob2xhLmNvbQp8fGhvbGEu +b3JnCmhvbHltb3VudGFpbmNuLmNvbQpob2x5c3Bpcml0c3BlYWtzLm9yZwp8fGhv +bHlzcGlyaXRzcGVha3Mub3JnCnx8ZGVyZWtoc3UuaG9tZWlwLm5ldAouaG9tZXBl +cnZlcnNpb24uY29tCnxodHRwOi8vaG9tZXNlcnZlcnNob3cuY29tCnxodHRwOi8v +b2xkLmhvbmV5bmV0Lm9yZy9zY2Fucy9zY2FuMzEvc3ViL2RvdWdfZXJpYy9zcGFt +X3RyYW5zbGF0aW9uLmh0bWwKLmhvbmdrb25nZnAuY29tCnx8aG9uZ2tvbmdmcC5j +b20KaG9uZ21laW1laS5jb20KfHxob25nemhpLmxpCmhvb3RzdWl0ZS5jb20KfHxo +b290c3VpdGUuY29tCi5ob3B0by5vcmcKLmhvcm55Z2FtZXIuY29tCi5ob3Rhdi50 +dgpob3Rmcm9nLmNvbS50dwpob3Rnb28uY29tCi5ob3Rwb3Juc2hvdy5jb20KaG90 +cG90LmhrCi5ob3RzaGFtZS5jb20KfHxob3RzcG90c2hpZWxkLmNvbQouaG90dnBu +LmNvbQp8fGhvdHZwbi5jb20KfHxob3VnYWlnZS5jb20KfHxob3d0b2ZvcmdlLmNv +bQouaHFjZHAub3JnCnx8aHFjZHAub3JnCnx8aHFqYXBhbmVzZXNleC5jb20KaHFt +b3ZpZXMuY29tCi5ocmNpci5jb20KLmhyY2NoaW5hLm9yZwouaHJlYS5vcmcKLmhy +aWNoaW5hLm9yZwp8fGhyaWNoaW5hLm9yZwouaHJ3Lm9yZwp8fGhydy5vcmcKaHJ3 +ZWIub3JnCnx8aHNqcC5uZXQKfHxoc3NlbGl0ZS5jb20KfGh0dHA6Ly9oc3QubmV0 +LnR3Ci5oc3Rlcm4ubmV0Ci5oc3R0Lm5ldAouaHRrb3UubmV0Cnx8aHRrb3UubmV0 +Cnx8aHRtbGRvZy5jb20KLmh1YS15dWUubmV0Cmh1YWdsYWQuY29tCi5odWFuZ2h1 +YWdhbmcub3JnCnx8aHVhbmdodWFnYW5nLm9yZwouaHVhbmd5aXl1LmNvbQouaHVh +cmVuLnVzCnx8aHVhcmVuLnVzCmJicy5odWFzaW5nLm9yZwpodWF4aWEtbmV3cy5j +b20KaHVheGlhYmFvLm9yZwpodWF4aW4ucGgKfHxodWF5dXdvcmxkLm9yZwouaHVm +ZmluZ3RvbnBvc3QuY29tL3JlYml5YS1rYWRlZXIKfHxodWdvcm95LmV1Cnx8aHVo +YWl0YWkuY29tCnx8aHVoYW1oaXJlLmNvbQpodWl5aS5pbgouaHVsa3NoYXJlLmNv +bQpodW1hbnJpZ2h0c2JyaWVmaW5nLm9yZwp8fGh1bmcteWEuY29tCnx8aHVuZ2Vy +c3RyaWtlZm9yYWlkcy5vcmcKfHxodXBpbmcubmV0Cmh1cmdva2JheXJhay5jb20K +Lmh1cnJpeWV0LmNvbS50cgouaHV0Mi5ydQp8fGh1dGlhbnlpLm5ldApodXRvbmc5 +Lm5ldApodXlhbmRleC5jb20KfHxod2F5dWUub3JnLnR3Cnx8aHdpbmZvLmNvbQp8 +fGh4d2sub3JnCmh4d3Eub3JnCnx8aHlwZXJyYXRlLmNvbQplYm9vay5oeXJlYWQu +Y29tLnR3Cnx8ZWJvb2suaHlyZWFkLmNvbS50dwoKIS0tLS0tLS0tLS0tLS0tLS0t +LS0tSUktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnx8aTEuaGsKfHxpMnAyLmRl +Cnx8aTJydW5uZXIuY29tCnx8aTgxOGhrLmNvbQouaS1jYWJsZS5jb20KLmktcGFy +dC5jb20udHcKLmlhbXRvcG9uZS5jb20KaWFzay5jYQp8fGlhc2suY2EKaWFzay5i +egp8fGlhc2suYnoKLmlhdjE5LmNvbQppYmlibGlvLm9yZy9wdWIvcGFja2FnZXMv +Y2NpYwouaWJsaXN0LmNvbQp8fGlibG9nc2Vydi1mLm5ldAppYnJvcy5vcmcKfGh0 +dHA6Ly9jbi5pYnRpbWVzLmNvbQouaWJ2cG4uY29tCnx8aWJ2cG4uY29tCmljYW1z +LmNvbQpibG9ncy5pY2Vyb2NrZXQuY29tL3RhZwouaWNpai5vcmcKfHxpY2lqLm9y +Zwp8fGljbC1maS5vcmcKLmljb2NvLmNvbQp8fGljb2NvLmNvbQoKIS0tMzguMTAz +LjE2NS41MAp8fGZ1cmJvLm9yZwohLS18fGljb25mYWN0b3J5LmNvbQp8fHdhcmJs +ZXIuaWNvbmZhY3RvcnkubmV0Cgp8fGljb25wYXBlci5vcmcKIS0tIEdvb2dsZSBQ +YWdlcwp8fGljdS1wcm9qZWN0Lm9yZwp3LmlkYWl3YW4uY29tL2ZvcnVtCmlkZW1v +Y3JhY3kuYXNpYQouaWRlbnRpLmNhCnx8aWRlbnRpLmNhCnx8aWRpb21jb25uZWN0 +aW9uLmNvbQp8aHR0cDovL3d3dy5pZGxjb3lvdGUuY29tCi5pZG91Z2EuY29tCi5p +ZHJlYW14LmNvbQpmb3J1bS5pZHNhbS5jb20KLmlkdi50dwouaWVhc3k1LmNvbQp8 +aHR0cDovL2llYXN5NS5jb20KLmllZDJrLm5ldAouaWVuZXJneTEuY29tCnxodHRw +Oi8vaWYudHR0LwppZmFucWlhbmcuY29tCi5pZmFuci5jb20vODU3Ci5pZmNzcy5v +cmcKfHxpZmNzcy5vcmcKaWZqYy5vcmcKLmlmdC50dAp8aHR0cDovL2lmdC50dAp8 +fGlmcmVld2FyZXMuY29tCnx8aWdjZC5uZXQKLmlnZncubmV0Cnx8aWdmdy5uZXQK +LmlnbWcuZGUKfHxpZ25pdGVkZXRyb2l0Lm5ldAouaWdvdG1haWwuY29tLnR3Cnx8 +aWd2aXRhLmNvbQp8fGloYWtrYS5uZXQKLmloYW8ub3JnL2R6NQp8fGlpY25zLmNv +bQp8fGlsbHVzaW9uZmFjdG9yeS5jb20KfHxpbG92ZTgwLmJlCnx8aW0udHYKQEB8 +fG15dmxvZy5pbS50dgp8fGltODgudHcKLmltZ2NoaWxpLm5ldAp8aHR0cDovL2lt +Z2NoaWxpLm5ldAouaW1hZ2VhYi5jb20KLmltYWdlZmFwLmNvbQp8fGltYWdlZmFw +LmNvbQp8fGltYWdlZmxlYS5jb20KaW1hZ2VzaGFjay51cwp8fGltYWdldmVudWUu +Y29tCnx8aW1hZ2V6aWxsYS5uZXQKLmltYi5vcmcKfGh0dHA6Ly9pbWIub3JnCgoh +LS1JTURCCnxodHRwOi8vd3d3LmltZGIuY29tL25hbWUvbm0wNDgyNzMwCi5pbWRi +LmNvbS90aXRsZS90dDA4MTkzNTQKLmltZGIuY29tL3RpdGxlL3R0MTU0MDA2OAou +aW1kYi5jb20vdGl0bGUvdHQ0OTA4NjQ0CgouaW1nLmx5Cnx8aW1nLmx5Ci5pbWtl +di5jb20KfHxpbWtldi5jb20KLmltbGl2ZS5jb20KLmltbW9yYWwuanAKaW1wYWN0 +Lm9yZy5hdQppbXBwLm1uCnxodHRwOi8vdGVjaDIuaW4uY29tL3ZpZGVvLwppbjk5 +Lm9yZwppbi1kaXNndWlzZS5jb20KLmluY2FwZG5zLm5ldAouaW5jbG9hay5jb20K +fHxpbmNsb2FrLmNvbQp8fGluY3JlZGlib3guZnIKfHxpbmRpYW5kZWZlbnNlbmV3 +cy5pbgp0aW1lc29maW5kaWEuaW5kaWF0aW1lcy5jb20vZGFsYWkKdGltZXNvZmlu +ZGlhLmluZGlhdGltZXMuY29tL2RlZmF1bHRpbnRlcnN0aXRpYWwuY21zCi5pbmRp +ZW1lcmNoLmNvbQp8fGluZGllbWVyY2guY29tCmluZm8tZ3JhZi5mcgp3ZWJzaXRl +LmluZm9ybWVyLmNvbQouaW5pdGlhdGl2ZXNmb3JjaGluYS5vcmcKLmlua3VpLmNv +bQouaW5tZWRpYWhrLm5ldAp8fGlubWVkaWFoay5uZXQKfHxpbm5lcm1vbmdvbGlh +Lm9yZwp8aHR0cDovL2Jsb2cuaW5vcmVhZGVyLmNvbQouaW5vdGUudHcKLmluc2Vj +YW0ub3JnCnxodHRwOi8vaW5zZWNhbS5vcmcKLmluc3RhZ3JhbS5jb20KfHxpbnN0 +YWdyYW0uY29tCi5pbnN0aXR1dC10aWJldGFpbi5vcmcKfHxpbnRlcmZhY2VhZGRp +Y3Rpb24uY29tCnx8aW50ZXJuYXRpb25hbHJpdmVycy5vcmcKfGh0dHA6Ly9pbnRl +cm5ldC5vcmcvCmludGVybmV0ZGVmZW5zZWxlYWd1ZS5vcmcKaW50ZXJuZXRmcmVl +ZG9tLm9yZwohLS18fGludGVycG9sLmludAp8fGludGVybmV0cG9wY3VsdHVyZS5j +b20KaW54aWFuLmNvbQp8fGlueGlhbi5jb20KaXBhbHRlci5jb20KfHxpcGNmLm9y +Zy50dwp8fGlwaG9uZTRob25na29uZy5jb20KfHxpcGhvbmVoYWNrcy5jb20KfHxp +cGhvbmV0YWl3YW4ub3JnCnx8aXBob25peC5mcgp8fGlwaWN0dXJlLnJ1Ci5pcGpl +dGFibGUubmV0Cnx8aXBqZXRhYmxlLm5ldAouaXBvYmFyLmNvbS9yZWFkLnBocD8K +aXBvb2NrLmNvbS9pbWcKLmlwb3J0YWwubWUKfGh0dHA6Ly9pcG9ydGFsLm1lCnx8 +aXBwb3R2LmNvbQouaXByZWRhdG9yLnNlCnx8aXByZWRhdG9yLnNlCi5pcHR2LmNv +bS50dwp8fGlwdmFuaXNoLmNvbQppcmVkbWFpbC5vcmcKY2hpbmVzZS5pcmliLmly +Cnx8aXJvbmljc29mdHdhcmUuY29tCnx8aXJvbmJpZ2Zvb2xzLmNvbXB5dGhvbi5u +ZXQKfHxpcm9ucHl0aG9uLm5ldAouaXJvbnNvY2tldC5jb20KfHxpcm9uc29ja2V0 +LmNvbQouaXMuZ2QKLmlzbGFtLm9yZy5oawp8aHR0cDovL2lzbGFtLm9yZy5oawou +aXNsYW1hd2FyZW5lc3MubmV0L0FzaWEvQ2hpbmEKLmlzbGFtaG91c2UuY29tCnx8 +aXNsYW1ob3VzZS5jb20KLmlzbGFtaWNpdHkuY29tCi5pc2xhbWljcGx1cmFsaXNt +Lm9yZwouaXNsYW10b2RheS5uZXQKLmlzYWFjbWFvLmNvbQp8fGlzYWFjbWFvLmNv +bQp8fGlzZ3JlYXQub3JnCnx8aXNtYWVsYW4uY29tCi5pc21hbGx0aXRzLmNvbQp8 +fGlzbXByb2Zlc3Npb25hbC5uZXQKaXNvaHVudC5jb20KfHxpc3JhYm94LmNvbQou +aXNzdXUuY29tCnx8aXNzdXUuY29tCi5pc3RhcnMuY28ubnoKb3ZlcnNlYS5pc3Rh +cnNoaW5lLmNvbQp8fG92ZXJzZWEuaXN0YXJzaGluZS5jb20KYmxvZy5pc3RlZi5p +bmZvLzIwMDcvMTAvMjEvbXllbnR1bm5lbAouaXN0aXFsYWxoZXdlci5jb20KLmlz +dG9ja3Bob3RvLmNvbQppc3VuYWZmYWlycy5jb20KaXN1bnR2LmNvbQppdGFib28u +aW5mbwp8fGl0YWJvby5pbmZvCi5pdGFsaWF0aWJldC5vcmcKZG93bmxvYWQuaXRo +b21lLmNvbS50dwppdGhlbHAuaXRob21lLmNvbS50dwp8fGl0c2hpZGRlbi5jb20K +Lml0c2t5Lml0Ci5pdHdlZXQubmV0CnxodHRwOi8vaXR3ZWV0Lm5ldAouaXU0NS5j +b20KfHxpdWhyZGYub3JnCi5pdWtza3kuY29tCi5pdmFjeS5jb20KfHxpdmFjeS5j +b20KLml2ZXJ5Y2QuY29tCi5pdnBuLm5ldAohLS18fGl2cG4ubmV0Cnx8aXhxdWlj +ay5jb20KLml4eHguY29tCml5b3Vwb3J0LmNvbQp8fGl5b3Vwb3J0LmNvbQouaXph +b2Jhby51cwp8fGdtb3pvbWcuaXppaG9zdC5vcmcKLml6bGVzLm5ldAouaXpsZXNl +bS5vcmcKCiEtLS0tLS0tLS0tLS0tLS0tLS0tLUpKLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLQp8fGoubXAKYmxvZy5qYWNramlhLmNvbQpqYW1hYXQub3JnCi5qYW15 +YW5nbm9yYnUuY29tCnxodHRwOi8vamFteWFuZ25vcmJ1LmNvbQp8fGphbndvbmdw +aG90by5jb20KfHxqYXBhbi13aG9yZXMuY29tCi5qYXY2OC50dgouamF2aGQuY29t +Ci5qYXZoaXAuY29tCi5qYXZha2liYS5vcmcKfGh0dHA6Ly9qYXZha2liYS5vcmcK +LmphdmJ1cy5jb20KfHxqYXZmb3IubWUKLmphdm1vby5jb20KLmphdnNlZW4uY29t +CnxodHRwOi8vamF2c2Vlbi5jb20KamJ0YWxrcy5jYwpqYnRhbGtzLmNvbQpqYnRh +bGtzLm15Ci5qZHdzeS5jb20KamVhbnlpbS5jb20KfHxqZnF1MzYuY2x1Ygp8fGpm +cXUzNy54eXoKfHxqZ29vZGllcy5jb20KLmppYW5nd2VpcGluZy5jb20KfHxqaWFu +Z3dlaXBpbmcuY29tCnx8amlhb3lvdTguY29tCi5qaWVodWEuY3oKfHxoay5qaWVw +YW5nLmNvbQp8fHR3LmppZXBhbmcuY29tCmppZXNoaWJhb2Jhby5jb20KNTZjdW4w +NC5qaWdzeS5jb20Kamlnb25nMTAyNC5jb20KZGFvZHUxNC5qaWdzeS5jb20Kc3Bl +Y3hpbnpsLmppZ3N5LmNvbQp3bGNuZXcuamlnc3kuY29tCmppbmJ1c2hlLm9yZwp8 +fGppbmJ1c2hlLm9yZwouamluZ3NpbS5vcmcKemhhby5qaW5oYWkuZGUKamluZ3Bp +bi5vcmcKfHxqaW5ncGluLm9yZwpqaW5waWFud2FuZy5jb20KLmppbnJvdWtvbmcu +Y29tCmFjLmppcnVhbi5uZXQKfHxqaXRvdWNoLmNvbQouaml6enRoaXMuY29tCmpq +Z2lybHMuY29tCi5qa2IuY2MKfGh0dHA6Ly9qa2IuY2MKamtmb3J1bS5uZXQKfHxq +bWEuZ28uanAKcmVzZWFyY2guam1zYy5oa3UuaGsvc29jaWFsCndlaWJvc2NvcGUu +am1zYy5oa3UuaGsKLmptc2N1bHQuY29tCnxodHRwOi8vam1zY3VsdC5jb20KfHxq +b2FjaGltcy5vcmcKfHxqb2Jzby50dgp8fGpvZWVkZWxtYW4uY29tCi5qb3VybmFs +Y2hyZXRpZW4ubmV0Cnx8am91cm5hbG9mZGVtb2NyYWN5Lm9yZwouam95bWlpaHVi +LmNvbQpqcG9wZm9ydW0ubmV0Ci5qdWJ1c2hvdXNoZW4uY29tCnx8anVidXNob3Vz +aGVuLmNvbQohLS1Eb2FtaW4gcGFya2luZwouanVodWFyZW4uY29tCnx8anVsaWVy +ZXljLmNvbQp8fGp1bmF1emEuY29tCi5qdW5lNGNvbW1lbW9yYXRpb24ub3JnCi5q +dW5lZm91cnRoLTIwLm5ldAp8fGp1bmVmb3VydGgtMjAubmV0Cnx8YmJzLmp1bmds +b2JhbC5uZXQKLmp1b2FhLmNvbQp8aHR0cDovL2p1b2FhLmNvbQpqdXN0ZnJlZXZw +bi5jb20KLmp1c3RpY2Vmb3J0ZW56aW4ub3JnCmp1c3RwYXN0ZS5pdApqdXN0dHJp +c3Rhbi5jb20KanV5dWFuZ2Uub3JnCmp1eml5dWUuY29tCnx8anV6aXl1ZS5jb20K +fHxqd211c2ljLm9yZwpAQHx8bXVzaWMuandtdXNpYy5vcmcKLmp5eGYubmV0Cgoh +LS0tLS0tLS0tLS0tLS0tLS0tLS1LSy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K +fHxrLWRvdWppbi5uZXQKfHxrYS13YWkuY29tCi5rYWd5dS5vcmcKfHxrYWd5dS5v +cmcuemEKLmthZ3l1bW9ubGFtLm9yZwoua2FneXVuZXdzLmNvbS5oawoua2FneXVv +ZmZpY2Uub3JnCnx8a2FneXVvZmZpY2Uub3JnCnx8a2FneXVvZmZpY2Uub3JnLnR3 +Ci5rYWl5dWFuLmRlCi5rYWthby5jb20KfHxrYWthby5jb20KLmthbmthbi50b2Rh +eQoua2FubmV3eW9yay5jb20KfHxrYW5uZXd5b3JrLmNvbQoua2Fuc2hpZmFuZy5j +b20KfHxrYW5zaGlmYW5nLmNvbQprYW56aG9uZ2d1by5jb20Ka2FuemhvbmdndW8u +ZXUKLmthb3RpYy5jb20KfHxrYXJheW91LmNvbQprYXJraHVuZy5jb20KLmthcm1h +cGEub3JnCi5rYXJtYXBhLXRlYWNoaW5ncy5vcmcKLmtiYS10eC5vcmcKLmtjb29s +b25saW5lLmNvbQp8fGtjc29mdHdhcmVzLmNvbQoua2VicnVtLmNvbQp8fGtlYnJ1 +bS5jb20KLmtlY2hhcmEuY29tCi5rZWVwYW5kc2hhcmUuY29tL3Zpc2l0L3Zpc2l0 +X3BhZ2UucGhwP2k9Njg4MTU0CiEtLXx8a2VlcHZpZC5jb20KLmtlbmRpbmNvcy5u +ZXQKLmtlbmVuZ2JhLmNvbQp8fGtlbmVuZ2JhLmNvbQp8fGtlb250ZWNoLm5ldAou +a2VwYXJkLmNvbQp8fGtlcGFyZC5jb20Kd2lraS5rZXNvLmNuL0hvbWUKfHxrZXlj +ZG4uY29tCi5raGFiZGhhLm9yZwoua2htdXNpYy5jb20udHcKfHxraWNoaWt1LWRv +dWppbmtvLmNvbQpiYnMua2lteS5jb20udHcKLmtpbmRsZXJlbi5jb20KfGh0dHA6 +Ly9raW5kbGVyZW4uY29tCnxodHRwOi8vd3d3LmtpbmRsZXJlbi5jb20KLmtpbmdk +b21zYWx2YXRpb24ub3JnCnx8a2luZ2RvbXNhbHZhdGlvbi5vcmcKa2luZ2hvc3Qu +Y29tCiEtLS5raW5nc3RvbmUuY29tLnR3L2Jvb2svCnx8a2luZ3N0b25lLmNvbS50 +dwoua2luay5jb20Ka2lsbHdhbGwuY29tCnx8a2lsbHdhbGwuY29tCi5raXIuanAK +Lmtpc3NiYmFvLmNuCnxodHRwOi8va2l3aS5regp8fGtrLXdoeXMuY28uanAKIS0t +fHxrbXQub3JnLnR3Ci5rbm93bGVkZ2VydXNoLmNvbS9rci9lbmN5Y2xvcGVkaWEK +fHxrb2Rpbmdlbi5jb20KQEB8fHd3dy5rb2Rpbmdlbi5jb20KfHxrb21wb3plci5u +ZXQKLmtvbmFjaGFuLmNvbQp8aHR0cDovL2tvbmFjaGFuLmNvbQp8fGtvb2xzb2x1 +dGlvbnMuY29tCi5rb29ybmsuY29tCnx8a29vcm5rLmNvbQp8fGtvcmFubWFuZGFy +aW4uY29tCi5rb3JlbmFuMi5jb20KfGh0dHA6Ly9nb2pldC5rcnRjby5jb20udHcK +LmtzZGwub3JnCi5rc25ld3MuY29tLnR3Cnx8a3R6aGsuY29tCi5rdWkubmFtZS9l +dmVudAprdW4uaW0KLmt1cmFzaHN1bHRhbi5jb20KfHxrdXJ0bXVuZ2VyLmNvbQpr +dXNvY2l0eS5jb20KfHxrd2NnLmNhCmt3b25nd2FoLmNvbS5teQoua3lvZnVuLmNv +bQpreW9oay5uZXQKfHxreW95dWUuY29tCi5remVuZy5pbmZvCnx8a3plbmcuaW5m +bwoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tTEwtLS0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tCmxhLWZvcnVtLm9yZwpsYWRicm9rZXMuY29tCnx8bGFiaWVubmFsZS5vcmcK +bGFncmFuZXBvY2EuY29tCi5sYWx1bGFsdS5jb20KLmxhbWEuY29tLnR3Cnx8bGFt +YS5jb20udHcKLmxhbWF5ZXNoZS5jb20KfGh0dHA6Ly9sYW1heWVzaGUuY29tCnxo +dHRwOi8vd3d3LmxhbWVuaHUuY29tCi5sYW1uaWEuY28udWsKfHxsYW1uaWEuY28u +dWsKbGFtcmltLmNvbQoubGFudGVybmNuLmNuCnxodHRwOi8vbGFudGVybmNuLmNu +Ci5sYW50b3Nmb3VuZGF0aW9uLm9yZwoubGFvZC5jbgp8aHR0cDovL2xhb2QuY24K +bGFvZ2FpLm9yZwp8fGxhb2dhaS5vcmcKbGFvbWl1LmNvbQoubGFveWFuZy5pbmZv +CnxodHRwOi8vbGFveWFuZy5pbmZvCnx8bGFwdG9wbG9ja2Rvd24uY29tCi5sYXFp +bmdkYW4ubmV0Cnx8bGFxaW5nZGFuLm5ldAp8fGxhcnNnZW9yZ2UuY29tCi5sYXN0 +Y29tYmF0LmNvbQp8aHR0cDovL2xhc3Rjb21iYXQuY29tCnx8bGFzdGZtLmVzCmxh +dGVsaW5lbmV3cy5jb20KLmxhdGliZXQub3JnCnx8bGUtdnBuLmNvbQoubGVhZnl2 +cG4ubmV0Cnx8bGVhZnl2cG4ubmV0CmxlZWFvLmNvbS5jbi9iYnMvZm9ydW0ucGhw +CiEtLXx8bGVlY2hldWt5YW4ub3JnCmxlZm9yYS5jb20KfHxsZWZ0MjEuaGsKLmxl +Z2FscG9ybm8uY29tCnxodHRwOi8vbGVpcmVudHYuY2EKbGVpc3VyZWNhZmUuY2EK +fHxsZW1hdGluLmNoCi5sZW1vbmRlLmZyCnx8bGVud2hpdGUuY29tCmxlcm9zdWEu +b3JnCnx8bGVyb3N1YS5vcmcKYmxvZy5sZXN0ZXI4NTAuaW5mbwp8fGxlc29pci5i +ZQoubGV0b3UuY29tCmxldHNjb3JwLm5ldAp8fGxldHNjb3JwLm5ldAoubGhha2Fy +Lm9yZwp8aHR0cDovL2xoYWthci5vcmcKLmxoYXNvY2lhbHdvcmsub3JnCi5saWFu +Z3lvdS5uZXQKfHxsaWFuZ3lvdS5uZXQKLmxpYW55dWUubmV0Cnx8bGlhb3dhbmd4 +aXphbmcubmV0Ci5saWFvd2FuZ3hpemFuZy5uZXQKfHxsaWJlcmFsLm9yZy5oawou +bGliZXJ0eXRpbWVzLmNvbS50dwpibG9ncy5saWJyYXJ5aW5mb3JtYXRpb250ZWNo +bm9sb2d5LmNvbS9qeHl6Ci5saWRlY2hlbmcuY29tL2Jsb2cvZnVja2luZy1nZncK +LmxpZ2h0ZW4ub3JnLnR3CmxpbWlhby5uZXQKbGlua3Vzd2VsbC5jb20KYWJpdG5v +LmxpbnBpZS5jb20vdXNlLWlwdjYtdG8tZnVjay1nZncKfHxsaW5lLm1lCi5saW5n +bGluZ2ZhLmNvbQp8fGxpbmd2b2RpY3MuY29tCi5saW5rLW8tcmFtYS5jb20KfGh0 +dHA6Ly9saW5rLW8tcmFtYS5jb20KLmxpbmtpZGVvLmNvbQp8fGFwaS5saW5rc2Fs +cGhhLmNvbQp8fGFwaWRvY3MubGlua3NhbHBoYS5jb20KfHx3d3cubGlua3NhbHBo +YS5jb20KfHxoZWxwLmxpbmtzYWxwaGEuY29tCnx8bGludXgub3JnLmhrCmxpbnV4 +dG95Lm9yZy9hcmNoaXZlcy9pbnN0YWxsaW5nLXdlc3QtY2hhbWJlci1vbi11YnVu +dHUKLmxpb25zcm9hci5jb20KLmxpcHVtYW4uY29tCnx8Z3JlYXRmaXJlLnVzNy5s +aXN0LW1hbmFnZS5jb20KfHxsaXN0ZW50b3lvdXR1YmUuY29tCmxpc3RvcmlvdXMu +Y29tCnx8bGl1ZGVqdW4uY29tCi5saXVoYW55dS5jb20KLmxpdWppYW5zaHUuY29t +Cnx8bGl1amlhbnNodS5jb20KbGl1eGlhb3RvbmcuY29tCnx8bGl1eGlhb3Rvbmcu +Y29tCi5saXZlZG9vci5qcAoubGl2ZWxlYWsuY29tCnx8bGl2ZWxlYWsuY29tCi5s +aXZlc3RhdGlvbi5jb20KbGl2ZXN0cmVhbS5jb20KfHxsaXZlc3RyZWFtLmNvbQp8 +fGxpdmluZ29ubGluZS51cwp8fGxpdmluZ3N0cmVhbS5jb20KfHxsaXZldmlkZW8u +Y29tCi5saXZldmlkZW8uY29tCi5saXdhbmd5YW5nLmNvbQpsaXpoaXpodWFuZ2Jp +LmNvbQpsa2NuLm5ldAoubG9hZC50bwoubG9ic2FuZ3dhbmd5YWwuY29tCi5sb2Nh +bGRvbWFpbi53cwp8fGxvY2FsZG9tYWluLndzCmxvY2FscHJlc3Noay5jb20KfHxs +b2NrZG93bi5jb20KfHxsb2NrZXN0ZWsuY29tCmxvZ2JvdC5uZXQKfHxsb2dpcXgu +Y29tCnNlY3VyZS5sb2dtZWluLmNvbQp8fHNlY3VyZS5sb2dtZWluLmNvbQp8fGxv +Z21pa2UuY29tCi5sb25kb25jaGluZXNlLmNhCi5sb25naGFpci5oawpsb25nbXVz +aWMuY29tCnx8bG9uZ3Rlcm1seS5uZXQKfHxsb29raW5nZ2xhc3N0aGVhdHJlLm9y +Zwp8fGxvb2twaWMuY29tCi5sb29rdG9yb250by5jb20KfGh0dHA6Ly9sb29rdG9y +b250by5jb20KLmxvdHNhd2Fob3VzZS5vcmcvdGliZXRhbi1tYXN0ZXJzL2ZvdXJ0 +ZWVudGgtZGFsYWktbGFtYQoubG90dXNsaWdodC5vcmcuaGsKLmxvdHVzbGlnaHQu +b3JnLnR3CmhrcmVwb3J0ZXIubG92ZWQuaGsKIS0tNDAzPwp8fGxwc2cuY29tCnx8 +bHJmei5jb20KLmxyaXAub3JnCnx8bHJpcC5vcmcKLmxzZC5vcmcuaGsKfHxsc2Qu +b3JnLmhrCmxzZm9ydW0ubmV0Ci5sc20ub3JnCnx8bHNtLm9yZwoubHNtY2hpbmVz +ZS5vcmcKfHxsc21jaGluZXNlLm9yZwoubHNta29yZWFuLm9yZwp8fGxzbWtvcmVh +bi5vcmcKLmxzbXJhZGlvLmNvbS9yYWRfYXJjaGl2ZXMKLmxzbXdlYmNhc3QuY29t +Ci5sdG4uY29tLnR3CnxodHRwOi8vbHRuLmNvbS50dwoubHVrZTU0LmNvbQoubHVr +ZTU0Lm9yZwoubHVwbS5vcmcKfHxsdXBtLm9yZwp8fGx1c2hzdG9yaWVzLmNvbQps +dXhlYmMuY29tCmx2aGFpLm9yZwp8fGx2aGFpLm9yZwp8fGx2djIuY29tCi5seWZo +ay5uZXQKfGh0dHA6Ly9seWZoay5uZXQKCiEtLS0tLS0tLS0tLS0tLS0tLS0tLU1N +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoubS10ZWFtLmNjCiEtLW0tdGVhbS5j +Yy9mb3J1bQoubWFjcm92cG4uY29tCm1hY3RzLmNvbS50dwp8fG1hZC1hci5jaAp8 +fG1hZHRodW1icy5jb20KfHxtYWdpYy1uZXQuaW5mbwptYWhhYm9kaGkub3JnCm15 +Lm1haWwucnUKLm1haXBsdXMuY29tCnxodHRwOi8vbWFpcGx1cy5jb20KLm1haXpo +b25nLm9yZwptYW5pY3VyNGlrLnJ1Ci5tYXBsZXcuY29tCnxodHRwOi8vbWFwbGV3 +LmNvbQp8fG1hcmMuaW5mbwptYXJndWVyaXRlLnN1Cnx8bWFydGluY2FydG9vbnMu +Y29tCm1hc2tlZGlwLmNvbQoubWFpaW8ubmV0Cm1haWwtYXJjaGl2ZS5jb20KLm1h +bGF5c2lha2luaS5jb20KfHxtYWtlbXltb29kLmNvbQoubWFuaWFzaC5jb20KfGh0 +dHA6Ly9tYW5pYXNoLmNvbQoubWFuc2lvbi5jb20KLm1hbnNpb25wb2tlci5jb20K +IS0tfHxtYXJpbmVzLm1pbAohLS1tYXJrbWFpbC5vcmcqbWVzc2FnZQp8fG1hcnRh +dS5jb20KfGh0dHA6Ly9ibG9nLm1hcnRpbm9laS5jb20KLm1hcnRzYW5na2FneXVv +ZmZpY2lhbC5vcmcKfGh0dHA6Ly9tYXJ0c2FuZ2thZ3l1b2ZmaWNpYWwub3JnCm1h +cnV0YS5iZS9mb3JnZXQKLm1hcnhpc3QuY29tCnx8bWFyeGlzdC5uZXQKLm1hcnhp +c3RzLm9yZy9jaGluZXNlCiEtLXx8bWFzaGFibGUuY29tCnx8bWF0YWluamEuY29t +Cnx8bWF0aGFibGUuaW8KfHxtYXRoaWV3LWJhZGltb24uY29tCnx8bWF0c3VzaGlt +YWthZWRlLmNvbQp8aHR0cDovL21hdHVyZWpwLmNvbQptYXlpbWF5aS5jb20KLm1h +eGluZy5qcAoubWNhZi5lZQp8aHR0cDovL21jYWYuZWUKfHxtY2FkZm9ydW1zLmNv +bQptY2ZvZy5jb20KbWNyZWFzaXRlLmNvbQoubWQtdC5vcmcKfHxtZC10Lm9yZwp8 +fG1lYW5zeXMuY29tCi5tZWRpYS5vcmcuaGsKLm1lZGlhY2hpbmVzZS5jb20KfHxt +ZWRpYWNoaW5lc2UuY29tCi5tZWRpYWZpcmUuY29tLz8KLm1lZGlhZmlyZS5jb20v +ZG93bmxvYWQKLm1lZGlhZnJlYWtjaXR5LmNvbQp8fG1lZGlhZnJlYWtjaXR5LmNv +bQoubWVkaXVtLmNvbQp8fG1lZGl1bS5jb20KLm1lZXRhdi5jb20KfHxtZWV0dXAu +Y29tCm1lZmVlZGlhLmNvbQp8fG1lZ2Fwcm94eS5jb20KfHxtZWdhcm90aWMuY29t +Cm1lZ2F2aWRlby5jb20KfHxtZWd1cmluZWx1a2EuY29tCm1laXJpeGlhb2NoYW8u +Y29tCnx8bWVsb24tcGVhY2guY29tCi5tZWx0b2RheS5jb20KLm1lbWVoay5jb20K +fHxtZW1laGsuY29tCm1lbW9yeWJicy5jb20KLm1lbXJpLm9yZwoubWVtcmlqdHRt +Lm9yZwoubWVyY3lwcm9waGV0Lm9yZwp8aHR0cDovL21lcmN5cHJvcGhldC5vcmcK +Lm1lcmlkaWFuLXRydXN0Lm9yZwp8aHR0cDovL21lcmlkaWFuLXRydXN0Lm9yZwou +bWVyaXBldC5iaXoKfGh0dHA6Ly9tZXJpcGV0LmJpegoubWVyaXBldC5jb20KfGh0 +dHA6Ly9tZXJpcGV0LmNvbQptZXJpdC10aW1lcy5jb20udHcKbWVzaHJlcC5jb20K +Lm1lc290dy5jb20vYmJzCm1ldGFjYWZlLmNvbS93YXRjaAp8fG1ldGVvcnNob3dl +cnNvbmxpbmUuY29tCnxodHRwOi8vd3d3Lm1ldHJvLnRhaXBlaS8KLm1ldHJvaGsu +Y29tLmhrLz9jbWQ9ZGV0YWlsJmNhdGVnb3J5SUQ9Mgp8fG1ldHJvbGlmZS5jYQou +bWV0cm9yYWRpby5jb20uaGsKfGh0dHA6Ly9tZXRyb3JhZGlvLmNvbS5oawptZXlv +dS5qcAoubWV5dWwuY29tCnx8bWdvb24uY29tCnx8bWdzdGFnZS5jb20KfHxtaDR1 +Lm9yZwptaHJhZGlvLm9yZwp8aHR0cDovL21pY2hhZWxhbnRpLmNvbQp8fG1pY2hh +ZWxtYXJrZXRsLmNvbQoubWljcm92cG4uY29tCnxodHRwOi8vbWljcm92cG4uY29t +Cm1pZGRsZS13YXkubmV0Ci5taWhrLmhrL2ZvcnVtCi5taWhyLmNvbQptaWh1YS5v +cmcKIS0tSVAKfHxtaWtlc29sdHlzLmNvbQoubWlscGgubmV0CnxodHRwOi8vbWls +cGgubmV0Ci5taWxzdXJwcy5jb20KbWltaWFpLm5ldAoubWltaXZpcC5jb20KLm1p +bWl2di5jb20KLm1pbmRyb2xsaW5nLm9yZwp8aHR0cDovL21pbmRyb2xsaW5nLm9y +ZwoubWluZ2h1aS5vci5rcgp8aHR0cDovL21pbmdodWkub3Iua3IKbWluZ2h1aS5v +cmcKfHxtaW5naHVpLm9yZwptaW5naHVpLWEub3JnCm1pbmdodWktYi5vcmcKbWlu +Z2h1aS1zY2hvb2wub3JnCi5taW5namluZ2xpc2hpLmNvbQp8fG1pbmdqaW5nbGlz +aGkuY29tCm1pbmdqaW5nbmV3cy5jb20KfHxtaW5namluZ3RpbWVzLmNvbQoubWlu +Z3Bhby5jb20KLm1pbmdwYW9jYW5hZGEuY29tCi5taW5ncGFvbW9udGhseS5jb20K +fGh0dHA6Ly9taW5ncGFvbW9udGhseS5jb20KbWluZ3Bhb25ld3MuY29tCi5taW5n +cGFvbnkuY29tCi5taW5ncGFvc2YuY29tCi5taW5ncGFvdG9yLmNvbQoubWluZ3Bh +b3Zhbi5jb20KLm1pbmdzaGVuZ2Jhby5jb20KLm1pbmhodWUubmV0Ci5taW5pZm9y +dW0ub3JnCi5taW5pc3RyeWJvb2tzLm9yZwoubWluemh1aHVhLm5ldAp8fG1pbnpo +dWh1YS5uZXQKbWluemh1emhhbnhpYW4uY29tCm1pbnpodXpob25nZ3VvLm9yZwp8 +fG1pcm9ndWlkZS5jb20KbWlycm9yYm9va3MuY29tCnRoZWNlbnRlci5taXQuZWR1 +Ci5taXRhby5jb20udHcKbWl0YmJzLmNvbQoubWl4ZXJvLmNvbQp8fG1peGVyby5j +b20KbWl4cG9kLmNvbQoubWl4eC5jb20KfHxtaXh4LmNvbQp8fG1penptb25hLmNv +bQoubWs1MDAwLmNvbQoubWxjb29sLmNvbQp8fG1tYWF4eC5jb20KLm1tbWNhLmNv +bQp8fG1vYmF0ZWsubmV0CnxodHRwOi8vbW9iaWxlMDEuY29tCi5tb2JpbGUwMS5j +b20KfHxtb2JpbGV3YXlzLmRlCi5tb2J5cGljdHVyZS5jb20KfGh0dHA6Ly9tb2J5 +LnRvCnx8bW9lZXJvbGlicmFyeS5jb20Kd2lraS5tb2VnaXJsLm9yZwoubW9mYXhp +ZWh1aS5jb20KLm1vZm9zLmNvbQp8fG1vZy5jb20KbW9saWh1YS5vcmcKfHxtb25k +ZXgub3JnCnxodHRwOi8vd3d3Lm1vbmxhbWl0Lm9yZwoubW9vbmJicy5jb20KfHxt +b29uYmJzLmNvbQpjMTUyMi5tb29vLmNvbQp8fG1vbml0b3JjaGluYS5vcmcKYmJz +Lm1vcmJlbGwuY29tCnx8bW9ybmluZ3N1bi5vcmcKfHxtb3JvbmV0YS5jb20KLm1v +dGhlcmxlc3MuY29tCnxodHRwOi8vbW90aGVybGVzcy5jb20KbW90b3I0aWsucnUK +Lm1vdXNlYnJlYWtlci5jb20KIS0tfHxtb3ZhYmxldHlwZS5jb20KLm1vdmVtZW50 +cy5vcmcKfHxtb3ZlbWVudHMub3JnCnx8bW92aWVmYXAuY29tCnx8d3d3Lm1venR3 +Lm9yZwoubXAzYnVzY2Fkb3IuY29tCm1wM3llLmV1Cnx8bXBldHRpcy5jb20KbXBm +aW5hbmNlLmNvbQptcGluZXdzLmNvbQptcG9ubGluZS5oawptcnR3ZWV0LmNvbQp8 +fG1ydHdlZXQuY29tCm5ld3MuaGsubXNuLmNvbQpuZXdzLm1zbi5jb20udHcKbXNn +dWFuY2hhLmNvbQoubXN3ZTEub3JnCnxodHRwOi8vbXN3ZTEub3JnCnx8bXRocnVm +LmNvbQptdWNob3N1Y2tvLmNvbQp8fG11bHRpcGx5LmNvbQptdWx0aXByb3h5Lm9y +ZwptdWx0aXVwbG9hZC5jb20KLm11bGx2YWQubmV0Cnx8bXVsbHZhZC5uZXQKLm11 +bW15c2dvbGQuY29tCi5tdXJtdXIudHcKfGh0dHA6Ly9tdXJtdXIudHcKLm11c2lj +YWRlLm5ldAoubXVzbGltdmlkZW8uY29tCnx8bXV6aS5jb20KfHxtdXppLm5ldAp8 +fG14OTgxLmNvbQoubXktZm9ybW9zYS5jb20KLm15LXByb3h5LmNvbQpmb3J1bS5t +eTkwMy5jb20KLm15YWN0aW1lcy5jb20vYWN0aW1lcwoubXlhdWRpb2Nhc3QuY29t +Cnx8bXlhdWRpb2Nhc3QuY29tCi5teWF2LmNvbS50dy9iYnMKLm15YmJzLnVzCi5t +eWNhMTY4LmNvbQoubXljYW5hZGFub3cuY29tCnx8YmJzLm15Y2hhdC50bwp8fG15 +Y2hpbmFteWhvbWUuY29tCi5teWNoaW5hbXlob21lLmNvbQoubXljaGluYW5ldC5j +b20KLm15Y2hpbmFuZXdzLmNvbQp8fG15Y2hpbmFuZXdzLmNvbQoubXljaGluZXNl +Lm5ld3MKfHxteWNubmV3cy5jb20KfHxteWtvbWljYS5vcmcKbXljb3VsZC5jb20v +ZGlzY3V6Ci5teWVhc3l0di5jb20KfHxteWVjbGlwc2VpZGUuY29tCi5teWZvcnVt +LmNvbS5oawp8fG15Zm9ydW0uY29tLmhrCnx8bXlmb3J1bS5jb20udWsKLm15ZnJl +ZWNhbXMuY29tCi5teWZyZWVwYXlzaXRlLmNvbQoubXlmcmVzaG5ldC5jb20KZm9y +dW0ubXltYWppLmNvbQpteW1lZGlhcm9tLmNvbS9maWxlcy9ib3gKfHxteW1vZS5t +b2UKfHxteW11c2ljLm5ldC50dwp8fG15cGFyYWdsaWRpbmcuY29tCnx8bXlwb3Bl +c2N1LmNvbQoubXktcHJpdmF0ZS1uZXR3b3JrLmNvLnVrCnx8bXktcHJpdmF0ZS1u +ZXR3b3JrLmNvLnVrCm15cmFkaW8uaGsvcG9kY2FzdApteXNpbmFibG9nLmNvbQou +bXlzcGFjZS5jb20KIS0tLmJsb2dzLm15c3BhY2UuY29tCiEtLXx8YmxvZ3MubXlz +cGFjZS5jb20KIS0tdmlkcy5teXNwYWNlLmNvbS9pbmRleC5jZm0/ZnVzZWFjdGlv +bj12aWRzLgohLS12aWV3bW9yZXBpY3MubXlzcGFjZS5jb20KLm15dGFsa2JveC5j +b20KLm15dGl6aS5jb20KCiEtLS0tLS0tLS0tLS0tLS0tLS0tLU5OLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLQp8fG5hYWNvYWxpdGlvbi5vcmcKb2xkLm5hYmJsZS5j +b20KfHxuYWl0aWsubmV0Ci5uYWt1ei5jb20vYmJzCnx8bmFsYW5kYWJvZGhpLm9y +Zwp8fG5hbGFuZGF3ZXN0Lm9yZwoubmFtZ3lhbC5vcmcKbmFtZ3lhbG1vbmFzdGVy +eS5vcmcKfHxuYW1zaXNpLmNvbQoubmFueWFuZy5jb20KfHxuYW55YW5nLmNvbQou +bmFueWFuZ3Bvc3QuY29tCnx8bmFueWFuZ3Bvc3QuY29tCi5uYW56YW8uY29tCiEt +LS5uYW56YW8uY29tL3NjL2NoaW5hLzIwMjIzCiEtLS5uYW56YW8uY29tL3NjL2hr +LW1hY2F1LXR3Cnx8anBsLm5hc2EuZ292Cnx8cGRzLm5hc2EuZ292Cnx8c29sYXJz +eXN0ZW0ubmFzYS5nb3YKLm5ha2lkby5jb20KfHxuYWtpZG8uY29tCi5uYW9sLmNh +Ci5uYW9sLmNjCnVpZ2h1ci5uYXJvZC5ydQpjeWJlcmdob3N0Lm5hdGFkby5jb20K +fHxuYXRpb25hbC1sb3R0ZXJ5LmNvLnVrCm5ld3MubmF0aW9uYWxnZW9ncmFwaGlj +LmNvbS9uZXdzLzIwMTQvMDYvMTQwNjAzLXRpYW5hbm1lbi1zcXVhcmUKLm5hdGlv +bnNvbmxpbmUub3JnL29uZXdvcmxkL3RpYmV0Cnx8bGluZS5uYXZlci5qcAp8fG5h +dnlmYW1pbHkubmF2eS5taWwKfHxuYXZ5cmVzZXJ2ZS5uYXZ5Lm1pbAp8fG5rby5u +YXZ5Lm1pbAp8fHVzbm8ubmF2eS5taWwKLm5idHZwbi5jb20KfGh0dHA6Ly9uYnR2 +cG4uY29tCm5jY3dhdGNoLm9yZy50dwoubmNoLmNvbS50dwoubmNuLm9yZwp8fG5j +bi5vcmcKfHxldG9vbHMubmNvbC5jb20KLm5kZS5kZQoubmRyLmRlCi5uZWQub3Jn +Cnx8bmVrb3Nsb3Zha2lhLm5ldAohLS1iYnNuZXcubmV0YmlnLmNvbQpiYnMubmV0 +YmlnLmNvbQoubmV0YmlyZHMuY29tCm5ldGNvbG9ueS5jb20KYm9saW4ubmV0Zmly +bXMuY29tCnx8bmV0bWUuY2MKbmV0c25lYWsuY29tCi5uZXR3b3JrNTQuY29tCm5l +dHdvcmtlZGJsb2dzLmNvbQpuZXZlcmZvcmdldDg5NjQub3JnCm5ldy0zbHVuY2gu +bmV0Ci5uZXctYWtpYmEuY29tCi5uZXc5Ni5jYQoubmV3Y2VudHVyeW1jLmNvbQp8 +aHR0cDovL25ld2NlbnR1cnltYy5jb20KbmV3Y2VudHVyeW5ld3MuY29tCnx8bmV3 +Y2hlbi5jb20KLm5ld2NoZW4uY29tCi5uZXdncm91bmRzLmNvbQpuZXdpcG5vdy5j +b20KLm5ld2xhbmRtYWdhemluZS5jb20uYXUKLm5ld25ld3MuY2EKbmV3czEwMC5j +b20udHcKbmV3c2NoaW5hY29tbWVudC5vcmcKLm5ld3Njbi5vcmcKfHxuZXdzY24u +b3JnCm5ld3NwZWFrLmNjL3N0b3J5Ci5uZXdzYW5jYWkuY29tCnx8bmV3c2FuY2Fp +LmNvbQoubmV3c2RoLmNvbQp8fG5ld3N0YW1hZ28uY29tCnx8bmV3c3RhcGEub3Jn +Cm5ld3N0YXJuZXQuY29tCi5uZXd0YWl3YW4uY29tLnR3Cm5ld3RhbGsudHcKfHxu +ZXd0YWxrLnR3Cm5ld3lvcmt0aW1lcy5jb20KfHxuZXhvbi5jb20KLm5leHQxMS5j +by5qcAoubmV4dG1hZy5jb20udHcKCiEtLWhrKi5uZXh0bWVkaWEuY29tCiEtLXR3 +Ki5uZXh0bWVkaWEuY29tCiEtLXN0YXRpYyoubmV4dG1lZGlhLmNvbQoubmV4dG1l +ZGlhLmNvbQoKfHxuZXh0b24tbmV0LmpwCm5leHR0di5jb20udHcKfHxjby5uZy5t +aWwKfHxuZ2EubWlsCm5nZW5zaXMuY29tCi5uaGVudGFpLm5ldAp8aHR0cDovL25o +ZW50YWkubmV0Ci5uaGstb25kZW1hbmQuanAKLm5pY292aWRlby5qcC93YXRjaAoh +LS18fG5pY292aWRlby5qcAp8fG5pZ2hvc3Qub3JnCmF2Lm5pZ2h0bGlmZTE0MS5j +b20KbmluZWNvbW1lbnRhcmllcy5jb20KLm5pbmphY2xvYWsuY29tCnx8bmluamFw +cm94eS5uaW5qYQpuaW50ZW5kaXVtLmNvbQp0YWl3YW55ZXMubmluZy5jb20KdXNt +Z3RjZy5uaW5nLmNvbS9mb3J1bQp8fG5pdXNuZXdzLmNvbQp8fG5qYWN0Yi5vcmcK +bmp1aWNlLmNvbQp8fG5qdWljZS5jb20KbmxmcmVldnBuLmNvbQoKIS0tbm8taXAu +Y29tI05PSVAKLmdvb2RkbnMuaW5mbwoubWFpbGRucy54eXoKLm5vLWlwLm9yZwou +b3BlbmRuLnh5egpzeXRlcy5uZXQKLndob2Rucy54eXoKLnphcHRvLm9yZwoKfHxu +b2JlbC5zZQohLS0ubm9iZWxwcml6ZS5vcmcKIS0tfGh0dHA6Ly9ub2JlbHByaXpl +Lm9yZwpub2JlbHByaXplLm9yZy9ub2JlbF9wcml6ZXMvcGVhY2UvbGF1cmVhdGVz +LzE5ODkKbm9iZWxwcml6ZS5vcmcvbm9iZWxfcHJpemVzL3BlYWNlL2xhdXJlYXRl +cy8yMDEwCm5vYm9keWNhbnN0b3AudXMKfHxub2JvZHljYW5zdG9wLnVzCnx8bm9r +b2dpcmkub3JnCnx8bm9rb2xhLmNvbQpub29kbGV2cG4uY29tCi5ub3JidWxpbmdr +YS5vcmcKbm9yZHZwbi5jb20KfHxub3JkdnBuLmNvbQp8fG5vdmVsYXNpYS5jb20K +Lm5ld3Mubm93LmNvbQp8aHR0cDovL25ld3Mubm93LmNvbQohLS18aHR0cDovL25l +d3Mubm93LmNvbS9ob21lKgpuZXdzLm5vdy5jb20lMkZob21lCnx8bm93bmV3cy5j +b20KLm5vd3RvcnJlbnRzLmNvbQoubm95cGYuY29tCnx8bm95cGYuY29tCnx8bnBh +LmdvLmpwCi5ucG50Lm1lCnxodHRwOi8vbnBudC5tZQoubnBzLmdvdgoubnJrLm5v +Cnx8bnJrLm5vCi5udGQudHYKfHxudGQudHYKbnRkdHYuY29tCi5udGR0di5jby5r +cgpudGR0di5jYQpudGR0di5vcmcKbnRkdHYucnUKbnRkdHZsYS5jb20KLm50cmZ1 +bi5jb20KfHxjYnMubnR1LmVkdS50dwoubnViaWxlcy5uZXQKfHxudWV4cG8uY29t +Ci5udWtpc3RyZWFtLmNvbQp8fG51cmdvLXNvZnR3YXJlLmNvbQoubnV2aWQuY29t +Cm51emNvbS5jb20KLm52cXVhbi5vcmcKLm53dGNhLm9yZwp8fG55YWEuZXUKfHxu +eWFhLnNlCi5ueWR1cy5jYQpueWxvbi1hbmdlbC5jb20Kbnlsb25zdG9ja2luZ3Nv +bmxpbmUuY29tCiEtLW55c2luZ3Rhby5jb20KIS0tfHxueXQuY29tCi5ueXRjaGlu +YS5jb20Kbnl0Y24ubWUKfHxueXRjby5jb20KfGh0dHA6Ly9ueXRpLm1zLwoubnl0 +aW1lcy5jb20KfHxueXRpbWVzLmNvbQp8fG55dGltZy5jb20KdXNlcmFwaS5ueXRs +b2cuY29tCmNuLm55dHN0eWxlLmNvbQoubnpjaGluZXNlLmNvbQp8fG56Y2hpbmVz +ZS5uZXQubnoKCiEtLS0tLS0tLS0tLS0tLS0tLS0tLU9PLS0tLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLQpvYnNlcnZlY2hpbmEubmV0Ci5vYnV0dS5jb20Kb2Nhc3Byby5j +b20Kb2NjdXB5dGlhbmFubWVuLmNvbQpvY2xwLmhrCi5vY3JlYW1waWVzLmNvbQp8 +fG9jdG9iZXItcmV2aWV3Lm9yZwpvZmZiZWF0Y2hpbmEuY29tCm9mZmljZW9mdGli +ZXQuY29tCnxodHRwOi8vb2ZpbGUub3JnCnx8b2dhb2dhLm9yZwp0d3RyMnNyYy5v +Z2FvZ2Eub3JnCi5vZ2F0ZS5vcmcKfHxvZ2F0ZS5vcmcKd3d3Mi5vaGNoci5vcmcv +ZW5nbGlzaC9ib2RpZXMvY2F0L2RvY3Mvbmdvcy9JSV9DaGluYV80MS5wZGYKLm9p +a29zLmNvbS50dy92NAoub2lrdHYuY29tCm9pem9ibG9nLmNvbQoub2theWZyZWVk +b20uY29tCnx8b2theWZyZWVkb20uY29tCm9ray50dwp8aHR0cDovL2ZpbG15Lm9s +YWJsb2dhLnBsL3BsYXllcgpvbGQtY2F0Lm5ldAp8fG9sdW1wby5jb20KLm9seW1w +aWN3YXRjaC5vcmcKb21naWxpLmNvbQp8fG9tbml0YWxrLmNvbQp8fG9tbml0YWxr +Lm9yZwpjbGluZy5vbXkuc2cKZm9ydW0ub215LnNnCm5ld3Mub215LnNnCnNob3di +aXoub215LnNnCnx8b24uY2MKfHxvbmVkcml2ZS5saXZlLmNvbQp8fG9uaW9uLmNp +dHkKLm9ubGluZWNoYS5jb20KfHxvbmxpbmV5b3V0dWJlLmNvbQpvbm1vb24ubmV0 +Cm9ubW9vbi5jb20KLm9udGhlaHVudC5jb20KfGh0dHA6Ly9vbnRoZWh1bnQuY29t +Ci5vb3BzZm9ydW0uY29tCm9wZW4uY29tLmhrCm9wZW5hbGx3ZWIuY29tCm9wZW5k +ZW1vY3JhY3kubmV0Cnx8b3BlbmRlbW9jcmFjeS5uZXQKLm9wZW5lcnZwbi5pbgpv +cGVuaWQubmV0Cnx8b3BlbmlkLm5ldAoub3BlbmxlYWtzLm9yZwp8fG9wZW5sZWFr +cy5vcmcKb3BlbnZwbi5uZXQKfHxvcGVudnBuLm5ldAp8fG9wZW53ZWJzdGVyLmNv +bQoub3BlbndydC5vcmcuY24KbXkub3BlcmEuY29tL2RhaGVtYQp8fGRlbW8ub3Bl +cmEtbWluaS5uZXQKd3d3Lm9yY2hpZGJicy5jb20KLm9yZ2FuY2FyZS5vcmcudHcK +b3JnYW5oYXJ2ZXN0aW52ZXN0aWdhdGlvbi5uZXQKLm9yZ2ZyZWUuY29tCnx8b3Jp +ZW50LWRvbGwuY29tCm9yaWVudGFsZGFpbHkuY29tLm15Cnx8b3JpZW50YWxkYWls +eS5jb20ubXkKIS0tb3JpZW50YWxkYWlseS5vbi5jYwp8fG9ybi5qcAp0Lm9yemRy +ZWFtLmNvbQp8fHQub3J6ZHJlYW0uY29tCnR1aS5vcnpkcmVhbS5jb20KfHxvcnpp +c3RpYy5vcmcKfHxvc2Zvb3JhLmNvbQoub3RuZC5vcmcKfHxvdG5kLm9yZwp8fG90 +dG8uZGUKfHxvdXJkZWFyYW15LmNvbQpvdXJzb2dvLmNvbQpvdXJzdGVwcy5jb20u +YXUKLm91cnN3ZWIubmV0Cnx8b3VydHYuaGsKeGlucWltZW5nLm92ZXItYmxvZy5j +b20KfHxvdmVycGxheS5uZXQKc2hhcmUub3ZpLmNvbS9tZWRpYQp8aHR0cDovL293 +bC5saQp8aHR0cDovL2h0Lmx5CnxodHRwOi8vaHRsLmxpCnxodHRwOi8vbWFzaC50 +bwp3d3cub3dpbmQuY29tCnxodHRwOi8vd3d3Lm94aWQuaXQKb3lheC5jb20Kb3ln +aGFuLmNvbS93cHMKLm96Y2hpbmVzZS5jb20vYmJzCnx8b3cubHkKYmJzLm96Y2hp +bmVzZS5jb20KfGh0dHBzOi8vb3p2b2ljZS5vcmcKLm96eHcuY29tCi5venlveW8u +Y29tCgohLS0tLS0tLS0tLS0tLS0tLS0tLS1QUC0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0KfHxwYWNob3N0aW5nLmNvbQoucGFjaWZpY3Bva2VyLmNvbQoucGFja2V0 +aXgubmV0Cnx8cGFjb3BhY29tYW1hLmNvbQoucGFkbWFuZXQuY29tCnBhZ2UycnNz +LmNvbQp8fHBhZ29kYWJveC5jb20KLnBhbGFjZW1vb24uY29tCmZvcnVtLnBhbG1p +c2xpZmUuY29tCnx8ZXJpdmVyc29mdC5jb20KLnBhbGRlbmd5YWwuY29tCnBhbGpv +cnB1YmxpY2F0aW9ucy5jb20KLnBhbHRhbGsuY29tCnx8cGFuZ2NpLm5ldAp8fHBh +bmFjb20uY28uanAKLnBhbmRhcG93Lm5ldAoucGFuZGF2cG4tanAuY29tCi5wYW5s +dWFuLm5ldAp8fHBhbmx1YW4ubmV0Cnx8cGFvLXBhby5uZXQKcGFwZXIubGkKcGFw +ZXJiLnVzCi5wYXJhZGlzZXBva2VyLmNvbQoucGFydHljYXNpbm8uY29tCi5wYXJ0 +eXBva2VyLmNvbQoucGFzc2lvbi5jb20KfHxwYXNzaW9uLmNvbQoucGFzc2lvbnRp +bWVzLmhrCnBhc3RlYmluLmNvbQoucGFzdGllLm9yZwp8fHBhc3RpZS5vcmcKfHxi +bG9nLnBhdGh0b3NoYXJlcG9pbnQuY29tCnBicy5vcmcvd2diaC9wYWdlcy9mcm9u +dGxpbmUvZ2F0ZQpwYnMub3JnL3dnYmgvcGFnZXMvZnJvbnRsaW5lL3RhbmttYW4K +cGJzLm9yZy93Z2JoL3BhZ2VzL2Zyb250bGluZS90aWJldAoKIS0tUGJ3aWtpCnBi +d2lraS5jb20KfHxwYndvcmtzLmNvbQp8fGRldmVsb3BlcnMuYm94Lm5ldAp8fHdp +a2kub2F1dGgubmV0Cnx8d2lraS5waG9uZWdhcC5jb20KfHx3aWtpLmpxdWVyeXVp +LmNvbQoKfHxwYnhlcy5jb20KfHxwYnhlcy5vcmcKcGNkdmQuY29tLnR3Ci5wY2hv +bWUuY29tLnR3CnxodHRwOi8vcGNpai5vcmcKLnBjc3RvcmUuY29tLnR3L250ZHR2 +YXBzaG9wCnx8cGN0Lm9yZy50dwpwZGV0YWlscy5jb20KfHxwZHByb3h5LmNvbQp8 +fHBlYWNlLmNhCnBlYWNlZmlyZS5vcmcKcGVhY2VoYWxsLmNvbQp8aHR0cDovL3Bl +YXJsaGVyLm9yZwoucGVlYXNpYW4uY29tCi5wZWtpbmdkdWNrLm9yZwp8fHBla2lu +Z2R1Y2sub3JnCi5wZW11bGloYW4ub3IuaWQKfGh0dHA6Ly9wZW11bGloYW4ub3Iu +aWQKfHxwZW4uaW8KcGVuY2hpbmVzZS5jb20KfHxwZW5jaGluZXNlLm5ldAoucGVu +Y2hpbmVzZS5uZXQKcGVuZ3l1bG9uZy5jb20KcGVuaXNib3QuY29tCnx8YmxvZy5w +ZW50YWxvZ2ljLm5ldAoucGVudGhvdXNlLmNvbQoucGVudG95LmhrLyVFNCVCOCVB +RCVFNSU5QyU4QgoucGVudG95LmhrLyVFNiU5OSU4MiVFNCVCQSU4QgoucGVvcGxl +Ym9va2NhZmUuY29tCi5wZW9wbGVuZXdzLnR3Cnx8cGVvcGxlbmV3cy50dwoucGVv +cG8ub3JnCnx8cGVvcG8ub3JnCi5wZXJjeS5pbgoucGVyZmVjdGdpcmxzLm5ldApw +ZXJmZWN0dnBuLm5ldAoucGVyc2VjdXRpb25ibG9nLmNvbQoucGVyc2lhbmtpdHR5 +LmNvbQpwZmQub3JnLmhrCnBoYXBsdWFuLm9yZwpwaGF5dWwuY29tCnBoaWxib3Jn +ZXMuY29tCnBoaWxseS5jb20KfHxwaG5jZG4uY29tCnx8cGhvdG9kaGFybWEubmV0 +Cnx8cGhvdG9mb2N1cy5jb20KfHxwaHVxdW9jc2VydmljZXMuY29tCi5waWNpZGFl +Lm5ldAp8fGltZyoucGljdHVyZWRpcC5jb20KcGljdHVyZXNvY2lhbC5jb20KLnBp +bjYuY29tCnx8cGluNi5jb20KLnBpbmcuZm0KfHxwaW5nLmZtCnx8cGlub3ktbi5j +b20KLnBpcG9zYXkuY29tCnBpcmFhdHRpbGFodGkub3JnCi5waXJpbmcuY29tCnx8 +cGl4ZWxxaS5jb20KfHxjc3MucGl4bmV0LmluCnx8cGl4bmV0Lm5ldAoucGl4bmV0 +Lm5ldAoucGsuY29tCnx8cGxhY2VtaXguY29tCiEtLS5wbGFuZXRzdXp5Lm9yZwp8 +aHR0cDovL3BpY3R1cmVzLnBsYXlib3kuY29tCnx8cGxheWJveS5jb20KLnBsYXli +b3lwbHVzLmNvbQp8fHBsYXlib3lwbHVzLmNvbQoucGxheW5vMS5jb20KfHxwbGF5 +bm8xLmNvbQp8fHBsYXlwY2Vzb3IuY29tCnBsYXlzLmNvbS50dwp8fG0ucGxpeGku +Y29tCnBsbS5vcmcuaGsKcGx1bmRlci5jb20KLnBsdXMyOC5jb20KLnBsdXNiYi5j +b20KLnBtYXRlaHVudGVyLmNvbQp8aHR0cDovL3BtYXRlaHVudGVyLmNvbQoucG1h +dGVzLmNvbQp8fHBvMmIuY29tCiEtLXx8cG9jb28ub3JnCnx8cG9kaWN0aW9uYXJ5 +LmNvbQoucG9rZXJzdGFycy5uZXQKemgucG9rZXJzdHJhdGVneS5jb20KcG9saXRp +Y2FsY2hpbmEub3JnCnBvbGl0aWNhbGNvbnN1bHRhdGlvbi5vcmcKLnBvbHltZXJo +ay5jb20KfGh0dHA6Ly9wb2x5bWVyaGsuY29tCi5wb3BvLnR3CiEtLXx8cG9wdWxh +cnBhZ2VzLm5ldAp8fHBvcHZvdGUuaGsKcG9weWFyZC5jb20KfHxwb3B5YXJkLm9y +ZwoucG9ybi5jb20KLnBvcm4yLmNvbQoucG9ybjUuY29tCi5wb3JuYmFzZS5vcmcK +LnBvcm5lcmJyb3MuY29tCnx8cG9ybmhkLmNvbQoucG9ybmhvc3QuY29tCi5wb3Ju +aHViLmNvbQp8fHBvcm5tbS5uZXQKLnBvcm5veG8uY29tCi5wb3JucmFwaWRzaGFy +ZS5jb20KfHxwb3JucmFwaWRzaGFyZS5jb20KLnBvcm5zaGFyaW5nLmNvbQp8aHR0 +cDovL3Bvcm5zaGFyaW5nLmNvbQoucG9ybnNvY2tldC5jb20KLnBvcm5zdGFyY2x1 +Yi5jb20KfHxwb3Juc3RhcmNsdWIuY29tCi5wb3JudHViZS5jb20KLnBvcm50dWJl +bmV3cy5jb20KLnBvcm50dmJsb2cuY29tCnx8cG9ybnR2YmxvZy5jb20KLnBvcm52 +aXNpdC5jb20KLnBvcnRhYmxldnBuLm5sCnx8cG9za290YW5ld3MuY29tCi5wb3N0 +MDEuY29tCi5wb3N0ODUyLmNvbQpwb3N0YWR1bHQuY29tCi5wb3N0aW1nLm9yZwp8 +fHBvd2VyY3guY29tCi5wb3dlcnBob3RvLm9yZwp8fHd3dy5wb3dlcnBvaW50bmlu +amEuY29tCnx8Y2RuLnByaW50ZnJpZW5kbHkuY29tCi5wcml0dW5sLmNvbQpwcm92 +cG5hY2NvdW50cy5jb20KLnByb3hmcmVlLmNvbQp8fHByb3hmcmVlLmNvbQpwcm94 +eWFub25pbW8uZXMKLnByb3h5bmV0d29yay5vcmcudWsKfHxwcm94eW5ldHdvcmsu +b3JnLnVrCnx8cHRzLm9yZy50dwoucHR0dmFuLm9yZwpwdWJ1LmNvbS50dwpwdWZm +aW5icm93c2VyLmNvbQpwdXJlaW5zaWdodC5vcmcKLnB1dHR5Lm9yZwp8fHB1dHR5 +Lm9yZwoKIS0tLS0tLS0tLS0tLS1Qb3N0ZXJvdXMtLS0tLQp8fGNhbGViZWxzdG9u +LmNvbQp8fGJsb2cuZml6emlrLmNvbQp8fG5mLmlkLmF1Cnx8c29ncmFkeS5tZQp8 +fHZhdG4ub3JnCnx8dmVudHVyZXN3ZWxsLmNvbQp8fHdoZXJlaXN3ZXJuZXIuY29t +CgoucG93ZXIuY29tCnx8cG93ZXIuY29tCnBvd2VyYXBwbGUuY29tCnx8cG93ZXJh +cHBsZS5jb20KfHxhYmMucHAucnUKaGVpeC5wcC5ydQp8fHByYXlmb3JjaGluYS5u +ZXQKfHxwcmVtZWZvcndpbmRvd3M3LmNvbQp8fHByZXNlbnRhdGlvbnplbi5jb20K +fHxwcmVzdGlnZS1hdi5jb20KcHJpc29uZXItc3RhdGUtc2VjcmV0LWpvdXJuYWwt +cHJlbWllcgoucHJpc29uZXJhbGVydC5jb20KfHxwcml0dW5sLmNvbQp8fHByaXZh +Y3lib3guZGUKLnByaXZhdGUuY29tL2hvbWUKfHxwcml2YXRlaW50ZXJuZXRhY2Nl +c3MuY29tCnByaXZhdGVwYXN0ZS5jb20KfHxwcml2YXRlcGFzdGUuY29tCnByaXZh +dGV0dW5uZWwuY29tCnx8cHJpdmF0ZXR1bm5lbC5jb20KfHxwcml2YXRldnBuLmNv +bQp8fHByb2NvcHl0aXBzLmNvbQpwcm92aWRlb2NvYWxpdGlvbi5jb20KfHxwcm9z +aWJlbi5kZQpwcm94aWZpZXIuY29tCmFwaS5wcm94bGV0LmNvbQp8fHByb3hvbWl0 +cm9uLmluZm8KLnByb3hwbi5jb20KfHxwcm94cG4uY29tCnByb3h5Lm9yZwoucHJv +eHlsaXN0Lm9yZy51awp8fHByb3h5bGlzdC5vcmcudWsKLnByb3h5cHkubmV0Cnx8 +cHJveHlweS5uZXQKcHJveHlyb2FkLmNvbQoucHJveHl0dW5uZWwubmV0CiEtLTQw +MyBtYXliZQp8fHByb3llY3RvY2x1YmVzLmNvbQpwcm96ei5uZXQKcHNibG9nLm5h +bWUKfHxwc2Jsb2cubmFtZQp8fHBzaXBob24uY2EKLnBzaXBob24zLmNvbQp8fHBz +aXBob24zLmNvbQoucHR0LmNjCnx8cHR0LmNjCi5wdWZmc3RvcmUuY29tCi5wdXVr +by5jb20KfHxwdWxsZm9saW8uY29tCi5wdW55dS5jb20vcHVueQp8fHB1cmVjb25j +ZXB0cy5uZXQKfHxwdXJlaW5zaWdodC5vcmcKfHxwdXJlcGRmLmNvbQp8fHB1cmV2 +cG4uY29tCi5wdXJwbGVsb3R1cy5vcmcKLnB1cnN1ZXN0YXIuY29tCnx8cHVyc3Vl +c3Rhci5jb20KLnB1c3N5c3BhY2UuY29tCi5wdXRpaG9tZS5vcmcKLnB1dGxvY2tl +ci5jb20vZmlsZQpwd25lZC5jb20KcHl0aG9uLmNvbQoucHl0aG9uLmNvbS50dwp8 +aHR0cDovL3B5dGhvbi5jb20udHcKcHl0aG9uaGFja2Vycy5jb20vcAoKIS0tLS0t +LS0tLS0tLS0tLS0tLS0tUVEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi5xYW5v +dGUuY29tCnx8cWFub3RlLmNvbQoucWdpcmwuY29tLnR3Ci5xaS1nb25nLm1lCnx8 +cWktZ29uZy5tZQoucWlkaWFuLmNhCi5xaWVua3Vlbi5vcmcKfHxxaWVua3Vlbi5v +cmcKfHxxaXdlbi5sdQpxaXhpYW5nbHUuY24KYmJzLnFtemRkLmNvbQoucWtzaGFy +ZS5jb20KcW9vcy5jb20KfHxxb29zLmNvbQpibG9nLnFvb3phLmhrL2RhZmVuZ3Fp +eGkKfHxlZmtzb2Z0LmNvbQp8fHFzdGF0dXMuY29tCnx8cXR3ZWV0ZXIuY29tCnx8 +cXRyYWMuZXUKLnF1YW5uZW5nc2hlbi5vcmcKfGh0dHA6Ly9xdWFubmVuZ3NoZW4u +b3JnCnx8cXVpdGNjcC5uZXQKLnF1aXRjY3AubmV0Cnx8cXVpdGNjcC5vcmcKLnF1 +aXRjY3Aub3JnCi5xdXJhbi5jb20KfGh0dHA6Ly9xdXJhbi5jb20KLnF1cmFuZXhw +bG9yZXIuY29tCnF1c2k4Lm5ldAoucXZvZHp5Lm9yZwpuZW1lc2lzMi5xeC5uZXQv +cGFnZXMvTXlFblR1bm5lbApxeGJicy5vcmcKCiEtLS0tLS0tLS0tLS0tLS0tLS0t +LVJSLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoucmEuZ2cKfGh0dHA6Ly9yYS5n +Zy8KLnJhZGljYWxwYXJ0eS5vcmcKfHxyYWVsLm9yZwpyYWRpY2FscGFydHkub3Jn +CnJhZGlvYXVzdHJhbGlhLm5ldC5hdQoucmFkaW9oaWxpZ2h0Lm5ldAp8fHJhZGlv +aGlsaWdodC5uZXQKb3BtbC5yYWRpb3RpbWUuY29tCnx8cmFkaW92YXRpY2FuYS5v +cmcKfHxyYWRpb3ZuY3IuY29tCnx8cmFnZ2VkYmFubmVyLmNvbQp8fHJhaWRjYWxs +LmNvbS50dwoucmFpZHRhbGsuY29tLnR3Ci5yYWluYm93cGxhbi5vcmcvYmJzCi5y +YWl6b2ppLm9yLmpwCnxodHRwOi8vcmFpem9qaS5vci5qcApyYW5nd2FuZy5iaXoK +cmFuZ3plbi5jb20KcmFuZ3plbi5uZXQKcmFuZ3plbi5vcmcKfGh0dHA6Ly9ibG9n +LnJhbnhpYW5nLmNvbS8KcmFueXVuZmVpLmNvbQp8fHJhbnl1bmZlaS5jb20KLnJh +cGJ1bGwubmV0CnxodHRwOi8vcmFwaWRnYXRvci5uZXQvCnx8cmFwaWRtb3ZpZXou +Y29tCnJhcGlkdnBuLmNvbQp8fHJhcGlkdnBuLmNvbQoucmFyZW1vdmllLmNjCnxo +dHRwOi8vcmFyZW1vdmllLmNjCi5yYXJlbW92aWUubmV0CnxodHRwOi8vcmFyZW1v +dmllLm5ldAohLS0ucmF5Zm1lLmNvbS9iYnMKfHxyYXp5Ym9hcmQuY29tCnJjaW5l +dC5jYQoucmVhZDEwMC5jb20KLnJlYWRpbmd0aW1lcy5jb20udHcKfHxyZWFkaW5n +dGltZXMuY29tLnR3Cnx8cmVhZG1vby5jb20KLnJlYWR5ZG93bi5jb20KfGh0dHA6 +Ly9yZWFkeWRvd24uY29tCi5yZWFsY291cmFnZS5vcmcKLnJlYWxyYXB0YWxrLmNv +bQoucmVjb3JkaGlzdG9yeS5vcmcKLnJlY292ZXJ5Lm9yZy50dwp8aHR0cDovL29u +bGluZS5yZWNvdmVyeXZlcnNpb24ub3JnCnx8cmVjb3Zlcnl2ZXJzaW9uLmNvbS50 +dwoucmVkY2hpbmFjbi5uZXQKfGh0dHA6Ly9yZWRjaGluYWNuLm5ldApyZWRjaGlu +YWNuLm9yZwpyZWR0dWJlLmNvbQpyZWZlcmVyLnVzCnx8cmVmZXJlci51cwp8fHJl +ZmxlY3RpdmVjb2RlLmNvbQpyZWxheGJicy5jb20KLnJlbGF5LmNvbS50dwoucmVs +ZWFzZWludGVybmF0aW9uYWwub3JnCnJlbGlnaW91c3RvbGVyYW5jZS5vcmcKcmVu +bWluYmFvLmNvbQoucmVueXVyZW5xdWFuLm9yZwp8fHJlbnl1cmVucXVhbi5vcmcK +fGh0dHA6Ly9jZXJ0aWZpY2F0ZS5yZXZvY2F0aW9uY2hlY2suY29tCnN1YmFjbWUu +cmVyb3V0ZWQub3JnCi5yZXV0ZXJzLmNvbQoucmV2bGVmdC5jb20KcmV0d2VldGlz +dC5jb20KfHxyZXR3ZWV0cmFuay5jb20KIS0tY29ubmVjdGVkY2hpbmEucmV1dGVy +cy5jb20KIS0tfGh0dHA6Ly93d3cucmV1dGVycy5jb20vbmV3cy92aWRlbwpyZXZ2 +ZXIuY29tCi5yZmEub3JnCnxodHRwOi8vcmZhLm9yZwoucmZhY2hpbmEuY29tCi5y +ZmFtb2JpbGUub3JnCnJmYXdlYi5vcmcKfHxyZmVybC5vcmcKLnJmaS5mcgp8fHJm +aS5mcgp8aHR0cDovL3JmaS5teS8KIS0tLnJoY2xvdWQuY29tCiEtLUVkZ2VjYXN0 +CnxodHRwOi8vdmRzLnJpZ2h0c3Rlci5jb20vCi5yaWdwYS5vcmcKLnJpbGV5Z3Vp +ZGUuY29tCnJpa3UubWUvCi5yaXRvdWtpLmpwCi5ybHdsdy5jb20KfHxybHdsdy5j +b20KLnJtamR3LmNvbQoucm1qZHcxMzIuaW5mbwoucm9hZHNob3cuaGsKcm9idGV4 +LmNvbQp8fHJvYnVzdG5lc3Npc2tleS5jb20KfHxyb2MtdGFpd2FuLm9yZwp8fHJv +Y2tldC1pbmMubmV0CnxodHRwOi8vd3d3Mi5yb2NrZXRiYnMuY29tLzExL2Jicy5j +Z2k/aWQ9NW11cwp8aHR0cDovL3d3dzIucm9ja2V0YmJzLmNvbS8xMS9iYnMuY2dp +P2lkPWZyZWVtZ2wKfHxyb2NtcC5vcmcKfHxyb2pvLmNvbQp8fHJvbmpvbmVzd3Jp +dGVyLmNvbQp8fHJvbGlhLm5ldAoucm9vZG8uY29tCi5yb3NlY2hpbmEubmV0Ci5y +b3R0ZW4uY29tCi5yc2Yub3JnCnx8cnNmLm9yZwoucnNmLWNoaW5lc2Uub3JnCnx8 +cnNmLWNoaW5lc2Uub3JnCi5yc2dhbWVuLm9yZwp8fHBob3NwaGF0aW9uMTMucnNz +aW5nLmNvbQoucnNzbWVtZS5jb20KfHxyc3NtZW1lLmNvbQp8fHJ0YWxhYmVsLm9y +ZwoucnRoay5oawp8aHR0cDovL3J0aGsuaGsKLnJ0aGsub3JnLmhrCnxodHRwOi8v +cnRoay5vcmcuaGsKcnRpLm9yZy50dwoucnR5Y21pbm5lc290YS5vcmcKLnJ1YW55 +aWZlbmcuY29tL2Jsb2cqc29tZV93YXlzX3RvX2JyZWFrX3RoZV9ncmVhdF9maXJl +d2FsbApydWtvci5vcmcKLnJ1c2hiZWUuY29tCnJ1dHViZS5ydQoucnV5aXNlZWsu +Y29tCi5yeGhqLm5ldAp8aHR0cDovL3J4aGoubmV0CgohLS0tLS0tLS0tLS0tLS0t +LS0tLS1TUy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLnMxczFzMS5jb20KfHxz +LWN1dGUuY29tCi5zLWRyYWdvbi5vcmcKfHxzMWhlbmcuY29tCnxodHRwOi8vd3d3 +LnM0bWluaWFyY2hpdmUuY29tCnx8czhmb3J1bS5jb20KY2RuMS5scC5zYWJvb20u +Y29tCnNhY29tLmhrCnx8c2Fjb20uaGsKfHxzYWRwYW5kYS51cwouc2FmZXJ2cG4u +Y29tCnx8c2FmZXJ2cG4uY29tCi5zYWludHljdWx0dXJlLmNvbQp8aHR0cDovL3Nh +aW50eWN1bHR1cmUuY29tCi5zYWlxLm1lCnx8c2FpcS5tZQp8fHNha3VyYWxpdmUu +Y29tCi5zYWt5YS5vcmcKLnNhbHZhdGlvbi5vcmcuaGsKfHxzYWx2YXRpb24ub3Jn +LmhrCi5zYW1haXIucnUvcHJveHkvdHlwZS0wMQouc2FtYmhvdGEub3JnCi5jbi5z +YW5kc2NvdGFpY2VudHJhbC5jb20KfGh0dHA6Ly9jbi5zYW5kc2NvdGFpY2VudHJh +bC5jb20KLnNhbm1pbi5jb20udHcKc2FwaWthY2h1Lm5ldApzYXZlbWVkaWEuY29t +CnNhdmV0aWJldC5kZQpzYXZldGliZXQuZnIKc2F2ZXRpYmV0Lm5sCi5zYXZldGli +ZXQub3JnCnx8c2F2ZXRpYmV0Lm9yZwpzYXZldGliZXQucnUKc2F2ZXZpZC5jb20K +fHxzYXkyLmluZm8KLnNibWUubWUKfGh0dHA6Ly9zYm1lLm1lCi5zYnMuY29tLmF1 +L3lvdXJsYW5ndWFnZQouc2Nhc2luby5jb20KfGh0dHA6Ly93d3cuc2NpZW5jZW1h +Zy5vcmcvY29udGVudC8zNDQvNjE4Ny85NTMKLnNjaWVuY2VuZXRzLmNvbQouc2Nt +cC5jb20KLnNjbXBjaGluZXNlLmNvbQp8fHNjcmFtYmxlLmlvCi5zY3JpYmQuY29t +Cnx8c2NyaXB0c3BvdC5jb20Kc2VhcHVmZi5jb20KZG9tYWluaGVscC5zZWFyY2gu +Y29tCi5zZWFyY2h0cnV0aC5jb20Kc2VjcmV0Y2hpbmEuY29tCnx8c2VjcmV0Z2Fy +ZGVuLm5vCi5zZWNyZXRzbGluZS5iaXoKfHxzZWNyZXRzbGluZS5iaXoKfHxzZWN1 +cmV0dW5uZWwuY29tCi5zZWN1cml0eWtpc3MuY29tCnx8c2VjdXJpdHlraXNzLmNv +bQp8fHNlZWQ0Lm1lCnNlZXNtaWMuY29tCnx8c2VldnBuLmNvbQp8fHNlZXpvbmUu +bmV0CnNlamllLmNvbQouc2VuZHNwYWNlLmNvbQp8aHR0cDovL3R3ZWV0cy5zZXJh +cGgubWUvCnNlc2F3ZS5uZXQKfHxzZXNhd2UubmV0Ci5zZXNhd2Uub3JnCnx8c2V0 +aHdrbGVpbi5uZXQKLnNldG4uY29tCmZvcnVtLnNldHR5LmNvbS50dwouc2V2ZW5s +b2FkLmNvbQp8fHNldmVubG9hZC5jb20KLnNleC5jb20KLnNleC0xMS5jb20KfHxz +ZXgzLmNvbQp8fHNleDguY2MKLnNleGFuZHN1Ym1pc3Npb24uY29tCi5zZXhib3Qu +Y29tCi5zZXhodS5jb20KLnNleGh1YW5nLmNvbQpzZXhpbnNleC5uZXQKfHxzZXhp +bnNleC5uZXQKLnNleHR2eC5jb20KCiEtLUlQIG9mIFNleEluU2V4CjY3LjIyMC45 +MS4xNQo2Ny4yMjAuOTEuMTgKNjcuMjIwLjkxLjIzCgp8aHR0cDovLyouc2YubmV0 +Ci5zZmlsZXlkeS5jb20KfHxzZnNoaWJhby5jb20KLnNmdGluZGlhLm9yZwouc2Z0 +dWsub3JnCnx8c2Z0dWsub3JnCnx8c2hhZGV5b3V2cG4uY29tCnNoYWRvdy5tYQou +c2hhZG93c2t5Lnh5egouc2hhZG93c29ja3MuYXNpYQp8fHd3dy5zaGFkb3dzb2Nr +cy5jb20KLnNoYWRvd3NvY2tzLmNvbQouc2hhZG93c29ja3Mub3JnCnx8c2hhZG93 +c29ja3Mub3JnCnxodHRwOi8vY24uc2hhZmFxbmEuY29tCi5zaGFtYmFsYXBvc3Qu +Y29tCi5zaGFtYmhhbGFzdW4uY29tCi5zaGFuZ2Zhbmcub3JnCnx8c2hhbmdmYW5n +Lm9yZwpzaGFwZXNlcnZpY2VzLmNvbQouc2hhcmViZWUuY29tCnx8c2hhcmVjb29s +Lm9yZwohLS18fHNoYXJrZG9scGhpbi5jb20Kc2hhcnBkYWlseS5jb20uaGsKfHxz +aGFycGRhaWx5LmNvbS5oawouc2hhcnBkYWlseS5oawouc2hhcnBkYWlseS50dwou +c2hhdC10aWJldC5jb20Kc2hlaWt5ZXJtYW1pLmNvbQouc2hlbGxmaXJlLmRlCnx8 +c2hlbGxmaXJlLmRlCi5zaGVuc2hvdS5vcmcKc2hlbnl1bi5jb20Kc2hlbnl1bnBl +cmZvcm1pbmdhcnRzLm9yZwp8fHNoZW55dW5wZXJmb3JtaW5nYXJ0cy5vcmcKc2hl +bnpob3VmaWxtLmNvbQp8fHNoZW56aG91ZmlsbS5jb20KfHxzaGVyYWJneWFsdHNl +bi5jb20KLnNoaWF0di5uZXQKLnNoaWNoZW5nLm9yZwpzaGlueWNoYW4uY29tCnNo +aXBjYW1vdWZsYWdlLmNvbQouc2hpdGFvdHYub3JnCnx8c2hpeGlhby5vcmcKfHxz +aGl6aGFvLm9yZwpzaGl6aGFvLm9yZwpzaGtzcHIubW9iaS9kYWJyCnx8c2hvZGFu +aHEuY29tCi5zaG9wMjAwMC5jb20udHcKLnNob3BwaW5nLmNvbQouc2hvd2hhb3R1 +LmNvbQouc2hvd3RpbWUuanAKY2guc2h2b29uZy5jb20KLnNod2NodXJjaC5vcmcK +fHx3d3cuc2h3Y2h1cmNoLm9yZwouc2h3Y2h1cmNoMy5jb20KfGh0dHA6Ly9zaHdj +aHVyY2gzLmNvbQouc2lkZGhhcnRoYXNpbnRlbnQub3JnCnx8c2lkZWxpbmVzbmV3 +cy5jb20KLnNpZGVsaW5lc3Nwb3J0c2VhdGVyeS5jb20KLnNpamlodWlzdW8uY2x1 +Ygouc2lqaWh1aXN1by5jb20KLnNpbGtib29rLmNvbQpzaW1wbGVjZC5vcmcKfHxz +aW1wbGVjZC5vcmcKQEB8fHNpbXBsZWNkLm1lCnNpbXBsZXByb2R1Y3Rpdml0eWJs +b2cuY29tCmJicy5zaW5hLmNvbS8KYmJzLnNpbmEuY29tJTJGCmJsb2cuc2luYS5j +b20udHcKZGFpbHluZXdzLnNpbmEuY29tLwpkYWlseW5ld3Muc2luYS5jb20lMkYK +Zm9ydW0uc2luYS5jb20uaGsKaG9tZS5zaW5hLmNvbQp8fG1hZ2F6aW5lcy5zaW5h +LmNvbS50dwpuZXdzLnNpbmEuY29tLmhrCm5ld3Muc2luYS5jb20udHcKbmV3cy5z +aW5jaGV3LmNvbS5teQouc2luY2hldy5jb20ubXkvbm9kZS8KLnNpbmNoZXcuY29t +Lm15L3RheG9ub215L3Rlcm0KLnNpbmdhcG9yZXBvb2xzLmNvbS5zZwp8fHNpbmdh +cG9yZXBvb2xzLmNvbS5zZwouc2luZ2ZvcnRpYmV0LmNvbQouc2luZ3Bhby5jb20u +aGsKc2luZ3Rhby5jb20KfHxzaW5ndGFvLmNvbQpuZXdzLnNpbmd0YW8uY2EKIS0t +fHxjZHAuc2luaWNhLmVkdS50dwpzaW5vLW1vbnRobHkuY29tCnx8c2lub2Nhc3Qu +Y29tCnNpbm9jaXNtLmNvbQpzaW5vbW9udHJlYWwuY2EKLnNpbm9uZXQuY2EKLnNp +bm9waXR0LmluZm8KLnNpbm9hbnRzLmNvbQp8fHNpbm9hbnRzLmNvbQouc2lub3F1 +ZWJlYy5jb20KfHxzaXRlOTAubmV0Ci5zaXRlYnJvLnR3Cnx8c2l0ZWtyZWF0b3Iu +Y29tCnx8c2l0ZWtzLnVrLnRvCnx8c2l0ZW1hcHMub3JnCnNpdGV0YWcudXMKc2lz +Lnh4eAp8fHNpczAwMS5jb20Kc2lzMDAxLnVzCi5zanJ0Lm9yZwp8aHR0cDovL3Nq +cnQub3JnCnx8c2p1bS5jbgp8fHNrZXRjaGFwcHNvdXJjZXMuY29tCnx8c2tpbXR1 +YmUuY29tCnx8c2t5YmV0LmNvbQp8aHR0cDovL3VzZXJzLnNreW5ldC5iZS9yZXZl +cy90aWJldGhvbWUuaHRtbAp8aHR0cDovL3NreWhpZ2hwcmVtaXVtLmNvbS8KYmJz +LnNreWtpd2kuY29tCnxodHRwOi8vd3d3LnNreXBlLmNvbS9pbnRsLwp8aHR0cDov +L3d3dy5za3lwZS5jb20vemgtSGFudAp8fHNreXZlZ2FzLmNvbQoueHNreXdhbGtl +ci5jb20KfHx4c2t5d2Fsa2VyLmNvbQptLnNsYW5kci5uZXQKfHxzbGF2YXNvZnQu +Y29tCi5zbGF5dGl6bGUuY29tCi5zbGVhenlkcmVhbS5jb20KfHxzbGhlbmcuY29t +Ci5zbGlkZXNoYXJlLm5ldApmb3J1bS5zbGltZS5jb20udHcKLnNsaW5rc2V0LmNv +bQp8fHNsaWNrdnBuLmNvbQouc2x1dGxvYWQuY29tCnx8c21hcnRkbnNwcm94eS5j +b20KLnNtYXJ0aGlkZS5jb20Kc21jaGJvb2tzLmNvbQouc21oLmNvbS5hdS93b3Js +ZC9kZWF0aC1vZi1jaGluZXNlLXBsYXlib3ktbGVhdmVzLWZyZXNoLXNjcmF0Y2hl +cy1pbi1wYXJ0eS1wYWludHdvcmstMjAxMjA5MDMtMjVhOHYKc21ocmljLm9yZwou +c21pdGguZWR1L2RhbGFpbGFtYQouc215eHkub3JnCiEtLVRPRE8tbm8taG9tZXBh +Z2UKfHxzbmFwY2hhdC5jb20KLnNuYXB0dS5jb20KfHxzbmFwdHUuY29tCnx8c25k +Y2RuLmNvbQpzbmVha21lLm5ldAp8fHNub29wZXIuY28udWsKc25vd2xpb25wdWIu +Y29tCnx8c28tZ2EubmV0Ci5zby1nYS5uZXQKfHxzby1uZXdzLmNvbQouc28tbmV3 +cy5jb20KaG9tZS5zby1uZXQubmV0LnR3L3lpc2FfdHNhaQp8fHNvYy5taWwKLnNv +Y2tzY2FwNjQuY29tCnx8c29ja3NsaXN0Lm5ldAouc29jcmVjLm9yZwp8aHR0cDov +L3NvY3JlYy5vcmcKLnNvZC5jby5qcAouc29mdGV0aGVyLm9yZwp8fHNvZnRldGhl +ci5vcmcKLnNvZnRldGhlci1kb3dubG9hZC5jb20KfHxzb2Z0ZXRoZXItZG93bmxv +YWQuY29tCnx8Y2RuLnNvZnRsYXllci5uZXQKfHxzb2djbHViLmNvbQpzb2hjcmFk +aW8uY29tCnx8c29oY3JhZGlvLmNvbQp8fHNvcnRpbmctYWxnb3JpdGhtcy5jb20K +LnNvc3RpYmV0Lm9yZwouc291bW8uaW5mbwp8fHNvdXAuaW8KQEB8fHN0YXRpYy5z +b3VwLmlvCi5zb2JlZXMuY29tCnx8c29iZWVzLmNvbQpzb2NpYWx3aGFsZS5jb20K +LnNvZnRldGhlci5jby5qcAp8fHNvZnR3YXJlYnljaHVjay5jb20KYmxvZy5zb2dv +by5vcmcKc29oLnR3Cnx8c29oLnR3CnNvaGZyYW5jZS5vcmcKfHxzb2hmcmFuY2Uu +b3JnCmNoaW5lc2Uuc29pZmluZC5jb20Kc29rYW1vbmxpbmUuY29tCnx8c29tZWUu +Y29tCi5zb25namlhbmp1bi5jb20KfHxzb25namlhbmp1bi5jb20KLnNvbmljYmJz +LmNjCi5zb25pZG9kZWxhZXNwZXJhbnphLm9yZwouc29wY2FzdC5jb20KLnNvcGNh +c3Qub3JnCi5zb3Jhem9uZS5uZXQKfHxzb3Mub3JnCmJicy5zb3UtdG9uZy5vcmcK +LnNvdWJvcnkuY29tCnxodHRwOi8vc291Ym9yeS5jb20KLnNvdWwtcGx1cy5uZXQK +LnNvdWxjYWxpYnVyaGVudGFpLm5ldAp8fHNvdWxjYWxpYnVyaGVudGFpLm5ldAp8 +fHNvdW5kY2xvdWQuY29tCiEtLXxodHRwczovL3NvdW5kY2xvdWQuY29tL3B1bmtn +b2QKLnNvdW5kb2Zob3BlLmtyCnNvdW5kb2Zob3BlLm9yZwp8fHNvdW5kb2Zob3Bl +Lm9yZwp8fHNvdXBvZm1lZGlhLmNvbQohLS0uc291cmNlZm9yZ2UubmV0CiEtfGh0 +dHA6Ly9zb3VyY2Vmb3JnZS5uZXQKfGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcCov +c2hhZG93c29ja3NndWkvCi5zb3VyY2V3YWRpby5jb20Kc291dGhuZXdzLmNvbS50 +dwpzb3dlcnMub3JnLmhrCnx8d2x4LnNvd2lraS5uZXQKfHxzcGFua2JhbmcuY29t +Ci5zcGFua2luZ3R1YmUuY29tCi5zcGFua3dpcmUuY29tCnx8c3BiLmNvbQp8fHNw +ZWFrZXJkZWNrLmNvbQpzcGVtLmF0Cnx8c3BlbmNlcnRpcHBpbmcuY29tCnx8c3Bp +Y2V2cG4uY29tCi5zcGlkZXJvYWsuY29tCnx8c3BpZGVyb2FrLmNvbQouc3Bpa2Uu +Y29tCi5zcG90Zmx1eC5jb20KfHxzcG90Zmx1eC5jb20KLnNwcmluZzR1LmluZm8K +fGh0dHA6Ly9zcHJpbmc0dS5pbmZvCnx8c3Byb3V0Y29yZS5jb20KfHxzcHJveHku +aW5mbwp8fHNyb2NrZXQudXMKLnNzLWxpbmsuY29tCnx8c3MtbGluay5jb20KfHxz +c2g5MS5jb20KLnNzcHJvLm1sCnxodHRwOi8vc3Nwcm8ubWwKfHxzc3MuY2FtcAoh +LS18aHR0cDovL2Nkbi5zc3RhdGljLm5ldC8Kc3N0bWx0Lm5ldAp8fHNzdG1sdC5u +ZXQKfGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS91c2Vycy84OTUyNDUKLnN0YWdl +NjQuaGsKfHxzdGFnZTY0LmhrCnx8c3RhbmR1cGZvcnRpYmV0Lm9yZwpzdGFuZm9y +ZC5lZHUvZ3JvdXAvZmFsdW4KdXNpbmZvLnN0YXRlLmdvdgp8fHN0YXR1ZW9mZGVt +b2NyYWN5Lm9yZwouc3RhcmZpc2hmeC5jb20KLnN0YXJwMnAuY29tCnx8c3RhcnAy +cC5jb20KLnN0YXJ0cGFnZS5jb20KfHxzdGFydHBhZ2UuY29tCnx8c3RhdGljLWVj +b25vbWlzdC5jb20KfHxzdGMuY29tLnNhCnN0ZWFtY29tbXVuaXR5LmNvbS9ncm91 +cHMvTGliZXRUaWJldApzdGVhbWNvbW11bml0eS5jb20vaWQvQ0pUX0phY2t0b24K +fHxzdGVlbC1zdG9ybS5jb20KLnN0ZWdhbm9zLmNvbQp8fHN0ZWdhbm9zLmNvbQou +c3RlZ2Fub3MubmV0Ci5zdGVwY2hpbmEuY29tCiEtLXx8c3RlcG1hbmlhLmNvbQpu +eS5zdGdsb2JhbGxpbmsuY29tCmhkLnN0aGVhZGxpbmUuY29tL25ld3MvcmVhbHRp +bWUKc3Rob28uY29tCnx8c3Rob28uY29tCi5zdGlja2FtLmNvbQpzdGlja2VyYWN0 +aW9uLmNvbS9zZXNhd2UKLnN0aWxlcHJvamVjdC5jb20KLnN0by5jYwp8fHN0b25l +aXAuaW5mbwp8fHN0b3JhZ2VuZXdzbGV0dGVyLmNvbQouc3Rvcm0ubWcKfHxzdG9y +bS5tZwouc3RvcHRpYmV0Y3Jpc2lzLm5ldAp8fHN0b3B0aWJldGNyaXNpcy5uZXQK +fHxzdG9yaWZ5LmNvbQouc3Rvcm1tZWRpYWdyb3VwLmNvbQp8fHN0b3dlYm95ZC5j +b20Kc3RyYW5hYmcuY29tCnx8c3RyZWFtaW5ndGhlLm5ldApzdHJlZW1hLmNvbS90 +di9OVERUVl9DaGluZXNlCmNuLnN0cmVldHZvaWNlLmNvbS9hcnRpY2xlCmNuLnN0 +cmVldHZvaWNlLmNvbS9kaWFyeQpjbjIuc3RyZWV0dm9pY2UuY29tCnR3LnN0cmVl +dHZvaWNlLmNvbQouc3RyaWtpbmdseS5jb20KfHxzdHJvbmd2cG4uY29tCi5zdHJv +bmd3aW5kcHJlc3MuY29tCi5zdHVkZW50LnR3L2RiCnx8c3R1ZGVudHNmb3JhZnJl +ZXRpYmV0Lm9yZwp8fHN0dW1ibGV1cG9uLmNvbQpzdHVwaWR2aWRlb3MuY29tCnBh +bmFtYXBhcGVycy5zdWVkZGV1dHNjaGUuZGUKLnN1Z2Fyc3luYy5jb20KfHxzdWdh +cnN5bmMuY29tCi5zdWdvYmJzLmNvbQp8fHN1Z3VtaXJ1MTguY29tCnx8c3Vpc3Ns +LmNvbQpzdW1taWZ5LmNvbQouc3VtcmFuZG8uY29tCnx8c3VtcmFuZG8uY29tCnN1 +bjE5MTEuY29tCi5zdW5wb3Juby5jb20KfHxzdW5tZWRpYS5jYQp8fHN1bnBvcm5v +LmNvbQouc3Vuc2t5Zm9ydW0uY29tCi5zdW50YS5jb20udHcKLnN1bnZwbi5uZXQK +LnN1b2x1by5vcmcKLnN1cGVydnBuLm5ldAp8fHN1cGVydnBuLm5ldAouc3VwcmVt +ZW1hc3RlcnR2LmNvbQp8aHR0cDovL3N1cHJlbWVtYXN0ZXJ0di5jb20KLnN1cmZl +YXN5LmNvbQp8fHN1cmZlYXN5LmNvbQouc3VyZmVhc3kuY29tLmF1CnxodHRwOi8v +c3VyZmVhc3kuY29tLmF1Cnx8c3VycmVuZGVyYXQyMC5uZXQKLnN1eWFuZ2cuY29t +CnxodHRwOi8vc3V5YW5nZy5jb20KLnN3aXNzdnBuLm5ldAp8fHN3aXNzdnBuLm5l +dApzd2l0Y2h2cG4ubmV0Cnx8c3dpdGNodnBuLm5ldAp8fHN3aWZ0LXRvb2xzLm5l +dAouc3lkbmV5dG9kYXkuY29tCi5zeWxmb3VuZGF0aW9uLm9yZwp8fHN5bmNiYWNr +LmNvbQpzeXNyZXNjY2Qub3JnCi5zeXRlcy5uZXQKYmxvZy5zeXg4Ni5jb20vMjAw +OS8wOS9wdWZmCmJsb2cuc3l4ODYuY24vMjAwOS8wOS9wdWZmCi5zemJicy5uZXQK +fHxzemV0b3dhaC5vcmcuaGsKCiEtLS0tLS0tLS0tLS0tLS0tLS0tLVRULS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLQoudDM1LmNvbQoudDY2eS5jb20KfHx0NjZ5LmNv +bQoudGFhLXVzYS5vcmcKfGh0dHA6Ly90YWEtdXNhLm9yZwoudGFhemUudHcKfHx0 +YWF6ZS50dwp8aHR0cDovL3d3dy50YWJsZXNnZW5lcmF0b3IuY29tLwp0YWJ0dGVy +LmpwCi50YWNlbS5vcmcKLnRhY29uZXQuY29tLnR3Cnx8dGFlZHAub3JnLnR3Ci50 +YWZtLm9yZwoudGFnd2Eub3JnLmF1CnRhZ3dhbGsuY29tCnx8dGFnd2Fsay5jb20K +dGFoci5vcmcudHcKLnRhaXBlaXNvY2lldHkub3JnCnx8dGFpcGVpc29jaWV0eS5v +cmcKLnRhaXdhbmJpYmxlLmNvbQoudGFpd2FuY29uLmNvbQoudGFpd2FuZGFpbHku +bmV0Cnx8dGFpd2FuZGFpbHkubmV0Ci50YWl3YW5kYy5vcmcKfHx0YWl3YW5lbWJh +c3N5Lm9yZwoudGFpd2FuanVzdGljZS5jb20KdGFpd2Fua2lzcy5jb20KdGFpd2Fu +bmF0aW9uLmNvbQp0YWl3YW5uYXRpb24uY29tLnR3Cnx8dGFpd2FubmNmLm9yZy50 +dwp8fHRhaXdhbm5ld3MuY29tLnR3CnxodHRwOi8vd3d3LnRhaXdhbm9ubGluZS5j +Yy8KfHx0YWl3YW50b2RheS50dwp0YWl3YW50cC5uZXQKfHx0YWl3YW50dC5vcmcu +dHcKdGFpd2FudXMubmV0CnRhaXdhbnllcy5jb20KdGFpd2FuLXNleC5jb20KLnRh +bGs4NTMuY29tCi50YWxrYm94YXBwLmNvbQp8fHRhbGtib3hhcHAuY29tCi50YWxr +b25seS5uZXQKfHx0YWxrb25seS5uZXQKfHx0YW1pYW9kZS50awp8fHRhbmMub3Jn +CnRhbmdiZW4uY29tCi50YW5ncmVuLnVzCi50YW9pc20ubmV0CnxodHRwOi8vdGFv +aXNtLm5ldAoudGFvbHVuLmluZm8KfHx0YW9sdW4uaW5mbwoudGFwYXRhbGsuY29t +Cnx8dGFwYXRhbGsuY29tCmJsb2cudGFyYWdhbmEuY29tCi50YXNjbi5jb20uYXUK +fHx0YXVwLm5ldAp8aHR0cDovL3d3dy50YXVwLm9yZy50dwoudGF3ZWV0LmNvbQp8 +fHRhd2VldC5jb20KLnRiY29sbGVnZS5vcmcKfHx0YmNvbGxlZ2Uub3JnCi50Ymku +b3JnLmhrCi50Ymljbi5vcmcKLnRianl0Lm9yZwp8fHRicGljLmluZm8KLnRicmMu +b3JnCnRicy1yYWluYm93Lm9yZwoudGJzZWMub3JnCnx8dGJzZWMub3JnCnRic2tr +aW5hYmFsdS5wYWdlLnRsCi50YnNtYWxheXNpYS5vcmcKLnRic24ub3JnCnx8dGJz +bi5vcmcKLnRic3NlYXR0bGUub3JnCi50YnNzcWgub3JnCnxodHRwOi8vdGJzc3Fo +Lm9yZwp0YnN3ZC5vcmcKLnRidGVtcGxlLm9yZy51awoudGJ0aG91c3Rvbi5vcmcK +LnRjY3dvbmxpbmUub3JnCi50Y2V3Zi5vcmcKdGNocmQub3JnCnRjbnluai5vcmcK +LnRjc29mYmMub3JnCi50Y3Nvdmkub3JnCnRlYW1hbWVyaWNhbnkuY29tCnx8dGVj +ay5pbgoudGVlbmllZnVjay5uZXQKdGVlbnNpbmFzaWEuY29tCi50ZWxlY29tc3Bh +Y2UuY29tCnx8dGVsZWdyYW0ub3JnCi50ZWxlZ3JhbWRvd25sb2FkLmNvbQp8fHRl +bGVncmFwaC5jby51awoudGVuYWN5LmNvbQp8fHRlbnppbnBhbG1vLmNvbQoudGV3 +Lm9yZwoudGhhaWNuLmNvbQp8fHRoZWF0cnVtLWJlbGxpLmNvbQp0aGVibGVtaXNo +LmNvbQp8fHRoZWJjb21wbGV4LmNvbQoudGhlYm9icy5jb20KfHx0aGVib2JzLmNv +bQoudGhlY2hpbmFiZWF0Lm9yZwp8aHR0cDovL3d3dy50aGVjaGluYXN0b3J5Lm9y +Zy95ZWFyYm9va3MveWVhcmJvb2stMjAxMi8KLnRoZWRhbGFpbGFtYW1vdmllLmNv +bQp8aHR0cDovL3RoZWRhbGFpbGFtYW1vdmllLmNvbQp8fHRoZWR3LnVzCnRoZWZy +b250aWVyLmhrL3RmCnxodHRwOi8vdGhlZ2lvaXRpbmhvYy52bi8KLnRoZWdseS5j +b20KLnRoZWhvdHMuaW5mbwp0aGVob3VzZW5ld3MuY29tCnx8dGhlaHVuLm5ldAou +dGhlaW5pdGl1bS5jb20KfHx0aGVpbml0aXVtLmNvbQoudGhlbmV3c2xlbnMuY29t +Cnx8dGhlbmV3c2xlbnMuY29tCi50aGVwaXJhdGViYXkub3JnCnx8dGhlcGlyYXRl +YmF5Lm9yZwohLS18fHRoZXBpcmF0ZWJheS5zZQp8fHRoZXBvcnRhbHdpa2kuY29t +CnRoZXJlYWxsb3ZlLmtyCnRoZXJvY2submV0Lm56CnRoZXNwZWVkZXIuY29tCnx8 +dGhlc3RhbmRuZXdzLmNvbQp0aGV0aWJldGNlbnRlci5vcmcKdGhldGliZXRjb25u +ZWN0aW9uLm9yZwoudGhldGliZXRtdXNldW0ub3JnCi50aGV0aWJldHBvc3QuY29t +Cnx8dGhldGliZXRwb3N0LmNvbQp0aGV0cm90c2t5bW92aWUuY29tCnRoZXZpdmVr +c3BvdC5jb20KfHx0aGV3Z28ub3JnCi50aGlua2luZ3RhaXdhbi5jb20KLnRoaXNh +di5jb20KfGh0dHA6Ly90aGlzYXYuY29tCi50aGxpYi5vcmcKfHx0aG9tYXNiZXJu +aGFyZC5vcmcKLnRob25nZHJlYW1zLmNvbQp0aHJlYXRjaGFvcy5jb20KfHx0aHJv +dWdobmlnaHRzZmlyZS5jb20KLnRodW1iemlsbGEuY29tCnx8dGh5d29yZHMuY29t +Ci50aHl3b3Jkcy5jb20udHcKdGlhbmFubWVubW90aGVyLm9yZwoudGlhbmFubWVu +ZHVpemhpLmNvbQp8fHRpYW5hbm1lbmR1aXpoaS5jb20KfHx0aWFuYW5tZW51bml2 +LmNvbQp8fHRpYW5hbm1lbnVuaXYubmV0Cnx8dGlhbmRpeGluZy5vcmcKLnRpYW5o +dWF5dWFuLmNvbQoudGlhbmxhd29mZmljZS5jb20KfHx0aWFudGkuaW8KdGlhbnRp +Ym9va3Mub3JnCi50aWFuemh1Lm9yZwoudGliZXQuYXQKdGliZXQuY2EKLnRpYmV0 +LmNvbQp8fHRpYmV0LmNvbQp0aWJldC5mcgoudGliZXQubmV0Cnx8dGliZXQubmV0 +CnRpYmV0Lm51Ci50aWJldC5vcmcKfHx0aWJldC5vcmcKdGliZXQub3JnLnR3Ci50 +aWJldC50bwoudGliZXQtZW52b3kuZXUKfHx0aWJldC1lbnZveS5ldQoudGliZXQt +Zm91bmRhdGlvbi5vcmcKLnRpYmV0LWhvdXNlLXRydXN0LmNvLnVrCnRpYmV0LWlu +Zm8ubmV0CnRpYmV0LWluaXRpYXRpdmUuZGUKfHx0aWJldC1pbml0aWF0aXZlLmRl +Ci50aWJldC1tdW5pY2guZGUKLnRpYmV0M3JkcG9sZS5vcmcKfGh0dHA6Ly90aWJl +dDNyZHBvbGUub3JnCnRpYmV0YWN0aW9uLm5ldAp8fHRpYmV0YWN0aW9uLm5ldAou +dGliZXRhaWQub3JnCnRpYmV0YWxrLmNvbQoudGliZXRhbi5mcgp0aWJldGFuLWFs +bGlhbmNlLm9yZwoudGliZXRhbmFydHMub3JnCi50aWJldGFuYnVkZGhpc3RpbnN0 +aXR1dGUub3JnCnxodHRwOi8vdGliZXRhbmJ1ZGRoaXN0aW5zdGl0dXRlLm9yZwp0 +aWJldGFuY29tbXVuaXR5Lm9yZwoudGliZXRhbmpvdXJuYWwuY29tCi50aWJldGFu +bGFuZ3VhZ2Uub3JnCi50aWJldGFubGliZXJhdGlvbi5vcmcKfHx0aWJldGFubGli +ZXJhdGlvbi5vcmcKLnRpYmV0Y29sbGVjdGlvbi5jb20KLnRpYmV0YW5haWRwcm9q +ZWN0Lm9yZwoudGliZXRhbmNvbW11bml0eXVrLm5ldAp8aHR0cDovL3RpYmV0YW5j +b21tdW5pdHl1ay5uZXQKdGliZXRhbmN1bHR1cmUub3JnCnRpYmV0YW5mZW1pbmlz +dGNvbGxlY3RpdmUub3JnCi50aWJldGFucGFpbnRpbmdzLmNvbQoudGliZXRhbnBo +b3RvcHJvamVjdC5jb20KLnRpYmV0YW5wb2xpdGljYWxyZXZpZXcub3JnCi50aWJl +dGFucmV2aWV3Lm5ldAoudGliZXRhbndvbWVuLm9yZwp8aHR0cDovL3RpYmV0YW53 +b21lbi5vcmcKLnRpYmV0YW55b3V0aC5vcmcKLnRpYmV0YW55b3V0aGNvbmdyZXNz +Lm9yZwp8fHRpYmV0YW55b3V0aGNvbmdyZXNzLm9yZwoudGliZXRjaGFyaXR5LmRr +CnRpYmV0Y2hhcml0eS5pbgoudGliZXRjaGlsZC5vcmcKLnRpYmV0Y2l0eS5jb20K +LnRpYmV0Y29ycHMub3JnCi50aWJldGV4cHJlc3MubmV0CnxodHRwOi8vdGliZXRl +eHByZXNzLm5ldAp0aWJldGZvY3VzLmNvbQp0aWJldGZ1bmQub3JnCi50aWJldGdl +cm1hbnkuY29tCnx8dGliZXRnZXJtYW55LmRlCi50aWJldGhhdXMuY29tCi50aWJl +dGhlcml0YWdlZnVuZC5vcmcKdGliZXRob3VzZS5qcAp0aWJldGhvdXNlLm9yZwp8 +fHRpYmV0aG91c2UudXMKLnRpYmV0aW5mb25ldC5uZXQKLnRpYmV0anVzdGljZS5v +cmcKLnRpYmV0a29taXRlLmRrCnxodHRwOi8vdGliZXRtdXNldW0ub3JnCnRpYmV0 +bmV0d29yay5vcmcKfHx0aWJldG5ldHdvcmsub3JnCi50aWJldG9mZmljZS5jaAp8 +aHR0cDovL3RpYmV0b2ZmaWNlLmNoCnRpYmV0b2ZmaWNlLmV1CnRpYmV0b2ZmaWNl +Lm9yZwp0aWJldG9ubGluZS5jb20KfHx0aWJldG9ubGluZS5jb20KLnRpYmV0b2Zm +aWNlLmNvbS5hdQp8aHR0cDovL3RpYmV0b2ZmaWNlLmNvbS5hdQp8fHRpYmV0b25s +aW5lLnR2Ci50aWJldG9ubGluZS50dgoudGliZXRvcmFsaGlzdG9yeS5vcmcKfGh0 +dHA6Ly90aWJldG9yYWxoaXN0b3J5Lm9yZwoudGliZXRwb2xpY3kuZXUKLnRpYmV0 +cmVsaWVmZnVuZC5jby51awp0aWJldHNpdGVzLmNvbQoudGliZXRzb2NpZXR5LmNv +bQp8fHRpYmV0c29jaWV0eS5jb20KLnRpYmV0c3VuLmNvbQoudGliZXRzdXBwb3J0 +Z3JvdXAub3JnCnxodHRwOi8vdGliZXRzdXBwb3J0Z3JvdXAub3JnCi50aWJldHN3 +aXNzLmNoCi50aWJldHRlbGVncmFwaC5jb20KdGliZXR0aW1lcy5uZXQKfHx0aWJl +dHdyaXRlcy5vcmcKLnRpY2tldC5jb20udHcKLnRpbWRpci5jb20KfGh0dHA6Ly90 +aW1kaXIuY29tCi50aW1lLmNvbQp8aHR0cDovL3RpbWUuY29tCiEtLS50aW1lLmNv +bS90aW1lL3RpbWUxMDAvbGVhZGVycy9wcm9maWxlL3JlYmVsCiEtLS50aW1lLmNv +bS90aW1lL3NwZWNpYWxzL3BhY2thZ2VzL2FydGljbGUvMCwyODgwNAohLS0udGlt +ZS5jb20vdGltZS9tYWdhemluZQoudGltc2FoLmNvbQp8fGJsb2cudGluZXkuY29t +CnRpbnR1YzEwMS5jb20KLnRpbnkuY2MKfGh0dHA6Ly90aW55LmNjCnRpbnljaGF0 +LmNvbQp8fHRpbnlwYXN0ZS5jb20KLnRpc3RvcnkuY29tCnx8dGtjcy1jb2xsaW5z +LmNvbQoudG1hZ2F6aW5lLmNvbQp8fHRtYWdhemluZS5jb20KLnRtZGZpc2guY29t +CnxodHRwOi8vdG1pLm1lCi50bXBwLm9yZwp8aHR0cDovL3RtcHAub3JnCi50bmFm +bGl4LmNvbQp8fHRuYWZsaXguY29tCi50bmdybm93LmNvbQoudG5ncm5vdy5uZXQK +LnRucC5vcmcKfGh0dHA6Ly90bnAub3JnCi50by1wb3Juby5jb20KfHx0by1wb3Ju +by5jb20KdG9nZXR0ZXIuY29tCi50b2t5by0yNDcuY29tCi50b2t5by1ob3QuY29t +Cnx8dG9reW8tcG9ybi10dWJlLmNvbQp8fHRva3lvY24uY29tCnR3LnRvbW9uZXdz +Lm5ldAoudG9uZ2lsLm9yLmtyCi50b25vLW9rYS5qcAp0b255eWFuLm5ldAoudG9v +ZG9jLmNvbQp0b29uZWwubmV0CnRvcDgxLndzCi50b3BuZXdzLmluCi50b3JndWFy +ZC5uZXQKfHx0b3JndWFyZC5uZXQKLnRvcHNoYXJld2FyZS5jb20KLnRvcHN5LmNv +bQp8fHRvcHN5LmNvbQp8fHRvcHRpcC5jYQp0b3JhLnRvCi50b3Jjbi5jb20KLnRv +cnByb2plY3Qub3JnCnx8dG9ycHJvamVjdC5vcmcKdG9ycmVudGNyYXp5LmNvbQp8 +fHRvcnJlbnRjcmF6eS5jb20KdG9ycmVudHByaXZhY3kuY29tCnx8dG9ycmVudHBy +aXZhY3kuY29tCnxodHRwOi8vdG9ycmVudHByb2plY3Quc2UKfHx0b3JyZW50eS5v +cmcKfHx0b3JyZW50ei5ldQp8fHRvcnZwbi5jb20KfHx0b3RhbHZwbi5jb20KdG93 +bmdhaW4uY29tCnRveXBhcmsuaW4KdG95dHJhY3RvcnNob3cuY29tCi50cGFyZW50 +cy5vcmcKLnRwaS5vcmcudHcKfHx0cGkub3JnLnR3CnRyYWZmaWNoYXVzLmNvbQp8 +fHRyYW5zcGFyZW5jeS5vcmcKfHx0cmVlbWFsbC5jb20udHcKdHJlbmRzbWFwLmNv +bQp8fHRyZW5kc21hcC5jb20KLnRyaWFsb2ZjY3Aub3JnCnx8dHJpYWxvZmNjcC5v +cmcKLnRyaW1vbmRpLmRlL1NETEUKLnRyb3V3Lm5sCnxodHRwOi8vdHJvdXcubmwK +LnRydC5uZXQudHIKdHJ0Yy5jb20udHcKLnRydWVidWRkaGEtbWQub3JnCnxodHRw +Oi8vdHJ1ZWJ1ZGRoYS1tZC5vcmcKdHJ1bHllcmdvbm9taWMuY29tCi50cnV0aDEw +MS5jby50dgp8aHR0cDovL3RydXRoMTAxLmNvLnR2Ci50cnV0aG9udG91ci5vcmcK +fGh0dHA6Ly90cnV0aG9udG91ci5vcmcKLnRydXZlby5jb20KLnRzY3R2Lm5ldAou +dHNlbXR1bGt1LmNvbQp0c3F1YXJlLnR2Ci50c3Uub3JnLnR3CnRzdW5hZ2FydW1v +bi5jb20KIS0tfGh0dHA6Ly93d3cudHN1cnUtYmlyZC5uZXQvCi50c2N0di5uZXQK +fHx0dC1yc3Mub3JnCnx8dHQxMDY5LmNvbQoudHR0YW4uY29tCnx8dHR0YW4uY29t +CmJiLnR0di5jb20udHcvYmIKdHU4OTY0LmNvbQoudHViYWhvbGljLmNvbQoudHVi +ZS5jb20KdHViZTguY29tCnx8dHViZTguY29tCi50dWJlOTExLmNvbQp8fHR1YmU5 +MTEuY29tCi50dWJlY3VwLmNvbQoudHViZWdhbHMuY29tCi50dWJlaXNsYW0uY29t +CnxodHRwOi8vdHViZWlzbGFtLmNvbQp8fHR1YmV3b2xmLmNvbQp0dWlkYW5nLm5l +dAp0dWlkYW5nLm9yZwoudHVpZGFuZy5zZQpiYnMudHVpdHVpLmluZm8KLnR1bXV0 +YW56aS5jb20KfGh0dHA6Ly90dW11dGFuemkuY29tCnx8dHVtdmlldy5jb20KLnR1 +bmVpbi5jb20KfGh0dHA6Ly90dW5laW4uY29tCnx8dHVubmVsYmVhci5jb20KLnR1 +bzguY2MKLnR1bzguY2x1Ygp8fHR1bzguY2x1YgoudHVvOC5maXQKLnR1bzguaGsK +LnR1bzguaW4KLnR1bzgubmluamEKLnR1bzgub3JnCnx8dHVvOC5maXQKfHx0dW84 +Lm9yZwoudHVvOC5wdwp8aHR0cDovL3R1bzgucHcKfHx0dW84LnJlZAoudHVvOC5z +cGFjZQp0dWl0d2l0LmNvbQoudHVyYW5zYW0ub3JnCi50dXJib2JpdC5uZXQKfGh0 +dHA6Ly90dXJib2JpdC5uZXQKLnR1cmJvaGlkZS5jb20KfHx0dXJib2hpZGUuY29t +Ci50dXNoeWNhc2guY29tCnxodHRwOi8vdHVzaHljYXNoLmNvbQp8fGFwcC50dXRh +bm90YS5jb20KLnR1dnBuLmNvbQp8fHR1dnBuLmNvbQp8aHR0cDovL3R1emFpamlk +aS5jb20KfGh0dHA6Ly8qLnR1emFpamlkaS5jb20KLnR3MDEub3JnCnxodHRwOi8v +dHcwMS5vcmcKCiEtLS1UdW1ibHItLS0KLnR1bWJsci5jb20KfHx0dW1ibHIuY29t +CiEtLUBAfHxhc3NldHMudHVtYmxyLmNvbQohLS1AQHx8ZGF0YS50dW1ibHIuY29t +CiEtLUBAfHxtZWRpYS50dW1ibHIuY29tCiEtLUBAfHxzdGF0aWMudHVtYmxyLmNv +bQohLS1AQHx8d3d3LnR1bWJsci5jb20KCi50di5jb20KfGh0dHA6Ly90di5jb20K +dHZhbnRzLmNvbQpmb3J1bS50dmIuY29tCm5ld3MudHZiLmNvbS9saXN0L3dvcmxk +Cm5ld3MudHZiLmNvbS9sb2NhbApuZXdzLnR2YnMuY29tLnR3Ci50dmJveG5vdy5j +b20KfGh0dHA6Ly90dmJveG5vdy5jb20vCnR2aWRlci5jb20KLnR2bW9zdC5jb20u +aGsKLnR2cGxheXZpZGVvcy5jb20KfHx0dnVuZXR3b3Jrcy5jb20KLnR3LW5wby5v +cmcKLnR3YWl0dGVyLmNvbQp0d2FwcGVya2VlcGVyLmNvbQp8fHR3YXBwZXJrZWVw +ZXIuY29tCnx8dHdhdWQuaW8KLnR3YXVkLmlvCi50d2Jicy5uZXQudHcKdHdiYnMu +b3JnCnR3YmJzLnR3Cnx8dHdibG9nZ2VyLmNvbQp0d2VlcG1hZy5jb20KLnR3ZWVw +bWwub3JnCnx8dHdlZXBtbC5vcmcKLnR3ZWV0YmFja3VwLmNvbQp8fHR3ZWV0YmFj +a3VwLmNvbQp0d2VldGJvYXJkLmNvbQp8fHR3ZWV0Ym9hcmQuY29tCi50d2VldGJv +bmVyLmJpegp8fHR3ZWV0Ym9uZXIuYml6Ci50d2VldGRlY2suY29tCnx8dHdlZXRk +ZWNrLmNvbQp8aHR0cDovL2RlY2subHkKIS0tIE9wZXJhdGlvbiBkaXNjb250aW51 +ZWQKIS0tfHx0d2VldGUubmV0CiEtLW0udHdlZXRlLm5ldAp8fG10dy50bAp8fHR3 +ZWV0ZWR0aW1lcy5jb20KIS0tIE9wZXJhdGlvbiBkaXNjb250aW51ZWQKIS0tdHdl +ZXRtZW1lLmNvbQp8fHR3ZWV0bXlsYXN0LmZtCnR3ZWV0cGhvdG8uY29tCnx8dHdl +ZXRwaG90by5jb20KfHx0d2VldHJhbnMuY29tCnR3ZWV0cmVlLmNvbQp8fHR3ZWV0 +cmVlLmNvbQoudHdlZXR0dW5uZWwuY29tCnx8dHdlZXR0dW5uZWwuY29tCnx8dHdl +ZXR3YWxseS5jb20KdHdlZXR5bWFpbC5jb20KfHx0d2Z0cC5vcmcKdHdpYmFzZS5j +b20KLnR3aWJibGUuZGUKfHx0d2liYmxlLmRlCnR3aWJib24uY29tCnx8dHdpYnMu +Y29tCnR3aWNzeS5jb20KLnR3aWVuZHMuY29tCnxodHRwOi8vdHdpZW5kcy5jb20K +LnR3aWZhbi5jb20KfGh0dHA6Ly90d2lmYW4uY29tCnR3aWZmby5jb20KfHx0d2lm +Zm8uY29tCi50d2lsaWdodHNleC5jb20KdHdpbG9nLm9yZwp0d2ltYm93LmNvbQp8 +fHR3aW5kZXh4LmNvbQp0d2lwcGxlLmpwCnx8dHdpcHBsZS5qcAp8fHR3aXAubWUK +dHdpc2hvcnQuY29tCnx8dHdpc2hvcnQuY29tCnR3aXN0YXIuY2MKfHx0d2lzdGVy +Lm5ldC5jbwp8fHR3aXN0ZXJpby5jb20KdHdpc3Rlcm5vdy5jb20KdHdpc3Rvcnku +bmV0CnR3aXRicm93c2VyLm5ldAp8fHR3aXRjYXVzZS5jb20KfHx0d2l0Z2V0aGVy +LmNvbQp8fHR3aWdnaXQub3JnCnR3aXRnb28uY29tCnR3aXRpcS5jb20KfHx0d2l0 +aXEuY29tCi50d2l0bG9uZ2VyLmNvbQp8fHR3aXRsb25nZXIuY29tCnxodHRwOi8v +dGwuZ2QvCnR3aXRtYW5pYS5jb20KdHdpdG9hc3Rlci5jb20KfHx0d2l0b2FzdGVy +LmNvbQp8fHR3aXRvbm1zbi5jb20KLnR3aXRwaWMuY29tCnx8dHdpdHBpYy5jb20K +IS0tU2FtZSBJUAoudHdpdDJkLmNvbQp8fHR3aXQyZC5jb20KLnR3aXRzdGF0LmNv +bQp8fHR3aXRzdGF0LmNvbQp8fGZpcnN0Zml2ZWZvbGxvd2Vycy5jb20KfHxyZXR3 +ZWV0ZWZmZWN0LmNvbQp8fHR3ZWVwbGlrZS5tZQp8fHR3ZWVwZ3VpZGUuY29tCnx8 +dHVyYm90d2l0dGVyLmNvbQoudHdpdHZpZC5jb20KfHx0d2l0dmlkLmNvbQoxOTku +NTkuMTQ4LjIwCi50LmNvCnx8dC5jbwp8aHR0cDovL3R3dC50bAp0d2l0dGJvdC5u +ZXQKfHxhZHMtdHdpdHRlci5jb20KLnR3aXR0ZXIuY29tCnx8dHdpdHRlci5jb20K +fHx0d2l0dGVyLmpwCnx8dHd0dHIuY29tCnx8dHdpdHRlcjRqLm9yZwoudHdpdHRl +cmNvdW50ZXIuY29tCnx8dHdpdHRlcmNvdW50ZXIuY29tCnR3aXR0ZXJmZWVkLmNv +bQoudHdpdHRlcmdhZGdldC5jb20KfHx0d2l0dGVyZ2FkZ2V0LmNvbQoudHdpdHRl +cmtyLmNvbQp8fHR3aXR0ZXJrci5jb20KfHx0d2l0dGVybWFpbC5jb20KfHx0d2l0 +dGVycmlmaWMuY29tCnR3aXR0ZXJ0aW0uZXMKfHx0d2l0dGVydGltLmVzCnR3aXR0 +aGF0LmNvbQp8fHR3aXR0dXJrLmNvbQoudHdpdHR1cmx5LmNvbQp8fHR3aXR0dXJs +eS5jb20KLnR3aXR6YXAuY29tCnR3aXlpYS5jb20KfHx0d3N0YXIubmV0Ci50d3Rr +ci5jb20KfGh0dHA6Ly90d3Rrci5jb20KfHx0d2ltZy5jb20KLnR3bm9ydGgub3Jn +LnR3CnR3c2t5cGUuY29tCnR3dHJsYW5kLmNvbQp0d3VybC5ubAoudHd5YWMub3Jn +Cnx8dHd5YWMub3JnCi50eHh4LmNvbQoudHljb29sLmNvbQp8fHR5Y29vbC5jb20K +fHx0emFuZ21zLmNvbQoKIS0tdHlwZXBhZAp8fHR5cGVwYWQuY29tCkBAfHx3d3cu +dHlwZXBhZC5jb20KQEB8fHN0YXRpYy50eXBlcGFkLmNvbQp8fGJsb2cuZXhwb2Z1 +dHVyZXMuY29tCnx8bGVnYWx0ZWNoLmxhdy5jb20KfHxibG9ncy50YW1wYWJheS5j +b20KfHxjb250ZXN0cy50d2lsaW8uY29tCiEtbGF3cHJvZmVzc29ycy50eXBlcGFk +LmNvbS9jaGluYV9sYXdfcHJvZgoKIS0tLS0tLS0tLS0tLS1Ud2l0ZXNlLS0tLS0K +LmVtYnIuaW4KfHxlbWJyLmluCgohLS0tLS0tLS0tLS0tLS0tLS0tLS1VVS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0KLnViZGRucy5vcmcKfGh0dHA6Ly91YmRkbnMu +b3JnCnx8dWJlcnByb3h5Lm5ldAoudWMtamFwYW4ub3JnCnx8dWMtamFwYW4ub3Jn +Ci5zcmNmLnVjYW0ub3JnL3NhbG9uLwp8aHR0cDovL2NoaW5hLnVjYW5ld3MuY29t +Lwp8fHVjZGMxOTk4Lm9yZwp8aHR0cDovL2h1bSoudWNoaWNhZ28uZWR1L2ZhY3Vs +dHkveXdhbmcvaGlzdG9yeQp8fHVkZXJ6by5pdAoudWRuLmNvbQp8fHVkbi5jb20K +dWRuYmtrLmNvbS9iYnMKfHx1Zm9yYWRpby5jb20udHcKdWZyZWV2cG4uY29tCi51 +Z28uY29tCiEtLWdocwp8fHVoZHdhbGxwYXBlcnMub3JnCnx8dWhycC5vcmcKLnVp +Z2h1ci5ubAp8fHVpZ2h1ci5ubAp1aWdodXJiaXoubmV0Ci51bGlrZS5uZXQKdWtj +ZHAuY28udWsKdWtsaWZlcmFkaW8uY28udWsKfHx1a2xpZmVyYWRpby5jby51awp1 +bHRyYXZwbi5mcgp8fHVsdHJhdnBuLmZyCnVsdHJheHMuY29tCnVtaWNoLmVkdS9+ +ZmFsdW4KfHx1bmJsb2NrLmNuLmNvbQp1bmJsb2NrLXVzLmNvbQp8fHVuYmxvY2st +dXMuY29tCi51bmJsb2NrZG1tLmNvbQp8aHR0cDovL3VuYmxvY2tkbW0uY29tCnx8 +dW5ibG9ja3NpdC5lcwp1bmN5Y2xvbWVkaWEub3JnCi51bmN5Y2xvcGVkaWEuaGsv +d2lraQp8aHR0cDovL3VuY3ljbG9wZWRpYS5oawohLS11bmN5Y2xvcGVkaWEuaW5m +bwp8aHR0cDovL3VuY3ljbG9wZWRpYS50dwp1bmRlcndvb2RhbW1vLmNvbQp8fHVu +ZGVyd29vZGFtbW8uY29tCnx8dW5ob2x5a25pZ2h0LmNvbQoudW5pLmNjCnx8Y2xk +ci51bmljb2RlLm9yZwoudW5pZmljYXRpb24ubmV0Ci51bmlmaWNhdGlvbi5vcmcu +dHcKLnVuaXRlZHNvY2lhbHByZXNzLmNvbQoudW5peDEwMC5jb20KfHx1bmtub3du +c3BhY2Uub3JnCi51bm9kZWRvcy5jb20KdW5wby5vcmcKLnVudHJhY2VhYmxlLnVz +CnxodHRwOi8vdW50cmFjZWFibGUudXMKfHx1b2NuLm9yZwp0b3IudXBkYXRlc3Rh +ci5jb20KLnVwaG9sZGp1c3RpY2Uub3JnCi51cGxvYWQ0dS5pbmZvCnVwbG9hZGVk +Lm5ldC9maWxlCnxodHRwOi8vdXBsb2FkZWQubmV0L2ZpbGUKfGh0dHA6Ly91cGxv +YWRlZC50by9maWxlCi51cGxvYWRzdGF0aW9uLmNvbS9maWxlCi51cG9ybmlhLmNv +bQp8aHR0cDovL3Vwb3JuaWEuY29tCnx8dXByb3h5Lm9yZwp8aHR0cDovL3Rvci5j +bi51cHRvZG93bi5jb20vCi51cHdpbGwub3JnCnVyN3MuY29tCnx8dXJiYW5zdXJ2 +aXZhbC5jb20KbXlzaGFyZS51cmwuY29tLnR3Lwp8fHVybGJvcmcuY29tCnx8dXJs +cGFyc2VyLmNvbQp1cy50bwp8fHVzYWNuLmNvbQoudXNhaXAuZXUKfHx1c2FpcC5l +dQpkYWxhaWxhbWEudXNjLmVkdQpiZXRhLnVzZWp1bXAuY29tCnx8dXNmay5taWwK +fHx1c21hLmVkdQp8fHVzbWMubWlsCnxodHRwOi8vdGFyci51c3B0by5nb3YvCnx8 +dHNkci51c3B0by5nb3YKLnVzdHJlYW0udHYKfHx1c3RyZWFtLnR2CiEtLXx8dXN0 +d3JhcC5pbmZvCi51c3VuaXRlZG5ld3MuY29tCnxodHRwOi8vdXN1bml0ZWRuZXdz +LmNvbQp1c3VzLmNjCi51dG9waWFucGFsLmNvbQp8fHV0b3BpYW5wYWwuY29tCi51 +dS1nZy5jb20KLnV2d3h5ei54eXoKfHx1dnd4eXoueHl6Ci51d2FudHMuY29tCi51 +d2FudHMubmV0CnV5Z2h1ci5jby51awp8aHR0cDovL3V5Z2h1ci1qLm9yZwp8fHV5 +Z2h1cmFtZXJpY2FuLm9yZwoudXlnaHVyY2FuYWRpYW5zb2NpZXR5Lm9yZwoudXln +aHVyZW5zZW1ibGUuY28udWsKfHx1eWdodXJjb25ncmVzcy5vcmcKLnV5Z2h1cnBl +bi5vcmcKLnV5Z2h1cnByZXNzLmNvbQoudXlnaHVyc3R1ZGllcy5vcmcKfGh0dHA6 +Ly91eWdodXJzdHVkaWVzLm9yZwp1eWd1ci5vcmcKfGh0dHA6Ly91eW1hYXJpcC5j +b20vCgohLS0tLS0tLS0tLS0tLS0tLS0tLS1WVi0tLS0tLS0tLS0tLS0tLS0tLS0t +LS0tLS0KLnYycmF5LmNvbQp8aHR0cDovL3YycmF5LmNvbQoudmFuMDAxLmNvbQou +dmFuNjk4LmNvbQoudmFuZW11LmNuCi52YW5pbGxhLWpwLmNvbQoudmFucGVvcGxl +LmNvbQp2YW5za3kuY29tCnx8dmNmLW9ubGluZS5vcmcKfHx2Y2ZidWlsZGVyLm9y +ZwoudmVnYXNyZWQuY29tCi52ZWxrYWVwb2NoYS5zawoudmVuYmJzLmNvbQoudmVu +Y2hpbmEuY29tCnZlb2guY29tCm15c2l0ZS52ZXJpem9uLm5ldAp2ZXJtb250dGli +ZXQub3JnCi52ZXJzYXZwbi5jb20KfHx2ZXJzYXZwbi5jb20KfHx2ZXJ5YnMuY29t +Ci52ZnQuY29tLnR3Ci52aWJlci5jb20KfHx2aWJlci5jb20KLnZpY2EuaW5mbwou +dmljdGltc29mY29tbXVuaXNtLm9yZwp8aHR0cDovL3ZpY3RpbXNvZmNvbW11bmlz +bS5vcmcKfHx2aWQubWUKfHx2aWRibGUuY29tCnZpZGVvYmFtLmNvbQp8fHZpZGVv +YmFtLmNvbQoudmlkZW9kZXRlY3RpdmUuY29tCi52aWRlb21lZ2EudHYKfHx2aWRl +b21lZ2EudHYKLnZpZGVvbW8uY29tCnZpZGVvcGVkaWF3b3JsZC5jb20KLnZpZGVv +cHJlc3MuY29tCi52aWRpbmZvLm9yZy92aWRlbwp2aWV0ZGFpa3luZ3V5ZW4uY29t +Ci52aWpheWF0ZW1wbGUub3JnCnZpbWVvLmNvbQp8fHZpbWVvLmNvbQp8fHZpbXBl +cmF0b3Iub3JnCnx8dmluY25kLmNvbQp8fHZpbm5pZXYuY29tCnxodHRwOi8vd3d3 +LmxpYi52aXJnaW5pYS5lZHUvYXJlYS1zdHVkaWVzL1RpYmV0L3RpYmV0Lmh0bWwK +dmlzaWJsZXR3ZWV0cy5jb20KfGh0dHA6Ly9ueS52aXNpb250aW1lcy5jb20KLnZp +dGFsMjQ3Lm9yZwp8fHZpdS5jb20KLnZpdmFoZW50YWk0dS5uZXQKLnZpdmF0dWJl +LmNvbQoudml2dGhvbWFzLmNvbQp8fHZpdnRob21hcy5jb20KLnZqbWVkaWEuY29t +LmhrCi52bGxjcy5vcmcKfGh0dHA6Ly92bGxjcy5vcmcKfHx2bWl4Y29yZS5jb20K +Y24udm9hLm1vYmkKdHcudm9hLm1vYmkKLnZvYWNoaW5lc2VibG9nLmNvbQp8fHZv +YWNoaW5lc2VibG9nLmNvbQp2b2FnZC5jb20KLnZvYWNhbnRvbmVzZS5jb20KfHx2 +b2FjYW50b25lc2UuY29tCnZvYWNoaW5lc2UuY29tCnx8dm9hY2hpbmVzZS5jb20K +LnZvYW5ld3MuY29tCnZvYXRpYmV0YW4uY29tCnx8dm9hdGliZXRhbi5jb20KLnZv +YXRpYmV0YW5lbmdsaXNoLmNvbQp8fHZvYXRpYmV0YW5lbmdsaXNoLmNvbQoudm9j +YXRpdi5jb20Kdm9jbi50dgoudm90Lm9yZwp8fHZvdC5vcmcKLnZvdm8yMDAwLmNv +bQp8aHR0cDovL3Zvdm8yMDAwLmNvbQoudm94ZXIuY29tCnx8dm94ZXIuY29tCi52 +b3kuY29tCi52cG40YWxsLmNvbQp8fHZwbjRhbGwuY29tCi52cG5hY2NvdW50Lm9y +Zwp8aHR0cDovL3ZwbmFjY291bnQub3JnCi52cG5hY2NvdW50cy5jb20KfHx2cG5h +Y2NvdW50cy5jb20KLnZwbmNvbXBhcmlzb24ub3JnCi52cG5jdXAuY29tCnx8dnBu +Y3VwLmNvbQp2cG5ib29rLmNvbQoudnBuY291cG9ucy5jb20KfGh0dHA6Ly92cG5j +b3Vwb25zLmNvbQoudnBuZGFkYS5jb20KfHx2cG5kYWRhLmNvbQoudnBuZmFuLmNv +bQp2cG5maXJlLmNvbQoudnBuZm9yZ2FtZS5uZXQKfHx2cG5mb3JnYW1lLm5ldAp8 +fHZwbnVubGltaXRlZGFwcC5jb20KfHx2cG5nYXRlLmpwCi52cG5nYXRlLm5ldAp8 +fHZwbmdhdGUubmV0Ci52cG5ncmF0aXMubmV0CnZwbmhxLmNvbQoudnBubWFzdGVy +LmNvbQp8fHZwbm1hc3Rlci5jb20KLnZwbmluamEubmV0Cnx8dnBuaW5qYS5uZXQK +LnZwbmludG91Y2guY29tCnx8dnBuaW50b3VjaC5uZXQKLnZwbnBpY2suY29tCnx8 +dnBucGljay5jb20KfHx2cG5wb3AuY29tCnx8dnBucHJvbmV0LmNvbQoudnBucmVh +Y3Rvci5jb20KfHx2cG5yZWFjdG9yLmNvbQp8fHZwbnJldmlld3ouY29tCi52cG5z +ZWN1cmUubWUKfHx2cG5zZWN1cmUubWUKLnZwbnNoYXphbS5jb20KfHx2cG5zaGF6 +YW0uY29tCi52cG5zcC5jb20KLnZwbnRyYWZmaWMuY29tCi52cG50dW5uZWwuY29t +Cnx8dnBudHVubmVsLmNvbQoudnBudWsuaW5mbwp8fHZwbnVrLmluZm8KLnZwbnZp +cC5jb20KfHx2cG52aXAuY29tCi52cG53b3JsZHdpZGUuY29tCi52cG9ybi5jb20K +fHx2cG9ybi5jb20KLnZwc2VyLm5ldAp2cmFpZXNhZ2Vzc2UubmV0Cnx8dnR1bm5l +bC5jb20KfHx2dWt1LmNjCgohLS0tLS0tLS0tLS0tLS0tLS0tLS1XVy0tLS0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0KfHx3Lm9yZwpsaXN0cy53My5vcmcvYXJjaGl2ZXMv +cHVibGljCiEtLXx8dzNzY2hvb2xzLmNvbQp8fHdhZmZsZTE5OTkuY29tCi53YWhh +cy5jb20KLndhaWdhb2J1LmNvbQp3YWlrZXVuZy5vcmcvcGhwX3dpbmQKLndhaXdh +aWVyLmNvbQp8aHR0cDovL3dhaXdhaWVyLmNvbQp3YWxsb3Jub3Qub3JnCnx8d2Fs +bHBhcGVyY2FzYS5jb20KLndhbGxwcm94eS5jb20KQEB8fHdhbGxwcm94eS5jb20u +Y24KfHx3YWx0ZXJtYXJ0aW4uY29tCnx8d2FsdGVybWFydGluLm9yZwp8fHd3dy53 +YW4tcHJlc3Mub3JnCnx8d2FuZGVyaW5naG9yc2UubmV0Cnx8d2FuZ2FmdS5uZXQK +fHx3YW5namluYm8ub3JnCi53YW5namluYm8ub3JnCndhbmdsaXhpb25nLmNvbQou +d2FuZ28ub3JnCnx8d2FuZ28ub3JnCndhbmdydW9zaHVpLm5ldAp3d3cud2FuZ3J1 +b3dhbmcub3JnCndhbnQtZGFpbHkuY29tCndhcGVkaWEubW9iaS96aHNpbXAKfHx3 +YXNlbHByby5jb20KLndhdGNoaW5lc2UuY29tCi53YXR0cGFkLmNvbQp8fHdhdHRw +YWQuY29tCi5tYWt6aG91LndhcmVob3VzZTMzMy5jb20Kd2FzaGVuZy5uZXQKfHx3 +YXRjaG15Z2YubmV0Cnx8d2F2LnR2Ci53ZGY1LmNvbQoud2VhcmVoYWlyeS5jb20K +LndlYXJuLmNvbQp8fHdlYXJuLmNvbQp8aHR0cDovL2hrY29jLndlYXRoZXIuY29t +LmhrCnx8aHVkYXRvcmlxLndlYi5pZAp8fHdlYjJwcm9qZWN0Lm5ldAp3ZWJiYW5n +Lm5ldAoud2ViZXZhZGVyLm9yZwoud2ViZnJlZXIuY29tCndlYmxhZ3UuY29tCi53 +ZWJqYi5vcmcKLndlYnJ1c2gubmV0CndlYnMtdHYubmV0Ci53ZWJzaXRlcHVsc2Uu +Y29tL2hlbHAvdGVzdHRvb2xzLmNoaW5hLXRlc3QKfGh0dHA6Ly93d3cud2Vic25h +cHIuY29tCi53ZWJ3YXJwZXIubmV0CnxodHRwOi8vd2Vid2FycGVyLm5ldAp3ZWJ3 +b3JrZXJkYWlseS5jb20KLndlZWttYWcuaW5mbwp8fHdlZmlnaHRjZW5zb3JzaGlw +Lm9yZwoud2Vmb25nLmNvbQp3ZWlib2xlYWsuY29tCi53ZWlodW8ub3JnCndlaWpp +bmdzaGVuZy5vcmcKLndlaW1pbmcuaW5mbwp8fHdlaW1pbmcuaW5mbwp3ZWlxdWFu +d2FuZy5vcmcKfGh0dHA6Ly93ZWlzdW8ud3MKLndlbG92ZWNvY2suY29tCi53ZW1p +Z3JhdGUub3JnCnxodHRwOi8vd2VtaWdyYXRlLm9yZwp3ZW5nZXdhbmcuY29tCnx8 +d2VuZ2V3YW5nLm9yZwoud2VuaHVpLmNoCnxodHRwOi8vdHJhbnMud2Vud2VpcG8u +Y29tL2diLwp3ZW54dWVjaXR5LmNvbQoud2VueXVuY2hhby5jb20KfHx3ZW55dW5j +aGFvLmNvbQoud2VzdGNhLmNvbQp8fHdlc3RjYS5jb20KfHx3ZXN0ZXJud29sdmVz +LmNvbQoud2VzdGtpdC5uZXQKfHx3ZXN0cG9pbnQuZWR1Ci53ZXN0ZXJuc2h1Z2Rl +bnNvY2lldHkub3JnCndldHB1c3N5Z2FtZXMuY29tCi53ZXRwbGFjZS5jb20Kd2V4 +aWFvYm8ub3JnCnx8d2V4aWFvYm8ub3JnCndlemhpeW9uZy5vcmcKfHx3ZXpvbmUu +bmV0Ci53Zm9ydW0uY29tCnx8d2ZvcnVtLmNvbS8KLndoYXRibG9ja2VkLmNvbQp8 +fHdoYXRibG9ja2VkLmNvbQoud2hlYXRzZWVkcy5vcmcKfHx3aGVlbG9ja3NsYXRp +bi5jb20KLndoaXBwZWRhc3MuY29tCiEtLXxodHRwOi8vd2hvLmlzLwp3aG90YWxr +aW5nLmNvbQp3aHlsb3Zlci5jb20KfHx3aHl4Lm9yZwp8aHR0cDovL2V2Y2hrLndp +a2lhLmNvbQpjbi51bmN5Y2xvcGVkaWEud2lraWEuY29tCnpoLnVuY3ljbG9wZWRp +YS53aWtpYS5jb20KfHx3aWtpbGVha3MuY2gKfHx3aWtpbGVha3MuZGUKfHx3aWtp +bGVha3MuZXUKfHx3aWtpbGVha3MubHUKLndpa2lsZWFrcy5vcmcKfHx3aWtpbGVh +a3Mub3JnCnx8d2lraWxlYWtzLnBsCi53aWtpbGVha3MtZm9ydW0uY29tCndpbGRh +bW1vLmNvbQp8fGNvbGxhdGVyYWxtdXJkZXIuY29tCnx8Y29sbGF0ZXJhbG11cmRl +ci5vcmcKd2lraWxpdnJlcy5pbmZvL3dpa2kvJUU5JTlCJUI2JUU1JTg1JUFCJUU1 +JUFFJUFBJUU3JUFCJUEwCnx8d2lraW1hcGlhLm9yZwoKIS0tLS0tLS0tLS0tLS1X +aWtpcGVkaWEgUmVsYXRlZC0tLS0tLS0tLS0tLS0KISFFbWVyZ2VuY3kgbmVlZCBv +bmx5KElQL1BvcnQgYmxvY2sgdXNhZ2UpISEKIS0tLS0tLTAtLS0tLS0KIS0tfHxt +ZWRpYXdpa2kub3JnCiEtLUBAfHxtLm1lZGlhd2lraS5vcmcKIS0tLS0tLTEtLS0t +LS0KIS0tfHx3aWtpZGF0YS5vcmcKIS0tQEB8fG0ud2lraWRhdGEub3JnCiEtLS0t +LS0yLS0tLS0tCiEtLXx8d2lraW1lZGlhLm9yZwohLS1AQHx8bGlzdHMud2lraW1l +ZGlhLm9yZwohLS1AQHx8bS53aWtpbWVkaWEub3JnCiEtLUBAfHxwaGFicmljYXRv +ci53aWtpbWVkaWEub3JnCiEtLUBAfHx1cGxvYWQud2lraW1lZGlhLm9yZwohLS1A +QHx8d2lraXRlY2gud2lraW1lZGlhLm9yZwohLS0tLS0tMy0tLS0tLQohLS18fHdp +a2lib29rcy5vcmcKIS0tQEB8fG0ud2lraWJvb2tzLm9yZwohLS0tLS0tNC0tLS0t +LQohLS18fHdpa2l2ZXJzaXR5Lm9yZwohLS1AQHx8bS53aWtpdmVyc2l0eS5vcmcK +IS0tLS0tLTUtLS0tLS0KIS0tfHx3aWtpc291cmNlLm9yZwohLS1AQHx8bS53aWtp +c291cmNlLm9yZwp8aHR0cDovL3poLndpa2lzb3VyY2Uub3JnCiEtLS0tLS02LS0t +LS0tCiEtLXx8d2lraXF1b3RlLm9yZwohLS1AQHx8bS53aWtpcXVvdGUub3JnCiEt +LS0tLS03LS0tLS0tCiEtLXx8d2lraW5ld3Mub3JnCiEtLUBAfHxtLndpa2luZXdz +Lm9yZwp8aHR0cDovL3poLndpa2luZXdzLm9yZwohLS0tLS0tOC0tLS0tLQohLS18 +fHdpa2l2b3lhZ2Uub3JnCiEtLUBAfHxtLndpa2l2b3lhZ2Uub3JnCnxodHRwOi8v +emgud2lraXZveWFnZS5vcmcKIS0tLS0tLTktLS0tLS0KIS0tfHx3aWt0aW9uYXJ5 +Lm9yZwohLS1AQHx8bS53aWt0aW9uYXJ5Lm9yZwp8aHR0cDovL3poLndpa3Rpb25h +cnkub3JnCiEtLS0tLTEwLS0tLS0tCiEtLXx8d2lraW1lZGlhZm91bmRhdGlvbi5v +cmcKIS0tQEB8fG0ud2lraW1lZGlhZm91bmRhdGlvbi5vcmcKIS0tLS1NYWluLS0t +LS0KIS0tfHx3aWtpcGVkaWEub3JnCnpoLndpa2lwZWRpYS5vcmcKIS0tfHx6aC53 +aWtpcGVkaWEub3JnCnpoLm0ud2lraXBlZGlhLm9yZwp8aHR0cHM6Ly96aC5tLndp +a2lwZWRpYS5vcmcKIS0tQEB8fG0ud2lraXBlZGlhLm9yZwp8aHR0cHM6Ly96aC53 +aWtpcGVkaWEub3JnCiEtLU90aGVyIExhbmd1YWdlcyBvZiBXaWtpcGVkaWEKd3V1 +Lndpa2lwZWRpYS5vcmcKfGh0dHBzOi8vd3V1Lndpa2lwZWRpYS5vcmcKemgteXVl +Lndpa2lwZWRpYS5vcmcKfGh0dHBzOi8vemgteXVlLndpa2lwZWRpYS5vcmcKCnx8 +d2lraXdpa2kuanAKfHxjYXNpbm8ud2lsbGlhbWhpbGwuY29tCnx8c3BvcnRzLndp +bGxpYW1oaWxsLmNvbQp8fHZlZ2FzLndpbGxpYW1oaWxsLmNvbQp8fHdpbGx3Lm5l +dAp8fHdpbmRvd3NwaG9uZW1lLmNvbQp3aW5uaW5nMTEuY29tCndpbndoaXNwZXJz +LmluZm8KfHx3aXJlZGJ5dGVzLmNvbQp8fHdpcmVkcGVuLmNvbQp8fHdpcmVzaGFy +ay5vcmcKLndpc2RvbXB1YnMub3JnCi53aXNldmlkLmNvbQp8fHdpc2V2aWQuY29t +Ci53aXRuZXNzbGVldGVhY2hpbmcuY29tCi53aXRvcGlhLm5ldAoud2piay5vcmcK +fHx3amJrLm9yZwp8aHR0cDovL3duLmNvbQoud25hY2cuY29tCi53bmFjZy5vcmcK +LndvLnRjCnx8d29lc2VyLmNvbQp8aHR0cDovL3dvZXNlcm1pZGRsZS13YXkubmV0 +Lwoud29rYXIub3JnCnxodHRwOi8vd29rYXIub3JnCndvbGZheC5jb20KfHx3b2xm +YXguY29tCndvb3BpZS5qcAp8fHdvb3BpZS5qcAp3b29waWUudHYKfHx3b29waWUu +dHYKfHx3b3JrYXRydW5hLmNvbQoud29ya2VyZGVtby5vcmcuaGsKfHx3b3JrZXJz +dGhlYmlnLm5ldAoud29ybGRjYXQub3JnCndvcmxkam91cm5hbC5jb20KLndvcmxk +dnBuLm5ldAp8fHdvcmxkdnBuLm5ldAoKLndvcmRwcmVzcy5jb20KfGh0dHA6Ly8q +LndvcmRwcmVzcy5jb20KfHxjaGVuc2hhbjIwMDQyMDA1LndvcmRwcmVzcy5jb20K +fHx3cC5jb20KCiEtfHx3b3Jtc2N1bHB0b3IuY29tCi53b3cuY29tCi53b3ctbGlm +ZS5uZXQKfHx3b3dsZWdhY3kubWwKfHx3b3dwb3JuLmNvbQp8fHdvd2dpcmxzLmNv +bQoud293cmsuY29tCndveGluZ2h1aWd1by5jb20KLndveWFvbGlhbi5vcmcKfGh0 +dHA6Ly93b3lhb2xpYW4ub3JnCi53cG9mb3J1bS5jb20KfHx3cG9mb3J1bS5jb20K +LndxeWQub3JnCnx8d3F5ZC5vcmcKd3JjaGluYS5vcmcKd3JldGNoLmNjCiEtY24u +d3NqLmNvbS9nYi8yMDEzMDIxNS90ZWMxMTM4NTMuYXNwCi53c2ouY29tCnx8d3Nq +LmNvbQoud3NqLm5ldAoud3NqaGsuY29tCi53dGJuLm9yZwoud3RmcGVvcGxlLmNv +bQp3dWVya2FpeGkuY29tCnx8d3VmYWZhbmd3ZW4uY29tCnd1Zmkub3JnLnR3Cnx8 +d3VndW9ndWFuZy5jb20Kd3VqaWUubmV0Cnd1amllbGl1bGFuLmNvbQp8fHd1amll +bGl1bGFuLmNvbQp3dWthbmdydWkubmV0Ci53d2l0di5jb20KfHx3d2l0di5jb20K +d3p5Ym95LmltL3Bvc3QvMTYwCgohLS0tLS0tLS0tLS0tLS0tLS0tLS1YWC0tLS0t +LS0tLS0tLS0tLS0tLS0tLS0tLS0KLngtYmVycnkuY29tCnx8eC1iZXJyeS5jb20K +fHx4LWFydC5jb20KfHx4LXdhbGwub3JnCngxOTQ5eC5jb20KeDM2NXguY29tCnhh +bmdhLmNvbQp8fHhiYWJlLmNvbQoueGJvb2tjbi5jb20KfHx4Ym9va2NuLmNvbQp8 +fHhjYWZlLmluCnx8eGNpdHkuanAKLnhjcml0aWMuY29tCnxodHRwOi8vY2RuKi54 +ZGEtZGV2ZWxvcGVycy5jb20KLnhlcm90aWNhLmNvbQpkZXN0aW55LnhmaWxlcy50 +by91YmJ0aHJlYWRzCi54Zm0ucHAucnUKeGdteWQuY29tCnhoYW1zdGVyLmNvbQou +eGlhbmNoYXdhbmcubmV0Ci54aWFuamlhbi50dwp8aHR0cDovL3hpYW5qaWFuLnR3 +Ci54aWFucWlhby5uZXQKLnhpYW9iYWl3dS5jb20KLnhpYW9jaHVuY25qcC5jb20K +LnhpYW9kLmluCi54aWFvaGV4aWUuY29tCnx8eGlhb2xhbi5tZQp8fHhpYW9tYS5v +cmcKfHx4aWFvaGV4aWUuY29tCnhpZXpodWEuY29tCi54aWh1YS5lcwpmb3J1bS54 +aW5iYW8uZGUvZm9ydW0KLnhpbmcuY29tCnxodHRwOi8veGluZy5jb20KLnhpbm1p +YW8uY29tLmhrCnx8eGlubWlhby5jb20uaGsKeGluc2hlbmcubmV0CnhpbnNoaWp1 +ZS5jb20KeGluaHVhbmV0Lm9yZwp8aHR0cDovL3hpbnl1YmJzLm5ldAoueGlvbmdw +aWFuLmNvbQoueGl1cmVuLm9yZwp4aXphbmctemhpeWUub3JnCnhqcC5jYwp8fHhq +cC5jYwp8fHhqdHJhdmVsZ3VpZGUuY29tCnhsZm10YWxrLmNvbQp8fHhsZm13ei5p +bmZvCnx8eG1sLXRyYWluaW5nLWd1aWRlLmNvbQp4bW92aWVzLmNvbQp8fHhueHgu +Y29tCnhwZG8ubmV0Cnx8eHB1ZC5vcmcKLnhyZW50ZHZkLmNvbQp8fHh0dWJlLmNv +bQpibG9nLnh1aXRlLm5ldAp2bG9nLnh1aXRlLm5ldAp4dXpoaXlvbmcubmV0Cnx8 +eHVjaGFvLm9yZwp4dWNoYW8ubmV0Cnx8eHVjaGFvLm5ldAp4dmlkZW8uY2MKLnh2 +aWRlb3MuY29tCnx8eHZpZGVvcy5lcwoueHhiYnguY29tCi54eGxtb3ZpZXMuY29t +Cnx8eHh4LmNvbQoueHh4ZnVja21vbS5jb20KfHx4eHh4LmNvbS5hdQoueHh4eW1v +dmllcy5jb20KfGh0dHA6Ly94eHh5bW92aWVzLmNvbQp4eXMub3JnCnh5c2Jsb2dz +Lm9yZwp4eXk2OS5jb20KeHl5NjkuaW5mbwoKIS0tLS0tLS0tLS0tLS0tLS0tLS0t +WVktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnBhZ2UuYmlkLnlhaG9vLmNvbQpi +bG9ncy55YWhvby5jby5qcApidXkueWFob28uY29tLnR3L2dkc2FsZQpoay55YWhv +by5jb20KaGsua25vd2xlZGdlLnlhaG9vLmNvbQpoay5teWJsb2cueWFob28uY29t +Cnx8aGsubmV3cy55YWhvby5jb20KaGsucmQueWFob28uY29tCmhrLnNlYXJjaC55 +YWhvby5jb20vc2VhcmNoCmhrLnZpZGVvLm5ld3MueWFob28uY29tL3ZpZGVvCm1l +bWUueWFob28uY29tCiEtLXR3LnlhaG9vLmNvbQp0dy5hbnN3ZXJzLnlhaG9vLmNv +bQp8aHR0cHM6Ly90dy5hbnN3ZXJzLnlhaG9vLmNvbQp8fHR3Lmtub3dsZWRnZS55 +YWhvby5jb20KfHx0dy5tYWxsLnlhaG9vLmNvbQp0dy55YWhvby5jb20KfHx0dy5t +b2JpLnlhaG9vLmNvbQp0dy5teWJsb2cueWFob28uY29tCnx8dHcubmV3cy55YWhv +by5jb20KcHVsc2UueWFob28uY29tCnVwY29taW5nLnlhaG9vLmNvbQp2aWRlby55 +YWhvby5jb20KfHx5YWhvby5jb20uaGsKfHx5YWtidXR0ZXJibHVlcy5jb20KeWFt +LmNvbQp8fHlhbS5jb20KfHx5YW0ub3JnLnR3Ci55YW5naGVuZ2p1bi5jb20KeWFu +Z2ppYW5saS5jb20KLnlhc25pLmNvLnVrCnx8eWFzbmkuY28udWsKfHx5YXN1a3Vu +aS5vci5qcAoueWF5YWJheS5jb20vZm9ydW0KLnlkeS5jb20KLnllYWh0ZWVudHVi +ZS5jb20KfHx5ZWFodGVlbnR1YmUuY29tCnx8eWVlbG91LmNvbQp5ZWV5aS5jb20K +eWVnbGUubmV0Cnx8eWVnbGUubmV0Ci55ZXMueHh4Cnx8eWVzMTIzLmNvbS50dwp8 +fHllc2FzaWEuY29tCnx8eWVzYXNpYS5jb20uaGsKLnllcy1uZXdzLmNvbQp8aHR0 +cDovL3llcy1uZXdzLmNvbQp8fHllY2wubmV0CiEtLXlmcm9nLmNvbQp8fHloY3cu +bmV0Ci55aWJhZGEuY29tCi55aWJhb2NoaW5hLmNvbQoueWlkaW8uY29tCnx8eWlk +aW8uY29tCnlpbHViYnMuY29tCnhhLnlpbWcuY29tCi55aW5nc3Vvc3MuY29tCi55 +aXB1Yi5jb20KfHx5aXB1Yi5jb20KeWlubGVpLm9yZy9tdAoueW9idC5jb20KLnlv +Z2ljaGVuLm9yZwp8fHlvZ2ljaGVuLm9yZwp5b25nLmh1Ci55b3JrYmJzLmNhCnx8 +eW91eHUuaW5mbwoueW91aml6ei5jb20KfHx5b3VqaXp6LmNvbQp5b3VtYWtlci5j +b20KeW91bmdzcGlyYXRpb24uaGsKLnlvdXBhaS5vcmcKfHx5b3VwYWkub3JnCi55 +b3VyLWZyZWVkb20ubmV0Cnx8eW91cmVwZWF0LmNvbQoueW91cnByaXZhdGV2cG4u +Y29tCnx8eW91cnByaXZhdGV2cG4uY29tCi55b3VzZW5kaXQuY29tCnx8eW91c2Vu +ZGl0LmNvbQoueW91dGhuZXRyYWRpby5vcmcvdG1pdC9mb3J1bQpibG9nLnlvdXRo +d2FudC5jb20udHcKc2hhcmUueW91dGh3YW50LmNvbS50dwp0b3BpYy55b3V0aHdh +bnQuY29tLnR3Ci55b3Vwb3JuLmNvbQp8fHlvdXBvcm4uY29tCi55b3Vwb3JuZ2F5 +LmNvbQp8fHlvdXBvcm5nYXkuY29tCi55b3VybGlzdGVuLmNvbQp8aHR0cDovL3lv +dXJsaXN0ZW4uY29tCi55b3VybHVzdC5jb20KfGh0dHA6Ly95b3VybHVzdC5jb20K +eW91c2h1bjEyLmNvbQoueW91dHViZWNuLmNvbQp5b3V2ZXJzaW9uLmNvbQp8fHlv +dXZlcnNpb24uY29tCmJsb2cueW91eHUuaW5mby8yMDEwLzAzLzE0L3dlc3QtY2hh +bWJlcgp5dGh0Lm5ldAp5dWFubWluZy5uZXQKLnl1YW56aGVuZ3Rhbmcub3JnCi55 +dWxnaHVuLmNvbQp8fHl1bmNoYW8ubmV0Ci55dXZ1dHUuY29tCnx8eXZlc2dlbGV5 +bi5jb20KLnl3cHcuY29tL2ZvcnVtcy9oaXN0b3J5L3Bvc3QvQTAvcDAvaHRtbC8y +MjcKeXg1MS5uZXQKLnl5aWkub3JnCnx8eXlpaS5vcmcKLnl6emsuY29tCnxodHRw +Oi8veXp6ay5jb20KCiEtLS0tLS0tLS0tLS0tLS0tLS0tLVpaLS0tLS0tLS0tLS0t +LS0tLS0tLS0tLS0tLQp6YWNlYm9vay5jb20KLnphbG1vcy5jb20KfHx6YW5uZWwu +Y29tCi56YW9iYW8uY29tCi56YW9iYW8uY29tLnNnCnx8emFvYmFvLmNvbS5zZwou +emFvem9uLmNvbQohLS0uemRuZXQuY29tLnR3L25ld3Mvc29mdHdhcmUvMCwyMDAw +MDg1Njc4LDIwMTExMTg3LDAwCnx8emRuZXQuY29tLnR3Ci56ZWxsby5jb20KfHx6 +ZWxsby5jb20KLnplbmdqaW55YW4ub3JnCnx8emV1dGNoLmNvbQohLS13d3cuemZy +ZWV0LmNvbS9wb3N0L3VzZWp1bXAtYnJvd25zLmh0bWwKLnpmcmVldC5jb20KLnpn +c2RkaC5jb20Kemd6Y2pqLm5ldAouemhhbmJpbi5uZXQKfHx6aGFuYmluLm5ldAou +emhhbmdib2xpLm5ldAp8fHpoYW5ndGlhbmxpYW5nLmNvbQp6aGVuZ2h1aS5vcmcK +emhlbmd3dW5ldC5vcmcKemhlbmxpYnUuaW5mbwp8fHpoZW5saWJ1LmluZm8KLnpo +ZW5saWJ1MTk4NC5jb20KfGh0dHA6Ly96aGVubGlidTE5ODQuY29tCnxodHRwOi8v +emhlbnhpYW5nLmJpegouemhpbmVuZ2x1eW91LmNvbQp6aG9uZ2d1by5jYQp8aHR0 +cDovL3pob25nZ3VvcmVucXVhbi5vcmcKemhvbmdndW90ZXNlLm5ldAp8fHpob25n +Z3VvdGVzZS5uZXQKfHx6aG9uZ21lbmcub3JnCnx8emhyZWFkZXIuY29tCnpodWFu +Z2JpLm1lL2FjY291bnQvbG9naW4vdXJsLUx3PT0KLnpodWFueGluZy5jbgp8fHpo +dWF0aWViYS5jb20Kemh1aWNoYWd1b2ppLm9yZwp8fHpodWljaGFndW9qaS5vcmcK +fGh0dHA6Ly9ib29rLnppNS5tZQouemlkZHUuY29tL2Rvd25sb2FkCnx8emlsbGlv +bmsuY29tCi56aW5pby5jb20KfHx6aW5pby5jb20KfHx6aXBsaWIuY29tCi56aXBv +cm4uY29tCi56a2FpcC5jb20KfHx6a2FpcC5jb20KcmVhbGZvcnVtLnpraXouY29t +CiEtLXx8emxpYi5uZXQKfHx6bXcuY24KLnpvZGdhbWUudXMKem9tb2JvLm5ldAou +em9uYWV1cm9wYS5jb20KfHx6b25hZXVyb3BhLmNvbQp8fHpvbmdoZXhpbndlbi5j +b20KLnpvbmdoZXhpbndlbi5uZXQKfHx6b290b29sLmNvbQouem9vemxlLm5ldAp3 +cml0ZXIuem9oby5jb20KLnpzaGFyZS5uZXQvZG93bmxvYWQKLnpzcmhhby5jb20K +Lnp1by5sYQp8fHp1by5sYQp8fHp1b2JpYW8ubWUKLnp1b2xhLmNvbQp8fHp1b2xh +LmNvbQp8fHp2ZXJlZmYuY29tCi56eW5haW1hLmNvbQp6eXpjOS5jb20KLnp6Y2Fy +dG9vbi5jb20KISMjIyMjIyMjIyMjIyMjR2VuZXJhbCBMaXN0IEVuZCMjIyMjIyMj +IyMjIyMjIyMjCgohIyMjIyMjIyMjIyNTdXBwbGVtZW50YWwgTGlzdCBTdGFydCMj +IyMjIyMjIyMjIyMKIS0tLS0tLS0tLS0tLS0tLS0tVVJMIEtleXdvcmRzLS0tLS0t +LS0tLS0tLS0tLS0tCjY0bWVtbwphSFIwY0hNNkx5OTVaV05zTG01bGRBCmZyZWVu +ZXQKLmdvb2dsZS4qL2ZhbHVuCnBob2Jvcy5hcHBsZS5jb20qL3ZpZGVvCnE9ZnJl +ZWRvbQpxJTNEZnJlZWRvbQpyZW1lbWJlcmluZ190aWFuYW5tZW5fMjBfeWVhcnMK +c2VhcmNoKnNhZmV3ZWIKcT10cmlhbmdsZQpxJTNEVHJpYW5nbGUKdWx0cmFyZWFj +aAp1bHRyYXN1cmYKemhlbmdqaWFuCgohLS0tLS0tLS0tLS0tLS0tLS0tLVRXIEdv +dnMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KLmdvdi50dwp8fHRhY2MuY3diLmdvdi50 +dwppbW1pZ3JhdGlvbi5nb3YudHcKfHxuc2MuZ292LnR3Cnx8bnRibmEuZ292LnR3 +Cnx8bnRzbmEuZ292LnR3CnRhaXBlaS5nb3YudHcKQEB8fHRheC5uYXQuZ292LnR3 +CkBAfHxtb2UuZ292LnR3CiEtLUBAfHxjd2IuZ292LnR3CkBAfHxucG0uZ292LnR3 +CkBAfHx5YXRzZW4uZ292LnR3CkBAfHxtdmRpcy5nb3YudHcKQEB8fHN0ZHRpbWUu +Z292LnR3CkBAfHxubW1iYS5nb3YudHcKQEB8fG50ZG1oLmdvdi50dwpAQHx8Z3Ji +Lmdvdi50dwpAQHx8dHBkZS5haWRlLmdvdi50dwpAQHx8bWF0c3UtbmV3cy5nb3Yu +dHcKQEB8fGRhcHUtaG91c2UuZ292LnR3CkBAfHx2Z2h0Yy5nb3YudHcKQEB8fGFp +ZGUuZ292LnR3CkBAfHxoY2hjYy5nb3YudHcKQEB8fG50dWguZ292LnR3CkBAfHxu +aHJpLmdvdi50dwpAQHx8bnN0bS5nb3YudHcKQEB8fG50c2VjLmdvdi50dwpAQHx8 +bmVyLmdvdi50dwpAQHx8bm10bC5nb3YudHcKQEB8fG50bC5nb3YudHcKQEB8fHBl +dC5nb3YudHcKQEB8fGtoY2MuZ292LnR3CkBAfHxubW1iYS5nb3YudHcKQEB8fGto +bXMuZ292LnR3CkBAfHx3YW5mYW5nLmdvdi50dwpAQHx8bmljdC5nb3YudHcKQEB8 +fGFydGUuZ292LnR3CkBAfHxubWguZ292LnR3CkBAfHxubXAuZ292LnR3CkBAfHx0 +cGhjYy5nb3YudHcKQEB8fGluZXIuZ292LnR3CkBAfHx0bmNzZWMuZ292LnR3CkBA +fHxuc3BvLmdvdi50dwpAQHx8YWlkZS5nb3YudHcKQEB8fG5jcmVlLmdvdi50dwpA +QHx8dmdoa3MuZ292LnR3CkBAfHx0Y2hiLmdvdi50dwpAQHx8cGFicC5nb3YudHcK +QEB8fGl0cmMuZ292LnR3CkBAfHxkZi5nb3YudHcKQEB8fHdvbWVuYnVzaW5lc3Mu +bnljLmdvdi50dwpAQHx8Z3NuLWNlcnQubmF0Lmdvdi50dwpAQHx8a2suZ292LnR3 +CkBAfHx0aGJzdGMuZ292LnR3CkBAfHxjb21uZXdzLmdpby5nb3YudHcKQEB8fGNv +bW5ld3MuZ2lvLmdvdi50dwpAQHx8a2xjY2FiLmdvdi50dwpAQHx8eXZ0Yy5nb3Yu +dHcKQEB8fGFmdHlnaC5nb3YudHcKQEB8fGtscmEuZ292LnR3CkBAfHxsdW5ndGFu +aHIuZ292LnR3CkBAfHx0YW95dWFuLmdvdi50dwpAQHx8aGNjLmdvdi50dwpAQHx8 +bnZyaS5nb3YudHcKQEB8fG5tdnR0Yy5nb3YudHcKQEB8fGttaC5nb3YudHcKQEB8 +fHBhdGVoci5nb3YudHcKQEB8fG5lcmNoLmdvdi50dwpAQHx8a21zZWguZ292LnR3 +CkBAfHxuZXJ0dC5nb3YudHcKQEB8fGN5Y2FiLmdvdi50dwpAQHx8Y2h1a3Vhbmcu +Z292LnR3CkBAfHxneXNkLm55Yy5nb3YudHcKQEB8fGNwLWhvdXNlLmdvdi50dwpA +QHx8dmdodHBlLmdvdi50dwpAQHx8ZXRyYWluaW5nLmdvdi50dwpAQHx8c3RhZy5n +b3YudHcKQEB8fGJkaHIuZ292LnR3CkBAfHx0Y3NhYy5nb3YudHcKQEB8fGltYWdl +c2Jsb2cuZ2lvLmdvdi50dwpAQHx8YXJ0ZS5nb3YudHcKQEB8fGRtdGlwLmdvdi50 +dwpAQHx8Y2hjY2MuZ292LnR3CkBAfHxoZW5nY2h1ZW4uZ292LnR3CkBAfHxoc2lu +Y2h1LWNjLmdvdi50dwpAQHx8OTIxLmdvdi50dwpAQHx8bmNkci5uYXQuZ292LnR3 +CkBAfHw0cHBwYy5nb3YudHcKQEB8fGtsc2lvLmdvdi50dwpAQHx8bmljaS5uYXQu +Z292LnR3CkBAfHxjcm9tb3RjLm5hdC5nb3YudHcKQEB8fHRhaXR1bmctaG91c2Uu +Z292LnR3CiEjIyMjIyMjIyMjIyMjU3VwcGxlbWVudGFsIExpc3QgRW5kIyMjIyMj +IyMjIyMjIwoKISMjIyMjIyMjIyMjIyMjIyNXaGl0ZWxpc3QgU3RhcnQjIyMjIyMj +IyMjIyMjIyMjCkBAfHxhbGl5dW4uY29tCkBAfHxiYWlkdS5jb20KIS0tQEB8fGJp +bmcuY29tCkBAfHxjaGluYXNvLmNvbQpAQHx8Y2hpbmF6LmNvbQpAQHxodHRwOi8v +bnJjaC5jdWx0dXJlLnR3LwohLS1JU1AgY2FjaGUgd29ya3Mgc29tZXRpbWVzLCB2 +ZXJpZmllZCBhdCBkcnBlbmcgKyBnZWh1YS4KQEB8fGRsLmdvb2dsZS5jb20KQEB8 +fGtoLmdvb2dsZS5jb20KQEB8fGZvbnRzLmdvb2dsZWFwaXMuY29tCkBAfHxjbi5n +cmF2YXRhci5jb20KQEB8fGNzaS5nc3RhdGljLmNvbQpAQHx8Zm9udHMuZ3N0YXRp +Yy5jb20KQEB8fGhhb3NvdS5jb20KQEB8fGpkLmNvbQpAQHx8amlrZS5jb20KQEB8 +aHR0cDovL3RyYW5zbGF0ZS5nb29nbGUuY24KQEB8aHR0cDovL3d3dy5nb29nbGUu +Y24vbWFwcwpAQHx8aHR0cDIuZ29sYW5nLm9yZwpAQHx8Z292LmNuCkBAfHxxcS5j +b20KQEB8fHNpbmEuY24KQEB8fHNpbmEuY29tLmNuCkBAfHxzb2dvdS5jb20KQEB8 +fHNvLmNvbQpAQHx8c29zby5jb20KQEB8fHRhb2Jhby5jb20KQEB8fHdlaWJvLmNv +bQpAQHx8eWFob28uY24KQEB8fHlvdWRhby5jb20KQEB8fHpob25nc291LmNvbQpA +QHxodHRwOi8vaW1lLmJhaWR1LmpwCiEjIyMjIyMjIyMjIyMjIyMjV2hpdGVsaXN0 +IEVuZCMjIyMjIyMjIyMjIyMjIyMjIwohLS0tLS0tLS0tLS0tLS0tLS0tLS0tRU9G +LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K diff --git a/mobile/src/main/assets/overture/hosts b/mobile/src/main/assets/overture/hosts new file mode 100644 index 00000000..75721cd5 --- /dev/null +++ b/mobile/src/main/assets/overture/hosts @@ -0,0 +1 @@ +127.0.0.1 localhost diff --git a/mobile/src/main/java/com/github/shadowsocks/JniHelper.java b/mobile/src/main/java/com/github/shadowsocks/JniHelper.java index dfce9080..2c46bc48 100755 --- a/mobile/src/main/java/com/github/shadowsocks/JniHelper.java +++ b/mobile/src/main/java/com/github/shadowsocks/JniHelper.java @@ -54,7 +54,14 @@ public class JniHelper { ? new ErrnoException("kill", errno) : new Exception("kill failed: " + errno); } + @Deprecated // Use Process.destroy() since API 24 + public static int waitpidCompat(Process process) throws Exception { + if (Build.VERSION.SDK_INT >= 24) throw new UnsupportedOperationException("Never call this method in OpenJDK!"); + return waitpid(process); + } + private static native int sigterm(Process process); + private static native int waitpid(Process process); public static native int sendFd(int fd, String path); public static native void close(int fd); } diff --git a/mobile/src/main/jni/Android.mk b/mobile/src/main/jni/Android.mk index 1d448261..a8089e22 100755 --- a/mobile/src/main/jni/Android.mk +++ b/mobile/src/main/jni/Android.mk @@ -239,23 +239,6 @@ LOCAL_CFLAGS := -O2 -std=gnu99 -DUSE_IPTABLES \ include $(BUILD_SHARED_EXECUTABLE) -######################################################## -## pdnsd -######################################################## - -include $(CLEAR_VARS) - -PDNSD_SOURCES := $(wildcard $(LOCAL_PATH)/pdnsd/src/*.c) - -LOCAL_MODULE := pdnsd -LOCAL_SRC_FILES := $(PDNSD_SOURCES:$(LOCAL_PATH)/%=%) -LOCAL_CFLAGS := -DANDROID -Wall -O2 -I$(LOCAL_PATH)/pdnsd \ - -I$(LOCAL_PATH)/include/pdnsd -I$(LOCAL_PATH)/libancillary -LOCAL_STATIC_LIBRARIES := libancillary -LOCAL_LDLIBS := -llog - -include $(BUILD_SHARED_EXECUTABLE) - ######################################################## ## shadowsocks-libev local ######################################################## @@ -494,6 +477,17 @@ LOCAL_SRC_FILES := $(addprefix pcre/, $(libpcre_src_files)) include $(BUILD_STATIC_LIBRARY) +######################################################## +## overture +######################################################## + +include $(CLEAR_VARS) + +LOCAL_MODULE := overture +LOCAL_SRC_FILES := overture/$(TARGET_ARCH_ABI)/liboverture.so + +include $(PREBUILT_SHARED_LIBRARY) + # Import cpufeatures $(call import-module,android/cpufeatures) diff --git a/mobile/src/main/jni/jni-helper.cpp b/mobile/src/main/jni/jni-helper.cpp index cbba6dbc..c2596501 100644 --- a/mobile/src/main/jni/jni-helper.cpp +++ b/mobile/src/main/jni/jni-helper.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #define LOGI(...) do { __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__); } while(0) @@ -41,6 +42,17 @@ jint Java_com_github_shadowsocks_jnihelper_sigterm(JNIEnv *env, jobject thiz, jo return kill(pid, SIGTERM) == -1 && errno != ESRCH ? errno : 0; } +jint Java_com_github_shadowsocks_jnihelper_waitpid(JNIEnv *env, jobject thiz, jobject process) { + if (!env->IsInstanceOf(process, ProcessImpl)) { + THROW(env, "java/lang/ClassCastException", + "Unsupported process object. Only java.lang.ProcessManager$ProcessImpl is accepted."); + return -1; + } + jint pid = env->GetIntField(process, ProcessImpl_pid); + int status; + return waitpid(pid, &status, WNOHANG); +} + void Java_com_github_shadowsocks_jnihelper_close(JNIEnv *env, jobject thiz, jint fd) { close(fd); } @@ -84,11 +96,11 @@ static JNINativeMethod method_table[] = { { "sendFd", "(ILjava/lang/String;)I", (void*) Java_com_github_shadowsocks_jnihelper_sendfd }, { "sigterm", "(Ljava/lang/Process;)I", - (void*) Java_com_github_shadowsocks_jnihelper_sigterm } + (void*) Java_com_github_shadowsocks_jnihelper_sigterm }, + { "waitpid", "(Ljava/lang/Process;)I", + (void*) Java_com_github_shadowsocks_jnihelper_waitpid } }; - - /* * Register several native methods for one class. */ diff --git a/mobile/src/main/jni/overture/armeabi-v7a/liboverture.so b/mobile/src/main/jni/overture/armeabi-v7a/liboverture.so new file mode 100755 index 00000000..27273c78 Binary files /dev/null and b/mobile/src/main/jni/overture/armeabi-v7a/liboverture.so differ diff --git a/mobile/src/main/jni/overture/x86/liboverture.so b/mobile/src/main/jni/overture/x86/liboverture.so new file mode 100755 index 00000000..33e19e31 Binary files /dev/null and b/mobile/src/main/jni/overture/x86/liboverture.so differ diff --git a/mobile/src/main/jni/pdnsd b/mobile/src/main/jni/pdnsd deleted file mode 160000 index f6b0a56c..00000000 --- a/mobile/src/main/jni/pdnsd +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f6b0a56c74ff33e3df4c00859bc7ccefa1354fa4 diff --git a/mobile/src/main/scala/com/github/shadowsocks/BaseService.scala b/mobile/src/main/scala/com/github/shadowsocks/BaseService.scala index 5d5ec16d..53246ac1 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/BaseService.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/BaseService.scala @@ -123,6 +123,23 @@ trait BaseService extends Service { false } else true + def getExternalIp(): String = { + val url = "http://icanhazip.com" + val client = new OkHttpClient.Builder() + .connectTimeout(10, TimeUnit.SECONDS) + .writeTimeout(10, TimeUnit.SECONDS) + .readTimeout(30, TimeUnit.SECONDS) + .build() + val request = new Request.Builder() + .url(url) + .build() + val response = client.newCall(request).execute() + if (response.isSuccessful) + response.body.string.trim + else + "" + } + def connect() { if (profile.host == "198.199.101.152") { val holder = app.containerHolder diff --git a/mobile/src/main/scala/com/github/shadowsocks/GuardedProcess.scala b/mobile/src/main/scala/com/github/shadowsocks/GuardedProcess.scala index 7ff41694..8d78d679 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/GuardedProcess.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/GuardedProcess.scala @@ -115,7 +115,12 @@ class GuardedProcess(cmd: String*) { private def destroyProcess() { if (Build.VERSION.SDK_INT < 24) { JniHelper.sigtermCompat(process) - process.waitFor() + var tries = 0 + while (JniHelper.waitpidCompat(process) == 0 && tries < 3) { + Log.w(TAG, "still waiting for process " + Commandline.toString(cmd)) + Thread.sleep(200) + tries += 1 + } } process.destroy() } diff --git a/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala b/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala index 5d79a7c6..3f139b1b 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala @@ -197,15 +197,17 @@ class ShadowsocksApplication extends Application { def copyAssets() { val assetManager = getAssets - var files: Array[String] = null - try files = assetManager.list("acl") catch { - case e: IOException => - Log.e(TAG, e.getMessage) - app.track(e) + for (f <- List("acl", "overture")) { + var files: Array[String] = null + try files = assetManager.list(f) catch { + case e: IOException => + Log.e(TAG, e.getMessage) + app.track(e) + } + if (files != null) for (file <- files) autoClose(assetManager.open(f + "/" + file))(in => + autoClose(new FileOutputStream(new File(getFilesDir, file)))(out => + IOUtils.copy(in, out))) } - if (files != null) for (file <- files) autoClose(assetManager.open("acl/" + file))(in => - autoClose(new FileOutputStream(new File(getFilesDir, file)))(out => - IOUtils.copy(in, out))) editor.putInt(Key.currentVersionCode, BuildConfig.VERSION_CODE).apply() } diff --git a/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala b/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala index 4a4204b9..e4b73f63 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala @@ -49,7 +49,7 @@ class ShadowsocksNatService extends BaseService { var sslocalProcess: GuardedProcess = _ var sstunnelProcess: GuardedProcess = _ var redsocksProcess: GuardedProcess = _ - var pdnsdProcess: GuardedProcess = _ + var overtureProcess: GuardedProcess = _ var su: Shell.Interactive = _ def startShadowsocksDaemon() { @@ -83,21 +83,38 @@ class ShadowsocksNatService extends BaseService { } def startDnsDaemon() { - val reject = if (profile.ipv6) "224.0.0.0/3" else "224.0.0.0/3, ::/0" - IOUtils.writeString(new File(getFilesDir, "pdnsd-nat.conf"), profile.route match { + val externalIp = getExternalIp() + IOUtils.writeString(new File(getFilesDir, "overture-nat.conf"), profile.route match { case Acl.BYPASS_CHN | Acl.BYPASS_LAN_CHN | Acl.GFWLIST | Acl.CUSTOM_RULES => - ConfigUtils.PDNSD_DIRECT.formatLocal(Locale.ENGLISH, "", getCacheDir.getAbsolutePath, - "127.0.0.1", profile.localPort + 53, "114.114.114.114, 223.5.5.5, 1.2.4.8", - getBlackList, reject, profile.localPort + 63, reject) + ConfigUtils.OVERTURE_DIRECT.formatLocal(Locale.ENGLISH, + profile.localPort + 53, // Local Port + "119.29.29.29", // Primary DNS 1 + "udp", // DNS type of Primary DNS 1 + "114.114.114.114", // Primary DNS 2 + "udp", // DNS type of Primary DNS 2 + profile.remoteDns, // Alternative DNS + "127.0.0.1:" + profile.localPort, // Local SOCKS5 Proxy + externalIp) // External IP case Acl.CHINALIST => - ConfigUtils.PDNSD_DIRECT.formatLocal(Locale.ENGLISH, "", getCacheDir.getAbsolutePath, - "127.0.0.1", profile.localPort + 53, "8.8.8.8, 8.8.4.4, 208.67.222.222", - "", reject, profile.localPort + 63, reject) + ConfigUtils.OVERTURE_LOCAL.formatLocal(Locale.ENGLISH, + profile.localPort + 53, // Local Port + "119.29.29.29", // Primary DNS + "127.0.0.1:" + profile.localPort, // Local SOCKS5 Proxy + externalIp, // External IP + "114.114.114.114", // Alternative DNS + "127.0.0.1:" + profile.localPort, // Local SOCKS5 Proxy + externalIp) // External IP case _ => - ConfigUtils.PDNSD_LOCAL.formatLocal(Locale.ENGLISH, "", getCacheDir.getAbsolutePath, - "127.0.0.1", profile.localPort + 53, profile.localPort + 63, reject) + ConfigUtils.OVERTURE_LOCAL.formatLocal(Locale.ENGLISH, + profile.localPort + 53, // Local Port + profile.remoteDns, // Primary DNS + "127.0.0.1:" + profile.localPort, // Local SOCKS5 Proxy + externalIp, // External IP + "208.67.222.222", // Alternative DNS + "127.0.0.1:" + profile.localPort, // Local SOCKS5 Proxy + externalIp) // External IP }) - pdnsdProcess = new GuardedProcess(getApplicationInfo.nativeLibraryDir + "/libpdnsd.so", "-c", "pdnsd-nat.conf") + overtureProcess = new GuardedProcess(getApplicationInfo.nativeLibraryDir + "/liboverture.so", "-c", "overture-nat.conf") .start() } @@ -111,11 +128,13 @@ class ShadowsocksNatService extends BaseService { /** Called when the activity is first created. */ def handleConnection() { - startDNSTunnel() startRedsocksDaemon() startShadowsocksDaemon() - if (!profile.udpdns) startDnsDaemon() + if (!profile.udpdns) + startDnsDaemon() + else + startDNSTunnel() setupIptables() @@ -143,9 +162,9 @@ class ShadowsocksNatService extends BaseService { redsocksProcess.destroy() redsocksProcess = null } - if (pdnsdProcess != null) { - pdnsdProcess.destroy() - pdnsdProcess = null + if (overtureProcess != null) { + overtureProcess.destroy() + overtureProcess = null } su.addCommand("iptables -t nat -F OUTPUT") diff --git a/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala b/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala index 220d8333..5120d189 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/ShadowsocksVpnService.scala @@ -45,8 +45,7 @@ class ShadowsocksVpnService extends VpnService with BaseService { private var notification: ShadowsocksNotification = _ var sslocalProcess: GuardedProcess = _ - var sstunnelProcess: GuardedProcess = _ - var pdnsdProcess: GuardedProcess = _ + var overtureProcess: GuardedProcess = _ var tun2socksProcess: GuardedProcess = _ override def onBind(intent: Intent): IBinder = { @@ -94,17 +93,13 @@ class ShadowsocksVpnService extends VpnService with BaseService { sslocalProcess.destroy() sslocalProcess = null } - if (sstunnelProcess != null) { - sstunnelProcess.destroy() - sstunnelProcess = null - } if (tun2socksProcess != null) { tun2socksProcess.destroy() tun2socksProcess = null } - if (pdnsdProcess != null) { - pdnsdProcess.destroy() - pdnsdProcess = null + if (overtureProcess != null) { + overtureProcess.destroy() + overtureProcess = null } } @@ -149,15 +144,14 @@ class ShadowsocksVpnService extends VpnService with BaseService { /** Called when the activity is first created. */ def handleConnection() { - val fd = startVpn() - if (!sendFd(fd)) throw new Exception("sendFd failed") - startShadowsocksDaemon() if (!profile.udpdns) { startDnsDaemon() - startDnsTunnel() } + + val fd = startVpn() + if (!sendFd(fd)) throw new Exception("sendFd failed") } override protected def buildPluginCommandLine(): ArrayBuffer[String] = super.buildPluginCommandLine() += "-V" @@ -182,33 +176,41 @@ class ShadowsocksVpnService extends VpnService with BaseService { sslocalProcess = new GuardedProcess(cmd: _*).start() } - def startDnsTunnel(): Unit = - sstunnelProcess = new GuardedProcess(getApplicationInfo.nativeLibraryDir + "/libss-tunnel.so", - "-V", - "-t", "10", - "-b", "127.0.0.1", - "-l", (profile.localPort + 63).toString, - "-L" , profile.remoteDns.trim + ":53", - "-c", buildShadowsocksConfig("ss-tunnel-vpn.conf")).start() - def startDnsDaemon() { - val reject = if (profile.ipv6) "224.0.0.0/3" else "224.0.0.0/3, ::/0" - IOUtils.writeString(new File(getFilesDir, "pdnsd-vpn.conf"), profile.route match { + val externalIp = getExternalIp() + IOUtils.writeString(new File(getFilesDir, "overture-vpn.conf"), profile.route match { case Acl.BYPASS_CHN | Acl.BYPASS_LAN_CHN | Acl.GFWLIST | Acl.CUSTOM_RULES => - ConfigUtils.PDNSD_DIRECT.formatLocal(Locale.ENGLISH, "protect = \"protect_path\";", getCacheDir.getAbsolutePath, - "0.0.0.0", profile.localPort + 53, "114.114.114.114, 223.5.5.5, 1.2.4.8", - getBlackList, reject, profile.localPort + 63, reject) + ConfigUtils.OVERTURE_DIRECT.formatLocal(Locale.ENGLISH, + profile.localPort + 53, // Local Port + "119.29.29.29", // Primary DNS 1 + "udp", // DNS type of Primary DNS 1 + "114.114.114.114", // Primary DNS 2 + "udp", // DNS type of Primary DNS 2 + "208.67.222.222", // Alternative DNS + "127.0.0.1:" + profile.localPort, // Local SOCKS5 Proxy + externalIp) // External IP case Acl.CHINALIST => - ConfigUtils.PDNSD_DIRECT.formatLocal(Locale.ENGLISH, "protect = \"protect_path\";", getCacheDir.getAbsolutePath, - "0.0.0.0", profile.localPort + 53, "8.8.8.8, 8.8.4.4, 208.67.222.222", - "", reject, profile.localPort + 63, reject) + ConfigUtils.OVERTURE_LOCAL.formatLocal(Locale.ENGLISH, + profile.localPort + 53, // Local Port + "119.29.29.29", // Primary DNS + "127.0.0.1:" + profile.localPort, // Local SOCKS5 Proxy + externalIp, // External IP + "114.114.114.114", // Alternative DNS + "127.0.0.1:" + profile.localPort, // Local SOCKS5 Proxy + externalIp) // External IP case _ => - ConfigUtils.PDNSD_LOCAL.formatLocal(Locale.ENGLISH, "protect = \"protect_path\";", getCacheDir.getAbsolutePath, - "0.0.0.0", profile.localPort + 53, profile.localPort + 63, reject) + ConfigUtils.OVERTURE_LOCAL.formatLocal(Locale.ENGLISH, + profile.localPort + 53, // Local Port + profile.remoteDns, // Primary DNS + "127.0.0.1:" + profile.localPort, // Local SOCKS5 Proxy + externalIp, // External IP + "208.67.222.222", // Alternative DNS + "127.0.0.1:" + profile.localPort, // Local SOCKS5 Proxy + externalIp) // External IP }) - val cmd = Array(getApplicationInfo.nativeLibraryDir + "/libpdnsd.so", "-c", "pdnsd-vpn.conf") + val cmd = Array(getApplicationInfo.nativeLibraryDir + "/liboverture.so", "-c", "overture-vpn.conf", "-V") - pdnsdProcess = new GuardedProcess(cmd: _*).start() + overtureProcess = new GuardedProcess(cmd: _*).start() } def startVpn(): Int = { diff --git a/mobile/src/main/scala/com/github/shadowsocks/utils/Constants.scala b/mobile/src/main/scala/com/github/shadowsocks/utils/Constants.scala index d1d9fe21..bdafa8c9 100644 --- a/mobile/src/main/scala/com/github/shadowsocks/utils/Constants.scala +++ b/mobile/src/main/scala/com/github/shadowsocks/utils/Constants.scala @@ -46,84 +46,95 @@ object ConfigUtils { " type = socks5;\n" + "}\n" - val PDNSD_LOCAL = + val OVERTURE_DIRECT = """ - |global { - | perm_cache = 2048; - | %s - | cache_dir = "%s"; - | server_ip = %s; - | server_port = %d; - | query_method = tcp_only; - | min_ttl = 15m; - | max_ttl = 1w; - | timeout = 10; - | daemon = off; - |} - | - |server { - | label = "local"; - | ip = 127.0.0.1; - | port = %d; - | reject = %s; - | reject_policy = negate; - | reject_recursively = on; - |} - | - |rr { - | name=localhost; - | reverse=on; - | a=127.0.0.1; - | owner=localhost; - | soa=localhost,root.localhost,42,86400,900,86400,86400; - |} + |{ + | "BindAddress": ":%d", + | "PrimaryDNS": [ + | { + | "Name": "Primary-1", + | "Address": "%s:53", + | "Protocol": "%s", + | "Socks5Address": "", + | "Timeout": 6, + | "EDNSClientSubnet": { + | "Policy": "disable", + | "ExternalIP": "" + | } + | }, + | { + | "Name": "Primary-2", + | "Address": "%s:53", + | "Protocol": "%s", + | "Socks5Address": "", + | "Timeout": 6, + | "EDNSClientSubnet": { + | "Policy": "disable", + | "ExternalIP": "" + | } + | } + | ], + | "AlternativeDNS":[ + | { + | "Name": "Alternative", + | "Address": "%s:53", + | "Protocol": "tcp", + | "Socks5Address": "%s", + | "Timeout": 6, + | "EDNSClientSubnet":{ + | "Policy": "auto", + | "ExternalIP": "%s" + | } + | } + | ], + | "RedirectIPv6Record": true, + | "IPNetworkFile": "china_ip_list.txt", + | "DomainFile": "gfwlist.txt", + | "DomainBase64Decode": true, + | "HostsFile": "hosts", + | "MinimumTTL": 3600, + | "CacheSize" : 4096 + |} """.stripMargin - val PDNSD_DIRECT = + val OVERTURE_LOCAL = """ - |global { - | perm_cache = 2048; - | %s - | cache_dir = "%s"; - | server_ip = %s; - | server_port = %d; - | query_method = udp_only; - | min_ttl = 15m; - | max_ttl = 1w; - | timeout = 10; - | daemon = off; - | par_queries = 4; - |} - | - |server { - | label = "remote-servers"; - | ip = %s; - | timeout = 3; - | query_method = udp_only; - | %s - | policy = included; - | reject = %s; - | reject_policy = fail; - | reject_recursively = on; - |} - | - |server { - | label = "local-server"; - | ip = 127.0.0.1; - | query_method = tcp_only; - | port = %d; - | reject = %s; - | reject_policy = negate; - | reject_recursively = on; - |} - | - |rr { - | name=localhost; - | reverse=on; - | a=127.0.0.1; - | owner=localhost; - | soa=localhost,root.localhost,42,86400,900,86400,86400; - |} + |{ + | "BindAddress": ":%d", + | "PrimaryDNS": [ + | { + | "Name": "Primary", + | "Address": "%s:53", + | "Protocol": "tcp", + | "Socks5Address": "%s", + | "Timeout": 6, + | "EDNSClientSubnet": { + | "Policy": "auto", + | "ExternalIP": "%s" + | } + | } + | ], + | "AlternativeDNS":[ + | { + | "Name": "Alternative", + | "Address": "%s:53", + | "Protocol": "tcp", + | "Socks5Address": "%s", + | "Timeout": 6, + | "EDNSClientSubnet":{ + | "Policy": "auto", + | "ExternalIP": "%s" + | } + | } + | ], + | "RedirectIPv6Record": true, + | "IPNetworkFile": "", + | "DomainFile": "", + | "DomainBase64Decode": true, + | "HostsFile": "hosts", + | "MinimumTTL": 3600, + | "CacheSize" : 4096 + |} """.stripMargin } diff --git a/plugin/CHANGES.md b/plugin/CHANGES.md index 78ee27d1..9e277fee 100644 --- a/plugin/CHANGES.md +++ b/plugin/CHANGES.md @@ -1,3 +1,5 @@ +* 0.0.3: + * Update support library version to 25.2.0. * 0.0.2: * Add `getOrDefault` to `PluginOptions`; * Update support library version to 25.1.1. diff --git a/plugin/build.sbt b/plugin/build.sbt index ca3bc9b4..5f77b138 100644 --- a/plugin/build.sbt +++ b/plugin/build.sbt @@ -2,7 +2,7 @@ enablePlugins(AndroidLib) android.useSupportVectors name := "plugin" -version := "0.0.2" +version := "0.0.3-SNAPSHOT" pomExtra in Global := { https://github.com/shadowsocks/shadowsocks-android