Compress JPEG & PNG images - Version 2.2.0

Version Description

  • New dashboard widget that shows your media library savings.
  • Support compressing medium_large image sizes.
Download this release

Release Info

Developer TinyPNG
Plugin Icon 128x128 Compress JPEG & PNG images
Version 2.2.0
Comparing to
See all releases

Code changes from version 2.1.0 to 2.2.0

Files changed (65) hide show
  1. .travis.yml +6 -1
  2. README.md +1 -1
  3. bin/install-docker +3 -3
  4. composer.json +1 -1
  5. composer.lock +12 -13
  6. composer.phar +0 -0
  7. config/Dockerfile-wordpress-30 +1 -1
  8. config/Dockerfile-wordpress-31 +1 -1
  9. config/Dockerfile-wordpress-32 +1 -1
  10. config/Dockerfile-wordpress-33 +1 -1
  11. config/Dockerfile-wordpress-34 +1 -1
  12. config/Dockerfile-wordpress-35 +1 -1
  13. config/Dockerfile-wordpress-36 +1 -1
  14. config/Dockerfile-wordpress-37 +1 -1
  15. config/Dockerfile-wordpress-38 +1 -1
  16. config/Dockerfile-wordpress-39 +1 -1
  17. config/Dockerfile-wordpress-40 +1 -1
  18. config/Dockerfile-wordpress-41 +1 -1
  19. config/Dockerfile-wordpress-42 +1 -1
  20. config/Dockerfile-wordpress-43 +1 -1
  21. config/Dockerfile-wordpress-44 +1 -1
  22. config/Dockerfile-wordpress-45 +1 -1
  23. config/Dockerfile-wordpress-46 +1 -1
  24. config/Dockerfile-wordpress-47 +15 -0
  25. readme.txt +9 -3
  26. src/class-tiny-compress-client.php +1 -1
  27. src/class-tiny-compress-fopen.php +5 -5
  28. src/class-tiny-compress.php +1 -1
  29. src/class-tiny-exception.php +1 -1
  30. src/class-tiny-image-size.php +1 -1
  31. src/class-tiny-image.php +12 -3
  32. src/class-tiny-notices.php +2 -2
  33. src/class-tiny-php.php +1 -1
  34. src/class-tiny-plugin.php +55 -12
  35. src/class-tiny-settings.php +27 -13
  36. src/class-tiny-wp-base.php +1 -1
  37. src/css/admin.css +2 -2
  38. src/css/bulk-optimization.css +1 -49
  39. src/css/chart.css +52 -0
  40. src/css/dashboard-widget.css +191 -0
  41. src/images/cloud.png +0 -0
  42. src/images/grass-ie8.png +0 -0
  43. src/images/grass.png +0 -0
  44. src/images/panda-eating.png +0 -0
  45. src/images/panda-laying.png +0 -0
  46. src/images/panda-waiting.png +0 -0
  47. src/js/admin.js +1 -0
  48. src/js/dashboard-widget.js +121 -0
  49. src/vendor/tinify/Tinify.php +13 -2
  50. src/vendor/tinify/Tinify/Client.php +33 -2
  51. src/vendor/tinify/data/cacert.pem +462 -900
  52. src/views/bulk-optimization-chart.php +16 -14
  53. src/views/bulk-optimization.php +17 -21
  54. src/views/compress-details.php +14 -14
  55. src/views/dashboard-widget.php +44 -0
  56. test/fixtures/Client.php +5 -5
  57. test/helpers/setup.php +10 -3
  58. test/helpers/wordpress.php +4 -2
  59. test/integration/BulkOptimizationIntegrationTest.php +1 -1
  60. test/integration/DashboardWidgetIntegrationTest.php +78 -0
  61. test/integration/IntegrationTestCase.php +4 -0
  62. test/integration/SettingsIntegrationTest.php +3 -0
  63. test/unit/TinyImageTest.php +1 -0
  64. test/unit/TinySettingsTest.php +3 -0
  65. tiny-compress-images.php +1 -1
.travis.yml CHANGED
@@ -5,9 +5,14 @@ php:
5
  - 5.5
6
  - 5.6
7
  - 7.0
 
8
  - hhvm
9
  matrix:
10
  include:
 
 
 
 
11
  - dist: trusty
12
  php: 7.0
13
  env: WORDPRESS_VERSION=46 INTEGRATION_TESTS=true
@@ -74,7 +79,7 @@ matrix:
74
  script: bin/integration-tests
75
  install:
76
  - composer install
77
- - if [[ "$INTEGRATION_TESTS" == "true" ]]; then sudo bin/install-docker; fi
78
  script:
79
  - bin/unit-tests
80
  - bin/check-style --warning-severity=0 src
5
  - 5.5
6
  - 5.6
7
  - 7.0
8
+ - 7.1
9
  - hhvm
10
  matrix:
11
  include:
12
+ - dist: trusty
13
+ php: 7.0
14
+ env: WORDPRESS_VERSION=47 INTEGRATION_TESTS=true
15
+ script: bin/integration-tests
16
  - dist: trusty
17
  php: 7.0
18
  env: WORDPRESS_VERSION=46 INTEGRATION_TESTS=true
79
  script: bin/integration-tests
80
  install:
81
  - composer install
82
+ - if [[ "$INTEGRATION_TESTS" == "true" ]]; then sudo service mysql stop; sudo bin/install-docker; fi
83
  script:
84
  - bin/unit-tests
85
  - bin/check-style --warning-severity=0 src
README.md CHANGED
@@ -49,7 +49,7 @@ Install gettext and generate the .mo language file do the following:
49
 
50
  ## License
51
 
52
- Copyright (C) 2015-2016 Voormedia B.V.
53
 
54
  This program is free software; you can redistribute it and/or modify
55
  it under the terms of the GNU General Public License as published by
49
 
50
  ## License
51
 
52
+ Copyright (C) 2015-2017 Voormedia B.V.
53
 
54
  This program is free software; you can redistribute it and/or modify
55
  it under the terms of the GNU General Public License as published by
bin/install-docker CHANGED
@@ -4,7 +4,7 @@
4
  # Use of this source code is governed by a BSD-style
5
  # license that can be found in the LICENSE file.
6
 
7
- DOCKER_VERSION=1.12.0~rc2
8
  LSB_RELEASE=$(lsb_release -cs)
9
  OS_NAME=$(uname -s)
10
  OS_ARCH=$(uname -m)
@@ -19,7 +19,7 @@ apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E8
19
  echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | tee /etc/apt/sources.list.d/docker.list
20
  echo "deb https://apt.dockerproject.org/repo ubuntu-trusty testing" | tee -a /etc/apt/sources.list.d/docker.list
21
  apt-get update
22
- apt-get install docker-engine=${DOCKER_VERSION}-0~${LSB_RELEASE} -y --force-yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
23
 
24
- curl -L https://github.com/docker/compose/releases/download/1.8.0-rc1/docker-compose-${OS_NAME}-${OS_ARCH} > /usr/local/bin/docker-compose
25
  chmod +x /usr/local/bin/docker-compose
4
  # Use of this source code is governed by a BSD-style
5
  # license that can be found in the LICENSE file.
6
 
7
+ DOCKER_VERSION=1.13.0
8
  LSB_RELEASE=$(lsb_release -cs)
9
  OS_NAME=$(uname -s)
10
  OS_ARCH=$(uname -m)
19
  echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | tee /etc/apt/sources.list.d/docker.list
20
  echo "deb https://apt.dockerproject.org/repo ubuntu-trusty testing" | tee -a /etc/apt/sources.list.d/docker.list
21
  apt-get update
22
+ apt-get install docker-engine=${DOCKER_VERSION}-0~ubuntu-${LSB_RELEASE} -y --force-yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
23
 
24
+ curl -L https://github.com/docker/compose/releases/download/1.10.0/docker-compose-${OS_NAME}-${OS_ARCH} > /usr/local/bin/docker-compose
25
  chmod +x /usr/local/bin/docker-compose
composer.json CHANGED
@@ -25,7 +25,7 @@
25
  "symfony/yaml": "~2.8",
26
  "squizlabs/php_codesniffer": "~2.2",
27
  "tinify/tinify": "dev-create-key",
28
- "wp-coding-standards/wpcs": "dev-master"
29
  },
30
  "scripts": {
31
  "post-install-cmd": "bin/post-install",
25
  "symfony/yaml": "~2.8",
26
  "squizlabs/php_codesniffer": "~2.2",
27
  "tinify/tinify": "dev-create-key",
28
+ "wp-coding-standards/wpcs": "0.9"
29
  },
30
  "scripts": {
31
  "post-install-cmd": "bin/post-install",
composer.lock CHANGED
@@ -4,8 +4,8 @@
4
  "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
  "This file is @generated automatically"
6
  ],
7
- "hash": "a57757225d561a110b24be5d3693b09e",
8
- "content-hash": "7f6c88906f0f6b5c11c990d665d5349e",
9
  "packages": [
10
  {
11
  "name": "composer/installers",
@@ -1352,12 +1352,12 @@
1352
  "source": {
1353
  "type": "git",
1354
  "url": "https://github.com/tinify/tinify-php.git",
1355
- "reference": "8c1a4f123638204d409995e629d749c8655f4004"
1356
  },
1357
  "dist": {
1358
  "type": "zip",
1359
- "url": "https://api.github.com/repos/tinify/tinify-php/zipball/8c1a4f123638204d409995e629d749c8655f4004",
1360
- "reference": "8c1a4f123638204d409995e629d749c8655f4004",
1361
  "shasum": ""
1362
  },
1363
  "require": {
@@ -1404,20 +1404,20 @@
1404
  "source": "https://github.com/tinify/tinify-php/tree/create-key",
1405
  "issues": "https://github.com/tinify/tinify-php/issues"
1406
  },
1407
- "time": "2016-08-10 07:21:14"
1408
  },
1409
  {
1410
  "name": "wp-coding-standards/wpcs",
1411
- "version": "dev-master",
1412
  "source": {
1413
  "type": "git",
1414
  "url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git",
1415
- "reference": "f50ccffe5ef3a77e84b3be9487cb7a477248a8ea"
1416
  },
1417
  "dist": {
1418
  "type": "zip",
1419
- "url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/f50ccffe5ef3a77e84b3be9487cb7a477248a8ea",
1420
- "reference": "f50ccffe5ef3a77e84b3be9487cb7a477248a8ea",
1421
  "shasum": ""
1422
  },
1423
  "require": {
@@ -1440,14 +1440,13 @@
1440
  "standards",
1441
  "wordpress"
1442
  ],
1443
- "time": "2016-05-02 03:33:03"
1444
  }
1445
  ],
1446
  "aliases": [],
1447
  "minimum-stability": "stable",
1448
  "stability-flags": {
1449
- "tinify/tinify": 20,
1450
- "wp-coding-standards/wpcs": 20
1451
  },
1452
  "prefer-stable": false,
1453
  "prefer-lowest": false,
4
  "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
  "This file is @generated automatically"
6
  ],
7
+ "hash": "af416bb38474d9d4325289fd79e9fcc0",
8
+ "content-hash": "afada1647f228ed98b0ff2738fa60c18",
9
  "packages": [
10
  {
11
  "name": "composer/installers",
1352
  "source": {
1353
  "type": "git",
1354
  "url": "https://github.com/tinify/tinify-php.git",
1355
+ "reference": "fe7e745121eefe4d281e588cf6f2ed933d00dbac"
1356
  },
1357
  "dist": {
1358
  "type": "zip",
1359
+ "url": "https://api.github.com/repos/tinify/tinify-php/zipball/fe7e745121eefe4d281e588cf6f2ed933d00dbac",
1360
+ "reference": "fe7e745121eefe4d281e588cf6f2ed933d00dbac",
1361
  "shasum": ""
1362
  },
1363
  "require": {
1404
  "source": "https://github.com/tinify/tinify-php/tree/create-key",
1405
  "issues": "https://github.com/tinify/tinify-php/issues"
1406
  },
1407
+ "time": "2017-01-19 10:34:17"
1408
  },
1409
  {
1410
  "name": "wp-coding-standards/wpcs",
1411
+ "version": "0.9.0",
1412
  "source": {
1413
  "type": "git",
1414
  "url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git",
1415
+ "reference": "b415094aa5fd24da6eba2295323bcff840902dd3"
1416
  },
1417
  "dist": {
1418
  "type": "zip",
1419
+ "url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/b415094aa5fd24da6eba2295323bcff840902dd3",
1420
+ "reference": "b415094aa5fd24da6eba2295323bcff840902dd3",
1421
  "shasum": ""
1422
  },
1423
  "require": {
1440
  "standards",
1441
  "wordpress"
1442
  ],
1443
+ "time": "2016-02-01 16:14:59"
1444
  }
1445
  ],
1446
  "aliases": [],
1447
  "minimum-stability": "stable",
1448
  "stability-flags": {
1449
+ "tinify/tinify": 20
 
1450
  },
1451
  "prefer-stable": false,
1452
  "prefer-lowest": false,
composer.phar ADDED
Binary file
config/Dockerfile-wordpress-30 CHANGED
@@ -13,5 +13,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
- ENTRYPOINT ["/entrypoint.sh"]
17
  CMD ["apache2-foreground"]
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
+ ENTRYPOINT ["docker-entrypoint.sh"]
17
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-31 CHANGED
@@ -13,5 +13,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
- ENTRYPOINT ["/entrypoint.sh"]
17
  CMD ["apache2-foreground"]
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
+ ENTRYPOINT ["docker-entrypoint.sh"]
17
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-32 CHANGED
@@ -13,5 +13,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
- ENTRYPOINT ["/entrypoint.sh"]
17
  CMD ["apache2-foreground"]
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
+ ENTRYPOINT ["docker-entrypoint.sh"]
17
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-33 CHANGED
@@ -16,5 +16,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
16
  # Fix empty dashboard bug (http://wordpress.stackexchange.com/questions/127427/how-to-fix-empty-dashboard-issue-in-wordpress).
17
  RUN sed -i '706s/self::$this/$this/' /usr/src/wordpress/wp-admin/includes/screen.php
18
 
19
- ENTRYPOINT ["/entrypoint.sh"]
20
  CMD ["apache2-foreground"]
16
  # Fix empty dashboard bug (http://wordpress.stackexchange.com/questions/127427/how-to-fix-empty-dashboard-issue-in-wordpress).
17
  RUN sed -i '706s/self::$this/$this/' /usr/src/wordpress/wp-admin/includes/screen.php
18
 
19
+ ENTRYPOINT ["docker-entrypoint.sh"]
20
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-34 CHANGED
@@ -13,5 +13,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
- ENTRYPOINT ["/entrypoint.sh"]
17
  CMD ["apache2-foreground"]
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
+ ENTRYPOINT ["docker-entrypoint.sh"]
17
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-35 CHANGED
@@ -13,5 +13,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
- ENTRYPOINT ["/entrypoint.sh"]
17
  CMD ["apache2-foreground"]
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
+ ENTRYPOINT ["docker-entrypoint.sh"]
17
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-36 CHANGED
@@ -13,5 +13,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
- ENTRYPOINT ["/entrypoint.sh"]
17
  CMD ["apache2-foreground"]
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
+ ENTRYPOINT ["docker-entrypoint.sh"]
17
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-37 CHANGED
@@ -13,5 +13,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
- ENTRYPOINT ["/entrypoint.sh"]
17
  CMD ["apache2-foreground"]
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
+ ENTRYPOINT ["docker-entrypoint.sh"]
17
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-38 CHANGED
@@ -13,5 +13,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
- ENTRYPOINT ["/entrypoint.sh"]
17
  CMD ["apache2-foreground"]
13
  && rm wordpress.tar.gz \
14
  && chown -R www-data:www-data /usr/src/wordpress
15
 
16
+ ENTRYPOINT ["docker-entrypoint.sh"]
17
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-39 CHANGED
@@ -11,5 +11,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
- ENTRYPOINT ["/entrypoint.sh"]
15
  CMD ["apache2-foreground"]
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
+ ENTRYPOINT ["docker-entrypoint.sh"]
15
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-40 CHANGED
@@ -11,5 +11,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
- ENTRYPOINT ["/entrypoint.sh"]
15
  CMD ["apache2-foreground"]
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
+ ENTRYPOINT ["docker-entrypoint.sh"]
15
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-41 CHANGED
@@ -11,5 +11,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
- ENTRYPOINT ["/entrypoint.sh"]
15
  CMD ["apache2-foreground"]
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
+ ENTRYPOINT ["docker-entrypoint.sh"]
15
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-42 CHANGED
@@ -11,5 +11,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
- ENTRYPOINT ["/entrypoint.sh"]
15
  CMD ["apache2-foreground"]
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
+ ENTRYPOINT ["docker-entrypoint.sh"]
15
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-43 CHANGED
@@ -11,5 +11,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
- ENTRYPOINT ["/entrypoint.sh"]
15
  CMD ["apache2-foreground"]
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
+ ENTRYPOINT ["docker-entrypoint.sh"]
15
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-44 CHANGED
@@ -11,5 +11,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
- ENTRYPOINT ["/entrypoint.sh"]
15
  CMD ["apache2-foreground"]
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
+ ENTRYPOINT ["docker-entrypoint.sh"]
15
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-45 CHANGED
@@ -11,5 +11,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
- ENTRYPOINT ["/entrypoint.sh"]
15
  CMD ["apache2-foreground"]
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
+ ENTRYPOINT ["docker-entrypoint.sh"]
15
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-46 CHANGED
@@ -11,5 +11,5 @@ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UP
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
- ENTRYPOINT ["/entrypoint.sh"]
15
  CMD ["apache2-foreground"]
11
  && rm wordpress.tar.gz \
12
  && chown -R www-data:www-data /usr/src/wordpress
13
 
14
+ ENTRYPOINT ["docker-entrypoint.sh"]
15
  CMD ["apache2-foreground"]
config/Dockerfile-wordpress-47 ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM wordpress:4
2
+
3
+ ENV WORDPRESS_VERSION 4.7
4
+ ENV WORDPRESS_UPSTREAM_VERSION 4.7
5
+ ENV WORDPRESS_SHA1 1e14144c4db71421dc4ed22f94c3914dfc3b7020
6
+
7
+ # upstream tarballs include ./wordpress/ so this gives us /usr/src/wordpress
8
+ RUN curl -o wordpress.tar.gz -sSL https://wordpress.org/wordpress-${WORDPRESS_UPSTREAM_VERSION}.tar.gz \
9
+ && echo "$WORDPRESS_SHA1 *wordpress.tar.gz" | sha1sum -c - \
10
+ && tar -xzf wordpress.tar.gz -C /usr/src/ \
11
+ && rm wordpress.tar.gz \
12
+ && chown -R www-data:www-data /usr/src/wordpress
13
+
14
+ ENTRYPOINT ["docker-entrypoint.sh"]
15
+ CMD ["apache2-foreground"]
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: TinyPNG
3
  Donate link: https://tinypng.com/
4
  Tags: optimize, compress, shrink, resize, faster, fit, scale, improve, images, tinypng, tinyjpg, jpeg, jpg, png, lossy, jpegmini, crunch, minify, smush, save, bandwidth, website, speed, performance, panda, wordpress app
5
  Requires at least: 3.0.6
6
- Tested up to: 4.6
7
- Stable tag: 2.1.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -21,10 +21,12 @@ Make your website faster by optimizing your JPEG and PNG images. This plugin aut
21
  * Easy bulk optimization of your existing media library.
22
  * Resize large original images by setting a maximum width and/or height.
23
  * Preserve copyright metadata, creation date and GPS location in the original images.
 
24
  * Select which thumbnail sizes of an image may be optimized.
25
  * Multisite support with a single API key.
26
  * WooCommerce compatible.
27
  * WP Retina 2x compatible.
 
28
  * See your usage from the media settings and during bulk optimization.
29
  * Color profiles are automatically translated to the standard RGB color space.
30
  * Convert CMYK to RGB to save more space and maximize compatibility.
@@ -37,7 +39,7 @@ After you upload an image to your WordPress site, each resized image is uploaded
37
 
38
  = Getting started =
39
 
40
- Install this plugin and obtain your free API key from https://tinypng.com/developers. With a free account you can optimize **roughly 100 images each month** (based on a regular WordPress installation). The exact number depends on the amount of thumbnails you use. You can change which of the generated thumbnail sizes should be optimized in the *Settings > Media* page. If you’re a heavy user you can optimize more images for a small additional fee per image.
41
 
42
  = Optimizing all your images =
43
 
@@ -108,6 +110,10 @@ A: Yes! After installing the plugin, go to *Media > Bulk Optimization*, and clic
108
 
109
  == Changelog ==
110
 
 
 
 
 
111
  = 2.1.0 =
112
  * Compression of retina images generated by WP Retina 2x.
113
  * Solved a bug which caused the API key to be cleared on the settings page.
3
  Donate link: https://tinypng.com/
4
  Tags: optimize, compress, shrink, resize, faster, fit, scale, improve, images, tinypng, tinyjpg, jpeg, jpg, png, lossy, jpegmini, crunch, minify, smush, save, bandwidth, website, speed, performance, panda, wordpress app
5
  Requires at least: 3.0.6
6
+ Tested up to: 4.7
7
+ Stable tag: 2.2.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
21
  * Easy bulk optimization of your existing media library.
22
  * Resize large original images by setting a maximum width and/or height.
23
  * Preserve copyright metadata, creation date and GPS location in the original images.
24
+ * Supports compression of animated PNG.
25
  * Select which thumbnail sizes of an image may be optimized.
26
  * Multisite support with a single API key.
27
  * WooCommerce compatible.
28
  * WP Retina 2x compatible.
29
+ * WP Offload S3 compatible.
30
  * See your usage from the media settings and during bulk optimization.
31
  * Color profiles are automatically translated to the standard RGB color space.
32
  * Convert CMYK to RGB to save more space and maximize compatibility.
39
 
40
  = Getting started =
41
 
42
+ Install this plugin and obtain your free API key from https://tinypng.com/developers. With a free account you can optimize **roughly 100 images each month** (based on a regular WordPress installation). The exact total depends on the number of thumbnail sizes that are in use in your WordPress installation. You can change which of the generated thumbnail sizes should be optimized in the *Settings > Media* page. If you’re a heavy user you can optimize more images for a small additional fee.
43
 
44
  = Optimizing all your images =
45
 
110
 
111
  == Changelog ==
112
 
113
+ = 2.2.0 =
114
+ * New dashboard widget that shows your media library savings.
115
+ * Support compressing medium_large image sizes.
116
+
117
  = 2.1.0 =
118
  * Compression of retina images generated by WP Retina 2x.
119
  * Solved a bug which caused the API key to be cleared on the settings page.
src/class-tiny-compress-client.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
- * Copyright (C) 2015-2016 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
+ * Copyright (C) 2015-2017 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
src/class-tiny-compress-fopen.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
- * Copyright (C) 2015-2016 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
@@ -55,7 +55,7 @@ class Tiny_Compress_Fopen extends Tiny_Compress {
55
 
56
  if ( 429 == $status_code || 400 == $status_code ) {
57
  return true;
58
- } else if ( is_array( $details ) && isset( $details['error'] ) ) {
59
  throw new Tiny_Exception(
60
  $details['message'],
61
  'Tinify\Exception',
@@ -81,13 +81,13 @@ class Tiny_Compress_Fopen extends Tiny_Compress {
81
  'Tinify\Exception',
82
  $status_code
83
  );
84
- } else if ( $status_code >= 400 ) {
85
  throw new Tiny_Exception(
86
  'Unexpected error during compression',
87
  'Tinify\Exception',
88
  $status_code
89
  );
90
- } else if ( null === $output_url ) {
91
  throw new Tiny_Exception(
92
  'Could not find output location',
93
  'Tinify\Exception'
@@ -103,7 +103,7 @@ class Tiny_Compress_Fopen extends Tiny_Compress {
103
  'Tinify\Exception',
104
  $status_code
105
  );
106
- } else if ( $status_code >= 400 ) {
107
  throw new Tiny_Exception(
108
  'Unexpected error during output retrieval',
109
  'Tinify\Exception',
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
+ * Copyright (C) 2015-2017 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
55
 
56
  if ( 429 == $status_code || 400 == $status_code ) {
57
  return true;
58
+ } elseif ( is_array( $details ) && isset( $details['error'] ) ) {
59
  throw new Tiny_Exception(
60
  $details['message'],
61
  'Tinify\Exception',
81
  'Tinify\Exception',
82
  $status_code
83
  );
84
+ } elseif ( $status_code >= 400 ) {
85
  throw new Tiny_Exception(
86
  'Unexpected error during compression',
87
  'Tinify\Exception',
88
  $status_code
89
  );
90
+ } elseif ( null === $output_url ) {
91
  throw new Tiny_Exception(
92
  'Could not find output location',
93
  'Tinify\Exception'
103
  'Tinify\Exception',
104
  $status_code
105
  );
106
+ } elseif ( $status_code >= 400 ) {
107
  throw new Tiny_Exception(
108
  'Unexpected error during output retrieval',
109
  'Tinify\Exception',
src/class-tiny-compress.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
- * Copyright (C) 2015-2016 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
+ * Copyright (C) 2015-2017 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
src/class-tiny-exception.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
- * Copyright (C) 2015-2016 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
+ * Copyright (C) 2015-2017 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
src/class-tiny-image-size.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
- * Copyright (C) 2015-2016 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
+ * Copyright (C) 2015-2017 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
src/class-tiny-image.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
- * Copyright (C) 2015-2016 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
@@ -51,7 +51,7 @@ class Tiny_Image {
51
  $upload_dir = wp_upload_dir();
52
  $path_prefix = $upload_dir['basedir'] . '/';
53
  if ( isset( $path_info['dirname'] ) ) {
54
- $path_prefix .= $path_info['dirname'] .'/';
55
  }
56
 
57
  $filename = $path_prefix . $this->name;
@@ -416,7 +416,7 @@ class Tiny_Image {
416
  GROUP BY unique_attachment_name
417
  ORDER BY ID DESC";
418
 
419
- $result = $wpdb->get_results( $query, ARRAY_A );
420
  }
421
 
422
  $stats = array();
@@ -452,6 +452,15 @@ class Tiny_Image {
452
  );
453
  }
454
  }
 
 
 
 
 
 
 
 
 
455
  return $stats;
456
  }
457
 
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
+ * Copyright (C) 2015-2017 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
51
  $upload_dir = wp_upload_dir();
52
  $path_prefix = $upload_dir['basedir'] . '/';
53
  if ( isset( $path_info['dirname'] ) ) {
54
+ $path_prefix .= $path_info['dirname'] . '/';
55
  }
56
 
57
  $filename = $path_prefix . $this->name;
416
  GROUP BY unique_attachment_name
417
  ORDER BY ID DESC";
418
 
419
+ $result = $wpdb->get_results( $query, ARRAY_A ); // WPCS: unprepared SQL OK.
420
  }
421
 
422
  $stats = array();
452
  );
453
  }
454
  }
455
+
456
+ if ( 0 != $stats['unoptimized-library-size'] ) {
457
+ $stats['display-percentage'] = round(
458
+ 100 -
459
+ ( $stats['optimized-library-size'] / $stats['unoptimized-library-size'] * 100 ), 1
460
+ );
461
+ } else {
462
+ $stats['display-percentage'] = 0;
463
+ }
464
  return $stats;
465
  }
466
 
src/class-tiny-notices.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
- * Copyright (C) 2015-2016 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
@@ -119,7 +119,7 @@ class Tiny_Notices extends Tiny_WP_Base {
119
  $css = array( $klass, 'notice', 'tiny-notice' );
120
  if ( ! $dismissible ) {
121
  $add = '</p>';
122
- } else if ( self::check_wp_version( 4.2 ) ) {
123
  $add = '</p>';
124
  $css[] = 'is-dismissible';
125
  } else {
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
+ * Copyright (C) 2015-2017 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
119
  $css = array( $klass, 'notice', 'tiny-notice' );
120
  if ( ! $dismissible ) {
121
  $add = '</p>';
122
+ } elseif ( self::check_wp_version( 4.2 ) ) {
123
  $add = '</p>';
124
  $css[] = 'is-dismissible';
125
  } else {
src/class-tiny-php.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
- * Copyright (C) 2015-2016 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
+ * Copyright (C) 2015-2017 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
src/class-tiny-plugin.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
- * Copyright (C) 2015-2016 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
@@ -17,9 +17,8 @@
17
  * with this program; if not, write to the Free Software Foundation, Inc., 51
18
  * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
  */
20
-
21
  class Tiny_Plugin extends Tiny_WP_Base {
22
- const VERSION = '2.1.0';
23
  const MEDIA_COLUMN = self::NAME;
24
  const DATETIME_FORMAT = 'Y-m-d G:i:s';
25
 
@@ -34,7 +33,7 @@ class Tiny_Plugin extends Tiny_WP_Base {
34
 
35
  public static function version() {
36
  /* Avoid using get_plugin_data() because it is not loaded early enough
37
- in xmlrpc.php. */
38
  return self::VERSION;
39
  }
40
 
@@ -68,6 +67,10 @@ class Tiny_Plugin extends Tiny_WP_Base {
68
  }
69
 
70
  public function admin_init() {
 
 
 
 
71
  add_action( 'admin_enqueue_scripts',
72
  $this->get_method( 'enqueue_scripts' )
73
  );
@@ -164,18 +167,23 @@ class Tiny_Plugin extends Tiny_WP_Base {
164
  }
165
 
166
  public function enqueue_scripts( $hook ) {
167
- wp_enqueue_style( self::NAME .'_admin',
168
  plugins_url( '/css/admin.css', __FILE__ ),
169
  array(), self::version()
170
  );
171
 
172
- wp_register_script( self::NAME .'_admin',
 
 
 
 
 
173
  plugins_url( '/js/admin.js', __FILE__ ),
174
  array(), self::version(), true
175
  );
176
 
177
  // WordPress < 3.3 does not handle multidimensional arrays
178
- wp_localize_script( self::NAME .'_admin', 'tinyCompress', array(
179
  'nonce' => wp_create_nonce( 'tiny-compress' ),
180
  'wpVersion' => self::wp_version(),
181
  'pluginVersion' => self::version(),
@@ -199,7 +207,7 @@ class Tiny_Plugin extends Tiny_WP_Base {
199
  'L10nWaiting' => __( 'Waiting', 'tiny-compress-images' ),
200
  ));
201
 
202
- wp_enqueue_script( self::NAME .'_admin' );
203
 
204
  if ( 'media_page_tiny-bulk-optimization' == $hook ) {
205
  wp_enqueue_style(
@@ -208,13 +216,18 @@ class Tiny_Plugin extends Tiny_WP_Base {
208
  array(), self::version()
209
  );
210
 
 
 
 
 
 
211
  wp_register_script(
212
  self::NAME . '_tiny_bulk_optimization',
213
  plugins_url( '/js/bulk-optimization.js', __FILE__ ),
214
  array(), self::version(), true
215
  );
216
 
217
- wp_enqueue_script( self::NAME .'_tiny_bulk_optimization' );
218
  }
219
 
220
  }
@@ -431,6 +444,36 @@ class Tiny_Plugin extends Tiny_WP_Base {
431
  include( dirname( __FILE__ ) . '/views/bulk-optimization.php' );
432
  }
433
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
434
  private static function retrieve_admin_colors() {
435
  global $_wp_admin_css_colors;
436
  $admin_colour_scheme = get_user_option( 'admin_color', get_current_user_id() );
@@ -475,8 +518,8 @@ class Tiny_Plugin extends Tiny_WP_Base {
475
  global $wpdb;
476
  return $wpdb->get_results(
477
  "SELECT ID, post_title FROM $wpdb->posts
478
- WHERE post_type = 'attachment' $condition
479
- AND (post_mime_type = 'image/jpeg' OR post_mime_type = 'image/png')
480
- ORDER BY ID DESC", ARRAY_A);
481
  }
482
  }
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
+ * Copyright (C) 2015-2017 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
17
  * with this program; if not, write to the Free Software Foundation, Inc., 51
18
  * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
  */
 
20
  class Tiny_Plugin extends Tiny_WP_Base {
21
+ const VERSION = '2.2.0';
22
  const MEDIA_COLUMN = self::NAME;
23
  const DATETIME_FORMAT = 'Y-m-d G:i:s';
24
 
33
 
34
  public static function version() {
35
  /* Avoid using get_plugin_data() because it is not loaded early enough
36
+ in xmlrpc.php. */
37
  return self::VERSION;
38
  }
39
 
67
  }
68
 
69
  public function admin_init() {
70
+ add_action('wp_dashboard_setup',
71
+ $this->get_method( 'add_dashboard_widget' )
72
+ );
73
+
74
  add_action( 'admin_enqueue_scripts',
75
  $this->get_method( 'enqueue_scripts' )
76
  );
167
  }
168
 
169
  public function enqueue_scripts( $hook ) {
170
+ wp_enqueue_style( self::NAME . '_admin',
171
  plugins_url( '/css/admin.css', __FILE__ ),
172
  array(), self::version()
173
  );
174
 
175
+ wp_enqueue_style( self::NAME . '_chart',
176
+ plugins_url( '/css/chart.css', __FILE__ ),
177
+ array(), self::version()
178
+ );
179
+
180
+ wp_register_script( self::NAME . '_admin',
181
  plugins_url( '/js/admin.js', __FILE__ ),
182
  array(), self::version(), true
183
  );
184
 
185
  // WordPress < 3.3 does not handle multidimensional arrays
186
+ wp_localize_script( self::NAME . '_admin', 'tinyCompress', array(
187
  'nonce' => wp_create_nonce( 'tiny-compress' ),
188
  'wpVersion' => self::wp_version(),
189
  'pluginVersion' => self::version(),
207
  'L10nWaiting' => __( 'Waiting', 'tiny-compress-images' ),
208
  ));
209
 
210
+ wp_enqueue_script( self::NAME . '_admin' );
211
 
212
  if ( 'media_page_tiny-bulk-optimization' == $hook ) {
213
  wp_enqueue_style(
216
  array(), self::version()
217
  );
218
 
219
+ wp_enqueue_style( self::NAME . '_chart',
220
+ plugins_url( '/css/chart.css', __FILE__ ),
221
+ array(), self::version()
222
+ );
223
+
224
  wp_register_script(
225
  self::NAME . '_tiny_bulk_optimization',
226
  plugins_url( '/js/bulk-optimization.js', __FILE__ ),
227
  array(), self::version(), true
228
  );
229
 
230
+ wp_enqueue_script( self::NAME . '_tiny_bulk_optimization' );
231
  }
232
 
233
  }
444
  include( dirname( __FILE__ ) . '/views/bulk-optimization.php' );
445
  }
446
 
447
+ public function add_dashboard_widget() {
448
+ wp_enqueue_style( self::NAME . '_chart',
449
+ plugins_url( '/css/chart.css', __FILE__ ),
450
+ array(), self::version()
451
+ );
452
+
453
+ wp_enqueue_style( self::NAME . '_dashboard_widget',
454
+ plugins_url( '/css/dashboard-widget.css', __FILE__ ),
455
+ array(), self::version()
456
+ );
457
+
458
+ wp_register_script( self::NAME . '_dashboard_widget',
459
+ plugins_url( '/js/dashboard-widget.js', __FILE__ ),
460
+ array(), self::version(), true
461
+ );
462
+
463
+ wp_enqueue_script( self::NAME . '_dashboard_widget' );
464
+
465
+ wp_add_dashboard_widget(
466
+ $this->get_prefixed_name( 'dashboard_widget' ),
467
+ esc_html__( 'Compress JPEG & PNG images', 'tiny-compress-images' ),
468
+ $this->get_method( 'add_widget_view' )
469
+ );
470
+ }
471
+
472
+ function add_widget_view() {
473
+ $admin_colors = self::retrieve_admin_colors();
474
+ include( dirname( __FILE__ ) . '/views/dashboard-widget.php' );
475
+ }
476
+
477
  private static function retrieve_admin_colors() {
478
  global $_wp_admin_css_colors;
479
  $admin_colour_scheme = get_user_option( 'admin_color', get_current_user_id() );
518
  global $wpdb;
519
  return $wpdb->get_results(
520
  "SELECT ID, post_title FROM $wpdb->posts
521
+ WHERE post_type = 'attachment' $condition
522
+ AND (post_mime_type = 'image/jpeg' OR post_mime_type = 'image/png')
523
+ ORDER BY ID DESC", ARRAY_A);
524
  }
525
  }
src/class-tiny-settings.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
- * Copyright (C) 2015-2016 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
@@ -56,7 +56,7 @@ class Tiny_Settings extends Tiny_WP_Base {
56
  'Please register or provide an API key to start compressing images',
57
  'tiny-compress-images'
58
  );
59
- } else if ( $this->get_api_key_pending() ) {
60
  $notice_class = 'notice-warning';
61
  $notice = esc_html__(
62
  'Please activate your account to start compressing images',
@@ -79,9 +79,11 @@ class Tiny_Settings extends Tiny_WP_Base {
79
  } else {
80
  $details .= ' without curl';
81
  }
82
- $message = esc_html__(
83
- 'You are using an outdated platform (' . $details .
84
- ') – some features are disabled', 'tiny-compress-images'
 
 
85
  );
86
  $this->notices->show( 'deprecated', $message, 'notice-warning', false );
87
  }
@@ -216,7 +218,9 @@ class Tiny_Settings extends Tiny_WP_Base {
216
 
217
  $width = get_option( $size . '_size_w' );
218
  $height = get_option( $size . '_size_h' );
219
- if ( $width && $height ) {
 
 
220
  return array( $width, $height );
221
  }
222
 
@@ -378,11 +382,21 @@ class Tiny_Settings extends Tiny_WP_Base {
378
  if ( Tiny_Image::is_original( $size ) ) {
379
  $label = esc_html__( 'Original image', 'tiny-compress-images' ) . ' (' .
380
  esc_html__( 'overwritten by compressed image', 'tiny-compress-images' ) . ')';
381
- } else if ( Tiny_Image::is_retina( $size ) ) {
382
  $label = esc_html__( 'WP Retina 2x sizes', 'tiny-compress-images' );
383
  } else {
384
- $label = esc_html__( ucfirst( $size ) )
385
- . ' - ' . $option['width'] . 'x' . $option['height'];
 
 
 
 
 
 
 
 
 
 
386
  }
387
  echo '<p>';
388
  echo '<input type="checkbox" id="' . $id . '" name="' . $name .
@@ -411,8 +425,8 @@ class Tiny_Settings extends Tiny_WP_Base {
411
  Tiny_Config::MONTHLY_FREE_COMPRESSIONS / $active_sizes_count
412
  );
413
  printf( wp_kses( __(
414
- 'With these settings you can compress ' .
415
- '<strong> at least %s images </strong> for free each month.',
416
  'tiny-compress-images'
417
  ), array( 'strong' => array() ) ), $free_images_per_month );
418
 
@@ -452,7 +466,7 @@ class Tiny_Settings extends Tiny_WP_Base {
452
 
453
  echo '<p class="tiny-resize-available">';
454
  echo '<input type="checkbox" id="' . $id . '" name="' . $name .
455
- '" value="on" '. $checked . '/>';
456
  echo '<label for="' . $id . '">' . $label . '</label>';
457
  echo '<br>';
458
  echo '</p>';
@@ -518,7 +532,7 @@ class Tiny_Settings extends Tiny_WP_Base {
518
  $field = sprintf( self::get_prefixed_name( 'resize_original[%s]' ), $name );
519
  $settings = get_option( self::get_prefixed_name( 'resize_original' ) );
520
  $value = isset( $settings[ $name ] ) ? $settings[ $name ] : '2048';
521
- echo '<input type="number" id="'. $id .'" name="' . $field .
522
  '" value="' . $value . '" size="5" />';
523
  }
524
 
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
+ * Copyright (C) 2015-2017 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
56
  'Please register or provide an API key to start compressing images',
57
  'tiny-compress-images'
58
  );
59
+ } elseif ( $this->get_api_key_pending() ) {
60
  $notice_class = 'notice-warning';
61
  $notice = esc_html__(
62
  'Please activate your account to start compressing images',
79
  } else {
80
  $details .= ' without curl';
81
  }
82
+ $message = printf(
83
+ esc_html__(
84
+ 'You are using an outdated platform (%s) – some features are disabled',
85
+ 'tiny-compress-images'
86
+ ), $details
87
  );
88
  $this->notices->show( 'deprecated', $message, 'notice-warning', false );
89
  }
218
 
219
  $width = get_option( $size . '_size_w' );
220
  $height = get_option( $size . '_size_h' );
221
+
222
+ /* Note: dimensions might be 0 to indicate no limit. */
223
+ if ( isset( $width ) && isset( $height ) ) {
224
  return array( $width, $height );
225
  }
226
 
382
  if ( Tiny_Image::is_original( $size ) ) {
383
  $label = esc_html__( 'Original image', 'tiny-compress-images' ) . ' (' .
384
  esc_html__( 'overwritten by compressed image', 'tiny-compress-images' ) . ')';
385
+ } elseif ( Tiny_Image::is_retina( $size ) ) {
386
  $label = esc_html__( 'WP Retina 2x sizes', 'tiny-compress-images' );
387
  } else {
388
+ $width = $option['width'];
389
+ if ( ! $width ) {
390
+ $width = '?';
391
+ }
392
+
393
+ $height = $option['height'];
394
+ if ( ! $height ) {
395
+ $height = '?';
396
+ }
397
+
398
+ $label = esc_html__( ucfirst( str_replace( '_', ' ', $size ) ) )
399
+ . ' - ' . $width . 'x' . $height;
400
  }
401
  echo '<p>';
402
  echo '<input type="checkbox" id="' . $id . '" name="' . $name .
425
  Tiny_Config::MONTHLY_FREE_COMPRESSIONS / $active_sizes_count
426
  );
427
  printf( wp_kses( __(
428
+ 'With these settings you can compress
429
+ <strong> at least %s images </strong> for free each month.',
430
  'tiny-compress-images'
431
  ), array( 'strong' => array() ) ), $free_images_per_month );
432
 
466
 
467
  echo '<p class="tiny-resize-available">';
468
  echo '<input type="checkbox" id="' . $id . '" name="' . $name .
469
+ '" value="on" ' . $checked . '/>';
470
  echo '<label for="' . $id . '">' . $label . '</label>';
471
  echo '<br>';
472
  echo '</p>';
532
  $field = sprintf( self::get_prefixed_name( 'resize_original[%s]' ), $name );
533
  $settings = get_option( self::get_prefixed_name( 'resize_original' ) );
534
  $value = isset( $settings[ $name ] ) ? $settings[ $name ] : '2048';
535
+ echo '<input type="number" id="' . $id . '" name="' . $field .
536
  '" value="' . $value . '" size="5" />';
537
  }
538
 
src/class-tiny-wp-base.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
- * Copyright (C) 2015-2016 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
1
  <?php
2
  /*
3
  * Tiny Compress Images - WordPress plugin.
4
+ * Copyright (C) 2015-2017 Voormedia B.V.
5
  *
6
  * This program is free software; you can redistribute it and/or modify it
7
  * under the terms of the GNU General Public License as published by the Free
src/css/admin.css CHANGED
@@ -62,7 +62,7 @@ div.tiny-account-status div.status-loading:before {
62
 
63
  @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
64
  div.tiny-account-status div.status-loading:before {
65
- background-image: url(../images/spinner-2x.gif);
66
  }
67
  }
68
 
@@ -162,7 +162,7 @@ div.tiny-account-status.wide div.create button.loading, div.tiny-account-status.
162
 
163
  @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
164
  div.tiny-account-status.wide div.create button.loading, div.tiny-account-status.wide div.update button.loading {
165
- background-image: url(../images/button-spinner-2x.gif) !important;
166
  }
167
  }
168
 
62
 
63
  @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
64
  div.tiny-account-status div.status-loading:before {
65
+ background-image: url("../images/spinner-2x.gif");
66
  }
67
  }
68
 
162
 
163
  @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
164
  div.tiny-account-status.wide div.create button.loading, div.tiny-account-status.wide div.update button.loading {
165
+ background-image: url("../images/button-spinner-2x.gif") !important;
166
  }
167
  }
168
 
src/css/bulk-optimization.css CHANGED
@@ -139,52 +139,11 @@ div.tiny-bulk-optimization div.savings div.legend {
139
  margin-left: 50%;
140
  }
141
 
142
- div.tiny-bulk-optimization div.savings div.chart {
143
- float: left;
144
- position: relative;
145
- width: 50%;
146
- text-align: center;
147
- }
148
-
149
- div.tiny-bulk-optimization div.savings div.chart svg circle.main {
150
- fill: #ebebeb;
151
- animation: shwoosh 2s ease;
152
- transition: stroke-dasharray 1s ease;
153
- }
154
-
155
- div.tiny-bulk-optimization div.savings div.chart svg circle.inner {
156
- fill: #fff;
157
- }
158
-
159
- div.tiny-bulk-optimization div.savings div.chart div.value {
160
- position: absolute;
161
- top: 0;
162
- left: 0;
163
- width: 100%;
164
- color: #7acb44;
165
- text-align: center;
166
- }
167
 
168
- div.tiny-bulk-optimization div.savings div.chart div.value div.percentage {
169
- width: 50%;
170
- margin-left: auto;
171
- margin-right: auto;
172
- margin-top: 65px;
173
- font-size: 2.4em;
174
- line-height: 1em;
175
- }
176
-
177
- div.tiny-bulk-optimization div.savings div.chart div.value div.label {
178
- width: 50%;
179
- margin-left: auto;
180
- margin-right: auto;
181
- font-size: 1.4em;
182
- line-height: 1.2em;
183
- }
184
 
185
  div.tiny-bulk-optimization div.savings div.legend {
186
  /* margin-left defined inline */
187
- padding: 30px 0;
188
  }
189
 
190
  div.tiny-bulk-optimization div.savings table {
@@ -207,13 +166,6 @@ div.tiny-bulk-optimization div.savings table td.description {
207
  color: #bbb;
208
  }
209
 
210
- @media only screen and (max-width: 400px) {
211
- div.tiny-bulk-optimization div.savings div.chart {
212
- float: none;
213
- width: 100%;
214
- }
215
- }
216
-
217
  @media only screen and (max-width: 400px) {
218
  div.tiny-bulk-optimization div.savings div.legend {
219
  margin-left: 0 !important;
139
  margin-left: 50%;
140
  }
141
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
 
144
  div.tiny-bulk-optimization div.savings div.legend {
145
  /* margin-left defined inline */
146
+ padding: 22px 0;
147
  }
148
 
149
  div.tiny-bulk-optimization div.savings table {
166
  color: #bbb;
167
  }
168
 
 
 
 
 
 
 
 
169
  @media only screen and (max-width: 400px) {
170
  div.tiny-bulk-optimization div.savings div.legend {
171
  margin-left: 0 !important;
src/css/chart.css ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #optimization-chart {
2
+ float: left;
3
+ position: relative;
4
+ width: 50%;
5
+ text-align: center;
6
+ }
7
+
8
+ .ie8 #optimization-chart {
9
+ margin: 0;
10
+ }
11
+
12
+ #optimization-chart svg circle.main {
13
+ fill: #ebebeb;
14
+ animation: shwoosh 2s ease;
15
+ transition: stroke-dasharray 1s ease;
16
+ }
17
+
18
+ #optimization-chart svg circle.inner {
19
+ fill: #fff;
20
+ }
21
+
22
+ #optimization-chart div.value {
23
+ position: absolute;
24
+ top: 0;
25
+ left: 0;
26
+ width: 100%;
27
+ text-align: center;
28
+ }
29
+
30
+ #optimization-chart div.value div.percentage {
31
+ width: 50%;
32
+ margin-left: auto;
33
+ margin-right: auto;
34
+ margin-top: 56px;
35
+ font-size: 2.1em;
36
+ line-height: 1em;
37
+ }
38
+
39
+ #optimization-chart div.value div.label {
40
+ width: 50%;
41
+ margin-left: auto;
42
+ margin-right: auto;
43
+ font-size: 1.4em;
44
+ line-height: 1.2em;
45
+ }
46
+
47
+ @media only screen and (max-width: 400px) {
48
+ #optimization-chart {
49
+ float: none;
50
+ width: 100%;
51
+ }
52
+ }
src/css/dashboard-widget.css ADDED
@@ -0,0 +1,191 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ div.tiny_dashboard_widget .inside {
2
+ margin: 0;
3
+ min-height: 200px;
4
+ padding-bottom: 0;
5
+ overflow: hidden;
6
+ }
7
+
8
+ div.tiny_dashboard_widget .inside #widget-spinner {
9
+ position: absolute;
10
+ margin: 0 auto;
11
+ top: 50%;
12
+ left: 50%;
13
+ transform: translate(-50%, -50%);
14
+ width: 25px;
15
+ height: 25px;
16
+ z-index: 10;
17
+ background: url(../images/spinner.gif) no-repeat;
18
+ opacity: .7;
19
+ filter: alpha(opacity=70);
20
+ }
21
+
22
+ div.tiny_dashboard_widget .inside .sky-background {
23
+ position: absolute;
24
+ left: 0;
25
+ top: 0;
26
+ height: 100%;
27
+ width: 100%;
28
+ opacity: 0.33;
29
+ background: linear-gradient(180deg, #c6dde4 0%, #fefeff 100%);
30
+ /* ie6-9 */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33C6DDE4', endColorstr='#33FEFEFF',GradientType=0 );
31
+ }
32
+
33
+ div.tiny_dashboard_widget .inside .cloud,
34
+ div.tiny_dashboard_widget .inside .grass {
35
+ position: absolute;
36
+ right: 0;
37
+ }
38
+
39
+ div.tiny_dashboard_widget .inside .cloud {
40
+ top: 0;
41
+ height: 240px;
42
+ width: 298px;
43
+ background: url('../images/cloud.png');
44
+ background-size: cover;
45
+ }
46
+
47
+ div.tiny_dashboard_widget .inside .grass {
48
+ bottom: 0;
49
+ height: 24px;
50
+ width: 536px;
51
+ background: url('../images/grass.png');
52
+ background-size: cover;
53
+ }
54
+
55
+ div.tiny_dashboard_widget.full-optimized .inside .panda-background {
56
+ background: url('../images/panda-laying.png');
57
+ width: 305px;
58
+ height: 105.5px;
59
+ }
60
+
61
+ div.tiny_dashboard_widget.half-optimized .inside .panda-background {
62
+ background: url('../images/panda-eating.png');
63
+ width: 255px;
64
+ height: 203px;
65
+ }
66
+
67
+ div.tiny_dashboard_widget.not-optimized .inside .panda-background {
68
+ background: url('../images/panda-waiting.png');
69
+ width: 241px;
70
+ height: 203px;
71
+ }
72
+
73
+ div.tiny_dashboard_widget.no-images-uploaded .inside .panda-background {
74
+ background: url('../images/panda-waiting.png');
75
+ width: 241px;
76
+ height: 203px;
77
+ }
78
+
79
+ div.tiny_dashboard_widget .inside .panda-background {
80
+ background-repeat: no-repeat !important;
81
+ -webkit-background-size: 100% !important;
82
+ background-size: cover !important;
83
+ background-position: bottom !important;
84
+ bottom: 0;
85
+ right: -230px;
86
+ margin-right: 45%;
87
+ position: absolute;
88
+ }
89
+
90
+ div.tiny_dashboard_widget.no-image-uploaded .inside .panda-background,
91
+ div.tiny_dashboard_widget.not-optimized .inside .panda-background {
92
+ right: -196px;
93
+ }
94
+ div.tiny_dashboard_widget.full-optimized .inside .panda-background {
95
+ right: -175px;
96
+ }
97
+
98
+ div.tiny_dashboard_widget.full-optimized .inside.mobile .panda-background {
99
+ left: 10%;
100
+ }
101
+
102
+ div.tiny_dashboard_widget .inside.mobile div#optimization-chart {
103
+ margin-left: 10px;
104
+ }
105
+
106
+ @media only screen and (max-width: 400px) {
107
+ .inside.mobile div#optimization-chart {
108
+ width: 50%;
109
+ float: none;
110
+ }
111
+ }
112
+
113
+ div.tiny_dashboard_widget.full-optimized .inside.mobile div#optimization-chart {
114
+ margin-left: 0;
115
+ margin-bottom: 115px;
116
+ width: 100%;
117
+ }
118
+
119
+ div.tiny_dashboard_widget .inside .media-library-optimized {
120
+ display: none;
121
+ position: relative;
122
+ z-index: 1;
123
+ }
124
+
125
+ div.tiny_dashboard_widget.full-optimized .inside #widget-full-optimized,
126
+ div.tiny_dashboard_widget.not-optimized .inside #widget-not-optimized,
127
+ div.tiny_dashboard_widget.no-images-uploaded .inside #no-images-uploaded,
128
+ div.tiny_dashboard_widget.half-optimized .inside #widget-half-optimized {
129
+ display: block;
130
+ }
131
+
132
+ div.tiny_dashboard_widget .widget-percentage,
133
+ div.tiny_dashboard_widget .widget-label {
134
+ color: #40444f;
135
+ }
136
+
137
+ div.tiny_dashboard_widget .widget-label {
138
+ font-size: 1.2em;
139
+ }
140
+
141
+ div.tiny_dashboard_widget .widget-percentage {
142
+ margin-bottom: 5px;
143
+ font-size: 2em;
144
+ }
145
+
146
+ div.tiny_dashboard_widget .media-library-optimized {
147
+ padding: 10px 20px;
148
+ padding-bottom: 0px;
149
+ }
150
+
151
+ div.tiny_dashboard_widget .media-library-optimized p {
152
+ margin-bottom: 0;
153
+ }
154
+
155
+ div.tiny_dashboard_widget div#optimization-chart {
156
+ margin: 12px 0 40px;
157
+ min-width: 160px;
158
+ }
159
+
160
+ .ie8 div.tiny_dashboard_widget .inside .panda-background {
161
+ background: none;
162
+ }
163
+
164
+ .ie8 div.tiny_dashboard_widget .inside.mobile .panda-background {
165
+ right: 0;
166
+ margin-right: 0;
167
+ left: auto;
168
+ }
169
+
170
+ .ie8 #widget-full-optimized p span {
171
+ display: inline-block;
172
+ }
173
+
174
+ .ie8 div.tiny_dashboard_widget .inside .grass {
175
+ background-image: url("../images/grass-ie8.png");
176
+ background-repeat: no-repeat !important;
177
+ background-position: bottom !important;
178
+ width: 100%;
179
+ }
180
+
181
+ .ie8 div.tiny_dashboard_widget div#optimization-chart {
182
+ display: none;
183
+ }
184
+
185
+ #ie8-compressed {
186
+ display: none;
187
+ }
188
+
189
+ .ie8 #ie8-compressed {
190
+ display: block;
191
+ }
src/images/cloud.png ADDED
Binary file
src/images/grass-ie8.png ADDED
Binary file
src/images/grass.png ADDED
Binary file
src/images/panda-eating.png ADDED
Binary file
src/images/panda-laying.png ADDED
Binary file
src/images/panda-waiting.png ADDED
Binary file
src/js/admin.js CHANGED
@@ -191,6 +191,7 @@
191
  eventOn('click', 'button.tiny-compress', compressImage)
192
  break
193
  case 'options-media-php':
 
194
  changeEnterKeyTarget('div.tiny-account-status create', '[data-tiny-action=create-key]')
195
  changeEnterKeyTarget('div.tiny-account-status update', '[data-tiny-action=update-key]')
196
 
191
  eventOn('click', 'button.tiny-compress', compressImage)
192
  break
193
  case 'options-media-php':
194
+ case 'settings_page_media': // Enhanced Media Library plugin
195
  changeEnterKeyTarget('div.tiny-account-status create', '[data-tiny-action=create-key]')
196
  changeEnterKeyTarget('div.tiny-account-status update', '[data-tiny-action=update-key]')
197
 
src/js/dashboard-widget.js ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function() {
2
+ function generateDashboardWidget(element) {
3
+ var element = jQuery(element)
4
+ var container = element.find('.inside')
5
+ jQuery('.chart').addClass('hidden')
6
+ // Adding a class to the widget element so that classes are only used in the stylesheet
7
+ jQuery('#tinypng_dashboard_widget').addClass('tiny_dashboard_widget')
8
+ attachHandlers(container);
9
+ retrieveStats(container);
10
+ }
11
+
12
+ function retrieveStats(container) {
13
+ jQuery.ajax({
14
+ url: ajaxurl,
15
+ type: 'POST',
16
+ data: {
17
+ _nonce: tinyCompress.nonce,
18
+ action: 'tiny_get_optimization_statistics',
19
+ id: '#tinypng_dashboard_widget'
20
+ },
21
+ success: function(data) {
22
+ if (data == 0) {
23
+ container.append("<p> An error occured. </p>")
24
+ } else {
25
+ renderWidget(data, container);
26
+ }
27
+ },
28
+ error: function() {
29
+ container.append("<p> An error occured. </p>")
30
+ }
31
+ })
32
+ }
33
+
34
+ function attachHandlers(container) {
35
+ setContainerClass(container);
36
+ jQuery(window).resize(function(){setContainerClass(container)});
37
+ jQuery('#tinypng_dashboard_widget .hndle').click(function() {
38
+ jQuery(this).siblings('.inside').removeClass('mobile')
39
+ })
40
+ }
41
+
42
+ function setContainerClass(container) {
43
+ if (jQuery(container).width() < 400) {
44
+ jQuery(container).addClass('mobile')
45
+ } else if (jQuery(container).width() < 490 && jQuery(container).width() >= 400) {
46
+ jQuery(container).addClass('tablet')
47
+ jQuery(container).removeClass('mobile')
48
+ } else if (jQuery(container).width() >= 490) {
49
+ jQuery(container).removeClass('tablet').removeClass('mobile')
50
+ }
51
+ }
52
+
53
+ function renderWidget(data, container) {
54
+ var stats = jQuery.parseJSON(data);
55
+ var savings = stats['display-percentage'];
56
+ var libraryOptimized = optimizedPercentage(stats);
57
+ renderContent(libraryOptimized, stats, savings);
58
+ renderChart(savings);
59
+ jQuery('#optimization-chart').show();
60
+ jQuery('#widget-spinner').attr('class', 'hidden');
61
+ }
62
+
63
+ function renderPercentage(percentage) {
64
+ jQuery('#savings-percentage').find('span').html(percentage)
65
+ }
66
+
67
+ function renderContent(percentage, stats, savingsPercentage) {
68
+ renderPercentage(savingsPercentage);
69
+ if ( 0 == stats['uploaded-images'] + stats['available-unoptimised-sizes'] ) {
70
+ jQuery('#tinypng_dashboard_widget').addClass('no-images-uploaded')
71
+ } else if ( percentage == 0 ) {
72
+ jQuery('#tinypng_dashboard_widget').addClass('not-optimized')
73
+ } else if ( percentage == 100 ) {
74
+ jQuery('#tinypng_dashboard_widget').addClass('full-optimized')
75
+ jQuery('#ie8-compressed').find('span').html(savingsPercentage)
76
+ } else {
77
+ jQuery("#uploaded-images").html( stats['uploaded-images'] )
78
+ jQuery("#unoptimised-sizes").html( stats['available-unoptimised-sizes'] )
79
+ jQuery('#tinypng_dashboard_widget').addClass('half-optimized')
80
+ }
81
+ }
82
+
83
+ function chartOptions(percentage) {
84
+ chart = {};
85
+ chart['size'] = 160;
86
+ chart['radius'] = chart['size'] / 2 * 0.9;
87
+ chart['main-radius'] = chart['radius'] * 0.88;
88
+ chart['circle-size'] = 2 * Math.PI * chart['main-radius'];
89
+ chart['dash-array-size'] = percentage / 100 * chart['circle-size'];
90
+ return chart
91
+ }
92
+
93
+ function optimizedPercentage(stats) {
94
+ if ( 0 != stats['unoptimized-library-size'] ) {
95
+ return Math.round((stats['optimized-image-sizes'] / (stats['optimized-image-sizes'] + stats['available-unoptimised-sizes']) * 100), 0);
96
+ } else {
97
+ return 0
98
+ }
99
+ }
100
+
101
+ function renderChart(savingsPercentage) {
102
+ chart = chartOptions(savingsPercentage);
103
+ jQuery('#optimization-chart svg circle.main').css('stroke-dasharray', chart['dash-array-size'] + ' ' + chart['circle-size'])
104
+ style =
105
+ " @keyframes shwoosh {" +
106
+ " from { stroke-dasharray: 0 " + chart['circle-size'] + "}" +
107
+ " to { stroke-dasharray:" + chart['dash-array-size'] + " " + chart['circle-size'] + "}}"
108
+
109
+ // JQuery bug where you cannot append to style tag https://bugs.jquery.com/ticket/9832
110
+ try {
111
+ jQuery('#tinypng_dashboard_widget .inside style').append(style);
112
+ } catch(err) {
113
+
114
+ }
115
+ }
116
+
117
+ // Check if widget is loaded
118
+ if (jQuery('#tinypng_dashboard_widget').length) {
119
+ generateDashboardWidget('#tinypng_dashboard_widget')
120
+ }
121
+ }).call()
src/vendor/tinify/Tinify.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace Tinify;
4
 
5
- const VERSION = "1.3.0";
6
 
7
  class Tinify {
8
  const AUTHENTICATED = true;
@@ -10,6 +10,8 @@ class Tinify {
10
 
11
  private static $key = NULL;
12
  private static $appIdentifier = NULL;
 
 
13
  private static $compressionCount = NULL;
14
 
15
  private static $client = NULL;
@@ -34,6 +36,11 @@ class Tinify {
34
  self::$client = NULL;
35
  }
36
 
 
 
 
 
 
37
  public static function getCompressionCount() {
38
  return self::$compressionCount;
39
  }
@@ -48,7 +55,7 @@ class Tinify {
48
  }
49
 
50
  if (!self::$client) {
51
- self::$client = new Client(self::$key, self::$appIdentifier);
52
  }
53
 
54
  return self::$client;
@@ -75,6 +82,10 @@ function setAppIdentifier($appIdentifier) {
75
  return Tinify::setAppIdentifier($appIdentifier);
76
  }
77
 
 
 
 
 
78
  function getCompressionCount() {
79
  return Tinify::getCompressionCount();
80
  }
2
 
3
  namespace Tinify;
4
 
5
+ const VERSION = "1.4.0";
6
 
7
  class Tinify {
8
  const AUTHENTICATED = true;
10
 
11
  private static $key = NULL;
12
  private static $appIdentifier = NULL;
13
+ private static $proxy = NULL;
14
+
15
  private static $compressionCount = NULL;
16
 
17
  private static $client = NULL;
36
  self::$client = NULL;
37
  }
38
 
39
+ public static function setProxy($proxy) {
40
+ self::$proxy = $proxy;
41
+ self::$client = NULL;
42
+ }
43
+
44
  public static function getCompressionCount() {
45
  return self::$compressionCount;
46
  }
55
  }
56
 
57
  if (!self::$client) {
58
+ self::$client = new Client(self::$key, self::$appIdentifier, self::$proxy);
59
  }
60
 
61
  return self::$client;
82
  return Tinify::setAppIdentifier($appIdentifier);
83
  }
84
 
85
+ function setProxy($proxy) {
86
+ return Tinify::setProxy($proxy);
87
+ }
88
+
89
  function getCompressionCount() {
90
  return Tinify::getCompressionCount();
91
  }
src/vendor/tinify/Tinify/Client.php CHANGED
@@ -16,8 +16,9 @@ class Client {
16
  return __DIR__ . "/../data/cacert.pem";
17
  }
18
 
19
- function __construct($key, $appIdentifier = NULL) {
20
  $userAgent = join(" ", array_filter(array(self::userAgent(), $appIdentifier)));
 
21
  $this->options = array(
22
  CURLOPT_BINARYTRANSFER => true,
23
  CURLOPT_RETURNTRANSFER => true,
@@ -27,9 +28,33 @@ class Client {
27
  CURLOPT_SSL_VERIFYPEER => true,
28
  CURLOPT_USERAGENT => $userAgent,
29
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  }
31
 
32
- function request($method, $url, $body = NULL, $header = array()) {
 
33
  if (is_array($body)) {
34
  if (!empty($body)) {
35
  $body = json_encode($body);
@@ -40,6 +65,12 @@ class Client {
40
  }
41
 
42
  $request = curl_init();
 
 
 
 
 
 
43
  curl_setopt_array($request, $this->options);
44
 
45
  $url = strtolower(substr($url, 0, 6)) == "https:" ? $url : self::API_ENDPOINT . $url;
16
  return __DIR__ . "/../data/cacert.pem";
17
  }
18
 
19
+ function __construct($key, $appIdentifier = NULL, $proxy = NULL) {
20
  $userAgent = join(" ", array_filter(array(self::userAgent(), $appIdentifier)));
21
+
22
  $this->options = array(
23
  CURLOPT_BINARYTRANSFER => true,
24
  CURLOPT_RETURNTRANSFER => true,
28
  CURLOPT_SSL_VERIFYPEER => true,
29
  CURLOPT_USERAGENT => $userAgent,
30
  );
31
+
32
+ if ($proxy) {
33
+ $parts = parse_url($proxy);
34
+ if (isset($parts["host"])) {
35
+ $this->options[CURLOPT_PROXYTYPE] = CURLPROXY_HTTP;
36
+ $this->options[CURLOPT_PROXY] = $parts["host"];
37
+ } else {
38
+ throw new ConnectionException("Invalid proxy");
39
+ }
40
+
41
+ if (isset($parts["port"])) {
42
+ $this->options[CURLOPT_PROXYPORT] = $parts["port"];
43
+ }
44
+
45
+ $creds = "";
46
+ if (isset($parts["user"])) $creds .= $parts["user"];
47
+ if (isset($parts["pass"])) $creds .= ":" . $parts["pass"];
48
+
49
+ if ($creds) {
50
+ $this->options[CURLOPT_PROXYAUTH] = CURLAUTH_ANY;
51
+ $this->options[CURLOPT_PROXYUSERPWD] = $creds;
52
+ }
53
+ }
54
  }
55
 
56
+ function request($method, $url, $body = NULL) {
57
+ $header = array();
58
  if (is_array($body)) {
59
  if (!empty($body)) {
60
  $body = json_encode($body);
65
  }
66
 
67
  $request = curl_init();
68
+ if ($request === false || $request === null) {
69
+ throw new ConnectionException(
70
+ "Error while connecting: curl extension is not functional or disabled."
71
+ );
72
+ }
73
+
74
  curl_setopt_array($request, $this->options);
75
 
76
  $url = strtolower(substr($url, 0, 6)) == "https:" ? $url : self::API_ENDPOINT . $url;
src/vendor/tinify/data/cacert.pem CHANGED
@@ -1,45 +1,3 @@
1
- ##
2
- ## Bundle of CA Root Certificates
3
- ##
4
- ## Certificate data from Mozilla as of: Wed Apr 22 03:12:04 2015
5
- ##
6
- ## This is a bundle of X.509 certificates of public Certificate Authorities
7
- ## (CA). These were automatically extracted from Mozilla's root certificates
8
- ## file (certdata.txt). This file can be found in the mozilla source tree:
9
- ## http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
10
- ##
11
- ## It contains the certificates in PEM format and therefore
12
- ## can be directly used with curl / libcurl / php_curl, or with
13
- ## an Apache+mod_ssl webserver for SSL client authentication.
14
- ## Just configure this file as the SSLCACertificateFile.
15
- ##
16
- ## Conversion done with mk-ca-bundle.pl version 1.25.
17
- ## SHA1: ed3c0bbfb7912bcc00cd2033b0cb85c98d10559c
18
- ##
19
-
20
-
21
- Equifax Secure CA
22
- =================
23
- -----BEGIN CERTIFICATE-----
24
- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
25
- ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
26
- MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
27
- B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
28
- nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
29
- fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
30
- 8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
31
- A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
32
- CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
33
- A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
34
- spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
35
- Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
36
- zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
37
- BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
38
- 70+sB3c4
39
- -----END CERTIFICATE-----
40
-
41
- GlobalSign Root CA
42
- ==================
43
  -----BEGIN CERTIFICATE-----
44
  MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
45
  GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
@@ -58,9 +16,6 @@ j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
58
  hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
59
  X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
60
  -----END CERTIFICATE-----
61
-
62
- GlobalSign Root CA - R2
63
- =======================
64
  -----BEGIN CERTIFICATE-----
65
  MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
66
  YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
@@ -80,9 +35,6 @@ BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
80
  9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
81
  TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
82
  -----END CERTIFICATE-----
83
-
84
- Verisign Class 3 Public Primary Certification Authority - G3
85
- ============================================================
86
  -----BEGIN CERTIFICATE-----
87
  MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
88
  UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
@@ -104,33 +56,6 @@ j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
104
  xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
105
  t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
106
  -----END CERTIFICATE-----
107
-
108
- Verisign Class 4 Public Primary Certification Authority - G3
109
- ============================================================
110
- -----BEGIN CERTIFICATE-----
111
- MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
112
- UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
113
- cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
114
- IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
115
- dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
116
- CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
117
- dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
118
- cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg
119
- Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
120
- ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS
121
- tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM
122
- 8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW
123
- Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX
124
- Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
125
- j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt
126
- mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
127
- fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd
128
- RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG
129
- UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
130
- -----END CERTIFICATE-----
131
-
132
- Entrust.net Premium 2048 Secure Server CA
133
- =========================================
134
  -----BEGIN CERTIFICATE-----
135
  MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
136
  ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
@@ -152,9 +77,6 @@ zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT
152
  J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
153
  nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
154
  -----END CERTIFICATE-----
155
-
156
- Baltimore CyberTrust Root
157
- =========================
158
  -----BEGIN CERTIFICATE-----
159
  MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
160
  ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
@@ -173,9 +95,6 @@ hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
173
  Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
174
  RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
175
  -----END CERTIFICATE-----
176
-
177
- AddTrust Low-Value Services Root
178
- ================================
179
  -----BEGIN CERTIFICATE-----
180
  MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
181
  QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
@@ -197,9 +116,6 @@ eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
197
  mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
198
  ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
199
  -----END CERTIFICATE-----
200
-
201
- AddTrust External Root
202
- ======================
203
  -----BEGIN CERTIFICATE-----
204
  MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
205
  QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
@@ -221,9 +137,6 @@ j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
221
  e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
222
  G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
223
  -----END CERTIFICATE-----
224
-
225
- AddTrust Public Services Root
226
- =============================
227
  -----BEGIN CERTIFICATE-----
228
  MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
229
  QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
@@ -245,9 +158,6 @@ GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
245
  Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
246
  EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
247
  -----END CERTIFICATE-----
248
-
249
- AddTrust Qualified Certificates Root
250
- ====================================
251
  -----BEGIN CERTIFICATE-----
252
  MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
253
  QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
@@ -269,9 +179,6 @@ dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
269
  RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
270
  iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
271
  -----END CERTIFICATE-----
272
-
273
- Entrust Root Certification Authority
274
- ====================================
275
  -----BEGIN CERTIFICATE-----
276
  MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
277
  BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
@@ -295,30 +202,6 @@ v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
295
  W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
296
  tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
297
  -----END CERTIFICATE-----
298
-
299
- RSA Security 2048 v3
300
- ====================
301
- -----BEGIN CERTIFICATE-----
302
- MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
303
- ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy
304
- MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
305
- BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
306
- AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7
307
- Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb
308
- WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH
309
- KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP
310
- +Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/
311
- MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E
312
- FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY
313
- v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj
314
- 0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj
315
- VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395
316
- nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA
317
- pKnXwiJPZ9d37CAFYd4=
318
- -----END CERTIFICATE-----
319
-
320
- GeoTrust Global CA
321
- ==================
322
  -----BEGIN CERTIFICATE-----
323
  MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
324
  Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
@@ -337,9 +220,6 @@ mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
337
  XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
338
  Mw==
339
  -----END CERTIFICATE-----
340
-
341
- GeoTrust Global CA 2
342
- ====================
343
  -----BEGIN CERTIFICATE-----
344
  MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
345
  R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
@@ -358,9 +238,6 @@ OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
358
  x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
359
  H4z1Ir+rzoPz4iIprn2DQKi6bA==
360
  -----END CERTIFICATE-----
361
-
362
- GeoTrust Universal CA
363
- =====================
364
  -----BEGIN CERTIFICATE-----
365
  MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
366
  R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
@@ -388,9 +265,6 @@ xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
388
  p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
389
  P/rmMuGNG2+k5o7Y+SlIis5z/iw=
390
  -----END CERTIFICATE-----
391
-
392
- GeoTrust Universal CA 2
393
- =======================
394
  -----BEGIN CERTIFICATE-----
395
  MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
396
  R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
@@ -418,9 +292,6 @@ FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
418
  gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
419
  X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
420
  -----END CERTIFICATE-----
421
-
422
- Visa eCommerce Root
423
- ===================
424
  -----BEGIN CERTIFICATE-----
425
  MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
426
  EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
@@ -440,9 +311,6 @@ zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
440
  YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
441
  398znM/jra6O1I7mT1GvFpLgXPYHDw==
442
  -----END CERTIFICATE-----
443
-
444
- Certum Root CA
445
- ==============
446
  -----BEGIN CERTIFICATE-----
447
  MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
448
  ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
@@ -459,9 +327,6 @@ GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
459
  0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
460
  qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
461
  -----END CERTIFICATE-----
462
-
463
- Comodo AAA Services root
464
- ========================
465
  -----BEGIN CERTIFICATE-----
466
  MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
467
  R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
@@ -483,9 +348,6 @@ Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
483
  8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
484
  12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
485
  -----END CERTIFICATE-----
486
-
487
- Comodo Secure Services root
488
- ===========================
489
  -----BEGIN CERTIFICATE-----
490
  MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
491
  R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
@@ -508,9 +370,6 @@ DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
508
  pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
509
  RR3B7Hzs/Sk=
510
  -----END CERTIFICATE-----
511
-
512
- Comodo Trusted Services root
513
- ============================
514
  -----BEGIN CERTIFICATE-----
515
  MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
516
  R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
@@ -533,9 +392,6 @@ BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
533
  R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
534
  9y5Xt5hwXsjEeLBi
535
  -----END CERTIFICATE-----
536
-
537
- QuoVadis Root CA
538
- ================
539
  -----BEGIN CERTIFICATE-----
540
  MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
541
  ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
@@ -565,9 +421,6 @@ gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
565
  5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
566
  5nrQNiOKSnQ2+Q==
567
  -----END CERTIFICATE-----
568
-
569
- QuoVadis Root CA 2
570
- ==================
571
  -----BEGIN CERTIFICATE-----
572
  MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
573
  EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
@@ -596,9 +449,6 @@ f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
596
  4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
597
  VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
598
  -----END CERTIFICATE-----
599
-
600
- QuoVadis Root CA 3
601
- ==================
602
  -----BEGIN CERTIFICATE-----
603
  MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
604
  EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
@@ -631,9 +481,6 @@ g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
631
  vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
632
  qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
633
  -----END CERTIFICATE-----
634
-
635
- Security Communication Root CA
636
- ==============================
637
  -----BEGIN CERTIFICATE-----
638
  MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
639
  U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
@@ -652,9 +499,6 @@ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
652
  6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
653
  FL39vmwLAw==
654
  -----END CERTIFICATE-----
655
-
656
- Sonera Class 2 Root CA
657
- ======================
658
  -----BEGIN CERTIFICATE-----
659
  MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
660
  U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
@@ -672,56 +516,6 @@ Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
672
  EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
673
  llpwrN9M
674
  -----END CERTIFICATE-----
675
-
676
- Staat der Nederlanden Root CA
677
- =============================
678
- -----BEGIN CERTIFICATE-----
679
- MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE
680
- ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g
681
- Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w
682
- HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh
683
- bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt
684
- vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P
685
- jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca
686
- C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth
687
- vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6
688
- 22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV
689
- HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v
690
- dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN
691
- BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR
692
- EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw
693
- MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y
694
- nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
695
- iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
696
- -----END CERTIFICATE-----
697
-
698
- UTN DATACorp SGC Root CA
699
- ========================
700
- -----BEGIN CERTIFICATE-----
701
- MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE
702
- BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
703
- IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ
704
- BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa
705
- MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w
706
- HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy
707
- dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC
708
- AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys
709
- raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo
710
- wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA
711
- 9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv
712
- 33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud
713
- DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9
714
- BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD
715
- LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3
716
- DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
717
- Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0
718
- I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx
719
- EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP
720
- DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
721
- -----END CERTIFICATE-----
722
-
723
- UTN USERFirst Hardware Root CA
724
- ==============================
725
  -----BEGIN CERTIFICATE-----
726
  MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
727
  BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
@@ -745,9 +539,6 @@ lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
745
  iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
746
  nfhmqA==
747
  -----END CERTIFICATE-----
748
-
749
- Camerfirma Chambers of Commerce Root
750
- ====================================
751
  -----BEGIN CERTIFICATE-----
752
  MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
753
  QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
@@ -772,9 +563,6 @@ UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
772
  ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
773
  erfutGWaIZDgqtCYvDi1czyL+Nw=
774
  -----END CERTIFICATE-----
775
-
776
- Camerfirma Global Chambersign Root
777
- ==================================
778
  -----BEGIN CERTIFICATE-----
779
  MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
780
  QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
@@ -799,44 +587,6 @@ PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
799
  IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
800
  t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
801
  -----END CERTIFICATE-----
802
-
803
- NetLock Notary (Class A) Root
804
- =============================
805
- -----BEGIN CERTIFICATE-----
806
- MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI
807
- EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
808
- dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j
809
- ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX
810
- DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH
811
- EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD
812
- VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz
813
- cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM
814
- D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ
815
- z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC
816
- /tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7
817
- tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6
818
- 4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG
819
- A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC
820
- Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv
821
- bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
822
- IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn
823
- LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0
824
- ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz
825
- IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh
826
- IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu
827
- b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh
828
- bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg
829
- Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp
830
- bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5
831
- ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP
832
- ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB
833
- CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr
834
- KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM
835
- 8CgHrTwXZoi1/baI
836
- -----END CERTIFICATE-----
837
-
838
- XRamp Global CA Root
839
- ====================
840
  -----BEGIN CERTIFICATE-----
841
  MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
842
  BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
@@ -858,9 +608,6 @@ qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
858
  nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
859
  8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
860
  -----END CERTIFICATE-----
861
-
862
- Go Daddy Class 2 CA
863
- ===================
864
  -----BEGIN CERTIFICATE-----
865
  MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
866
  VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
@@ -882,9 +629,6 @@ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
882
  Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
883
  vZ8=
884
  -----END CERTIFICATE-----
885
-
886
- Starfield Class 2 CA
887
- ====================
888
  -----BEGIN CERTIFICATE-----
889
  MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
890
  U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
@@ -906,9 +650,6 @@ xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
906
  KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
907
  QBFGmh95DmK/D5fs4C8fF5Q=
908
  -----END CERTIFICATE-----
909
-
910
- StartCom Certification Authority
911
- ================================
912
  -----BEGIN CERTIFICATE-----
913
  MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
914
  U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
@@ -947,9 +688,6 @@ yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
947
  lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
948
  g14=
949
  -----END CERTIFICATE-----
950
-
951
- Taiwan GRCA
952
- ===========
953
  -----BEGIN CERTIFICATE-----
954
  MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
955
  EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
@@ -977,9 +715,6 @@ Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
977
  CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
978
  +fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
979
  -----END CERTIFICATE-----
980
-
981
- Swisscom Root CA 1
982
- ==================
983
  -----BEGIN CERTIFICATE-----
984
  MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
985
  EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
@@ -1009,9 +744,6 @@ nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy
1009
  x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
1010
  NY6E0F/6MBr1mmz0DlP5OlvRHA==
1011
  -----END CERTIFICATE-----
1012
-
1013
- DigiCert Assured ID Root CA
1014
- ===========================
1015
  -----BEGIN CERTIFICATE-----
1016
  MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
1017
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
@@ -1031,9 +763,6 @@ SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
1031
  8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
1032
  +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
1033
  -----END CERTIFICATE-----
1034
-
1035
- DigiCert Global Root CA
1036
- =======================
1037
  -----BEGIN CERTIFICATE-----
1038
  MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
1039
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
@@ -1053,9 +782,6 @@ tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
1053
  UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
1054
  CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
1055
  -----END CERTIFICATE-----
1056
-
1057
- DigiCert High Assurance EV Root CA
1058
- ==================================
1059
  -----BEGIN CERTIFICATE-----
1060
  MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
1061
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
@@ -1075,9 +801,6 @@ myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
1075
  mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
1076
  vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
1077
  -----END CERTIFICATE-----
1078
-
1079
- Certplus Class 2 Primary CA
1080
- ===========================
1081
  -----BEGIN CERTIFICATE-----
1082
  MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
1083
  BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
@@ -1097,9 +820,6 @@ TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
1097
  //1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
1098
  l7+ijrRU
1099
  -----END CERTIFICATE-----
1100
-
1101
- DST Root CA X3
1102
- ==============
1103
  -----BEGIN CERTIFICATE-----
1104
  MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
1105
  ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
@@ -1117,9 +837,6 @@ GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
1117
  RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
1118
  fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
1119
  -----END CERTIFICATE-----
1120
-
1121
- DST ACES CA X6
1122
- ==============
1123
  -----BEGIN CERTIFICATE-----
1124
  MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
1125
  EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
@@ -1141,57 +858,6 @@ nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
1141
  vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
1142
  oKfN5XozNmr6mis=
1143
  -----END CERTIFICATE-----
1144
-
1145
- TURKTRUST Certificate Services Provider Root 1
1146
- ==============================================
1147
- -----BEGIN CERTIFICATE-----
1148
- MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
1149
- bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP
1150
- MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0
1151
- acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx
1152
- MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg
1153
- U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB
1154
- TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC
1155
- aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC
1156
- AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX
1157
- yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i
1158
- Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ
1159
- 8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4
1160
- W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME
1161
- BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46
1162
- sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE
1163
- q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy
1164
- B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY
1165
- nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H
1166
- -----END CERTIFICATE-----
1167
-
1168
- TURKTRUST Certificate Services Provider Root 2
1169
- ==============================================
1170
- -----BEGIN CERTIFICATE-----
1171
- MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF
1172
- bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
1173
- MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
1174
- QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN
1175
- MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr
1176
- dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G
1177
- A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
1178
- acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G
1179
- CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe
1180
- LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI
1181
- x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g
1182
- QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr
1183
- 5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB
1184
- AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G
1185
- A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt
1186
- Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4
1187
- Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+
1188
- hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P
1189
- 9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5
1190
- UrbnBEI=
1191
- -----END CERTIFICATE-----
1192
-
1193
- SwissSign Gold CA - G2
1194
- ======================
1195
  -----BEGIN CERTIFICATE-----
1196
  MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
1197
  EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
@@ -1220,9 +886,6 @@ KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
1220
  NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
1221
  viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
1222
  -----END CERTIFICATE-----
1223
-
1224
- SwissSign Silver CA - G2
1225
- ========================
1226
  -----BEGIN CERTIFICATE-----
1227
  MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
1228
  BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
@@ -1251,9 +914,6 @@ WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
1251
  DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
1252
  DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
1253
  -----END CERTIFICATE-----
1254
-
1255
- GeoTrust Primary Certification Authority
1256
- ========================================
1257
  -----BEGIN CERTIFICATE-----
1258
  MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
1259
  EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
@@ -1272,9 +932,6 @@ NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
1272
  Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
1273
  1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
1274
  -----END CERTIFICATE-----
1275
-
1276
- thawte Primary Root CA
1277
- ======================
1278
  -----BEGIN CERTIFICATE-----
1279
  MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
1280
  BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
@@ -1296,9 +953,6 @@ xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
1296
  jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
1297
  z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
1298
  -----END CERTIFICATE-----
1299
-
1300
- VeriSign Class 3 Public Primary Certification Authority - G5
1301
- ============================================================
1302
  -----BEGIN CERTIFICATE-----
1303
  MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
1304
  BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
@@ -1323,9 +977,6 @@ KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
1323
  Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
1324
  ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
1325
  -----END CERTIFICATE-----
1326
-
1327
- SecureTrust CA
1328
- ==============
1329
  -----BEGIN CERTIFICATE-----
1330
  MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
1331
  EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
@@ -1345,9 +996,6 @@ mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
1345
  nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
1346
  3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
1347
  -----END CERTIFICATE-----
1348
-
1349
- Secure Global CA
1350
- ================
1351
  -----BEGIN CERTIFICATE-----
1352
  MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
1353
  EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
@@ -1367,9 +1015,6 @@ CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
1367
  3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
1368
  f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
1369
  -----END CERTIFICATE-----
1370
-
1371
- COMODO Certification Authority
1372
- ==============================
1373
  -----BEGIN CERTIFICATE-----
1374
  MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
1375
  BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
@@ -1391,9 +1036,6 @@ RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
1391
  IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
1392
  +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
1393
  -----END CERTIFICATE-----
1394
-
1395
- Network Solutions Certificate Authority
1396
- =======================================
1397
  -----BEGIN CERTIFICATE-----
1398
  MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
1399
  EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
@@ -1414,9 +1056,6 @@ GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
1414
  wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
1415
  ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
1416
  -----END CERTIFICATE-----
1417
-
1418
- WellsSecure Public Root Certificate Authority
1419
- =============================================
1420
  -----BEGIN CERTIFICATE-----
1421
  MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM
1422
  F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw
@@ -1441,9 +1080,6 @@ qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es
1441
  E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ
1442
  tylv2G0xffX8oRAHh84vWdw+WNs=
1443
  -----END CERTIFICATE-----
1444
-
1445
- COMODO ECC Certification Authority
1446
- ==================================
1447
  -----BEGIN CERTIFICATE-----
1448
  MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
1449
  R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
@@ -1458,33 +1094,6 @@ BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
1458
  FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
1459
  U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
1460
  -----END CERTIFICATE-----
1461
-
1462
- IGC/A
1463
- =====
1464
- -----BEGIN CERTIFICATE-----
1465
- MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD
1466
- VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE
1467
- Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy
1468
- MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI
1469
- EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT
1470
- STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB
1471
- IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2
1472
- TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW
1473
- So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy
1474
- HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd
1475
- frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ
1476
- tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB
1477
- egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC
1478
- iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK
1479
- q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q
1480
- MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg
1481
- Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI
1482
- lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF
1483
- 0mBWWg==
1484
- -----END CERTIFICATE-----
1485
-
1486
- Security Communication EV RootCA1
1487
- =================================
1488
  -----BEGIN CERTIFICATE-----
1489
  MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
1490
  U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh
@@ -1503,9 +1112,6 @@ Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW
1503
  mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW
1504
  T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
1505
  -----END CERTIFICATE-----
1506
-
1507
- OISTE WISeKey Global Root GA CA
1508
- ===============================
1509
  -----BEGIN CERTIFICATE-----
1510
  MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
1511
  BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
@@ -1526,9 +1132,6 @@ MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
1526
  hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
1527
  okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
1528
  -----END CERTIFICATE-----
1529
-
1530
- Microsec e-Szigno Root CA
1531
- =========================
1532
  -----BEGIN CERTIFICATE-----
1533
  MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE
1534
  BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL
@@ -1566,9 +1169,6 @@ aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a
1566
  yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB
1567
  S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU=
1568
  -----END CERTIFICATE-----
1569
-
1570
- Certigna
1571
- ========
1572
  -----BEGIN CERTIFICATE-----
1573
  MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
1574
  EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
@@ -1588,59 +1188,6 @@ PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
1588
  1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
1589
  WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
1590
  -----END CERTIFICATE-----
1591
-
1592
- TC TrustCenter Class 2 CA II
1593
- ============================
1594
- -----BEGIN CERTIFICATE-----
1595
- MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
1596
- REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
1597
- IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw
1598
- MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
1599
- c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE
1600
- AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
1601
- AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw
1602
- IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2
1603
- xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ
1604
- Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u
1605
- SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB
1606
- /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB
1607
- 7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
1608
- Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
1609
- cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
1610
- SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
1611
- TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G
1612
- dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ
1613
- KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj
1614
- TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP
1615
- JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk
1616
- vQ==
1617
- -----END CERTIFICATE-----
1618
-
1619
- TC TrustCenter Universal CA I
1620
- =============================
1621
- -----BEGIN CERTIFICATE-----
1622
- MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC
1623
- REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
1624
- IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN
1625
- MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg
1626
- VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw
1627
- JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD
1628
- ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC
1629
- qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv
1630
- xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw
1631
- ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O
1632
- gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j
1633
- BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
1634
- AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG
1635
- 1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy
1636
- vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3
1637
- ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT
1638
- ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a
1639
- 7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY
1640
- -----END CERTIFICATE-----
1641
-
1642
- Deutsche Telekom Root CA 2
1643
- ==========================
1644
  -----BEGIN CERTIFICATE-----
1645
  MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
1646
  RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
@@ -1660,31 +1207,6 @@ rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
1660
  dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
1661
  Cm26OWMohpLzGITY+9HPBVZkVw==
1662
  -----END CERTIFICATE-----
1663
-
1664
- ComSign Secured CA
1665
- ==================
1666
- -----BEGIN CERTIFICATE-----
1667
- MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE
1668
- AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w
1669
- NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD
1670
- QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
1671
- ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs
1672
- 49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH
1673
- 7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB
1674
- kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1
1675
- 9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw
1676
- AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t
1677
- U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA
1678
- j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC
1679
- AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a
1680
- BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp
1681
- FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP
1682
- 51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz
1683
- OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw==
1684
- -----END CERTIFICATE-----
1685
-
1686
- Cybertrust Global Root
1687
- ======================
1688
  -----BEGIN CERTIFICATE-----
1689
  MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
1690
  ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
@@ -1704,9 +1226,6 @@ hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
1704
  X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
1705
  WL1WMRJOEcgh4LMRkWXbtKaIOM5V
1706
  -----END CERTIFICATE-----
1707
-
1708
- ePKI Root Certification Authority
1709
- =================================
1710
  -----BEGIN CERTIFICATE-----
1711
  MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
1712
  EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
@@ -1735,9 +1254,6 @@ gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy
1735
  sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
1736
  BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
1737
  -----END CERTIFICATE-----
1738
-
1739
- T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3
1740
- =============================================================================================================================
1741
  -----BEGIN CERTIFICATE-----
1742
  MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH
1743
  DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q
@@ -1763,81 +1279,6 @@ y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh
1763
  LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
1764
  dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
1765
  -----END CERTIFICATE-----
1766
-
1767
- Buypass Class 2 CA 1
1768
- ====================
1769
- -----BEGIN CERTIFICATE-----
1770
- MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
1771
- QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2
1772
- MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
1773
- c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI
1774
- hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M
1775
- cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83
1776
- 0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4
1777
- 0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R
1778
- uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC
1779
- MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P
1780
- AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV
1781
- 1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt
1782
- 7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2
1783
- fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w
1784
- wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho
1785
- -----END CERTIFICATE-----
1786
-
1787
- Buypass Class 3 CA 1
1788
- ====================
1789
- -----BEGIN CERTIFICATE-----
1790
- MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
1791
- QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1
1792
- MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
1793
- c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI
1794
- hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx
1795
- ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0
1796
- n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia
1797
- AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c
1798
- 1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC
1799
- MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P
1800
- AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7
1801
- pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA
1802
- EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5
1803
- htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj
1804
- el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915
1805
- -----END CERTIFICATE-----
1806
-
1807
- EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1
1808
- ==========================================================================
1809
- -----BEGIN CERTIFICATE-----
1810
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU
1832
- 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
- 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
- 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
- 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
- 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
1837
- -----END CERTIFICATE-----
1838
-
1839
- certSIGN ROOT CA
1840
- ================
1841
  -----BEGIN CERTIFICATE-----
1842
  MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
1843
  VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
@@ -1855,9 +1296,6 @@ x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
1855
  vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
1856
  TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
1857
  -----END CERTIFICATE-----
1858
-
1859
- CNNIC ROOT
1860
- ==========
1861
  -----BEGIN CERTIFICATE-----
1862
  MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE
1863
  ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw
@@ -1876,9 +1314,6 @@ BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2
1876
  G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m
1877
  mxE=
1878
  -----END CERTIFICATE-----
1879
-
1880
- ApplicationCA - Japanese Government
1881
- ===================================
1882
  -----BEGIN CERTIFICATE-----
1883
  MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT
1884
  SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw
@@ -1898,9 +1333,6 @@ io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW
1898
  dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL
1899
  rosot4LKGAfmt1t06SAZf7IbiVQ=
1900
  -----END CERTIFICATE-----
1901
-
1902
- GeoTrust Primary Certification Authority - G3
1903
- =============================================
1904
  -----BEGIN CERTIFICATE-----
1905
  MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
1906
  BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
@@ -1921,9 +1353,6 @@ Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
1921
  AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
1922
  t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
1923
  -----END CERTIFICATE-----
1924
-
1925
- thawte Primary Root CA - G2
1926
- ===========================
1927
  -----BEGIN CERTIFICATE-----
1928
  MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
1929
  VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
@@ -1938,9 +1367,6 @@ mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
1938
  G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
1939
  rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
1940
  -----END CERTIFICATE-----
1941
-
1942
- thawte Primary Root CA - G3
1943
- ===========================
1944
  -----BEGIN CERTIFICATE-----
1945
  MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
1946
  BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
@@ -1962,9 +1388,6 @@ t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
1962
  8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
1963
  er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
1964
  -----END CERTIFICATE-----
1965
-
1966
- GeoTrust Primary Certification Authority - G2
1967
- =============================================
1968
  -----BEGIN CERTIFICATE-----
1969
  MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
1970
  VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
@@ -1980,9 +1403,6 @@ EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
1980
  ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
1981
  npaqBA+K
1982
  -----END CERTIFICATE-----
1983
-
1984
- VeriSign Universal Root Certification Authority
1985
- ===============================================
1986
  -----BEGIN CERTIFICATE-----
1987
  MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
1988
  BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
@@ -2007,9 +1427,6 @@ P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
2007
  wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
2008
  mJO37M2CYfE45k+XmCpajQ==
2009
  -----END CERTIFICATE-----
2010
-
2011
- VeriSign Class 3 Public Primary Certification Authority - G4
2012
- ============================================================
2013
  -----BEGIN CERTIFICATE-----
2014
  MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
2015
  VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
@@ -2028,9 +1445,6 @@ Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
2028
  A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
2029
  AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
2030
  -----END CERTIFICATE-----
2031
-
2032
- NetLock Arany (Class Gold) Főtanúsítvány
2033
- ============================================
2034
  -----BEGIN CERTIFICATE-----
2035
  MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
2036
  A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
@@ -2052,9 +1466,6 @@ bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
2052
  NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
2053
  dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
2054
  -----END CERTIFICATE-----
2055
-
2056
- Staat der Nederlanden Root CA - G2
2057
- ==================================
2058
  -----BEGIN CERTIFICATE-----
2059
  MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
2060
  CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
@@ -2084,61 +1495,6 @@ oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV
2084
  IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
2085
  66+KAQ==
2086
  -----END CERTIFICATE-----
2087
-
2088
- CA Disig
2089
- ========
2090
- -----BEGIN CERTIFICATE-----
2091
- MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK
2092
- QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw
2093
- MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz
2094
- bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3
2095
- DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm
2096
- GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD
2097
- Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo
2098
- hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt
2099
- ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w
2100
- gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P
2101
- AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz
2102
- aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff
2103
- ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa
2104
- BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t
2105
- WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3
2106
- mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/
2107
- CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K
2108
- ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA
2109
- 4Z7CRneC9VkGjCFMhwnN5ag=
2110
- -----END CERTIFICATE-----
2111
-
2112
- Juur-SK
2113
- =======
2114
- -----BEGIN CERTIFICATE-----
2115
- MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA
2116
- c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw
2117
- DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG
2118
- SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy
2119
- aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
2120
- ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf
2121
- TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC
2122
- +Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw
2123
- UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa
2124
- Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF
2125
- MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD
2126
- HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh
2127
- AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA
2128
- cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr
2129
- AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw
2130
- cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE
2131
- FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G
2132
- A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo
2133
- ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL
2134
- abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678
2135
- IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh
2136
- Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2
2137
- yyqcjg==
2138
- -----END CERTIFICATE-----
2139
-
2140
- Hongkong Post Root CA 1
2141
- =======================
2142
  -----BEGIN CERTIFICATE-----
2143
  MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
2144
  DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
@@ -2156,9 +1512,6 @@ IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
2156
  T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
2157
  c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
2158
  -----END CERTIFICATE-----
2159
-
2160
- SecureSign RootCA11
2161
- ===================
2162
  -----BEGIN CERTIFICATE-----
2163
  MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
2164
  SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
@@ -2177,9 +1530,6 @@ Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
2177
  y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
2178
  lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
2179
  -----END CERTIFICATE-----
2180
-
2181
- ACEDICOM Root
2182
- =============
2183
  -----BEGIN CERTIFICATE-----
2184
  MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD
2185
  T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4
@@ -2208,9 +1558,6 @@ I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp
2208
  MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
2209
  tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
2210
  -----END CERTIFICATE-----
2211
-
2212
- Microsec e-Szigno Root CA 2009
2213
- ==============================
2214
  -----BEGIN CERTIFICATE-----
2215
  MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
2216
  MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
@@ -2232,9 +1579,6 @@ tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
2232
  yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
2233
  LXpUq3DDfSJlgnCW
2234
  -----END CERTIFICATE-----
2235
-
2236
- GlobalSign Root CA - R3
2237
- =======================
2238
  -----BEGIN CERTIFICATE-----
2239
  MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
2240
  YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
@@ -2253,9 +1597,6 @@ bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
2253
  YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
2254
  kpeDMdmztcpHWD9f
2255
  -----END CERTIFICATE-----
2256
-
2257
- Autoridad de Certificacion Firmaprofesional CIF A62634068
2258
- =========================================================
2259
  -----BEGIN CERTIFICATE-----
2260
  MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
2261
  BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
@@ -2286,9 +1627,6 @@ saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
2286
  KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
2287
  6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
2288
  -----END CERTIFICATE-----
2289
-
2290
- Izenpe.com
2291
- ==========
2292
  -----BEGIN CERTIFICATE-----
2293
  MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
2294
  EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
@@ -2318,9 +1656,6 @@ ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo
2318
  Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
2319
  WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
2320
  -----END CERTIFICATE-----
2321
-
2322
- Chambers of Commerce Root - 2008
2323
- ================================
2324
  -----BEGIN CERTIFICATE-----
2325
  MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
2326
  MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
@@ -2356,9 +1691,6 @@ zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
2356
  nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
2357
  OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
2358
  -----END CERTIFICATE-----
2359
-
2360
- Global Chambersign Root - 2008
2361
- ==============================
2362
  -----BEGIN CERTIFICATE-----
2363
  MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
2364
  MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
@@ -2394,9 +1726,6 @@ P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
2394
  c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
2395
  09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
2396
  -----END CERTIFICATE-----
2397
-
2398
- Go Daddy Root Certificate Authority - G2
2399
- ========================================
2400
  -----BEGIN CERTIFICATE-----
2401
  MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
2402
  B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
@@ -2416,9 +1745,6 @@ vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
2416
  N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
2417
  LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
2418
  -----END CERTIFICATE-----
2419
-
2420
- Starfield Root Certificate Authority - G2
2421
- =========================================
2422
  -----BEGIN CERTIFICATE-----
2423
  MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
2424
  B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
@@ -2439,9 +1765,6 @@ F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
2439
  pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
2440
  c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
2441
  -----END CERTIFICATE-----
2442
-
2443
- Starfield Services Root Certificate Authority - G2
2444
- ==================================================
2445
  -----BEGIN CERTIFICATE-----
2446
  MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
2447
  B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
@@ -2462,9 +1785,6 @@ xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
2462
  iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
2463
  YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
2464
  -----END CERTIFICATE-----
2465
-
2466
- AffirmTrust Commercial
2467
- ======================
2468
  -----BEGIN CERTIFICATE-----
2469
  MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
2470
  BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
@@ -2482,9 +1802,6 @@ qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
2482
  0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
2483
  sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
2484
  -----END CERTIFICATE-----
2485
-
2486
- AffirmTrust Networking
2487
- ======================
2488
  -----BEGIN CERTIFICATE-----
2489
  MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
2490
  BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
@@ -2502,9 +1819,6 @@ UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
2502
  WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
2503
  /ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
2504
  -----END CERTIFICATE-----
2505
-
2506
- AffirmTrust Premium
2507
- ===================
2508
  -----BEGIN CERTIFICATE-----
2509
  MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
2510
  BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
@@ -2531,9 +1845,6 @@ IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60
2531
  g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
2532
  zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
2533
  -----END CERTIFICATE-----
2534
-
2535
- AffirmTrust Premium ECC
2536
- =======================
2537
  -----BEGIN CERTIFICATE-----
2538
  MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
2539
  BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
@@ -2546,9 +1857,6 @@ BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
2546
  57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
2547
  eQ==
2548
  -----END CERTIFICATE-----
2549
-
2550
- Certum Trusted Network CA
2551
- =========================
2552
  -----BEGIN CERTIFICATE-----
2553
  MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
2554
  ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
@@ -2568,9 +1876,6 @@ mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
2568
  Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
2569
  03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
2570
  -----END CERTIFICATE-----
2571
-
2572
- Certinomis - Autorité Racine
2573
- =============================
2574
  -----BEGIN CERTIFICATE-----
2575
  MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
2576
  Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
@@ -2599,67 +1904,6 @@ WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE
2599
  wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/
2600
  vgt2Fl43N+bYdJeimUV5
2601
  -----END CERTIFICATE-----
2602
-
2603
- Root CA Generalitat Valenciana
2604
- ==============================
2605
- -----BEGIN CERTIFICATE-----
2606
- MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE
2607
- ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290
2608
- IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3
2609
- WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE
2610
- CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G
2611
- CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2
2612
- F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B
2613
- ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ
2614
- D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte
2615
- JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB
2616
- AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n
2617
- dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB
2618
- ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl
2619
- AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA
2620
- YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy
2621
- AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA
2622
- aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt
2623
- AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA
2624
- YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu
2625
- AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA
2626
- OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0
2627
- dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV
2628
- BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G
2629
- A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S
2630
- b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh
2631
- TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz
2632
- Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63
2633
- NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH
2634
- iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt
2635
- +GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=
2636
- -----END CERTIFICATE-----
2637
-
2638
- A-Trust-nQual-03
2639
- ================
2640
- -----BEGIN CERTIFICATE-----
2641
- MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE
2642
- Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy
2643
- a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R
2644
- dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw
2645
- RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0
2646
- ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1
2647
- c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA
2648
- zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n
2649
- yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE
2650
- SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4
2651
- iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V
2652
- cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV
2653
- eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40
2654
- ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr
2655
- sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd
2656
- JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS
2657
- mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6
2658
- ahq97BvIxYSazQ==
2659
- -----END CERTIFICATE-----
2660
-
2661
- TWCA Root Certification Authority
2662
- =================================
2663
  -----BEGIN CERTIFICATE-----
2664
  MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
2665
  VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
@@ -2678,9 +1922,6 @@ QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
2678
  T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
2679
  Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
2680
  -----END CERTIFICATE-----
2681
-
2682
- Security Communication RootCA2
2683
- ==============================
2684
  -----BEGIN CERTIFICATE-----
2685
  MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
2686
  U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
@@ -2699,9 +1940,6 @@ u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk
2699
  tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
2700
  mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
2701
  -----END CERTIFICATE-----
2702
-
2703
- EC-ACC
2704
- ======
2705
  -----BEGIN CERTIFICATE-----
2706
  MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
2707
  BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
@@ -2729,9 +1967,6 @@ l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
2729
  E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
2730
  5EI=
2731
  -----END CERTIFICATE-----
2732
-
2733
- Hellenic Academic and Research Institutions RootCA 2011
2734
- =======================================================
2735
  -----BEGIN CERTIFICATE-----
2736
  MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
2737
  O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
@@ -2753,9 +1988,6 @@ TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
2753
  /md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
2754
  7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
2755
  -----END CERTIFICATE-----
2756
-
2757
- Actalis Authentication Root CA
2758
- ==============================
2759
  -----BEGIN CERTIFICATE-----
2760
  MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
2761
  BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
@@ -2784,9 +2016,6 @@ lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem
2784
  OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
2785
  vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
2786
  -----END CERTIFICATE-----
2787
-
2788
- Trustis FPS Root CA
2789
- ===================
2790
  -----BEGIN CERTIFICATE-----
2791
  MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
2792
  EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
@@ -2805,9 +2034,6 @@ yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
2805
  l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
2806
  iB6XzCGcKQENZetX2fNXlrtIzYE=
2807
  -----END CERTIFICATE-----
2808
-
2809
- StartCom Certification Authority
2810
- ================================
2811
  -----BEGIN CERTIFICATE-----
2812
  MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
2813
  U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
@@ -2844,9 +2070,6 @@ HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
2844
  JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib
2845
  D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=
2846
  -----END CERTIFICATE-----
2847
-
2848
- StartCom Certification Authority G2
2849
- ===================================
2850
  -----BEGIN CERTIFICATE-----
2851
  MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
2852
  U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
@@ -2874,9 +2097,6 @@ l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm
2874
  7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm
2875
  obp573PYtlNXLfbQ4ddI
2876
  -----END CERTIFICATE-----
2877
-
2878
- Buypass Class 2 Root CA
2879
- =======================
2880
  -----BEGIN CERTIFICATE-----
2881
  MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
2882
  QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
@@ -2904,9 +2124,6 @@ wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
2904
  CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
2905
  rJgWVqA=
2906
  -----END CERTIFICATE-----
2907
-
2908
- Buypass Class 3 Root CA
2909
- =======================
2910
  -----BEGIN CERTIFICATE-----
2911
  MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
2912
  QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
@@ -2934,9 +2151,6 @@ UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
2934
  eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
2935
  Cp/HuZc=
2936
  -----END CERTIFICATE-----
2937
-
2938
- T-TeleSec GlobalRoot Class 3
2939
- ============================
2940
  -----BEGIN CERTIFICATE-----
2941
  MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
2942
  IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
@@ -2956,9 +2170,6 @@ ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
2956
  P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
2957
  e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
2958
  -----END CERTIFICATE-----
2959
-
2960
- EE Certification Centre Root CA
2961
- ===============================
2962
  -----BEGIN CERTIFICATE-----
2963
  MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
2964
  EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
@@ -2980,9 +2191,6 @@ uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
2980
  3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
2981
  dcGWxZ0=
2982
  -----END CERTIFICATE-----
2983
-
2984
- TURKTRUST Certificate Services Provider Root 2007
2985
- =================================================
2986
  -----BEGIN CERTIFICATE-----
2987
  MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
2988
  bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
@@ -3005,9 +2213,6 @@ Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb
3005
  BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK
3006
  poRq0Tl9
3007
  -----END CERTIFICATE-----
3008
-
3009
- D-TRUST Root Class 3 CA 2 2009
3010
- ==============================
3011
  -----BEGIN CERTIFICATE-----
3012
  MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK
3013
  DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe
@@ -3029,9 +2234,6 @@ o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV
3029
  dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph
3030
  X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I=
3031
  -----END CERTIFICATE-----
3032
-
3033
- D-TRUST Root Class 3 CA 2 EV 2009
3034
- =================================
3035
  -----BEGIN CERTIFICATE-----
3036
  MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
3037
  DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
@@ -3054,9 +2256,6 @@ ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA
3054
  NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
3055
  w9y4AyHqnxbxLFS1
3056
  -----END CERTIFICATE-----
3057
-
3058
- PSCProcert
3059
- ==========
3060
  -----BEGIN CERTIFICATE-----
3061
  MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk
3062
  ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ
@@ -3102,9 +2301,6 @@ FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo
3102
  poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y
3103
  eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
3104
  -----END CERTIFICATE-----
3105
-
3106
- China Internet Network Information Center EV Certificates Root
3107
- ==============================================================
3108
  -----BEGIN CERTIFICATE-----
3109
  MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV
3110
  BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D
@@ -3125,9 +2321,6 @@ glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5
3125
  ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0
3126
  5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8=
3127
  -----END CERTIFICATE-----
3128
-
3129
- Swisscom Root CA 2
3130
- ==================
3131
  -----BEGIN CERTIFICATE-----
3132
  MIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQG
3133
  EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
@@ -3157,9 +2350,6 @@ mA9LSHokMnWRn6z3aOkquVVlzl1h0ydw2Df+n7mvoC5Wt6NlUe07qxS/TFED6F+KBZvuim6c779o
3157
  rvJcwhbtkj6EPnNgiLx29CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX
3158
  5OfNeOI5wSsSnqaeG8XmDtkx2Q==
3159
  -----END CERTIFICATE-----
3160
-
3161
- Swisscom Root EV CA 2
3162
- =====================
3163
  -----BEGIN CERTIFICATE-----
3164
  MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE
3165
  BhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdpdGFsIENlcnRpZmljYXRlIFNl
@@ -3189,9 +2379,6 @@ HmBR3NdUIR7KYndP+tiPsys6DXhyyWhBWkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/gi
3189
  uMod89a2GQ+fYWVq6nTIfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuW
3190
  l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc=
3191
  -----END CERTIFICATE-----
3192
-
3193
- CA Disig Root R1
3194
- ================
3195
  -----BEGIN CERTIFICATE-----
3196
  MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw
3197
  EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
@@ -3219,9 +2406,6 @@ lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N
3219
  UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ
3220
  a7+h89n07eLw4+1knj0vllJPgFOL
3221
  -----END CERTIFICATE-----
3222
-
3223
- CA Disig Root R2
3224
- ================
3225
  -----BEGIN CERTIFICATE-----
3226
  MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw
3227
  EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
@@ -3249,9 +2433,6 @@ sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg
3249
  UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV
3250
  7+ZtsH8tZ/3zbBt1RqPlShfppNcL
3251
  -----END CERTIFICATE-----
3252
-
3253
- ACCVRAIZ1
3254
- =========
3255
  -----BEGIN CERTIFICATE-----
3256
  MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB
3257
  SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
@@ -3290,9 +2471,6 @@ Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd
3290
  3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p
3291
  EfbRD0tVNEYqi4Y7
3292
  -----END CERTIFICATE-----
3293
-
3294
- TWCA Global Root CA
3295
- ===================
3296
  -----BEGIN CERTIFICATE-----
3297
  MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT
3298
  CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
@@ -3319,9 +2497,6 @@ i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8
3319
  EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
3320
  zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
3321
  -----END CERTIFICATE-----
3322
-
3323
- TeliaSonera Root CA v1
3324
- ======================
3325
  -----BEGIN CERTIFICATE-----
3326
  MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE
3327
  CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4
@@ -3348,9 +2523,6 @@ qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6
3348
  Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems
3349
  WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
3350
  -----END CERTIFICATE-----
3351
-
3352
- E-Tugra Certification Authority
3353
- ===============================
3354
  -----BEGIN CERTIFICATE-----
3355
  MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w
3356
  DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls
@@ -3382,9 +2554,6 @@ Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0
3382
  8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G
3383
  C7TbO6Orb1wdtn7os4I07QZcJA==
3384
  -----END CERTIFICATE-----
3385
-
3386
- T-TeleSec GlobalRoot Class 2
3387
- ============================
3388
  -----BEGIN CERTIFICATE-----
3389
  MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
3390
  IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
@@ -3404,9 +2573,6 @@ vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR
3404
  3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
3405
  9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
3406
  -----END CERTIFICATE-----
3407
-
3408
- Atos TrustedRoot 2011
3409
- =====================
3410
  -----BEGIN CERTIFICATE-----
3411
  MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
3412
  cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
@@ -3425,9 +2591,6 @@ TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9
3425
  61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
3426
  3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
3427
  -----END CERTIFICATE-----
3428
-
3429
- QuoVadis Root CA 1 G3
3430
- =====================
3431
  -----BEGIN CERTIFICATE-----
3432
  MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG
3433
  A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
@@ -3455,9 +2618,6 @@ O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0
3455
  FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV
3456
  hMJKzRwuJIczYOXD
3457
  -----END CERTIFICATE-----
3458
-
3459
- QuoVadis Root CA 2 G3
3460
- =====================
3461
  -----BEGIN CERTIFICATE-----
3462
  MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG
3463
  A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
@@ -3485,9 +2645,6 @@ zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN
3485
  JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr
3486
  O3jtZsSOeWmD3n+M
3487
  -----END CERTIFICATE-----
3488
-
3489
- QuoVadis Root CA 3 G3
3490
- =====================
3491
  -----BEGIN CERTIFICATE-----
3492
  MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG
3493
  A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
@@ -3515,9 +2672,6 @@ hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX
3515
  dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2
3516
  PpxxVJkES/1Y+Zj0
3517
  -----END CERTIFICATE-----
3518
-
3519
- DigiCert Assured ID Root G2
3520
- ===========================
3521
  -----BEGIN CERTIFICATE-----
3522
  MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG
3523
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
@@ -3537,9 +2691,6 @@ hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M
3537
  jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
3538
  IhNzbM8m9Yop5w==
3539
  -----END CERTIFICATE-----
3540
-
3541
- DigiCert Assured ID Root G3
3542
- ===========================
3543
  -----BEGIN CERTIFICATE-----
3544
  MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV
3545
  UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD
@@ -3553,9 +2704,6 @@ UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy
3553
  YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy
3554
  1vUhZscv6pZjamVFkpUBtA==
3555
  -----END CERTIFICATE-----
3556
-
3557
- DigiCert Global Root G2
3558
- =======================
3559
  -----BEGIN CERTIFICATE-----
3560
  MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG
3561
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
@@ -3575,9 +2723,6 @@ QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/
3575
  iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
3576
  MrY=
3577
  -----END CERTIFICATE-----
3578
-
3579
- DigiCert Global Root G3
3580
- =======================
3581
  -----BEGIN CERTIFICATE-----
3582
  MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV
3583
  UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD
@@ -3591,9 +2736,6 @@ Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y
3591
  3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34
3592
  VOKa5Vt8sycX
3593
  -----END CERTIFICATE-----
3594
-
3595
- DigiCert Trusted Root G4
3596
- ========================
3597
  -----BEGIN CERTIFICATE-----
3598
  MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG
3599
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
@@ -3622,9 +2764,6 @@ ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN
3622
  G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP
3623
  82Z+
3624
  -----END CERTIFICATE-----
3625
-
3626
- WoSign
3627
- ======
3628
  -----BEGIN CERTIFICATE-----
3629
  MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQG
3630
  EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNVBAMTIUNlcnRpZmljYXRpb24g
@@ -3652,9 +2791,6 @@ mVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+J7x6v+Db9NpSvd4MVHAx
3652
  kUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMlOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGi
3653
  kpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWTee5Ehr7XHuQe+w==
3654
  -----END CERTIFICATE-----
3655
-
3656
- WoSign China
3657
- ============
3658
  -----BEGIN CERTIFICATE-----
3659
  MIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQG
3660
  EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMMEkNBIOayg+mAmuagueiv
@@ -3682,9 +2818,6 @@ ONFLAzkopR6RctR9q5czxNM+4Gm2KHmgCY0c0f9BckgG/Jou5yD5m6Leie2uPAmvylezkolwQOQv
3682
  T8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR12KvxAmLBsX5VYc8T1yaw15zLKYs4SgsO
3683
  kI26oQ==
3684
  -----END CERTIFICATE-----
3685
-
3686
- COMODO RSA Certification Authority
3687
- ==================================
3688
  -----BEGIN CERTIFICATE-----
3689
  MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE
3690
  BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
@@ -3714,9 +2847,6 @@ ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52
3714
  7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I
3715
  LaZRfyHBNVOFBkpdn627G190
3716
  -----END CERTIFICATE-----
3717
-
3718
- USERTrust RSA Certification Authority
3719
- =====================================
3720
  -----BEGIN CERTIFICATE-----
3721
  MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE
3722
  BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK
@@ -3746,9 +2876,6 @@ J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw
3746
  sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx
3747
  Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9
3748
  -----END CERTIFICATE-----
3749
-
3750
- USERTrust ECC Certification Authority
3751
- =====================================
3752
  -----BEGIN CERTIFICATE-----
3753
  MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC
3754
  VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
@@ -3763,9 +2890,6 @@ HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB
3763
  HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu
3764
  9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=
3765
  -----END CERTIFICATE-----
3766
-
3767
- GlobalSign ECC Root CA - R4
3768
- ===========================
3769
  -----BEGIN CERTIFICATE-----
3770
  MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb
3771
  R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
@@ -3777,9 +2901,6 @@ AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV
3777
  MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF
3778
  JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q=
3779
  -----END CERTIFICATE-----
3780
-
3781
- GlobalSign ECC Root CA - R5
3782
- ===========================
3783
  -----BEGIN CERTIFICATE-----
3784
  MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb
3785
  R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
@@ -3792,9 +2913,6 @@ BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx
3792
  uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7
3793
  yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3
3794
  -----END CERTIFICATE-----
3795
-
3796
- Staat der Nederlanden Root CA - G3
3797
- ==================================
3798
  -----BEGIN CERTIFICATE-----
3799
  MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
3800
  CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
@@ -3822,9 +2940,6 @@ mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq
3822
  JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV
3823
  tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk=
3824
  -----END CERTIFICATE-----
3825
-
3826
- Staat der Nederlanden EV Root CA
3827
- ================================
3828
  -----BEGIN CERTIFICATE-----
3829
  MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE
3830
  CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
@@ -3852,9 +2967,6 @@ WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK
3852
  DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy
3853
  eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg==
3854
  -----END CERTIFICATE-----
3855
-
3856
- IdenTrust Commercial Root CA 1
3857
- ==============================
3858
  -----BEGIN CERTIFICATE-----
3859
  MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG
3860
  EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS
@@ -3882,9 +2994,6 @@ kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe
3882
  Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R
3883
  cGzM7vRX+Bi6hG6H
3884
  -----END CERTIFICATE-----
3885
-
3886
- IdenTrust Public Sector Root CA 1
3887
- =================================
3888
  -----BEGIN CERTIFICATE-----
3889
  MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG
3890
  EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv
@@ -3912,9 +3021,6 @@ ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC
3912
  ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ
3913
  3Wl9af0AVqW3rLatt8o+Ae+c
3914
  -----END CERTIFICATE-----
3915
-
3916
- Entrust Root Certification Authority - G2
3917
- =========================================
3918
  -----BEGIN CERTIFICATE-----
3919
  MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV
3920
  BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy
@@ -3937,9 +3043,6 @@ nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+
3937
  vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO
3938
  e4pIb4tF9g==
3939
  -----END CERTIFICATE-----
3940
-
3941
- Entrust Root Certification Authority - EC1
3942
- ==========================================
3943
  -----BEGIN CERTIFICATE-----
3944
  MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx
3945
  FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn
@@ -3956,9 +3059,6 @@ FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h
3956
  vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8
3957
  kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
3958
  -----END CERTIFICATE-----
3959
-
3960
- CFCA EV ROOT
3961
- ============
3962
  -----BEGIN CERTIFICATE-----
3963
  MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE
3964
  CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB
@@ -3986,3 +3086,465 @@ PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX
3986
  kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C
3987
  ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
3988
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  -----BEGIN CERTIFICATE-----
2
  MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
3
  GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
16
  hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
17
  X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
18
  -----END CERTIFICATE-----
 
 
 
19
  -----BEGIN CERTIFICATE-----
20
  MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
21
  YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
35
  9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
36
  TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
37
  -----END CERTIFICATE-----
 
 
 
38
  -----BEGIN CERTIFICATE-----
39
  MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
40
  UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
56
  xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
57
  t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
58
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  -----BEGIN CERTIFICATE-----
60
  MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
61
  ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
77
  J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
78
  nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
79
  -----END CERTIFICATE-----
 
 
 
80
  -----BEGIN CERTIFICATE-----
81
  MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
82
  ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
95
  Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
96
  RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
97
  -----END CERTIFICATE-----
 
 
 
98
  -----BEGIN CERTIFICATE-----
99
  MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
100
  QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
116
  mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
117
  ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
118
  -----END CERTIFICATE-----
 
 
 
119
  -----BEGIN CERTIFICATE-----
120
  MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
121
  QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
137
  e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
138
  G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
139
  -----END CERTIFICATE-----
 
 
 
140
  -----BEGIN CERTIFICATE-----
141
  MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
142
  QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
158
  Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
159
  EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
160
  -----END CERTIFICATE-----
 
 
 
161
  -----BEGIN CERTIFICATE-----
162
  MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
163
  QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
179
  RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
180
  iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
181
  -----END CERTIFICATE-----
 
 
 
182
  -----BEGIN CERTIFICATE-----
183
  MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
184
  BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
202
  W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
203
  tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
204
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  -----BEGIN CERTIFICATE-----
206
  MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
207
  Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
220
  XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
221
  Mw==
222
  -----END CERTIFICATE-----
 
 
 
223
  -----BEGIN CERTIFICATE-----
224
  MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
225
  R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
238
  x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
239
  H4z1Ir+rzoPz4iIprn2DQKi6bA==
240
  -----END CERTIFICATE-----
 
 
 
241
  -----BEGIN CERTIFICATE-----
242
  MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
243
  R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
265
  p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
266
  P/rmMuGNG2+k5o7Y+SlIis5z/iw=
267
  -----END CERTIFICATE-----
 
 
 
268
  -----BEGIN CERTIFICATE-----
269
  MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
270
  R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
292
  gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
293
  X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
294
  -----END CERTIFICATE-----
 
 
 
295
  -----BEGIN CERTIFICATE-----
296
  MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
297
  EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
311
  YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
312
  398znM/jra6O1I7mT1GvFpLgXPYHDw==
313
  -----END CERTIFICATE-----
 
 
 
314
  -----BEGIN CERTIFICATE-----
315
  MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
316
  ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
327
  0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
328
  qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
329
  -----END CERTIFICATE-----
 
 
 
330
  -----BEGIN CERTIFICATE-----
331
  MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
332
  R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
348
  8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
349
  12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
350
  -----END CERTIFICATE-----
 
 
 
351
  -----BEGIN CERTIFICATE-----
352
  MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
353
  R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
370
  pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
371
  RR3B7Hzs/Sk=
372
  -----END CERTIFICATE-----
 
 
 
373
  -----BEGIN CERTIFICATE-----
374
  MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
375
  R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
392
  R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
393
  9y5Xt5hwXsjEeLBi
394
  -----END CERTIFICATE-----
 
 
 
395
  -----BEGIN CERTIFICATE-----
396
  MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
397
  ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
421
  5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
422
  5nrQNiOKSnQ2+Q==
423
  -----END CERTIFICATE-----
 
 
 
424
  -----BEGIN CERTIFICATE-----
425
  MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
426
  EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
449
  4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
450
  VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
451
  -----END CERTIFICATE-----
 
 
 
452
  -----BEGIN CERTIFICATE-----
453
  MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
454
  EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
481
  vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
482
  qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
483
  -----END CERTIFICATE-----
 
 
 
484
  -----BEGIN CERTIFICATE-----
485
  MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
486
  U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
499
  6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
500
  FL39vmwLAw==
501
  -----END CERTIFICATE-----
 
 
 
502
  -----BEGIN CERTIFICATE-----
503
  MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
504
  U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
516
  EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
517
  llpwrN9M
518
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
519
  -----BEGIN CERTIFICATE-----
520
  MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
521
  BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
539
  iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
540
  nfhmqA==
541
  -----END CERTIFICATE-----
 
 
 
542
  -----BEGIN CERTIFICATE-----
543
  MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
544
  QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
563
  ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
564
  erfutGWaIZDgqtCYvDi1czyL+Nw=
565
  -----END CERTIFICATE-----
 
 
 
566
  -----BEGIN CERTIFICATE-----
567
  MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
568
  QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
587
  IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
588
  t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
589
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
590
  -----BEGIN CERTIFICATE-----
591
  MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
592
  BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
608
  nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
609
  8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
610
  -----END CERTIFICATE-----
 
 
 
611
  -----BEGIN CERTIFICATE-----
612
  MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
613
  VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
629
  Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
630
  vZ8=
631
  -----END CERTIFICATE-----
 
 
 
632
  -----BEGIN CERTIFICATE-----
633
  MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
634
  U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
650
  KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
651
  QBFGmh95DmK/D5fs4C8fF5Q=
652
  -----END CERTIFICATE-----
 
 
 
653
  -----BEGIN CERTIFICATE-----
654
  MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
655
  U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
688
  lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
689
  g14=
690
  -----END CERTIFICATE-----
 
 
 
691
  -----BEGIN CERTIFICATE-----
692
  MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
693
  EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
715
  CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
716
  +fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
717
  -----END CERTIFICATE-----
 
 
 
718
  -----BEGIN CERTIFICATE-----
719
  MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
720
  EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
744
  x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
745
  NY6E0F/6MBr1mmz0DlP5OlvRHA==
746
  -----END CERTIFICATE-----
 
 
 
747
  -----BEGIN CERTIFICATE-----
748
  MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
749
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
763
  8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
764
  +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
765
  -----END CERTIFICATE-----
 
 
 
766
  -----BEGIN CERTIFICATE-----
767
  MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
768
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
782
  UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
783
  CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
784
  -----END CERTIFICATE-----
 
 
 
785
  -----BEGIN CERTIFICATE-----
786
  MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
787
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
801
  mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
802
  vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
803
  -----END CERTIFICATE-----
 
 
 
804
  -----BEGIN CERTIFICATE-----
805
  MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
806
  BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
820
  //1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
821
  l7+ijrRU
822
  -----END CERTIFICATE-----
 
 
 
823
  -----BEGIN CERTIFICATE-----
824
  MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
825
  ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
837
  RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
838
  fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
839
  -----END CERTIFICATE-----
 
 
 
840
  -----BEGIN CERTIFICATE-----
841
  MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
842
  EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
858
  vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
859
  oKfN5XozNmr6mis=
860
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
861
  -----BEGIN CERTIFICATE-----
862
  MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
863
  EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
886
  NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
887
  viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
888
  -----END CERTIFICATE-----
 
 
 
889
  -----BEGIN CERTIFICATE-----
890
  MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
891
  BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
914
  DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
915
  DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
916
  -----END CERTIFICATE-----
 
 
 
917
  -----BEGIN CERTIFICATE-----
918
  MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
919
  EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
932
  Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
933
  1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
934
  -----END CERTIFICATE-----
 
 
 
935
  -----BEGIN CERTIFICATE-----
936
  MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
937
  BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
953
  jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
954
  z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
955
  -----END CERTIFICATE-----
 
 
 
956
  -----BEGIN CERTIFICATE-----
957
  MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
958
  BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
977
  Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
978
  ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
979
  -----END CERTIFICATE-----
 
 
 
980
  -----BEGIN CERTIFICATE-----
981
  MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
982
  EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
996
  nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
997
  3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
998
  -----END CERTIFICATE-----
 
 
 
999
  -----BEGIN CERTIFICATE-----
1000
  MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
1001
  EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
1015
  3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
1016
  f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
1017
  -----END CERTIFICATE-----
 
 
 
1018
  -----BEGIN CERTIFICATE-----
1019
  MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
1020
  BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
1036
  IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
1037
  +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
1038
  -----END CERTIFICATE-----
 
 
 
1039
  -----BEGIN CERTIFICATE-----
1040
  MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
1041
  EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
1056
  wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
1057
  ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
1058
  -----END CERTIFICATE-----
 
 
 
1059
  -----BEGIN CERTIFICATE-----
1060
  MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM
1061
  F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw
1080
  E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ
1081
  tylv2G0xffX8oRAHh84vWdw+WNs=
1082
  -----END CERTIFICATE-----
 
 
 
1083
  -----BEGIN CERTIFICATE-----
1084
  MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
1085
  R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
1094
  FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
1095
  U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
1096
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1097
  -----BEGIN CERTIFICATE-----
1098
  MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
1099
  U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh
1112
  mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW
1113
  T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
1114
  -----END CERTIFICATE-----
 
 
 
1115
  -----BEGIN CERTIFICATE-----
1116
  MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
1117
  BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
1132
  hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
1133
  okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
1134
  -----END CERTIFICATE-----
 
 
 
1135
  -----BEGIN CERTIFICATE-----
1136
  MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE
1137
  BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL
1169
  yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB
1170
  S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU=
1171
  -----END CERTIFICATE-----
 
 
 
1172
  -----BEGIN CERTIFICATE-----
1173
  MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
1174
  EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
1188
  1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
1189
  WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
1190
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1191
  -----BEGIN CERTIFICATE-----
1192
  MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
1193
  RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
1207
  dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
1208
  Cm26OWMohpLzGITY+9HPBVZkVw==
1209
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1210
  -----BEGIN CERTIFICATE-----
1211
  MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
1212
  ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
1226
  X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
1227
  WL1WMRJOEcgh4LMRkWXbtKaIOM5V
1228
  -----END CERTIFICATE-----
 
 
 
1229
  -----BEGIN CERTIFICATE-----
1230
  MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
1231
  EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
1254
  sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
1255
  BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
1256
  -----END CERTIFICATE-----
 
 
 
1257
  -----BEGIN CERTIFICATE-----
1258
  MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH
1259
  DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q
1279
  LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
1280
  dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
1281
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1282
  -----BEGIN CERTIFICATE-----
1283
  MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
1284
  VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
1296
  vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
1297
  TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
1298
  -----END CERTIFICATE-----
 
 
 
1299
  -----BEGIN CERTIFICATE-----
1300
  MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE
1301
  ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw
1314
  G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m
1315
  mxE=
1316
  -----END CERTIFICATE-----
 
 
 
1317
  -----BEGIN CERTIFICATE-----
1318
  MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT
1319
  SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw
1333
  dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL
1334
  rosot4LKGAfmt1t06SAZf7IbiVQ=
1335
  -----END CERTIFICATE-----
 
 
 
1336
  -----BEGIN CERTIFICATE-----
1337
  MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
1338
  BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
1353
  AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
1354
  t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
1355
  -----END CERTIFICATE-----
 
 
 
1356
  -----BEGIN CERTIFICATE-----
1357
  MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
1358
  VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
1367
  G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
1368
  rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
1369
  -----END CERTIFICATE-----
 
 
 
1370
  -----BEGIN CERTIFICATE-----
1371
  MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
1372
  BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
1388
  8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
1389
  er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
1390
  -----END CERTIFICATE-----
 
 
 
1391
  -----BEGIN CERTIFICATE-----
1392
  MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
1393
  VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
1403
  ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
1404
  npaqBA+K
1405
  -----END CERTIFICATE-----
 
 
 
1406
  -----BEGIN CERTIFICATE-----
1407
  MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
1408
  BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
1427
  wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
1428
  mJO37M2CYfE45k+XmCpajQ==
1429
  -----END CERTIFICATE-----
 
 
 
1430
  -----BEGIN CERTIFICATE-----
1431
  MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
1432
  VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
1445
  A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
1446
  AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
1447
  -----END CERTIFICATE-----
 
 
 
1448
  -----BEGIN CERTIFICATE-----
1449
  MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
1450
  A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
1466
  NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
1467
  dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
1468
  -----END CERTIFICATE-----
 
 
 
1469
  -----BEGIN CERTIFICATE-----
1470
  MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
1471
  CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
1495
  IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
1496
  66+KAQ==
1497
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1498
  -----BEGIN CERTIFICATE-----
1499
  MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
1500
  DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
1512
  T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
1513
  c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
1514
  -----END CERTIFICATE-----
 
 
 
1515
  -----BEGIN CERTIFICATE-----
1516
  MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
1517
  SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
1530
  y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
1531
  lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
1532
  -----END CERTIFICATE-----
 
 
 
1533
  -----BEGIN CERTIFICATE-----
1534
  MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD
1535
  T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4
1558
  MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
1559
  tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
1560
  -----END CERTIFICATE-----
 
 
 
1561
  -----BEGIN CERTIFICATE-----
1562
  MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
1563
  MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
1579
  yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
1580
  LXpUq3DDfSJlgnCW
1581
  -----END CERTIFICATE-----
 
 
 
1582
  -----BEGIN CERTIFICATE-----
1583
  MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
1584
  YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
1597
  YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
1598
  kpeDMdmztcpHWD9f
1599
  -----END CERTIFICATE-----
 
 
 
1600
  -----BEGIN CERTIFICATE-----
1601
  MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
1602
  BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
1627
  KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
1628
  6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
1629
  -----END CERTIFICATE-----
 
 
 
1630
  -----BEGIN CERTIFICATE-----
1631
  MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
1632
  EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
1656
  Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
1657
  WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
1658
  -----END CERTIFICATE-----
 
 
 
1659
  -----BEGIN CERTIFICATE-----
1660
  MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
1661
  MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
1691
  nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
1692
  OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
1693
  -----END CERTIFICATE-----
 
 
 
1694
  -----BEGIN CERTIFICATE-----
1695
  MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
1696
  MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
1726
  c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
1727
  09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
1728
  -----END CERTIFICATE-----
 
 
 
1729
  -----BEGIN CERTIFICATE-----
1730
  MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
1731
  B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
1745
  N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
1746
  LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
1747
  -----END CERTIFICATE-----
 
 
 
1748
  -----BEGIN CERTIFICATE-----
1749
  MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
1750
  B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
1765
  pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
1766
  c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
1767
  -----END CERTIFICATE-----
 
 
 
1768
  -----BEGIN CERTIFICATE-----
1769
  MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
1770
  B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
1785
  iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
1786
  YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
1787
  -----END CERTIFICATE-----
 
 
 
1788
  -----BEGIN CERTIFICATE-----
1789
  MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
1790
  BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
1802
  0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
1803
  sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
1804
  -----END CERTIFICATE-----
 
 
 
1805
  -----BEGIN CERTIFICATE-----
1806
  MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
1807
  BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
1819
  WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
1820
  /ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
1821
  -----END CERTIFICATE-----
 
 
 
1822
  -----BEGIN CERTIFICATE-----
1823
  MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
1824
  BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
1845
  g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
1846
  zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
1847
  -----END CERTIFICATE-----
 
 
 
1848
  -----BEGIN CERTIFICATE-----
1849
  MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
1850
  BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
1857
  57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
1858
  eQ==
1859
  -----END CERTIFICATE-----
 
 
 
1860
  -----BEGIN CERTIFICATE-----
1861
  MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
1862
  ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
1876
  Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
1877
  03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
1878
  -----END CERTIFICATE-----
 
 
 
1879
  -----BEGIN CERTIFICATE-----
1880
  MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
1881
  Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
1904
  wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/
1905
  vgt2Fl43N+bYdJeimUV5
1906
  -----END CERTIFICATE-----
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1907
  -----BEGIN CERTIFICATE-----
1908
  MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
1909
  VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
1922
  T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
1923
  Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
1924
  -----END CERTIFICATE-----
 
 
 
1925
  -----BEGIN CERTIFICATE-----
1926
  MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
1927
  U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
1940
  tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
1941
  mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
1942
  -----END CERTIFICATE-----
 
 
 
1943
  -----BEGIN CERTIFICATE-----
1944
  MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
1945
  BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
1967
  E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
1968
  5EI=
1969
  -----END CERTIFICATE-----
 
 
 
1970
  -----BEGIN CERTIFICATE-----
1971
  MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
1972
  O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
1988
  /md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
1989
  7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
1990
  -----END CERTIFICATE-----
 
 
 
1991
  -----BEGIN CERTIFICATE-----
1992
  MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
1993
  BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
2016
  OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
2017
  vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
2018
  -----END CERTIFICATE-----
 
 
 
2019
  -----BEGIN CERTIFICATE-----
2020
  MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
2021
  EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
2034
  l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
2035
  iB6XzCGcKQENZetX2fNXlrtIzYE=
2036
  -----END CERTIFICATE-----
 
 
 
2037
  -----BEGIN CERTIFICATE-----
2038
  MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
2039
  U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
2070
  JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib
2071
  D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=
2072
  -----END CERTIFICATE-----
 
 
 
2073
  -----BEGIN CERTIFICATE-----
2074
  MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
2075
  U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
2097
  7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm
2098
  obp573PYtlNXLfbQ4ddI
2099
  -----END CERTIFICATE-----
 
 
 
2100
  -----BEGIN CERTIFICATE-----
2101
  MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
2102
  QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
2124
  CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
2125
  rJgWVqA=
2126
  -----END CERTIFICATE-----
 
 
 
2127
  -----BEGIN CERTIFICATE-----
2128
  MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
2129
  QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
2151
  eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
2152
  Cp/HuZc=
2153
  -----END CERTIFICATE-----
 
 
 
2154
  -----BEGIN CERTIFICATE-----
2155
  MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
2156
  IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
2170
  P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
2171
  e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
2172
  -----END CERTIFICATE-----
 
 
 
2173
  -----BEGIN CERTIFICATE-----
2174
  MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
2175
  EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
2191
  3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
2192
  dcGWxZ0=
2193
  -----END CERTIFICATE-----
 
 
 
2194
  -----BEGIN CERTIFICATE-----
2195
  MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
2196
  bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
2213
  BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK
2214
  poRq0Tl9
2215
  -----END CERTIFICATE-----
 
 
 
2216
  -----BEGIN CERTIFICATE-----
2217
  MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK
2218
  DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe
2234
  dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph
2235
  X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I=
2236
  -----END CERTIFICATE-----
 
 
 
2237
  -----BEGIN CERTIFICATE-----
2238
  MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
2239
  DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
2256
  NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
2257
  w9y4AyHqnxbxLFS1
2258
  -----END CERTIFICATE-----
 
 
 
2259
  -----BEGIN CERTIFICATE-----
2260
  MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk
2261
  ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ
2301
  poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y
2302
  eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
2303
  -----END CERTIFICATE-----
 
 
 
2304
  -----BEGIN CERTIFICATE-----
2305
  MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV
2306
  BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D
2321
  ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0
2322
  5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8=
2323
  -----END CERTIFICATE-----
 
 
 
2324
  -----BEGIN CERTIFICATE-----
2325
  MIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQG
2326
  EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
2350
  rvJcwhbtkj6EPnNgiLx29CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX
2351
  5OfNeOI5wSsSnqaeG8XmDtkx2Q==
2352
  -----END CERTIFICATE-----
 
 
 
2353
  -----BEGIN CERTIFICATE-----
2354
  MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE
2355
  BhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdpdGFsIENlcnRpZmljYXRlIFNl
2379
  uMod89a2GQ+fYWVq6nTIfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuW
2380
  l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc=
2381
  -----END CERTIFICATE-----
 
 
 
2382
  -----BEGIN CERTIFICATE-----
2383
  MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw
2384
  EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
2406
  UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ
2407
  a7+h89n07eLw4+1knj0vllJPgFOL
2408
  -----END CERTIFICATE-----
 
 
 
2409
  -----BEGIN CERTIFICATE-----
2410
  MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw
2411
  EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
2433
  UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV
2434
  7+ZtsH8tZ/3zbBt1RqPlShfppNcL
2435
  -----END CERTIFICATE-----
 
 
 
2436
  -----BEGIN CERTIFICATE-----
2437
  MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB
2438
  SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
2471
  3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p
2472
  EfbRD0tVNEYqi4Y7
2473
  -----END CERTIFICATE-----
 
 
 
2474
  -----BEGIN CERTIFICATE-----
2475
  MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT
2476
  CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
2497
  EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
2498
  zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
2499
  -----END CERTIFICATE-----
 
 
 
2500
  -----BEGIN CERTIFICATE-----
2501
  MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE
2502
  CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4
2523
  Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems
2524
  WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
2525
  -----END CERTIFICATE-----
 
 
 
2526
  -----BEGIN CERTIFICATE-----
2527
  MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w
2528
  DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls
2554
  8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G
2555
  C7TbO6Orb1wdtn7os4I07QZcJA==
2556
  -----END CERTIFICATE-----
 
 
 
2557
  -----BEGIN CERTIFICATE-----
2558
  MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
2559
  IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
2573
  3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
2574
  9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
2575
  -----END CERTIFICATE-----
 
 
 
2576
  -----BEGIN CERTIFICATE-----
2577
  MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
2578
  cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
2591
  61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
2592
  3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
2593
  -----END CERTIFICATE-----
 
 
 
2594
  -----BEGIN CERTIFICATE-----
2595
  MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG
2596
  A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
2618
  FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV
2619
  hMJKzRwuJIczYOXD
2620
  -----END CERTIFICATE-----
 
 
 
2621
  -----BEGIN CERTIFICATE-----
2622
  MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG
2623
  A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
2645
  JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr
2646
  O3jtZsSOeWmD3n+M
2647
  -----END CERTIFICATE-----
 
 
 
2648
  -----BEGIN CERTIFICATE-----
2649
  MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG
2650
  A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
2672
  dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2
2673
  PpxxVJkES/1Y+Zj0
2674
  -----END CERTIFICATE-----
 
 
 
2675
  -----BEGIN CERTIFICATE-----
2676
  MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG
2677
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
2691
  jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
2692
  IhNzbM8m9Yop5w==
2693
  -----END CERTIFICATE-----
 
 
 
2694
  -----BEGIN CERTIFICATE-----
2695
  MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV
2696
  UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD
2704
  YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy
2705
  1vUhZscv6pZjamVFkpUBtA==
2706
  -----END CERTIFICATE-----
 
 
 
2707
  -----BEGIN CERTIFICATE-----
2708
  MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG
2709
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
2723
  iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
2724
  MrY=
2725
  -----END CERTIFICATE-----
 
 
 
2726
  -----BEGIN CERTIFICATE-----
2727
  MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV
2728
  UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD
2736
  3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34
2737
  VOKa5Vt8sycX
2738
  -----END CERTIFICATE-----
 
 
 
2739
  -----BEGIN CERTIFICATE-----
2740
  MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG
2741
  EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
2764
  G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP
2765
  82Z+
2766
  -----END CERTIFICATE-----
 
 
 
2767
  -----BEGIN CERTIFICATE-----
2768
  MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQG
2769
  EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNVBAMTIUNlcnRpZmljYXRpb24g
2791
  kUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMlOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGi
2792
  kpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWTee5Ehr7XHuQe+w==
2793
  -----END CERTIFICATE-----
 
 
 
2794
  -----BEGIN CERTIFICATE-----
2795
  MIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQG
2796
  EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMMEkNBIOayg+mAmuagueiv
2818
  T8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR12KvxAmLBsX5VYc8T1yaw15zLKYs4SgsO
2819
  kI26oQ==
2820
  -----END CERTIFICATE-----
 
 
 
2821
  -----BEGIN CERTIFICATE-----
2822
  MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE
2823
  BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
2847
  7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I
2848
  LaZRfyHBNVOFBkpdn627G190
2849
  -----END CERTIFICATE-----
 
 
 
2850
  -----BEGIN CERTIFICATE-----
2851
  MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE
2852
  BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK
2876
  sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx
2877
  Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9
2878
  -----END CERTIFICATE-----
 
 
 
2879
  -----BEGIN CERTIFICATE-----
2880
  MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC
2881
  VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
2890
  HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu
2891
  9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=
2892
  -----END CERTIFICATE-----
 
 
 
2893
  -----BEGIN CERTIFICATE-----
2894
  MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb
2895
  R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
2901
  MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF
2902
  JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q=
2903
  -----END CERTIFICATE-----
 
 
 
2904
  -----BEGIN CERTIFICATE-----
2905
  MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb
2906
  R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
2913
  uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7
2914
  yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3
2915
  -----END CERTIFICATE-----
 
 
 
2916
  -----BEGIN CERTIFICATE-----
2917
  MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
2918
  CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
2940
  JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV
2941
  tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk=
2942
  -----END CERTIFICATE-----
 
 
 
2943
  -----BEGIN CERTIFICATE-----
2944
  MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE
2945
  CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
2967
  DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy
2968
  eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg==
2969
  -----END CERTIFICATE-----
 
 
 
2970
  -----BEGIN CERTIFICATE-----
2971
  MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG
2972
  EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS
2994
  Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R
2995
  cGzM7vRX+Bi6hG6H
2996
  -----END CERTIFICATE-----
 
 
 
2997
  -----BEGIN CERTIFICATE-----
2998
  MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG
2999
  EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv
3021
  ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ
3022
  3Wl9af0AVqW3rLatt8o+Ae+c
3023
  -----END CERTIFICATE-----
 
 
 
3024
  -----BEGIN CERTIFICATE-----
3025
  MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV
3026
  BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy
3043
  vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO
3044
  e4pIb4tF9g==
3045
  -----END CERTIFICATE-----
 
 
 
3046
  -----BEGIN CERTIFICATE-----
3047
  MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx
3048
  FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn
3059
  vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8
3060
  kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
3061
  -----END CERTIFICATE-----
 
 
 
3062
  -----BEGIN CERTIFICATE-----
3063
  MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE
3064
  CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB
3086
  kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C
3087
  ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
3088
  -----END CERTIFICATE-----
3089
+ -----BEGIN CERTIFICATE-----
3090
+ MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UEBhMCVFIxDzAN
3091
+ BgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
3092
+ bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1Qg
3093
+ RWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAw
3094
+ ODA3MDFaFw0yMzA0MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0w
3095
+ SwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnE
3096
+ n2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRp
3097
+ ZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
3098
+ CgKCAQEApCUZ4WWe60ghUEoI5RHwWrom/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537
3099
+ jVJp45wnEFPzpALFp/kRGml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1m
3100
+ ep5Fimh34khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z5UNP
3101
+ 9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0hO8EuPbJbKoCPrZV
3102
+ 4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QIDAQABo0IwQDAdBgNVHQ4EFgQUVpkH
3103
+ HtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
3104
+ hvcNAQELBQADggEBAJ5FdnsXSDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPo
3105
+ BP5yCccLqh0lVX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq
3106
+ URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nfpeYVhDfwwvJl
3107
+ lpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CFYv4HAqGEVka+lgqaE9chTLd8
3108
+ B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW+qtB4Uu2NQvAmxU=
3109
+ -----END CERTIFICATE-----
3110
+ -----BEGIN CERTIFICATE-----
3111
+ MIIEJjCCAw6gAwIBAgIGfaHyZeyKMA0GCSqGSIb3DQEBCwUAMIGxMQswCQYDVQQGEwJUUjEPMA0G
3112
+ A1UEBwwGQW5rYXJhMU0wSwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
3113
+ acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBF
3114
+ bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg2MB4XDTEzMTIxODA5
3115
+ MDQxMFoXDTIzMTIxNjA5MDQxMFowgbExCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExTTBL
3116
+ BgNVBAoMRFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBCaWxpxZ9pbSBHw7x2ZW5sacSf
3117
+ aSBIaXptZXRsZXJpIEEuxZ4uMUIwQAYDVQQDDDlUw5xSS1RSVVNUIEVsZWt0cm9uaWsgU2VydGlm
3118
+ aWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLEgSDYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
3119
+ AoIBAQCdsGjW6L0UlqMACprx9MfMkU1xeHe59yEmFXNRFpQJRwXiM/VomjX/3EsvMsew7eKC5W/a
3120
+ 2uqsxgbPJQ1BgfbBOCK9+bGlprMBvD9QFyv26WZV1DOzXPhDIHiTVRZwGTLmiddk671IUP320EED
3121
+ wnS3/faAz1vFq6TWlRKb55cTMgPp1KtDWxbtMyJkKbbSk60vbNg9tvYdDjTu0n2pVQ8g9P0pu5Fb
3122
+ HH3GQjhtQiht1AH7zYiXSX6484P4tZgvsycLSF5W506jM7NE1qXyGJTtHB6plVxiSvgNZ1GpryHV
3123
+ +DKdeboaX+UEVU0TRv/yz3THGmNtwx8XEsMeED5gCLMxAgMBAAGjQjBAMB0GA1UdDgQWBBTdVRcT
3124
+ 9qzoSCHK77Wv0QAy7Z6MtTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG
3125
+ 9w0BAQsFAAOCAQEAb1gNl0OqFlQ+v6nfkkU/hQu7VtMMUszIv3ZnXuaqs6fvuay0EBQNdH49ba3R
3126
+ fdCaqaXKGDsCQC4qnFAUi/5XfldcEQlLNkVS9z2sFP1E34uXI9TDwe7UU5X+LEr+DXCqu4svLcsy
3127
+ o4LyVN/Y8t3XSHLuSqMplsNEzm61kod2pLv0kmzOLBQJZo6NrRa1xxsJYTvjIKIDgI6tflEATseW
3128
+ hvtDmHd9KMeP2Cpu54Rvl0EpABZeTeIT6lnAY2c6RPuY/ATTMHKm9ocJV612ph1jmv3XZch4gyt1
3129
+ O6VbuA1df74jrlZVlFjvH4GMKrLN5ptjnhi85WsGtAuYSyher4hYyw==
3130
+ -----END CERTIFICATE-----
3131
+ -----BEGIN CERTIFICATE-----
3132
+ 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
3157
+ hkIGuUE=
3158
+ -----END CERTIFICATE-----
3159
+ -----BEGIN CERTIFICATE-----
3160
+ MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG
3161
+ EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl
3162
+ ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw
3163
+ MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD
3164
+ VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds
3165
+ b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX
3166
+ scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP
3167
+ rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk
3168
+ 9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o
3169
+ Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg
3170
+ GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
3171
+ /zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI
3172
+ hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD
3173
+ dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0
3174
+ VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui
3175
+ HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic
3176
+ Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM=
3177
+ -----END CERTIFICATE-----
3178
+ -----BEGIN CERTIFICATE-----
3179
+ MIIDfDCCAmSgAwIBAgIQayXaioidfLwPBbOxemFFRDANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQG
3180
+ EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxLTArBgNVBAMTJENlcnRpZmljYXRpb24g
3181
+ QXV0aG9yaXR5IG9mIFdvU2lnbiBHMjAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMFgx
3182
+ CzAJBgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEtMCsGA1UEAxMkQ2VydGlm
3183
+ aWNhdGlvbiBBdXRob3JpdHkgb2YgV29TaWduIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
3184
+ CgKCAQEAvsXEoCKASU+/2YcRxlPhuw+9YH+v9oIOH9ywjj2X4FA8jzrvZjtFB5sg+OPXJYY1kBai
3185
+ XW8wGQiHC38Gsp1ij96vkqVg1CuAmlI/9ZqD6TRay9nVYlzmDuDfBpgOgHzKtB0TiGsOqCR3A9Du
3186
+ W/PKaZE1OVbFbeP3PU9ekzgkyhjpJMuSA93MHD0JcOQg5PGurLtzaaNjOg9FD6FKmsLRY6zLEPg9
3187
+ 5k4ot+vElbGs/V6r+kHLXZ1L3PR8du9nfwB6jdKgGlxNIuG12t12s9R23164i5jIFFTMaxeSt+BK
3188
+ v0mUYQs4kI9dJGwlezt52eJ+na2fmKEG/HgUYFf47oB3sQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC
3189
+ AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU+mCp62XF3RYUCE4MD42b4Pdkr2cwDQYJKoZI
3190
+ hvcNAQELBQADggEBAFfDejaCnI2Y4qtAqkePx6db7XznPWZaOzG73/MWM5H8fHulwqZm46qwtyeY
3191
+ P0nXYGdnPzZPSsvxFPpahygc7Y9BMsaV+X3avXtbwrAh449G3CE4Q3RM+zD4F3LBMvzIkRfEzFg3
3192
+ TgvMWvchNSiDbGAtROtSjFA9tWwS1/oJu2yySrHFieT801LYYRf+epSEj3m2M1m6D8QL4nCgS3gu
3193
+ +sif/a+RZQp4OBXllxcU3fngLDT4ONCEIgDAFFEYKwLcMFrw6AF8NTojrwjkr6qOKEJJLvD1mTS+
3194
+ 7Q9LGOHSJDy7XUe3IfKN0QqZjuNuPq1w4I+5ysxugTH2e5x6eeRncRg=
3195
+ -----END CERTIFICATE-----
3196
+ -----BEGIN CERTIFICATE-----
3197
+ MIICCTCCAY+gAwIBAgIQaEpYcIBr8I8C+vbe6LCQkDAKBggqhkjOPQQDAzBGMQswCQYDVQQGEwJD
3198
+ TjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMTEkNBIFdvU2lnbiBFQ0MgUm9v
3199
+ dDAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMEYxCzAJBgNVBAYTAkNOMRowGAYDVQQK
3200
+ ExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAxMSQ0EgV29TaWduIEVDQyBSb290MHYwEAYHKoZI
3201
+ zj0CAQYFK4EEACIDYgAE4f2OuEMkq5Z7hcK6C62N4DrjJLnSsb6IOsq/Srj57ywvr1FQPEd1bPiU
3202
+ t5v8KB7FVMxjnRZLU8HnIKvNrCXSf4/CwVqCXjCLelTOA7WRf6qU0NGKSMyCBSah1VES1ns2o0Iw
3203
+ QDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUqv3VWqP2h4syhf3R
3204
+ MluARZPzA7gwCgYIKoZIzj0EAwMDaAAwZQIxAOSkhLCB1T2wdKyUpOgOPQB0TKGXa/kNUTyh2Tv0
3205
+ Daupn75OcsqF1NnstTJFGG+rrQIwfcf3aWMvoeGY7xMQ0Xk/0f7qO3/eVvSQsRUR2LIiFdAvwyYu
3206
+ a/GRspBl9JrmkO5K
3207
+ -----END CERTIFICATE-----
3208
+ -----BEGIN CERTIFICATE-----
3209
+ MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG
3210
+ A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV
3211
+ BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ
3212
+ BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD
3213
+ VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q
3214
+ qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK
3215
+ DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE
3216
+ 2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ
3217
+ ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi
3218
+ ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P
3219
+ AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC
3220
+ AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5
3221
+ O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67
3222
+ oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul
3223
+ 4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6
3224
+ +/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw==
3225
+ -----END CERTIFICATE-----
3226
+ -----BEGIN CERTIFICATE-----
3227
+ MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE
3228
+ BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1
3229
+ bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y
3230
+ ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ
3231
+ TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl
3232
+ cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB
3233
+ IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9
3234
+ 7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o
3235
+ CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b
3236
+ Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p
3237
+ uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130
3238
+ GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ
3239
+ 9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB
3240
+ Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye
3241
+ hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM
3242
+ BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
3243
+ AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI
3244
+ hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW
3245
+ Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA
3246
+ L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo
3247
+ clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM
3248
+ pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb
3249
+ w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo
3250
+ J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm
3251
+ ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX
3252
+ is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7
3253
+ zAYspsbiDrW5viSP
3254
+ -----END CERTIFICATE-----
3255
+ -----BEGIN CERTIFICATE-----
3256
+ MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT
3257
+ BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0
3258
+ aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl
3259
+ YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx
3260
+ MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg
3261
+ QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV
3262
+ BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw
3263
+ MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv
3264
+ bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh
3265
+ iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+
3266
+ 6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd
3267
+ FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr
3268
+ i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F
3269
+ GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2
3270
+ fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu
3271
+ iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc
3272
+ Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
3273
+ AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI
3274
+ hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+
3275
+ D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM
3276
+ d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y
3277
+ d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn
3278
+ 82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb
3279
+ davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F
3280
+ Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt
3281
+ J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa
3282
+ JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q
3283
+ p/UsQu0yrbYhnr68
3284
+ -----END CERTIFICATE-----
3285
+ -----BEGIN CERTIFICATE-----
3286
+ MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0
3287
+ aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u
3288
+ cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj
3289
+ aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw
3290
+ MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj
3291
+ IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD
3292
+ VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290
3293
+ Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP
3294
+ dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK
3295
+ Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
3296
+ BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA
3297
+ GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn
3298
+ dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
3299
+ -----END CERTIFICATE-----
3300
+ -----BEGIN CERTIFICATE-----
3301
+ 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
3325
+ qsOR0C5CB8AMTVPNJLFMWx5R9N/pkvo=
3326
+ -----END CERTIFICATE-----
3327
+ -----BEGIN CERTIFICATE-----
3328
+ MIICHDCCAaKgAwIBAgISESDZkc6uo+jF5//pAq/Pc7xVMAoGCCqGSM49BAMDMD4xCzAJBgNVBAYT
3329
+ AkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjAeFw0x
3330
+ NDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0
3331
+ cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjB2MBAGByqGSM49AgEGBSuBBAAiA2IA
3332
+ BM0PW1aC3/BFGtat93nwHcmsltaeTpwftEIRyoa/bfuFo8XlGVzX7qY/aWfYeOKmycTbLXku54uN
3333
+ Am8xIk0G42ByRZ0OQneezs/lf4WbGOT8zC5y0xaTTsqZY1yhBSpsBqNjMGEwDgYDVR0PAQH/BAQD
3334
+ AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMB8GA1Ud
3335
+ IwQYMBaAFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMAoGCCqGSM49BAMDA2gAMGUCMHD+sAvZ94OX7PNV
3336
+ HdTcswYO/jOYnYs5kGuUIe22113WTNchp+e/IQ8rzfcq3IUHnQIxAIYUFuXcsGXCwI4Un78kFmjl
3337
+ vPl5adytRSv3tjFzzAalU5ORGpOucGpnutee5WEaXw==
3338
+ -----END CERTIFICATE-----
3339
+ -----BEGIN CERTIFICATE-----
3340
+ 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
3364
+ OXXUc0ECd97N4EOH1uS6SsNsEn/+KuYj1oxx
3365
+ -----END CERTIFICATE-----
3366
+ -----BEGIN CERTIFICATE-----
3367
+ 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
3391
+ u7JwqkwR3v98KzfUetF3NI/n+UL3PIEMS1IK
3392
+ -----END CERTIFICATE-----
3393
+ -----BEGIN CERTIFICATE-----
3394
+ MIICITCCAaagAwIBAgISESDm+Ez8JLC+BUCs2oMbNGA/MAoGCCqGSM49BAMDMEAxCzAJBgNVBAYT
3395
+ AkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEczMB4X
3396
+ DTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9w
3397
+ ZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzMwdjAQBgcqhkjOPQIBBgUrgQQA
3398
+ IgNiAARK7liuTcpm3gY6oxH84Bjwbhy6LTAMidnW7ptzg6kjFYwvWYpa3RTqnVkrQ7cG7DK2uu5B
3399
+ ta1doYXM6h0UZqNnfkbilPPntlahFVmhTzeXuSIevRHr9LIfXsMUmuXZl5mjYzBhMA4GA1UdDwEB
3400
+ /wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAf
3401
+ BgNVHSMEGDAWgBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAKBggqhkjOPQQDAwNpADBmAjEAj6jcnboM
3402
+ BBf6Fek9LykBl7+BFjNAk2z8+e2AcG+qj9uEwov1NcoG3GRvaBbhj5G5AjEA2Euly8LQCGzpGPta
3403
+ 3U1fJAuwACEl74+nBCZx4nxp5V2a+EEfOzmTk51V6s2N8fvB
3404
+ -----END CERTIFICATE-----
3405
+ -----BEGIN CERTIFICATE-----
3406
+ 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
3430
+ m+kXQ99b21/+jh5Xos1AnX5iItreGCc=
3431
+ -----END CERTIFICATE-----
3432
+ -----BEGIN CERTIFICATE-----
3433
+ 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
3458
+ -----END CERTIFICATE-----
3459
+ -----BEGIN CERTIFICATE-----
3460
+ MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD
3461
+ VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1
3462
+ MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv
3463
+ bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
3464
+ ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH
3465
+ FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ
3466
+ gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t
3467
+ dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce
3468
+ VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB
3469
+ /zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3
3470
+ DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM
3471
+ CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy
3472
+ 8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa
3473
+ 2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2
3474
+ xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5
3475
+ -----END CERTIFICATE-----
3476
+ -----BEGIN CERTIFICATE-----
3477
+ MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD
3478
+ VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1
3479
+ MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv
3480
+ bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
3481
+ ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4
3482
+ kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp
3483
+ N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9
3484
+ AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd
3485
+ fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx
3486
+ kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS
3487
+ btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0
3488
+ Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN
3489
+ c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+
3490
+ 3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw
3491
+ DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA
3492
+ A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY
3493
+ +gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE
3494
+ YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW
3495
+ xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ
3496
+ gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW
3497
+ aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV
3498
+ Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3
3499
+ KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi
3500
+ JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw=
3501
+ -----END CERTIFICATE-----
3502
+ -----BEGIN CERTIFICATE-----
3503
+ MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG
3504
+ EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy
3505
+ NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
3506
+ MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB
3507
+ f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr
3508
+ Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43
3509
+ rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc
3510
+ eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw==
3511
+ -----END CERTIFICATE-----
3512
+ -----BEGIN CERTIFICATE-----
3513
+ MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG
3514
+ EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy
3515
+ NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
3516
+ MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN
3517
+ /sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri
3518
+ 83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
3519
+ HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA
3520
+ MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1
3521
+ AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA==
3522
+ -----END CERTIFICATE-----
3523
+ -----BEGIN CERTIFICATE-----
3524
+ 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
3550
+ -----END CERTIFICATE-----
src/views/bulk-optimization-chart.php CHANGED
@@ -2,13 +2,13 @@
2
 
3
  $chart = array();
4
 
5
- if ( 0 != $stats['unoptimized-library-size'] ) {
6
- $chart['percentage'] = round( 100 - ( $stats['optimized-library-size'] / $stats['unoptimized-library-size'] * 100 ), 1 );
7
  } else {
8
  $chart['percentage'] = 0;
9
- }
10
 
11
- $chart['size'] = 180;
12
  $chart['radius'] = $chart['size'] / 2 * 0.9;
13
  $chart['main-radius'] = $chart['radius'] * 0.88;
14
  $chart['center'] = $chart['size'] / 2;
@@ -21,23 +21,25 @@ $chart['dash-array-size'] = $chart['percentage'] / 100 * $chart['circle-size'];
21
  ?>
22
  <style>
23
 
24
- div.savings div.chart svg circle.main {
25
  stroke-width: <?php echo $chart['dash-stroke'] ?>;
26
  stroke-dasharray: <?php echo $chart['dash-array-size'] . ' ' . $chart['circle-size'] ?>;
27
  }
28
 
29
- div.tiny-bulk-optimization div.savings div.chart div.value {
30
  min-width: <?php echo $chart['size'] ?>px;
31
  }
32
 
33
- @keyframes shwoosh {
34
- from {
35
- stroke-dasharray: <?php echo '0' . ' ' . $chart['circle-size'] ?>
36
- }
37
- to {
38
- stroke-dasharray: <?php echo $chart['dash-array-size'] . ' ' . $chart['circle-size'] ?>
 
 
39
  }
40
- }
41
 
42
  </style>
43
 
@@ -47,7 +49,7 @@ div.tiny-bulk-optimization div.savings div.chart div.value {
47
  <circle class="inner" r="<?php echo $chart['inner-radius'] ?>" cx="<?php echo $chart['center'] ?>" cy="<?php echo $chart['center'] ?>" />
48
  </svg>
49
  <div class="value">
50
- <div class="percentage" id="savings-percentage"><?php echo $chart['percentage'] ?>%</div>
51
  <div class="label" ><?php echo esc_html__( 'savings', 'tiny-compress-images' ); ?></div>
52
  </div>
53
  </div>
2
 
3
  $chart = array();
4
 
5
+ if ( isset( $stats ) ) {
6
+ $chart['percentage'] = $stats['display-percentage'];
7
  } else {
8
  $chart['percentage'] = 0;
9
+ };
10
 
11
+ $chart['size'] = 160;
12
  $chart['radius'] = $chart['size'] / 2 * 0.9;
13
  $chart['main-radius'] = $chart['radius'] * 0.88;
14
  $chart['center'] = $chart['size'] / 2;
21
  ?>
22
  <style>
23
 
24
+ #optimization-chart svg circle.main {
25
  stroke-width: <?php echo $chart['dash-stroke'] ?>;
26
  stroke-dasharray: <?php echo $chart['dash-array-size'] . ' ' . $chart['circle-size'] ?>;
27
  }
28
 
29
+ #optimization-chart div.chart div.value {
30
  min-width: <?php echo $chart['size'] ?>px;
31
  }
32
 
33
+ <?php if ( isset( $stats ) ) { ?>
34
+ @keyframes shwoosh {
35
+ from {
36
+ stroke-dasharray: <?php echo '0' . ' ' . $chart['circle-size'] ?>
37
+ }
38
+ to {
39
+ stroke-dasharray: <?php echo $chart['dash-array-size'] . ' ' . $chart['circle-size'] ?>
40
+ }
41
  }
42
+ <?php } ?>
43
 
44
  </style>
45
 
49
  <circle class="inner" r="<?php echo $chart['inner-radius'] ?>" cx="<?php echo $chart['center'] ?>" cy="<?php echo $chart['center'] ?>" />
50
  </svg>
51
  <div class="value">
52
+ <div class="percentage" id="savings-percentage"><span><?php echo $chart['percentage'] ?></span>%</div>
53
  <div class="label" ><?php echo esc_html__( 'savings', 'tiny-compress-images' ); ?></div>
54
  </div>
55
  </div>
src/views/bulk-optimization.php CHANGED
@@ -47,11 +47,13 @@ div.tiny-bulk-optimization div.dashboard div.optimize div.progressbar div.progre
47
  $percentage_of_files = round( $stats['optimized-image-sizes'] / ( $stats['optimized-image-sizes'] + $stats['available-unoptimised-sizes'] ) * 100, 2 );
48
  }
49
  if ( 0 == $stats['uploaded-images'] + $stats['available-unoptimised-sizes'] ) {
50
- esc_html_e( 'This page is designed to bulk optimize all your images. You don\'t seem to have uploaded any JPEG or PNG images yet.' );
 
 
51
  } elseif ( 0 == sizeof( $active_tinify_sizes ) ) {
52
- esc_html_e( 'Based on your current settings, nothing will be optimized. There are no active sizes selected for optimization.' );
53
  } elseif ( 0 == $stats['available-unoptimised-sizes'] ) {
54
- printf( esc_html__( '%s, this is great! Your entire library is optimized!' ), $this->friendly_user_name() );
55
  } elseif ( $stats['optimized-image-sizes'] > 0 ) {
56
  if ( $percentage_of_files > 75 ) {
57
  printf( esc_html__( '%s, you are doing great!', 'tiny-compress-images' ), $this->friendly_user_name() );
@@ -59,21 +61,19 @@ div.tiny-bulk-optimization div.dashboard div.optimize div.progressbar div.progre
59
  printf( esc_html__( '%s, you are doing good.', 'tiny-compress-images' ), $this->friendly_user_name() );
60
  }
61
  echo ' ';
62
- printf( esc_html__( '%d%% of your image library is optimized.', 'tiny-compress-images' ), $percentage_of_files );
63
  echo ' ';
64
- printf( esc_html__( 'Start the bulk optimization to optimize the remainder of your library.', 'tiny-compress-images' ) );
65
  } else {
66
  esc_html_e( 'Here you can start optimizing your entire library. Press the big button to start improving your website speed instantly!', 'tiny-compress-images' );
67
  }
68
  ?>
69
  </p>
70
- <p>
71
- <?php
72
- if ( Tiny_Settings::wr2x_active() ) {
73
- esc_html_e( 'Notice that the WP Retina 2x sizes will not be compressed using this page. You will need to bulk generate the retina sizes separately from the WP Retina 2x page.', 'tiny-compress-images' );
74
- }
75
- ?>
76
- </p>
77
  <table class="totals">
78
  <tr>
79
  <td class="item">
@@ -97,7 +97,7 @@ div.tiny-bulk-optimization div.dashboard div.optimize div.progressbar div.progre
97
  <?php if ( $stats['uploaded-images'] > 0 && sizeof( $active_tinify_sizes ) > 0 && $stats['available-unoptimised-sizes'] > 0 ) { ?>
98
  <p>
99
  <?php
100
- printf( esc_html__( 'With your current settings you can still optimize %d images sizes from your %d uploaded JPEG and PNG images.',
101
  'tiny-compress-images'), $stats['available-unoptimised-sizes'], $stats['uploaded-images'] );
102
  ?>
103
  </p>
@@ -122,14 +122,10 @@ div.tiny-bulk-optimization div.dashboard div.optimize div.progressbar div.progre
122
  ?>
123
  </p>
124
  <p>
125
- <?php esc_html_e( 'For each uploaded image, ', 'tiny-compress-images' ) ?>
126
- <strong>
127
- <?php echo sizeof( $active_tinify_sizes ) ?>
128
- <?php sizeof( $active_tinify_sizes ) > 1 ? esc_html_e( 'sizes', 'tiny-compress-images' ) : esc_html_e( 'size', 'tiny-compress-images' ) ?>
129
- </strong>
130
- <?php sizeof( $active_tinify_sizes ) > 1 ? esc_html_e( 'are compressed.', 'tiny-compress-images' ) : esc_html_e( 'is compressed.', 'tiny-compress-images' ) ?>
131
- <?php esc_html_e( 'You can changed these settings', 'tiny-compress-images' ) ?>
132
- <a href="/wp-admin/options-media.php#tiny-compress-images"><?php esc_html_e( 'here', 'tiny-compress-images' )?></a>.
133
  </p>
134
  </div>
135
  </div>
47
  $percentage_of_files = round( $stats['optimized-image-sizes'] / ( $stats['optimized-image-sizes'] + $stats['available-unoptimised-sizes'] ) * 100, 2 );
48
  }
49
  if ( 0 == $stats['uploaded-images'] + $stats['available-unoptimised-sizes'] ) {
50
+ esc_html_e( 'This page is designed to bulk optimize all your images.', 'tiny-compress-images' );
51
+ echo ' ';
52
+ esc_html_e( 'You do not seem to have uploaded any JPEG or PNG images yet.', 'tiny-compress-images' );
53
  } elseif ( 0 == sizeof( $active_tinify_sizes ) ) {
54
+ esc_html_e( 'Based on your current settings, nothing will be optimized. There are no active sizes selected for optimization.', 'tiny-compress-images' );
55
  } elseif ( 0 == $stats['available-unoptimised-sizes'] ) {
56
+ printf( esc_html__( '%s, this is great! Your entire library is optimized!', 'tiny-compress-images' ), $this->friendly_user_name() );
57
  } elseif ( $stats['optimized-image-sizes'] > 0 ) {
58
  if ( $percentage_of_files > 75 ) {
59
  printf( esc_html__( '%s, you are doing great!', 'tiny-compress-images' ), $this->friendly_user_name() );
61
  printf( esc_html__( '%s, you are doing good.', 'tiny-compress-images' ), $this->friendly_user_name() );
62
  }
63
  echo ' ';
64
+ printf( esc_html__( '%1$d %2$s of your image library is optimized.', 'tiny-compress-images' ), $percentage_of_files, '%' );
65
  echo ' ';
66
+ printf( esc_html__( 'Start the %s to optimize the remainder of your library.', 'tiny-compress-images' ), esc_html__( 'bulk optimization', 'tiny-compress-images' ) );
67
  } else {
68
  esc_html_e( 'Here you can start optimizing your entire library. Press the big button to start improving your website speed instantly!', 'tiny-compress-images' );
69
  }
70
  ?>
71
  </p>
72
+ <?php if ( Tiny_Settings::wr2x_active() ) { ?>
73
+ <p>
74
+ <?php esc_html_e( 'Notice that the WP Retina 2x sizes will not be compressed using this page. You will need to bulk generate the retina sizes separately from the WP Retina 2x page.', 'tiny-compress-images' ); ?>
75
+ </p>
76
+ <?php } ?>
 
 
77
  <table class="totals">
78
  <tr>
79
  <td class="item">
97
  <?php if ( $stats['uploaded-images'] > 0 && sizeof( $active_tinify_sizes ) > 0 && $stats['available-unoptimised-sizes'] > 0 ) { ?>
98
  <p>
99
  <?php
100
+ printf( esc_html__( 'With your current settings you can still optimize %1$s image sizes from your %2$s uploaded JPEG and PNG images.',
101
  'tiny-compress-images'), $stats['available-unoptimised-sizes'], $stats['uploaded-images'] );
102
  ?>
103
  </p>
122
  ?>
123
  </p>
124
  <p>
125
+ <?php if ( sizeof( $active_tinify_sizes ) > 0 ) { ?>
126
+ <?php printf( wp_kses( _n( 'For each uploaded image <strong>%d size</strong> is compressed.', 'For each uploaded image <strong>%d sizes</strong> are compressed.', count( $active_tinify_sizes ), 'tiny-compress-images' ), array( 'strong' => array() ) ), count( $active_tinify_sizes ) ) ?>
127
+ <?php } ?>
128
+ <?php printf( wp_kses( __( 'You can change these settings %s.', 'tiny-compress-images' ), array( 'a' => array( 'href' => array() ) ) ), '<a href=' . admin_url( 'options-media.php#tiny-compress-images' ) . '>' . __( 'here', 'tiny-compress-images' ) . '</a>' )?>
 
 
 
 
129
  </p>
130
  </div>
131
  </div>
src/views/compress-details.php CHANGED
@@ -21,11 +21,11 @@ ksort( $size_exists );
21
  <?php if ( $error ) {
22
  // dashicons-warning available for WP 4.3+ ?>
23
  <span class="icon dashicons dashicons-no error"></span>
24
- <?php } else if ( $total['missing'] > 0 || $total['modified'] > 0 ) { ?>
25
  <span class="icon dashicons dashicons-yes alert"></span>
26
- <?php } else if ( $total['compressed'] > 0 && $available_unoptimized_sizes > 0 ) { ?>
27
  <span class="icon dashicons dashicons-yes alert"></span>
28
- <?php } else if ( $total['compressed'] > 0 ) { ?>
29
  <span class="icon dashicons dashicons-yes success"></span>
30
  <?php } ?>
31
  <span class="icon spinner hidden"></span>
@@ -49,7 +49,7 @@ ksort( $size_exists );
49
  <?php } ?>
50
  <?php if ( $error ) { ?>
51
  <span class="message error_message">
52
- <?php echo esc_html__( 'Latest error', 'tiny-compress-images' ) . ': '. esc_html__( $error, 'tiny-compress-images' ) ?>
53
  </span>
54
  <br/>
55
  <?php } ?>
@@ -91,34 +91,34 @@ ksort( $size_exists );
91
  echo ' ';
92
  if ( ! array_key_exists( $size_name, $active_sizes ) && ! Tiny_Image::is_retina( $size_name ) ) {
93
  echo '<em>' . esc_html__( '(not in use)', 'tiny-compress-images' ) . '</em>';
94
- } else if ( $size->missing() && ( Tiny_Settings::wr2x_active() || ! Tiny_Image::is_retina( $size_name ) ) ) {
95
  echo '<em>' . esc_html__( '(file removed)', 'tiny-compress-images' ) . '</em>';
96
- } else if ( $size->modified() ) {
97
  echo '<em>' . esc_html__( '(modified after compression)', 'tiny-compress-images' ) . '</em>';
98
- } else if ( Tiny_Image::is_retina( $size_name ) ) {
99
  echo '<em>' . esc_html__( '(WP Retina 2x)', 'tiny-compress-images' ) . '</em>';
100
- } else if ( $size->resized() ) {
101
- printf( '<em>' . esc_html__( '(resized to %dx%d)', 'tiny-compress-images' ) . '</em>', $size->meta['output']['width'], $size->meta['output']['height'] );
102
  }
103
  echo '</td>';
104
 
105
  if ( $size->is_duplicate() ) {
106
  echo '<td>-</td>';
107
  printf( '<td colspan=2><em>' . esc_html__( 'Same file as "%s"', 'tiny-compress-images' ) . '</em></td>', esc_html__( ucfirst( $size->duplicate_of_size() ) ) );
108
- } else if ( $size->has_been_compressed() ) {
109
  echo '<td>' . size_format( $size->meta['input']['size'], 1 ) . '</td>';
110
  echo '<td>' . size_format( $size->meta['output']['size'], 1 ) . '</td>';
111
  echo '<td>' . sprintf( esc_html__( '%s ago' ), human_time_diff( $size->end_time( $size_name ) ) ) . '</td>';
112
- } else if ( ! $size->exists() ) {
113
  echo '<td>-</td>';
114
  echo '<td colspan=2><em>' . esc_html__( 'Not present', 'tiny-compress-images' ) . '</em></td>';
115
- } else if ( isset( $size_active[ $size_name ] ) || Tiny_Image::is_retina( $size_name ) ) {
116
  echo '<td>' . size_format( $size->filesize(), 1 ) . '</td>';
117
  echo '<td colspan=2><em>' . esc_html__( 'Not compressed', 'tiny-compress-images' ) . '</em></td>';
118
- } else if ( isset( $size_exists[ $size_name ] ) ) {
119
  echo '<td>' . size_format( $size->filesize(), 1 ) . '</td>';
120
  echo '<td colspan=2><em>' . esc_html__( 'Not configured to be compressed', 'tiny-compress-images' ) . '</em></td>';
121
- } else if ( ! array_key_exists( $size_name, $active_sizes ) ) {
122
  echo '<td>' . size_format( $size->filesize(), 1 ) . '</td>';
123
  echo '<td colspan=2><em>' . esc_html__( 'Size is not in use', 'tiny-compress-images' ) . '</em></td>';
124
  } else {
21
  <?php if ( $error ) {
22
  // dashicons-warning available for WP 4.3+ ?>
23
  <span class="icon dashicons dashicons-no error"></span>
24
+ <?php } elseif ( $total['missing'] > 0 || $total['modified'] > 0 ) { ?>
25
  <span class="icon dashicons dashicons-yes alert"></span>
26
+ <?php } elseif ( $total['compressed'] > 0 && $available_unoptimized_sizes > 0 ) { ?>
27
  <span class="icon dashicons dashicons-yes alert"></span>
28
+ <?php } elseif ( $total['compressed'] > 0 ) { ?>
29
  <span class="icon dashicons dashicons-yes success"></span>
30
  <?php } ?>
31
  <span class="icon spinner hidden"></span>
49
  <?php } ?>
50
  <?php if ( $error ) { ?>
51
  <span class="message error_message">
52
+ <?php echo esc_html__( 'Latest error', 'tiny-compress-images' ) . ': ' . esc_html__( $error, 'tiny-compress-images' ) ?>
53
  </span>
54
  <br/>
55
  <?php } ?>
91
  echo ' ';
92
  if ( ! array_key_exists( $size_name, $active_sizes ) && ! Tiny_Image::is_retina( $size_name ) ) {
93
  echo '<em>' . esc_html__( '(not in use)', 'tiny-compress-images' ) . '</em>';
94
+ } elseif ( $size->missing() && ( Tiny_Settings::wr2x_active() || ! Tiny_Image::is_retina( $size_name ) ) ) {
95
  echo '<em>' . esc_html__( '(file removed)', 'tiny-compress-images' ) . '</em>';
96
+ } elseif ( $size->modified() ) {
97
  echo '<em>' . esc_html__( '(modified after compression)', 'tiny-compress-images' ) . '</em>';
98
+ } elseif ( Tiny_Image::is_retina( $size_name ) ) {
99
  echo '<em>' . esc_html__( '(WP Retina 2x)', 'tiny-compress-images' ) . '</em>';
100
+ } elseif ( $size->resized() ) {
101
+ printf( '<em>' . esc_html__( '(resized to %1$dx%2$d)', 'tiny-compress-images' ) . '</em>', $size->meta['output']['width'], $size->meta['output']['height'] );
102
  }
103
  echo '</td>';
104
 
105
  if ( $size->is_duplicate() ) {
106
  echo '<td>-</td>';
107
  printf( '<td colspan=2><em>' . esc_html__( 'Same file as "%s"', 'tiny-compress-images' ) . '</em></td>', esc_html__( ucfirst( $size->duplicate_of_size() ) ) );
108
+ } elseif ( $size->has_been_compressed() ) {
109
  echo '<td>' . size_format( $size->meta['input']['size'], 1 ) . '</td>';
110
  echo '<td>' . size_format( $size->meta['output']['size'], 1 ) . '</td>';
111
  echo '<td>' . sprintf( esc_html__( '%s ago' ), human_time_diff( $size->end_time( $size_name ) ) ) . '</td>';
112
+ } elseif ( ! $size->exists() ) {
113
  echo '<td>-</td>';
114
  echo '<td colspan=2><em>' . esc_html__( 'Not present', 'tiny-compress-images' ) . '</em></td>';
115
+ } elseif ( isset( $size_active[ $size_name ] ) || Tiny_Image::is_retina( $size_name ) ) {
116
  echo '<td>' . size_format( $size->filesize(), 1 ) . '</td>';
117
  echo '<td colspan=2><em>' . esc_html__( 'Not compressed', 'tiny-compress-images' ) . '</em></td>';
118
+ } elseif ( isset( $size_exists[ $size_name ] ) ) {
119
  echo '<td>' . size_format( $size->filesize(), 1 ) . '</td>';
120
  echo '<td colspan=2><em>' . esc_html__( 'Not configured to be compressed', 'tiny-compress-images' ) . '</em></td>';
121
+ } elseif ( ! array_key_exists( $size_name, $active_sizes ) ) {
122
  echo '<td>' . size_format( $size->filesize(), 1 ) . '</td>';
123
  echo '<td colspan=2><em>' . esc_html__( 'Size is not in use', 'tiny-compress-images' ) . '</em></td>';
124
  } else {
src/views/dashboard-widget.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $link = "<a href='" . admin_url( 'upload.php?page=tiny-bulk-optimization' ) . "'>" . esc_html__( 'bulk optimization', 'tiny-compress-images' ) . '</a>'; ?>
2
+
3
+ <style type="text/css" >
4
+ div.media-library-optimized {
5
+ display: none;
6
+ }
7
+ div#optimization-chart {
8
+ display: none;
9
+ }
10
+ .ie8 div#optimization-chart {
11
+ display: none !important;
12
+ }
13
+ #optimization-chart svg circle.main {
14
+ stroke: <?php echo $admin_colors[2] ?>;
15
+ }
16
+ </style>
17
+
18
+ <div id="widget-spinner" class=""></div>
19
+ <div class="sky-background"></div>
20
+ <div class="cloud"></div>
21
+ <div class="panda-background"></div>
22
+ <div class="grass"></div>
23
+ <div class="media-library-optimized" id="no-images-uploaded">
24
+ <p><?php esc_html_e( 'You do not seem to have uploaded any JPEG or PNG images yet.', 'tiny-compress-images' ) ?></p>
25
+ </div>
26
+ <div class="media-library-optimized" id="widget-not-optimized">
27
+ <p>
28
+ <?php printf( esc_html__( 'Hi %s, you haven’t compressed any images in your media library.', 'tiny-compress-images' ), $this->friendly_user_name() ) ?>
29
+ <?php printf( wp_kses( __( 'If you like you can to optimize your whole library in one go with the %s page.', 'tiny-compress-images' ), array( 'a' => array( 'href' => array() ) ) ), $link )?>
30
+ </p>
31
+ </div>
32
+ <div class="media-library-optimized" id="widget-full-optimized">
33
+ <p><?php printf( esc_html__( '%s, this is great! Your entire library is optimized!', 'tiny-compress-images' ), $this->friendly_user_name() ) ?></p>
34
+ <p id="ie8-compressed"><?php printf( wp_kses( __( 'You have compressed <span></span>%% of your media library.', 'tiny-compress-images' ), array( 'span' => array() ) ) )?></p>
35
+ </div>
36
+ <div class="media-library-optimized" id="widget-half-optimized">
37
+ <p>
38
+ <?php printf( esc_html__( '%s, you are doing good.', 'tiny-compress-images' ), $this->friendly_user_name() ) ?>
39
+ <?php printf( esc_html__( 'With your current settings you can still optimize %1$s image sizes from your %2$s uploaded JPEG and PNG images.', 'tiny-compress-images' ), '<span id="unoptimised-sizes"></span>', '<span id="uploaded-images"></span>' ) ?>
40
+ <?php printf( wp_kses( __( 'Start the %s to optimize the remainder of your library.', 'tiny-compress-images' ), array( 'a' => array( 'href' => array() ) ) ), $link )?>
41
+ </p>
42
+ </div>
43
+
44
+ <?php require_once dirname( __FILE__ ) . '/bulk-optimization-chart.php'; ?>
test/fixtures/Client.php CHANGED
@@ -16,8 +16,8 @@ class Client {
16
  return __DIR__ . '/../data/cacert.pem';
17
  }
18
 
19
- function __construct($key, $appIdentifier = null) {
20
- $userAgent = join( ' ', array_filter( array( self::userAgent(), $appIdentifier) ) );
21
  $this->options = array(
22
  CURLOPT_BINARYTRANSFER => true,
23
  CURLOPT_RETURNTRANSFER => true,
@@ -27,7 +27,7 @@ class Client {
27
  );
28
  }
29
 
30
- function request($method, $url, $body = null, $header = array() ) {
31
  if ( is_array( $body ) ) {
32
  if ( ! empty( $body ) ) {
33
  $body = json_encode( $body );
@@ -98,7 +98,7 @@ class Client {
98
  }
99
  }
100
 
101
- protected static function parseHeaders($headers) {
102
  if ( ! is_array( $headers ) ) {
103
  $headers = explode( "\r\n", $headers );
104
  }
@@ -111,7 +111,7 @@ class Client {
111
 
112
  $split = explode( ':', $header, 2 );
113
  if ( count( $split ) === 2 ) {
114
- $result[strtolower( $split[0] )] = trim( $split[1] );
115
  }
116
  }
117
  return $result;
16
  return __DIR__ . '/../data/cacert.pem';
17
  }
18
 
19
+ function __construct( $key, $appIdentifier = null ) {
20
+ $userAgent = join( ' ', array_filter( array( self::userAgent(), $appIdentifier ) ) );
21
  $this->options = array(
22
  CURLOPT_BINARYTRANSFER => true,
23
  CURLOPT_RETURNTRANSFER => true,
27
  );
28
  }
29
 
30
+ function request( $method, $url, $body = null, $header = array() ) {
31
  if ( is_array( $body ) ) {
32
  if ( ! empty( $body ) ) {
33
  $body = json_encode( $body );
98
  }
99
  }
100
 
101
+ protected static function parseHeaders( $headers ) {
102
  if ( ! is_array( $headers ) ) {
103
  $headers = explode( "\r\n", $headers );
104
  }
111
 
112
  $split = explode( ':', $header, 2 );
113
  if ( count( $split ) === 2 ) {
114
+ $result[ strtolower( $split[0] ) ] = trim( $split[1] );
115
  }
116
  }
117
  return $result;
test/helpers/setup.php CHANGED
@@ -28,7 +28,6 @@ function configure_wordpress_for_testing( $driver ) {
28
  setup_wordpress_language( $driver );
29
  setup_wordpress_site( $driver );
30
  set_siteurl( wordpress() );
31
- login( $driver );
32
  activate_plugin( $driver );
33
  backup_wordpress_site();
34
  }
@@ -116,6 +115,10 @@ function setup_wordpress_site( $driver ) {
116
  $driver->findElement( WebDriverBy::name( 'user_name' ) )->clear()->sendKeys( 'admin' );
117
  if ( wordpress_version() > 42 ) {
118
  $driver->findElement( WebDriverBy::id( 'pass1-text' ) )->clear()->sendKeys( 'a' )->sendKeys( 'dmin' );
 
 
 
 
119
  } else {
120
  $driver->findElement( WebDriverBy::name( 'admin_password' ) )->sendKeys( 'admin' );
121
  $driver->findElement( WebDriverBy::name( 'admin_password2' ) )->sendKeys( 'admin' );
@@ -128,8 +131,12 @@ function setup_wordpress_site( $driver ) {
128
  return $h1->getText();
129
  }, $h1s );
130
 
131
- if ( array_search( 'Success', $texts ) >= 0 ) {
132
  print "Setting up WordPress is successful.\n";
 
 
 
 
133
  } else {
134
  var_dump( $driver->getPageSource() );
135
  throw new UnexpectedValueException( 'Setting up WordPress failed.' );
@@ -186,7 +193,7 @@ function close_webdriver() {
186
  function reset_webservice() {
187
  $request = curl_init();
188
  curl_setopt_array($request, array(
189
- CURLOPT_URL => 'http://' . getenv( 'HOST' ) .':8080/reset',
190
  ));
191
  $response = curl_exec( $request );
192
  curl_close( $request );
28
  setup_wordpress_language( $driver );
29
  setup_wordpress_site( $driver );
30
  set_siteurl( wordpress() );
 
31
  activate_plugin( $driver );
32
  backup_wordpress_site();
33
  }
115
  $driver->findElement( WebDriverBy::name( 'user_name' ) )->clear()->sendKeys( 'admin' );
116
  if ( wordpress_version() > 42 ) {
117
  $driver->findElement( WebDriverBy::id( 'pass1-text' ) )->clear()->sendKeys( 'a' )->sendKeys( 'dmin' );
118
+
119
+ /* Confirm use of weak password if necessary. */
120
+ $confirm = $driver->findElement( WebDriverBy::name( 'pw_weak' ) );
121
+ if ( $confirm && ! $confirm->isSelected() ) { $confirm->click(); }
122
  } else {
123
  $driver->findElement( WebDriverBy::name( 'admin_password' ) )->sendKeys( 'admin' );
124
  $driver->findElement( WebDriverBy::name( 'admin_password2' ) )->sendKeys( 'admin' );
131
  return $h1->getText();
132
  }, $h1s );
133
 
134
+ if ( array_search( 'Dashboard', $texts ) !== false ) {
135
  print "Setting up WordPress is successful.\n";
136
+ /* Already logged in. */
137
+ } elseif ( array_search( 'Success', $texts ) !== false || array_search( 'Success!', $texts ) !== false ) {
138
+ print "Setting up WordPress is successful.\n";
139
+ login( $driver );
140
  } else {
141
  var_dump( $driver->getPageSource() );
142
  throw new UnexpectedValueException( 'Setting up WordPress failed.' );
193
  function reset_webservice() {
194
  $request = curl_init();
195
  curl_setopt_array($request, array(
196
+ CURLOPT_URL => 'http://' . getenv( 'HOST' ) . ':8080/reset',
197
  ));
198
  $response = curl_exec( $request );
199
  curl_close( $request );
test/helpers/wordpress.php CHANGED
@@ -15,6 +15,8 @@ class WordPressOptions {
15
  'thumbnail_size_h' => 150,
16
  'medium_size_w' => 300,
17
  'medium_size_h' => 300,
 
 
18
  'large_size_w' => 1024,
19
  'large_size_h' => 1024,
20
  );
@@ -109,7 +111,7 @@ class WordPressStubs {
109
  } elseif ( 'update_post_meta' === $method ) {
110
  return call_user_func_array( array( $this, 'updateMetadata' ), $args );
111
  } elseif ( 'get_intermediate_image_sizes' === $method ) {
112
- return array_merge( array( 'thumbnail', 'medium', 'large' ), array_keys( $GLOBALS['_wp_additional_image_sizes'] ) );
113
  } elseif ( 'get_plugin_data' === $method ) {
114
  return array( 'Version' => '1.7.2' );
115
  } elseif ( 'wp_upload_dir' === $method ) {
@@ -215,7 +217,7 @@ class WordPressStubs {
215
  'sizes' => array(),
216
  );
217
 
218
- $regex = '#^' . preg_quote( $name ) .'-([^.]+)[.](png|jpe?g)$#';
219
  $dir = $this->vfs->getChild( self::UPLOAD_DIR . "/$path" );
220
  foreach ( $dir->getChildren() as $child ) {
221
  $file = $child->getName();
15
  'thumbnail_size_h' => 150,
16
  'medium_size_w' => 300,
17
  'medium_size_h' => 300,
18
+ 'medium_large_size_w' => 768,
19
+ 'medium_large_size_h' => 0,
20
  'large_size_w' => 1024,
21
  'large_size_h' => 1024,
22
  );
111
  } elseif ( 'update_post_meta' === $method ) {
112
  return call_user_func_array( array( $this, 'updateMetadata' ), $args );
113
  } elseif ( 'get_intermediate_image_sizes' === $method ) {
114
+ return array_merge( array( 'thumbnail', 'medium', 'medium_large', 'large' ), array_keys( $GLOBALS['_wp_additional_image_sizes'] ) );
115
  } elseif ( 'get_plugin_data' === $method ) {
116
  return array( 'Version' => '1.7.2' );
117
  } elseif ( 'wp_upload_dir' === $method ) {
217
  'sizes' => array(),
218
  );
219
 
220
+ $regex = '#^' . preg_quote( $name ) . '-([^.]+)[.](png|jpe?g)$#';
221
  $dir = $this->vfs->getChild( self::UPLOAD_DIR . "/$path" );
222
  foreach ( $dir->getChildren() as $child ) {
223
  $file = $child->getName();
test/integration/BulkOptimizationIntegrationTest.php CHANGED
@@ -79,6 +79,6 @@ class BulkOptimizationIntegrationTest extends IntegrationTestCase {
79
  }
80
 
81
  public function test_should_display_tooltips() {
82
- $this->assertGreaterThanOrEqual( '1', sizeof($this->find_all( 'div.tip' )));
83
  }
84
  }
79
  }
80
 
81
  public function test_should_display_tooltips() {
82
+ $this->assertGreaterThanOrEqual( '1', sizeof( $this->find_all( 'div.tip' ) ) );
83
  }
84
  }
test/integration/DashboardWidgetIntegrationTest.php ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once dirname( __FILE__ ) . '/IntegrationTestCase.php';
4
+
5
+ class DashboardWidgetIntegrationTest extends IntegrationTestCase {
6
+ public function set_up() {
7
+ parent::set_up();
8
+ $this->visit( '/wp-admin/index.php' );
9
+ }
10
+
11
+ public function tear_down() {
12
+ parent::tear_down();
13
+ clear_settings();
14
+ clear_uploads();
15
+ }
16
+
17
+ public function test_should_show_widget_without_images() {
18
+ $element = $this->find(
19
+ '#no-images-uploaded p'
20
+ );
21
+
22
+ $this->assertEquals(
23
+ 'You do not seem to have uploaded any JPEG or PNG images yet.',
24
+ $element->getText()
25
+ );
26
+ }
27
+
28
+
29
+ public function test_should_show_widget_without_optimized_images() {
30
+ $this->upload_media( 'test/fixtures/input-example.jpg' );
31
+ $this->visit( '/wp-admin/index.php' );
32
+ $element = $this->find(
33
+ '#widget-not-optimized p'
34
+ );
35
+
36
+ $this->assertEquals(
37
+ 'Hi Admin, you haven’t compressed any images in your media library. If you like you can to optimize your whole library in one go with the bulk optimization page.',
38
+ $element->getText()
39
+ );
40
+ }
41
+
42
+ public function test_should_show_widget_with_some_images_optimized() {
43
+ $this->upload_media( 'test/fixtures/input-example.jpg' );
44
+ $this->set_api_key( 'JPG123' );
45
+ $this->upload_media( 'test/fixtures/input-example.jpg' );
46
+ $this->visit( '/wp-admin/index.php' );
47
+
48
+ $element = $this->find(
49
+ '#tinypng_dashboard_widget #widget-half-optimized p'
50
+ );
51
+ if ( $this->has_medium_large_size() ) {
52
+ $this->assertEquals(
53
+ 'Admin, you are doing good. With your current settings you can still optimize 5 image sizes from your 2 uploaded JPEG and PNG images. Start the bulk optimization to optimize the remainder of your library.',
54
+ $element->getText()
55
+ );
56
+ } else {
57
+ $this->assertEquals(
58
+ 'Admin, you are doing good. With your current settings you can still optimize 4 image sizes from your 2 uploaded JPEG and PNG images. Start the bulk optimization to optimize the remainder of your library.',
59
+ $element->getText()
60
+ );
61
+ }
62
+ }
63
+
64
+ public function test_should_show_widget_with_all_images_optimized() {
65
+ $this->set_api_key( 'JPG123' );
66
+ $this->upload_media( 'test/fixtures/input-example.jpg' );
67
+ $this->visit( '/wp-admin/index.php' );
68
+
69
+ $element = $this->find(
70
+ '#tinypng_dashboard_widget #widget-full-optimized p'
71
+ );
72
+
73
+ $this->assertEquals(
74
+ 'Admin, this is great! Your entire library is optimized!',
75
+ $element->getText()
76
+ );
77
+ }
78
+ }
test/integration/IntegrationTestCase.php CHANGED
@@ -83,6 +83,10 @@ abstract class IntegrationTestCase extends Tiny_TestCase {
83
  return wordpress_version() >= 35;
84
  }
85
 
 
 
 
 
86
  protected function postbox_dimension_selector() {
87
  $version = wordpress_version();
88
  if ( $version < 37 ) {
83
  return wordpress_version() >= 35;
84
  }
85
 
86
+ protected function has_medium_large_size() {
87
+ return wordpress_version() >= 44;
88
+ }
89
+
90
  protected function postbox_dimension_selector() {
91
  $version = wordpress_version();
92
  if ( $version < 37 ) {
test/integration/SettingsIntegrationTest.php CHANGED
@@ -168,6 +168,9 @@ class SettingsIntegrationTest extends IntegrationTestCase {
168
  $this->assertContains( 'tinypng_sizes[0]', $enabled_sizes );
169
  $this->assertContains( 'tinypng_sizes[thumbnail]', $enabled_sizes );
170
  $this->assertContains( 'tinypng_sizes[medium]', $enabled_sizes );
 
 
 
171
  $this->assertContains( 'tinypng_sizes[large]', $enabled_sizes );
172
  }
173
 
168
  $this->assertContains( 'tinypng_sizes[0]', $enabled_sizes );
169
  $this->assertContains( 'tinypng_sizes[thumbnail]', $enabled_sizes );
170
  $this->assertContains( 'tinypng_sizes[medium]', $enabled_sizes );
171
+ if ( $this->has_medium_large_size() ) {
172
+ $this->assertContains( 'tinypng_sizes[medium_large]', $enabled_sizes );
173
+ }
174
  $this->assertContains( 'tinypng_sizes[large]', $enabled_sizes );
175
  }
176
 
test/unit/TinyImageTest.php CHANGED
@@ -117,6 +117,7 @@ class Tiny_Image_Test extends Tiny_TestCase {
117
  'optimized-library-size' => 328670,
118
  'unoptimized-library-size' => 328670,
119
  'available-for-optimization' => array( array( 'ID' => 1, 'post_title' => 'I am the one and only' ) ),
 
120
  ),
121
  Tiny_Image::get_optimization_statistics( new Tiny_Settings(), $wpdb_results )
122
  );
117
  'optimized-library-size' => 328670,
118
  'unoptimized-library-size' => 328670,
119
  'available-for-optimization' => array( array( 'ID' => 1, 'post_title' => 'I am the one and only' ) ),
120
+ 'display-percentage' => 0.0
121
  ),
122
  Tiny_Image::get_optimization_statistics( new Tiny_Settings(), $wpdb_results )
123
  );
test/unit/TinySettingsTest.php CHANGED
@@ -73,6 +73,7 @@ class Tiny_Settings_Test extends Tiny_TestCase {
73
  0 => array( 'width' => null, 'height' => null, 'tinify' => true ),
74
  'thumbnail' => array( 'width' => 150, 'height' => 150, 'tinify' => false ),
75
  'medium' => array( 'width' => 300, 'height' => 300, 'tinify' => true ),
 
76
  'large' => array( 'width' => 1024, 'height' => 1024, 'tinify' => false ),
77
  'post-thumbnail' => array( 'width' => 825, 'height' => 510, 'tinify' => true ),
78
  ), $this->subject->get_sizes());
@@ -86,6 +87,7 @@ class Tiny_Settings_Test extends Tiny_TestCase {
86
  0 => array( 'width' => null, 'height' => null, 'tinify' => false ),
87
  'thumbnail' => array( 'width' => 150, 'height' => 150, 'tinify' => false ),
88
  'medium' => array( 'width' => 300, 'height' => 300, 'tinify' => false ),
 
89
  'large' => array( 'width' => 1024, 'height' => 1024, 'tinify' => false ),
90
  ), $this->subject->get_sizes());
91
  }
@@ -96,6 +98,7 @@ class Tiny_Settings_Test extends Tiny_TestCase {
96
  0 => array( 'width' => null, 'height' => null, 'tinify' => true ),
97
  'thumbnail' => array( 'width' => 150, 'height' => 150, 'tinify' => true ),
98
  'medium' => array( 'width' => 300, 'height' => 300, 'tinify' => true ),
 
99
  'large' => array( 'width' => 1024, 'height' => 1024, 'tinify' => true ),
100
  ), $this->subject->get_sizes());
101
  }
73
  0 => array( 'width' => null, 'height' => null, 'tinify' => true ),
74
  'thumbnail' => array( 'width' => 150, 'height' => 150, 'tinify' => false ),
75
  'medium' => array( 'width' => 300, 'height' => 300, 'tinify' => true ),
76
+ 'medium_large' => array( 'width' => 768, 'height' => 0, 'tinify' => false ),
77
  'large' => array( 'width' => 1024, 'height' => 1024, 'tinify' => false ),
78
  'post-thumbnail' => array( 'width' => 825, 'height' => 510, 'tinify' => true ),
79
  ), $this->subject->get_sizes());
87
  0 => array( 'width' => null, 'height' => null, 'tinify' => false ),
88
  'thumbnail' => array( 'width' => 150, 'height' => 150, 'tinify' => false ),
89
  'medium' => array( 'width' => 300, 'height' => 300, 'tinify' => false ),
90
+ 'medium_large' => array( 'width' => 768, 'height' => 0, 'tinify' => false ),
91
  'large' => array( 'width' => 1024, 'height' => 1024, 'tinify' => false ),
92
  ), $this->subject->get_sizes());
93
  }
98
  0 => array( 'width' => null, 'height' => null, 'tinify' => true ),
99
  'thumbnail' => array( 'width' => 150, 'height' => 150, 'tinify' => true ),
100
  'medium' => array( 'width' => 300, 'height' => 300, 'tinify' => true ),
101
+ 'medium_large' => array( 'width' => 768, 'height' => 0, 'tinify' => true ),
102
  'large' => array( 'width' => 1024, 'height' => 1024, 'tinify' => true ),
103
  ), $this->subject->get_sizes());
104
  }
tiny-compress-images.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Plugin Name: Compress JPEG & PNG images
4
  * Description: Speed up your website. Optimize your JPEG and PNG images automatically with TinyPNG.
5
- * Version: 2.1.0
6
  * Author: TinyPNG
7
  * Author URI: https://tinypng.com
8
  * Text Domain: tiny-compress-images
2
  /**
3
  * Plugin Name: Compress JPEG & PNG images
4
  * Description: Speed up your website. Optimize your JPEG and PNG images automatically with TinyPNG.
5
+ * Version: 2.2.0
6
  * Author: TinyPNG
7
  * Author URI: https://tinypng.com
8
  * Text Domain: tiny-compress-images