Version Description
- Add Notification alerting websites using Password Protection or JavaScript to display content they need to upgrade to PrintFriendly Pro
Download this release
Release Info
Developer | printfriendly |
Plugin | Print, PDF, Email by PrintFriendly |
Version | 3.13.0 |
Comparing to | |
See all releases |
Code changes from version 3.11.0 to 3.13.0
- admin.css +43 -12
- admin.js +24 -10
- pf.php +237 -68
- readme.txt +29 -2
- trunk/admin.css +398 -0
- trunk/admin.js +276 -0
- trunk/colorpicker.js +484 -0
- trunk/images/blank.gif +0 -0
- trunk/images/colorpicker_background.png +0 -0
- trunk/images/colorpicker_hex.png +0 -0
- trunk/images/colorpicker_hsb_b.png +0 -0
- trunk/images/colorpicker_hsb_h.png +0 -0
- trunk/images/colorpicker_hsb_s.png +0 -0
- trunk/images/colorpicker_indic.gif +0 -0
- trunk/images/colorpicker_overlay.png +0 -0
- trunk/images/colorpicker_rgb_b.png +0 -0
- trunk/images/colorpicker_rgb_g.png +0 -0
- trunk/images/colorpicker_rgb_r.png +0 -0
- trunk/images/colorpicker_select.gif +0 -0
- trunk/images/colorpicker_submit.png +0 -0
- trunk/images/custom_background.png +0 -0
- trunk/images/custom_hex.png +0 -0
- trunk/images/custom_hsb_b.png +0 -0
- trunk/images/custom_hsb_h.png +0 -0
- trunk/images/custom_hsb_s.png +0 -0
- trunk/images/custom_indic.gif +0 -0
- trunk/images/custom_rgb_b.png +0 -0
- trunk/images/custom_rgb_g.png +0 -0
- trunk/images/custom_rgb_r.png +0 -0
- trunk/images/custom_submit.png +0 -0
- trunk/images/noimage.png +0 -0
- trunk/images/pf-icon.png +0 -0
- trunk/images/select.png +0 -0
- trunk/images/select2.png +0 -0
- trunk/images/slider.png +0 -0
- trunk/languages/printfriendly.pot +355 -0
- trunk/license.txt +674 -0
- trunk/pf.php +1794 -0
- trunk/readme.txt +464 -0
- trunk/screenshot-1.png +0 -0
- trunk/screenshot-2.png +0 -0
- trunk/screenshot-3.png +0 -0
- trunk/screenshot-4.png +0 -0
- trunk/uninstall.php +21 -0
- trunk/vendor/PrintFriendly/Raven/Autoloader.php +45 -0
- trunk/vendor/PrintFriendly/Raven/Breadcrumbs.php +76 -0
- trunk/vendor/PrintFriendly/Raven/Breadcrumbs/ErrorHandler.php +45 -0
- trunk/vendor/PrintFriendly/Raven/Breadcrumbs/MonologHandler.php +101 -0
- trunk/vendor/PrintFriendly/Raven/Client.php +1438 -0
- trunk/vendor/PrintFriendly/Raven/Compat.php +180 -0
- trunk/vendor/PrintFriendly/Raven/Context.php +36 -0
- trunk/vendor/PrintFriendly/Raven/CurlHandler.php +119 -0
- trunk/vendor/PrintFriendly/Raven/ErrorHandler.php +195 -0
- trunk/vendor/PrintFriendly/Raven/Exception.php +4 -0
- trunk/vendor/PrintFriendly/Raven/Processor.php +45 -0
- trunk/vendor/PrintFriendly/Raven/Processor/RemoveCookiesProcessor.php +35 -0
- trunk/vendor/PrintFriendly/Raven/Processor/RemoveHttpBodyProcessor.php +30 -0
- trunk/vendor/PrintFriendly/Raven/Processor/SanitizeDataProcessor.php +160 -0
- trunk/vendor/PrintFriendly/Raven/Processor/SanitizeHttpHeadersProcessor.php +64 -0
- trunk/vendor/PrintFriendly/Raven/Processor/SanitizeStacktraceProcessor.php +39 -0
- trunk/vendor/PrintFriendly/Raven/ReprSerializer.php +41 -0
- trunk/vendor/PrintFriendly/Raven/SanitizeDataProcessor.php +19 -0
- trunk/vendor/PrintFriendly/Raven/Serializer.php +144 -0
- trunk/vendor/PrintFriendly/Raven/Stacktrace.php +287 -0
- trunk/vendor/PrintFriendly/Raven/TransactionStack.php +54 -0
- trunk/vendor/PrintFriendly/Raven/Util.php +38 -0
- trunk/vendor/PrintFriendly/Raven/data/cacert.pem +5134 -0
admin.css
CHANGED
@@ -15,7 +15,7 @@ h3.hndle {
|
|
15 |
padding: 7px 5px;
|
16 |
}
|
17 |
|
18 |
-
#buttongroup1, #buttongroup2, #buttongroup3, #
|
19 |
display: block;
|
20 |
margin-right: 3em;
|
21 |
float: left;
|
@@ -25,20 +25,21 @@ h3.hndle {
|
|
25 |
}
|
26 |
|
27 |
#custom-button-preview {
|
28 |
-
clear:both;
|
29 |
-
padding-top: 20px;
|
30 |
margin-left: 2em;
|
31 |
}
|
32 |
#custom-button-preview img {
|
33 |
margin-right: 6px;
|
34 |
}
|
35 |
-
#
|
36 |
float: left;
|
37 |
}
|
38 |
|
39 |
-
#custom-txt, #custom-img {
|
40 |
-
margin:
|
41 |
-
|
|
|
|
|
|
|
42 |
}
|
43 |
|
44 |
.description {
|
@@ -358,10 +359,40 @@ span.description.pf-help-link {
|
|
358 |
font-style:normal !important
|
359 |
}
|
360 |
|
361 |
-
#custom-txt #txt-enter {
|
362 |
-
margin: 0 0 2em 0;
|
363 |
-
}
|
364 |
-
|
365 |
#margin input[type="number"]{
|
366 |
width: 65px;
|
367 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
padding: 7px 5px;
|
16 |
}
|
17 |
|
18 |
+
#buttongroup1, #buttongroup2, #buttongroup3, #button-positioning div, #button-placement div {
|
19 |
display: block;
|
20 |
margin-right: 3em;
|
21 |
float: left;
|
25 |
}
|
26 |
|
27 |
#custom-button-preview {
|
|
|
|
|
28 |
margin-left: 2em;
|
29 |
}
|
30 |
#custom-button-preview img {
|
31 |
margin-right: 6px;
|
32 |
}
|
33 |
+
#placement-adv-options {
|
34 |
float: left;
|
35 |
}
|
36 |
|
37 |
+
#custom-txt, #custom-img, #custom-button-preview {
|
38 |
+
margin: 0 3em;
|
39 |
+
}
|
40 |
+
|
41 |
+
#custom-txt>div {
|
42 |
+
margin-bottom: 10px;
|
43 |
}
|
44 |
|
45 |
.description {
|
359 |
font-style:normal !important
|
360 |
}
|
361 |
|
|
|
|
|
|
|
|
|
362 |
#margin input[type="number"]{
|
363 |
width: 65px;
|
364 |
+
}
|
365 |
+
|
366 |
+
label.radio-custom-btn {
|
367 |
+
margin-right: 15px;
|
368 |
+
}
|
369 |
+
|
370 |
+
#custom-btn-group {
|
371 |
+
float: left;
|
372 |
+
}
|
373 |
+
|
374 |
+
#custom-btn-group b {
|
375 |
+
font-weight: bold;
|
376 |
+
font-size: 14px;
|
377 |
+
}
|
378 |
+
|
379 |
+
#custom-btn-group, h2 {
|
380 |
+
margin-top: 0;
|
381 |
+
}
|
382 |
+
|
383 |
+
#custom-img h2 {
|
384 |
+
margin-bottom: 0;
|
385 |
+
}
|
386 |
+
|
387 |
+
#custom-img label, #custom-txt label {
|
388 |
+
margin: 0 0 15px 0;
|
389 |
+
}
|
390 |
+
|
391 |
+
#txt-color, #txt-size {
|
392 |
+
float: left;
|
393 |
+
margin-right: 20px;
|
394 |
+
}
|
395 |
+
|
396 |
+
#custom_text {
|
397 |
+
width: 200px;
|
398 |
+
}
|
admin.js
CHANGED
@@ -89,17 +89,18 @@ jQuery(document).ready(function() {
|
|
89 |
}
|
90 |
}).change();
|
91 |
|
92 |
-
jQuery('#custom_text').change
|
93 |
pf_custom_text_change();
|
94 |
-
})
|
95 |
|
96 |
-
jQuery('
|
97 |
pf_custom_text_change();
|
98 |
});
|
99 |
|
100 |
function pf_custom_text_change(){
|
101 |
jQuery('#buttongroup3 span:not(.printandpdf)').text( jQuery('#custom_text').val() );
|
102 |
-
jQuery('
|
|
|
103 |
}
|
104 |
|
105 |
function pf_initialize_preview(urlInputSelector, previewSelector) {
|
@@ -107,11 +108,21 @@ jQuery(document).ready(function() {
|
|
107 |
var imgUrl = jQuery.trim(el.val());
|
108 |
var preview = jQuery(previewSelector + '-preview');
|
109 |
var error = jQuery(previewSelector + '-error');
|
|
|
110 |
el.bind('input paste change keyup', function() {
|
111 |
setTimeout(function() {
|
112 |
// ie shows error if we try to merge the two below into a single statement
|
113 |
var img = jQuery('<img/>');
|
114 |
-
var
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
img.load(function() {
|
116 |
error.html('');
|
117 |
preview.html('').append(img);})
|
@@ -129,6 +140,7 @@ jQuery(document).ready(function() {
|
|
129 |
}
|
130 |
|
131 |
pf_initialize_preview('#custom_image', '#pf-custom-button');
|
|
|
132 |
pf_initialize_preview('#upload-an-image', '#pf-image');
|
133 |
jQuery('#custom_image, #upload-an-image').change();
|
134 |
jQuery('#custom_image').bind('focus', function() {
|
@@ -252,11 +264,13 @@ jQuery(document).ready(function() {
|
|
252 |
jQuery('#category_ids').val(ids.join(','));
|
253 |
});
|
254 |
|
255 |
-
|
|
|
|
|
|
|
256 |
|
257 |
-
|
258 |
-
|
259 |
-
jQuery(
|
260 |
-
jQuery('#custom_image, #upload-an-image').change();
|
261 |
});
|
262 |
});
|
89 |
}
|
90 |
}).change();
|
91 |
|
92 |
+
jQuery('#custom_text').bind('change keyup', function(){
|
93 |
pf_custom_text_change();
|
94 |
+
});
|
95 |
|
96 |
+
jQuery("[name='printfriendly_option[custom_button_text]']").change(function(){
|
97 |
pf_custom_text_change();
|
98 |
});
|
99 |
|
100 |
function pf_custom_text_change(){
|
101 |
jQuery('#buttongroup3 span:not(.printandpdf)').text( jQuery('#custom_text').val() );
|
102 |
+
var newText = (jQuery("[name='printfriendly_option[custom_button_text]']:checked").val() === 'no-text') ? '' : jQuery('#custom_text').val();
|
103 |
+
jQuery('#custom-btn-group span.printfriendly-text2').text( newText );
|
104 |
}
|
105 |
|
106 |
function pf_initialize_preview(urlInputSelector, previewSelector) {
|
108 |
var imgUrl = jQuery.trim(el.val());
|
109 |
var preview = jQuery(previewSelector + '-preview');
|
110 |
var error = jQuery(previewSelector + '-error');
|
111 |
+
|
112 |
el.bind('input paste change keyup', function() {
|
113 |
setTimeout(function() {
|
114 |
// ie shows error if we try to merge the two below into a single statement
|
115 |
var img = jQuery('<img/>');
|
116 |
+
var customButtonIcon = jQuery("[name='printfriendly_option[custom_button_icon]']:checked").val();
|
117 |
+
|
118 |
+
if (customButtonIcon === 'custom-image') {
|
119 |
+
imgUrl = jQuery('#custom_image').val();
|
120 |
+
} else if (customButtonIcon === 'no-image') {
|
121 |
+
imgUrl = '';
|
122 |
+
} else {
|
123 |
+
imgUrl = customButtonIcon;
|
124 |
+
}
|
125 |
+
|
126 |
img.load(function() {
|
127 |
error.html('');
|
128 |
preview.html('').append(img);})
|
140 |
}
|
141 |
|
142 |
pf_initialize_preview('#custom_image', '#pf-custom-button');
|
143 |
+
pf_initialize_preview("[name='printfriendly_option[custom_button_icon]']", '#pf-custom-button');
|
144 |
pf_initialize_preview('#upload-an-image', '#pf-image');
|
145 |
jQuery('#custom_image, #upload-an-image').change();
|
146 |
jQuery('#custom_image').bind('focus', function() {
|
264 |
jQuery('#category_ids').val(ids.join(','));
|
265 |
});
|
266 |
|
267 |
+
jQuery('#custom_image').click(function() {
|
268 |
+
jQuery("#custom-image-rb").prop('checked', true);
|
269 |
+
jQuery("#custom-image-rb").trigger("change");
|
270 |
+
});
|
271 |
|
272 |
+
jQuery('#custom_text').click(function() {
|
273 |
+
jQuery("#custom-text-rb").prop('checked', true);
|
274 |
+
jQuery("#custom-text-rb").trigger("change");
|
|
|
275 |
});
|
276 |
});
|
pf.php
CHANGED
@@ -5,11 +5,20 @@ Plugin Name: Print, PDF & Email by PrintFriendly
|
|
5 |
Plugin URI: http://www.printfriendly.com
|
6 |
Description: PrintFriendly & PDF button for your website. Optimizes your pages and brand for print, pdf, and email.
|
7 |
Name and URL are included to ensure repeat visitors and new visitors when printed versions are shared.
|
8 |
-
Version: 3.
|
9 |
Author: Print, PDF, & Email by PrintFriendly
|
10 |
Author URI: http://www.PrintFriendly.com
|
11 |
|
12 |
Changelog :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
3.11.0 - Update buttons
|
14 |
3.10.0 - Change "leave us a rating" message.
|
15 |
3.9.2 - Correctly handle spaces in print-only detection
|
@@ -115,7 +124,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
115 |
* Current plugin version.
|
116 |
* @var string
|
117 |
*/
|
118 |
-
var $plugin_version = '3.
|
119 |
|
120 |
/**
|
121 |
* The hook, used for text domain as well as hooks on pages and in get requests for admin.
|
@@ -139,7 +148,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
139 |
* Database version, used to allow for easy upgrades to / additions in plugin options between plugin versions.
|
140 |
* @var int
|
141 |
*/
|
142 |
-
var $db_version =
|
143 |
|
144 |
/**
|
145 |
* Settings page, used within the plugin to reliably load the plugins admin JS and CSS files only on the admin page.
|
@@ -217,6 +226,55 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
217 |
}
|
218 |
}
|
219 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
function init_error_reporting() {
|
221 |
try {
|
222 |
require_once 'vendor/PrintFriendly/Raven/Autoloader.php';
|
@@ -409,6 +467,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
409 |
var pfDisablePDF = '<?php echo esc_js($this->options['pdf']); ?>';
|
410 |
var pfDisablePrint = '<?php echo esc_js($this->options['print']); ?>';
|
411 |
var pfCustomCSS = '<?php echo esc_js(esc_url($this->options['custom_css_url'])); ?>';
|
|
|
412 |
(function() {
|
413 |
var e = document.createElement('script'); e.type="text/javascript";
|
414 |
e.src = 'https://cdn.printfriendly.com/printfriendly.js';
|
@@ -515,7 +574,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
515 |
if ( 'none' != $this->options['content_position'] )
|
516 |
$align = ' pf-align'.$this->options['content_position'];
|
517 |
$href = str_replace("&", "&", $href );
|
518 |
-
$button = apply_filters( 'printfriendly_button', '<div class="printfriendly'.$align.'"><a href="'.$href.'" rel="nofollow" '.$onclick.' class="noslimstat">'.$this->button().'</a></div>' );
|
519 |
return $button;
|
520 |
}
|
521 |
|
@@ -591,25 +650,36 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
591 |
'buttons/print-button.png',
|
592 |
'buttons/print-button-nobg.png',
|
593 |
'buttons/print-button-gray.png', // buttongroup3
|
594 |
-
'custom-
|
595 |
) ) ) {
|
596 |
$valid_input['button_type'] = 'buttons/printfriendly-button.png';
|
597 |
}
|
598 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
599 |
// @todo custom image url validation
|
600 |
if ( !isset( $input['custom_image'] ) || empty( $input['custom_image'] ) )
|
601 |
$valid_input['custom_image'] = '';
|
602 |
|
|
|
|
|
|
|
|
|
603 |
// @todo validate optional custom text
|
604 |
if ( !isset( $input['custom_text'] ) ) {
|
605 |
-
|
606 |
}
|
607 |
-
/* else {
|
608 |
-
|
609 |
-
}*/
|
610 |
|
611 |
// Custom button selected, but no url nor text given, reset button type to default
|
612 |
-
if( 'custom-
|
613 |
$valid_input['button_type'] = 'buttons/printfriendly-button.png';
|
614 |
add_settings_error( $this->option_name, 'invalid_custom_image', __( 'No valid custom image url received, please enter a valid url to use a custom image.', $this->hook ) );
|
615 |
}
|
@@ -849,8 +919,10 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
849 |
'button_type' => 'buttons/printfriendly-button.png',
|
850 |
'content_position' => 'left',
|
851 |
'content_placement' => 'after',
|
852 |
-
'
|
853 |
-
'
|
|
|
|
|
854 |
'enable_css' => 'on',
|
855 |
'margin_top' => '12',
|
856 |
'margin_right' => '12',
|
@@ -858,7 +930,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
858 |
'margin_left' => '12',
|
859 |
'show_on_posts' => 'on',
|
860 |
'show_on_pages' => 'on',
|
861 |
-
'text_color' => '#
|
862 |
'text_size' => 14,
|
863 |
'logo' => 'favicon',
|
864 |
'image_url' => '',
|
@@ -1052,18 +1124,61 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
1052 |
break;
|
1053 |
case 'pf-icon-small.gif':
|
1054 |
case 'pf-icon.gif':
|
1055 |
-
|
1056 |
-
$this->options['
|
|
|
1057 |
$this->options['custom_image'] = 'icons/printfriendly-icon-md.png';
|
1058 |
break;
|
1059 |
-
|
1060 |
-
$this->options['button_type'] = '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1061 |
}
|
1062 |
}
|
1063 |
|
1064 |
$this->options['db_version'] = $this->db_version;
|
1065 |
|
1066 |
update_option( $this->option_name, $this->options );
|
|
|
|
|
1067 |
}
|
1068 |
|
1069 |
/**
|
@@ -1085,6 +1200,21 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
1085 |
echo '<br>';
|
1086 |
}
|
1087 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1088 |
/**
|
1089 |
* Displays button image in the admin area
|
1090 |
*
|
@@ -1096,21 +1226,26 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
1096 |
$name = $this->options['button_type'];
|
1097 |
|
1098 |
$button_css = $this->generic_button_css();
|
1099 |
-
|
1100 |
-
$text = $this->options['custom_text'];
|
1101 |
$img_path = 'https://cdn.printfriendly.com/';
|
1102 |
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
$return = '<img src="'.esc_url($this->options['custom_image']).'" alt="Print Friendly" style="display: inline" />';
|
|
|
|
|
|
|
1108 |
|
1109 |
-
|
|
|
|
|
|
|
1110 |
|
1111 |
return $return;
|
1112 |
} else {
|
1113 |
-
return '<img style="'.$button_css.'" src="'.$img_path.$name.'" alt="Print Friendly" />';
|
1114 |
}
|
1115 |
}
|
1116 |
|
@@ -1130,12 +1265,21 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
1130 |
* @since 3.0.9
|
1131 |
*/
|
1132 |
function custom_button_preview() {
|
1133 |
-
if(
|
1134 |
$button_preview = '<span id="pf-custom-button-preview"></span>';
|
1135 |
-
else
|
1136 |
-
$button_preview = '<span id="pf-custom-button-preview"><img src="'.esc_url($this->options['custom_image']).'" alt="Print Friendly" /></span>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1137 |
|
1138 |
-
$button_preview .= '<span class="printfriendly-text2">'.esc_html($
|
1139 |
|
1140 |
echo $button_preview;
|
1141 |
}
|
@@ -1309,7 +1453,15 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
1309 |
vertical-align: middle;
|
1310 |
}
|
1311 |
</style>
|
1312 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1313 |
<div id="pf_settings" class="wrap">
|
1314 |
|
1315 |
<div class="icon32" id="printfriendly"></div>
|
@@ -1344,50 +1496,67 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
1344 |
<?php $this->radio('buttons/print-button-gray.png'); ?>
|
1345 |
</div>
|
1346 |
|
1347 |
-
<div id="custom" class="clear">
|
1348 |
-
<label
|
1349 |
-
<?php echo '<input id="custom-
|
1350 |
<?php _e( "Custom Button", $this->hook ); ?>
|
1351 |
</label>
|
1352 |
|
1353 |
-
<div id="custom-img">
|
1354 |
-
<
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
|
|
1367 |
</div>
|
1368 |
-
</
|
|
|
|
|
|
|
|
|
|
|
1369 |
</div>
|
1370 |
|
1371 |
-
<div id="
|
1372 |
-
|
1373 |
<div id="txt-enter">
|
1374 |
-
|
1375 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1376 |
</div>
|
1377 |
-
<div
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
<div
|
|
|
|
|
|
|
|
|
|
|
|
|
1382 |
</div>
|
1383 |
</div>
|
1384 |
-
<div id="txt-size">
|
1385 |
-
<?php _e( "Text Size", $this->hook ); ?><br>
|
1386 |
-
<input type="number" id="text_size" min="9" max="25" class="small-text" name="<?php echo $this->option_name; ?>[text_size]" value="<?php $this->val( 'text_size' ); ?>"/>
|
1387 |
-
</div>
|
1388 |
</div>
|
1389 |
-
|
1390 |
-
|
|
|
|
|
|
|
1391 |
</div>
|
1392 |
</fieldset>
|
1393 |
<br class="clear">
|
@@ -1395,7 +1564,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
1395 |
<!--Section 2 Button Positioning-->
|
1396 |
<div id="button-positioning">
|
1397 |
<h3><?php _e( "Button Positioning", $this->hook ); ?>
|
1398 |
-
<span id="css"><input type="checkbox" name="<?php echo $this->option_name; ?>[enable_css]" value="<?php $this->val('enable_css');?>" <?php $this->checked('enable_css', 'off'); ?>
|
1399 |
</h3>
|
1400 |
<div id="button-positioning-options">
|
1401 |
<div id="alignment">
|
@@ -1476,7 +1645,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
1476 |
<label for="upload-an-image"><?php _e( "Enter url", $this->hook ); ?></label><input id="upload-an-image" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[image_url]" value="<?php $this->val( 'image_url' ); ?>" />
|
1477 |
<label for="image-tagline"><?php _e( "Text (optional)", $this->hook ); ?></label><input id="image-tagline" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[tagline]" value="<?php $this->val( 'tagline' ); ?>" />
|
1478 |
</div> */ ?>
|
1479 |
-
<div class="custom-logo"><label for="Enter_URL"
|
1480 |
<div id="pf-image-error"></div>
|
1481 |
<div id="pf-image-preview"></div>
|
1482 |
<label for="click_to_delete">
|
@@ -1576,7 +1745,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
1576 |
<?php
|
1577 |
if (class_exists('WooCommerce')) {
|
1578 |
?>
|
1579 |
-
<span><strong
|
1580 |
<?php
|
1581 |
} else {
|
1582 |
?>
|
@@ -1598,7 +1767,7 @@ if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
|
1598 |
<p>
|
1599 |
<?php _e( sprintf( __( 'If you like <strong>PrintFriendly</strong> please leave us a %s rating. A huge thanks in advance!', 'printfriendly' ), '<a href="https://wordpress.org/support/plugin/printfriendly/reviews?rate=5#new-post" target="_blank">★★★★★</a>' ), $this->hook ); ?>
|
1600 |
</p>
|
1601 |
-
<p><?php _e( "Need professional options for your corporate, education, or agency developed website? Check out", $this->hook ); ?> <a href="https://www.printfriendly.com/pro">PrintFriendly Pro</a>.</p>
|
1602 |
<p>
|
1603 |
<?php _e( "Need help or have suggestions?", $this->hook ); ?> <a href="mailto:support@printfriendly.com?subject=Support%20for%20PrintFriendly%20WordPress%20plugin">support@PrintFriendly.com</a>
|
1604 |
</p>
|
5 |
Plugin URI: http://www.printfriendly.com
|
6 |
Description: PrintFriendly & PDF button for your website. Optimizes your pages and brand for print, pdf, and email.
|
7 |
Name and URL are included to ensure repeat visitors and new visitors when printed versions are shared.
|
8 |
+
Version: 3.13.0
|
9 |
Author: Print, PDF, & Email by PrintFriendly
|
10 |
Author URI: http://www.PrintFriendly.com
|
11 |
|
12 |
Changelog :
|
13 |
+
3.13.0 - Add Notification alerting websites using Password Protection or JavaScript to display content they need to upgrade to PrintFriendly Pro
|
14 |
+
3.12.5 - Chanage link in settings page
|
15 |
+
3.12.4 - Bug fix, avoid "undefined variable: return"
|
16 |
+
3.12.3 - Bug fix, sometimes custom image didn't display correctly after upgrade
|
17 |
+
3.12.2 - Add title to Printfriendly button and change button image alt
|
18 |
+
3.12.1 - Fix translations
|
19 |
+
3.12.0 - Update custom button UI
|
20 |
+
3.11.2 - Fix button upgrade for pf-icon-both.gif
|
21 |
+
3.11.1 - Bug fix
|
22 |
3.11.0 - Update buttons
|
23 |
3.10.0 - Change "leave us a rating" message.
|
24 |
3.9.2 - Correctly handle spaces in print-only detection
|
124 |
* Current plugin version.
|
125 |
* @var string
|
126 |
*/
|
127 |
+
var $plugin_version = '3.13.0';
|
128 |
|
129 |
/**
|
130 |
* The hook, used for text domain as well as hooks on pages and in get requests for admin.
|
148 |
* Database version, used to allow for easy upgrades to / additions in plugin options between plugin versions.
|
149 |
* @var int
|
150 |
*/
|
151 |
+
var $db_version = 16;
|
152 |
|
153 |
/**
|
154 |
* Settings page, used within the plugin to reliably load the plugins admin JS and CSS files only on the admin page.
|
226 |
}
|
227 |
}
|
228 |
|
229 |
+
function send_info() {
|
230 |
+
$domain = get_bloginfo( 'url' );
|
231 |
+
$admin_email = get_bloginfo( 'admin_email' );
|
232 |
+
$wp_version = get_bloginfo( 'version' );
|
233 |
+
|
234 |
+
if ( ( !isset( $this->options['sent_domain'] ) || (isset( $this->options['sent_domain'] ) && $this->options['sent_domain'] != $domain) ) ||
|
235 |
+
( !isset( $this->options['sent_cms_version'] ) || (isset( $this->options['sent_cms_version'] ) && $this->options['sent_cms_version'] != $wp_version) ) ||
|
236 |
+
( !isset( $this->options['sent_php_version'] ) || (isset( $this->options['sent_php_version'] ) && $this->options['sent_php_version'] != PHP_VERSION) ) ||
|
237 |
+
( !isset( $this->options['sent_pf_version'] ) || (isset( $this->options['sent_pf_version'] ) && $this->options['sent_pf_version'] != $this->plugin_version) ) ||
|
238 |
+
( !isset( $this->options['sent_admin_email'] ) || (isset( $this->options['sent_admin_email'] ) && $this->options['sent_admin_email'] != $admin_email) ) ) {
|
239 |
+
|
240 |
+
// Send new data to API
|
241 |
+
$data = array( 'domain' => $domain,
|
242 |
+
'cms_name' => 'wordpress',
|
243 |
+
'cms_version' => $wp_version,
|
244 |
+
'php_version' => PHP_VERSION,
|
245 |
+
'pf_version' => $this->plugin_version,
|
246 |
+
'email' => $admin_email );
|
247 |
+
$this->plugins_api($data);
|
248 |
+
|
249 |
+
// Save options
|
250 |
+
$this->options['sent_domain'] = $domain;
|
251 |
+
$this->options['sent_cms_version'] = $wp_version;
|
252 |
+
$this->options['sent_php_version'] = PHP_VERSION;
|
253 |
+
$this->options['sent_pf_version'] = $this->plugin_version;
|
254 |
+
$this->options['sent_admin_email'] = $admin_email;
|
255 |
+
update_option( $this->option_name, $this->options );
|
256 |
+
}
|
257 |
+
}
|
258 |
+
|
259 |
+
function plugins_api($data) {
|
260 |
+
// Send request to plugins API
|
261 |
+
$api_url = 'https://www.printfriendly.com/api/v3/plugins';
|
262 |
+
|
263 |
+
// use key 'http' even if you send the request to https://...
|
264 |
+
$options = array(
|
265 |
+
'http' => array(
|
266 |
+
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
|
267 |
+
'method' => 'POST',
|
268 |
+
'content' => http_build_query($data)
|
269 |
+
)
|
270 |
+
);
|
271 |
+
|
272 |
+
$context = stream_context_create($options);
|
273 |
+
|
274 |
+
// @ suppress WARNING if API is not accessible
|
275 |
+
@file_get_contents($api_url, false, $context);
|
276 |
+
}
|
277 |
+
|
278 |
function init_error_reporting() {
|
279 |
try {
|
280 |
require_once 'vendor/PrintFriendly/Raven/Autoloader.php';
|
467 |
var pfDisablePDF = '<?php echo esc_js($this->options['pdf']); ?>';
|
468 |
var pfDisablePrint = '<?php echo esc_js($this->options['print']); ?>';
|
469 |
var pfCustomCSS = '<?php echo esc_js(esc_url($this->options['custom_css_url'])); ?>';
|
470 |
+
var pfPlatform = 'Wordpress';
|
471 |
(function() {
|
472 |
var e = document.createElement('script'); e.type="text/javascript";
|
473 |
e.src = 'https://cdn.printfriendly.com/printfriendly.js';
|
574 |
if ( 'none' != $this->options['content_position'] )
|
575 |
$align = ' pf-align'.$this->options['content_position'];
|
576 |
$href = str_replace("&", "&", $href );
|
577 |
+
$button = apply_filters( 'printfriendly_button', '<div class="printfriendly'.$align.'"><a href="'.$href.'" rel="nofollow" '.$onclick.' class="noslimstat" title="Printer Friendly, PDF & Email">'.$this->button().'</a></div>' );
|
578 |
return $button;
|
579 |
}
|
580 |
|
650 |
'buttons/print-button.png',
|
651 |
'buttons/print-button-nobg.png',
|
652 |
'buttons/print-button-gray.png', // buttongroup3
|
653 |
+
'custom-button' // custom
|
654 |
) ) ) {
|
655 |
$valid_input['button_type'] = 'buttons/printfriendly-button.png';
|
656 |
}
|
657 |
|
658 |
+
if ( !isset( $input['custom_button_icon'] ) || !in_array( $input['custom_button_icon'], array(
|
659 |
+
'https://cdn.printfriendly.com/icons/printfriendly-icon-sm.png',
|
660 |
+
'https://cdn.printfriendly.com/icons/printfriendly-icon-md.png',
|
661 |
+
'https://cdn.printfriendly.com/icons/printfriendly-icon-lg.png',
|
662 |
+
'custom-image',
|
663 |
+
'no-image'
|
664 |
+
) ) ) {
|
665 |
+
$valid_input['custom_button_icon'] = 'https://cdn.printfriendly.com/icons/printfriendly-icon-md.png';
|
666 |
+
}
|
667 |
+
|
668 |
// @todo custom image url validation
|
669 |
if ( !isset( $input['custom_image'] ) || empty( $input['custom_image'] ) )
|
670 |
$valid_input['custom_image'] = '';
|
671 |
|
672 |
+
if ( !isset( $input['custom_button_text'] ) ) {
|
673 |
+
$valid_input['custom_button_text'] = 'custom-text';
|
674 |
+
}
|
675 |
+
|
676 |
// @todo validate optional custom text
|
677 |
if ( !isset( $input['custom_text'] ) ) {
|
678 |
+
$valid_input['custom_text'] = 'Print Friendly';
|
679 |
}
|
|
|
|
|
|
|
680 |
|
681 |
// Custom button selected, but no url nor text given, reset button type to default
|
682 |
+
if( 'custom-button' === $valid_input['button_type'] && ( '' === $valid_input['custom_image'] && '' === $input['custom_text'] ) ) {
|
683 |
$valid_input['button_type'] = 'buttons/printfriendly-button.png';
|
684 |
add_settings_error( $this->option_name, 'invalid_custom_image', __( 'No valid custom image url received, please enter a valid url to use a custom image.', $this->hook ) );
|
685 |
}
|
919 |
'button_type' => 'buttons/printfriendly-button.png',
|
920 |
'content_position' => 'left',
|
921 |
'content_placement' => 'after',
|
922 |
+
'custom_button_icon' => 'https://cdn.printfriendly.com/icons/printfriendly-icon-md.png',
|
923 |
+
'custom_button_text' => 'custom-text',
|
924 |
+
'custom_image' => '',
|
925 |
+
'custom_text' => 'PrintFriendly',
|
926 |
'enable_css' => 'on',
|
927 |
'margin_top' => '12',
|
928 |
'margin_right' => '12',
|
930 |
'margin_left' => '12',
|
931 |
'show_on_posts' => 'on',
|
932 |
'show_on_pages' => 'on',
|
933 |
+
'text_color' => '#3AAA11',
|
934 |
'text_size' => 14,
|
935 |
'logo' => 'favicon',
|
936 |
'image_url' => '',
|
1124 |
break;
|
1125 |
case 'pf-icon-small.gif':
|
1126 |
case 'pf-icon.gif':
|
1127 |
+
$this->options['button_type'] = 'custom-button';
|
1128 |
+
$this->options['custom_button_icon'] = 'icons/printfriendly-icon-md.png';
|
1129 |
+
$this->options['custom_button_text'] = 'custom-text';
|
1130 |
$this->options['custom_image'] = 'icons/printfriendly-icon-md.png';
|
1131 |
break;
|
1132 |
+
case 'text-only':
|
1133 |
+
$this->options['button_type'] = 'custom-button';
|
1134 |
+
$this->options['custom_button_icon'] = 'no-image';
|
1135 |
+
$this->options['custom_button_text'] = 'custom-text';
|
1136 |
+
break;
|
1137 |
+
}
|
1138 |
+
}
|
1139 |
+
|
1140 |
+
if ($this->options['db_version'] < 14) {
|
1141 |
+
if ($this->options['button_type'] == 'pf-icon-both.gif') {
|
1142 |
+
$this->options['button_type'] = 'buttons/printfriendly-pdf-button-nobg.png';
|
1143 |
+
}
|
1144 |
+
}
|
1145 |
+
|
1146 |
+
if ($this->options['db_version'] < 15) {
|
1147 |
+
if ($this->options['button_type'] == 'custom-image') {
|
1148 |
+
$this->options['button_type'] = 'custom-button';
|
1149 |
+
|
1150 |
+
switch ($this->options['custom_image']) {
|
1151 |
+
case 'icons/printfriendly-icon-sm.png':
|
1152 |
+
case 'icons/printfriendly-icon-md.png':
|
1153 |
+
case 'icons/printfriendly-icon-lg.png':
|
1154 |
+
$this->options['custom_button_icon'] = $this->options['custom_image'];
|
1155 |
+
break;
|
1156 |
+
case '':
|
1157 |
+
$this->options['custom_button_icon'] = 'no-image';
|
1158 |
+
break;
|
1159 |
+
default:
|
1160 |
+
$this->options['custom_button_icon'] = 'custom-image';
|
1161 |
+
}
|
1162 |
+
|
1163 |
+
if ($this->options['custom_text'] == '') {
|
1164 |
+
$this->options['custom_button_text'] = 'no-text';
|
1165 |
+
} else {
|
1166 |
+
$this->options['custom_button_text'] = 'custom-text';
|
1167 |
+
}
|
1168 |
+
}
|
1169 |
+
}
|
1170 |
+
|
1171 |
+
if ($this->options['db_version'] < 16) {
|
1172 |
+
if ($this->options['custom_button_icon'] == 'icons/printfriendly-icon-md.png') {
|
1173 |
+
$this->options['custom_button_icon'] = 'https://cdn.printfriendly.com/icons/printfriendly-icon-md.png';
|
1174 |
}
|
1175 |
}
|
1176 |
|
1177 |
$this->options['db_version'] = $this->db_version;
|
1178 |
|
1179 |
update_option( $this->option_name, $this->options );
|
1180 |
+
|
1181 |
+
$this->send_info();
|
1182 |
}
|
1183 |
|
1184 |
/**
|
1200 |
echo '<br>';
|
1201 |
}
|
1202 |
|
1203 |
+
/**
|
1204 |
+
* Displays radio button in the admin area
|
1205 |
+
*
|
1206 |
+
* @since 3.12.0
|
1207 |
+
* @param string $name the name of the radio button to generate.
|
1208 |
+
*/
|
1209 |
+
function radio_custom_image($value){
|
1210 |
+
?>
|
1211 |
+
<label class="radio-custom-btn">
|
1212 |
+
<input type="radio" name="<?php echo $this->option_name ?>[custom_button_icon]" value="<?php echo $value ?>" <?php $this->checked( 'custom_button_icon', $value ) ?>>
|
1213 |
+
<img src="<?php echo $value ?>" alt="Print Friendly, PDF & Email" style="display: inline" />
|
1214 |
+
</label>
|
1215 |
+
<?php
|
1216 |
+
}
|
1217 |
+
|
1218 |
/**
|
1219 |
* Displays button image in the admin area
|
1220 |
*
|
1226 |
$name = $this->options['button_type'];
|
1227 |
|
1228 |
$button_css = $this->generic_button_css();
|
1229 |
+
|
|
|
1230 |
$img_path = 'https://cdn.printfriendly.com/';
|
1231 |
|
1232 |
+
$return = '';
|
1233 |
+
|
1234 |
+
if ($name == "custom-button") {
|
1235 |
+
if ($this->options['custom_button_icon'] == 'custom-image' && '' != trim($this->options['custom_image'])) {
|
1236 |
+
$return = '<img src="'.esc_url($this->options['custom_image']).'" alt="Print Friendly, PDF & Email" style="display: inline" />';
|
1237 |
+
} else if ( $this->options['custom_button_icon'] != 'no-image' ) {
|
1238 |
+
$return = '<img src="'.esc_url($this->options['custom_button_icon']).'" alt="Print Friendly, PDF & Email" style="display: inline" />';
|
1239 |
+
}
|
1240 |
|
1241 |
+
/* esc_html was removerd to support custom html, CSRF prevents from attack by using this field */
|
1242 |
+
if ($this->options['custom_button_text'] == 'custom-text') {
|
1243 |
+
$return .= $this->options['custom_text'];
|
1244 |
+
}
|
1245 |
|
1246 |
return $return;
|
1247 |
} else {
|
1248 |
+
return '<img style="'.$button_css.'" src="'.$img_path.$name.'" alt="Print Friendly, PDF & Email" />';
|
1249 |
}
|
1250 |
}
|
1251 |
|
1265 |
* @since 3.0.9
|
1266 |
*/
|
1267 |
function custom_button_preview() {
|
1268 |
+
if( $this->options['custom_button_icon'] == 'no-image' ) {
|
1269 |
$button_preview = '<span id="pf-custom-button-preview"></span>';
|
1270 |
+
} else if ($this->options['custom_button_icon'] == 'custom-image') {
|
1271 |
+
$button_preview = '<span id="pf-custom-button-preview"><img src="'.esc_url($this->options['custom_image']).'" alt="Print Friendly, PDF & Email" /></span>';
|
1272 |
+
} else {
|
1273 |
+
$button_preview = '<span id="pf-custom-button-preview"><img src="'.esc_url($this->options['custom_button_icon']).'" alt="Print Friendly, PDF & Email" /></span>';
|
1274 |
+
}
|
1275 |
+
|
1276 |
+
if ($this->options['custom_button_text'] != 'no-text') {
|
1277 |
+
$button_text = $this->options['custom_text'];
|
1278 |
+
} else {
|
1279 |
+
$button_text = '';
|
1280 |
+
}
|
1281 |
|
1282 |
+
$button_preview .= '<span class="printfriendly-text2">'.esc_html($button_text).'</span>';
|
1283 |
|
1284 |
echo $button_preview;
|
1285 |
}
|
1453 |
vertical-align: middle;
|
1454 |
}
|
1455 |
</style>
|
1456 |
+
<div class="notice notice-warning is-dismissible">
|
1457 |
+
<br /><h2>Does your website use these technologies?</h2>
|
1458 |
+
<ul>
|
1459 |
+
<li>- Password protected websites (paywall or intranet)</li>
|
1460 |
+
<li>- JavaScript to display content (Angular/React applications)</li>
|
1461 |
+
</ul>
|
1462 |
+
<p>If yes, you need to <a href="https://www.printfriendly.com/button/pro">purchase a PrintFriendly Pro subscription</a> for the plugin to work properly on your website (<a href="http://blog.printfriendly.com/2017/11/printfriendly-pdf-plugin-is-changing.html">learn why</a>).</p>
|
1463 |
+
<p>If you are an existing Pro customer, no further action is required</p>
|
1464 |
+
</div>
|
1465 |
<div id="pf_settings" class="wrap">
|
1466 |
|
1467 |
<div class="icon32" id="printfriendly"></div>
|
1496 |
<?php $this->radio('buttons/print-button-gray.png'); ?>
|
1497 |
</div>
|
1498 |
|
1499 |
+
<div id="custom-btn-group" class="clear">
|
1500 |
+
<label>
|
1501 |
+
<?php echo '<input id="custom-btn" class="radio" name="'.$this->option_name.'[button_type]" type="radio" value="custom-button" '.$this->checked( 'button_type', 'custom-button', false ).'/>'; ?>
|
1502 |
<?php _e( "Custom Button", $this->hook ); ?>
|
1503 |
</label>
|
1504 |
|
1505 |
+
<div id="custom-img" style="float: left;">
|
1506 |
+
<h2><?php _e( 'Image', $this->hook ); ?></h2><br>
|
1507 |
+
<?php $this->radio_custom_image('https://cdn.printfriendly.com/icons/printfriendly-icon-sm.png'); ?>
|
1508 |
+
<?php $this->radio_custom_image('https://cdn.printfriendly.com/icons/printfriendly-icon-md.png'); ?>
|
1509 |
+
<?php $this->radio_custom_image('https://cdn.printfriendly.com/icons/printfriendly-icon-lg.png'); ?>
|
1510 |
+
|
1511 |
+
<label class="radio-custom-btn">
|
1512 |
+
<input id="custom-image-rb" type="radio" name="<?php echo $this->option_name ?>[custom_button_icon]" value="custom-image" <?php $this->checked( 'custom_button_icon', 'custom-image'); ?>>
|
1513 |
+
<b><?php _e( 'Use Your Image', $this->hook ); ?></b>
|
1514 |
+
<div id="enter-image-url" style="margin: 10px 0 0 30px">
|
1515 |
+
<?php _e( 'Enter Image URL', $this->hook ); ?><br>
|
1516 |
+
<input id="custom_image" type="text" class="clear regular-text" name="<?php echo $this->option_name; ?>[custom_image]" value="<?php $this->val( 'custom_image' ); ?>" />
|
1517 |
+
<div id="pf-custom-button-error"></div>
|
1518 |
+
<div class="description"><?php _e( "Ex: https://www.example.com/<br>Ex: /wp/wp-content/uploads/example.png", $this->hook ); ?>
|
1519 |
+
</div>
|
1520 |
</div>
|
1521 |
+
</label>
|
1522 |
+
|
1523 |
+
<label class="radio-custom-btn">
|
1524 |
+
<input type="radio" name="<?php echo $this->option_name ?>[custom_button_icon]" value="no-image" <?php $this->checked( 'custom_button_icon', 'no-image'); ?>>
|
1525 |
+
<b><?php _e( 'No Image', $this->hook ); ?></b>
|
1526 |
+
</label>
|
1527 |
</div>
|
1528 |
|
1529 |
+
<div id="custom-txt" style="float: left;">
|
1530 |
+
<h2><?php _e( 'Text', $this->hook ); ?></h2>
|
1531 |
<div id="txt-enter">
|
1532 |
+
<label>
|
1533 |
+
<input id="custom-text-rb" type="radio" name="<?php echo $this->option_name; ?>[custom_button_text]" value="custom-text" <?php $this->checked( 'custom_button_text', 'custom-text'); ?>>
|
1534 |
+
<input type="text" size="10" class="clear regular-text" name="<?php echo $this->option_name; ?>[custom_text]" id="custom_text" value="<?php $this->val( 'custom_text' ); ?>">
|
1535 |
+
</label>
|
1536 |
+
<label>
|
1537 |
+
<input type="radio" name="<?php echo $this->option_name; ?>[custom_button_text]" value="no-text" <?php $this->checked( 'custom_button_text', 'no-text'); ?>>
|
1538 |
+
<b><?php _e( 'No Text', $this->hook ); ?></b>
|
1539 |
+
</label>
|
1540 |
</div>
|
1541 |
+
<div>
|
1542 |
+
<div id="txt-color">
|
1543 |
+
<?php _e( "Text Color", $this->hook ); ?>
|
1544 |
+
<input type="hidden" name="<?php echo $this->option_name; ?>[text_color]" id="text_color" value="<?php $this->val( 'text_color' ); ?>"/><br>
|
1545 |
+
<div id="colorSelector">
|
1546 |
+
<div style="background-color: <?php echo $this->options['text_color']; ?>;"></div>
|
1547 |
+
</div>
|
1548 |
+
</div>
|
1549 |
+
<div id="txt-size">
|
1550 |
+
<?php _e( "Text Size", $this->hook ); ?><br>
|
1551 |
+
<input type="number" id="text_size" min="9" max="25" class="small-text" name="<?php echo $this->option_name; ?>[text_size]" value="<?php $this->val( 'text_size' ); ?>"/>
|
1552 |
</div>
|
1553 |
</div>
|
|
|
|
|
|
|
|
|
1554 |
</div>
|
1555 |
+
|
1556 |
+
<div id="custom-button-preview" style="float: left;">
|
1557 |
+
<h2><?php _e( 'Preview', $this->hook ); ?></h2>
|
1558 |
+
<?php $this->custom_button_preview(); ?>
|
1559 |
+
</div>
|
1560 |
</div>
|
1561 |
</fieldset>
|
1562 |
<br class="clear">
|
1564 |
<!--Section 2 Button Positioning-->
|
1565 |
<div id="button-positioning">
|
1566 |
<h3><?php _e( "Button Positioning", $this->hook ); ?>
|
1567 |
+
<span id="css"><input type="checkbox" name="<?php echo $this->option_name; ?>[enable_css]" value="<?php $this->val('enable_css');?>" <?php $this->checked('enable_css', 'off'); ?> /><?php _e('Do not use CSS for button styles'); ?></span>
|
1568 |
</h3>
|
1569 |
<div id="button-positioning-options">
|
1570 |
<div id="alignment">
|
1645 |
<label for="upload-an-image"><?php _e( "Enter url", $this->hook ); ?></label><input id="upload-an-image" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[image_url]" value="<?php $this->val( 'image_url' ); ?>" />
|
1646 |
<label for="image-tagline"><?php _e( "Text (optional)", $this->hook ); ?></label><input id="image-tagline" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[tagline]" value="<?php $this->val( 'tagline' ); ?>" />
|
1647 |
</div> */ ?>
|
1648 |
+
<div class="custom-logo"><label for="Enter_URL"><?php _e( "Enter url", $this->hook ); ?></label><input id="upload-an-image" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[image_url]" value="<?php $this->val( 'image_url' ); ?>" /><label for="Text__optional_"><?php _e( "Text (optional)", $this->hook ); ?></label><input id="image-tagline" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[tagline]" value="<?php $this->val( 'tagline' ); ?>" /></div>
|
1649 |
<div id="pf-image-error"></div>
|
1650 |
<div id="pf-image-preview"></div>
|
1651 |
<label for="click_to_delete">
|
1745 |
<?php
|
1746 |
if (class_exists('WooCommerce')) {
|
1747 |
?>
|
1748 |
+
<span><strong><?php _e( "Not available for woocommerce", $this->hook ); ?></strong></span>
|
1749 |
<?php
|
1750 |
} else {
|
1751 |
?>
|
1767 |
<p>
|
1768 |
<?php _e( sprintf( __( 'If you like <strong>PrintFriendly</strong> please leave us a %s rating. A huge thanks in advance!', 'printfriendly' ), '<a href="https://wordpress.org/support/plugin/printfriendly/reviews?rate=5#new-post" target="_blank">★★★★★</a>' ), $this->hook ); ?>
|
1769 |
</p>
|
1770 |
+
<p><?php _e( "Need professional options for your corporate, education, or agency developed website? Check out", $this->hook ); ?> <a href="https://www.printfriendly.com/button/pro?utm_source=wp&utm_medium=link&utm_campaign=wp-link" target="_blank">PrintFriendly Pro</a>.</p>
|
1771 |
<p>
|
1772 |
<?php _e( "Need help or have suggestions?", $this->hook ); ?> <a href="mailto:support@printfriendly.com?subject=Support%20for%20PrintFriendly%20WordPress%20plugin">support@PrintFriendly.com</a>
|
1773 |
</p>
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: printfriendly,joostdevalk, jrf
|
3 |
Tags: print, pdf, email, print button, wp-print, print recipe, print post, print page, print widget, print plugin, printable, wp-pdf, pdf post, pdf page, pdf button, pdf widget, pdf plugin, woocommerce print, woocommerce pdf
|
4 |
Requires at least: 2.8
|
5 |
-
Tested up to: 4.
|
6 |
-
Stable tag: 3.
|
7 |
|
8 |
|
9 |
The #1 Print, PDF, Email button. Stylish, full featured, customizable. Add custom header, footer, and more.
|
@@ -140,6 +140,33 @@ You can [hide the Print, PDF, and Email button](https://support.printfriendly.co
|
|
140 |
|
141 |
== Changelog ==
|
142 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
= 3.11.0 =
|
144 |
* Update buttons
|
145 |
|
2 |
Contributors: printfriendly,joostdevalk, jrf
|
3 |
Tags: print, pdf, email, print button, wp-print, print recipe, print post, print page, print widget, print plugin, printable, wp-pdf, pdf post, pdf page, pdf button, pdf widget, pdf plugin, woocommerce print, woocommerce pdf
|
4 |
Requires at least: 2.8
|
5 |
+
Tested up to: 4.9
|
6 |
+
Stable tag: 3.13.0
|
7 |
|
8 |
|
9 |
The #1 Print, PDF, Email button. Stylish, full featured, customizable. Add custom header, footer, and more.
|
140 |
|
141 |
== Changelog ==
|
142 |
|
143 |
+
= 3.13.0 =
|
144 |
+
* Add Notification alerting websites using Password Protection or JavaScript to display content they need to upgrade to PrintFriendly Pro
|
145 |
+
|
146 |
+
= 3.12.5 =
|
147 |
+
* Chanage link in settings page
|
148 |
+
|
149 |
+
= 3.12.4 =
|
150 |
+
* Bug fix, avoid "undefined variable: return"
|
151 |
+
|
152 |
+
= 3.12.3 =
|
153 |
+
* Bug fix, sometimes custom image didn't display correctly after upgrade
|
154 |
+
|
155 |
+
= 3.12.2 =
|
156 |
+
* Add title to Printfriendly button and change button image alt
|
157 |
+
|
158 |
+
= 3.12.1 =
|
159 |
+
* Fix translations
|
160 |
+
|
161 |
+
= 3.12.0 =
|
162 |
+
* Update custom button UI
|
163 |
+
|
164 |
+
= 3.11.2 =
|
165 |
+
* Fix button upgrade for pf-icon-both.gif
|
166 |
+
|
167 |
+
= 3.11.1 =
|
168 |
+
* Bug fix
|
169 |
+
|
170 |
= 3.11.0 =
|
171 |
* Update buttons
|
172 |
|
trunk/admin.css
ADDED
@@ -0,0 +1,398 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
label {
|
2 |
+
display: block;
|
3 |
+
margin: 1.5em 0;
|
4 |
+
}
|
5 |
+
|
6 |
+
h3 {
|
7 |
+
margin: 3em 0 2em;
|
8 |
+
border-bottom: 1px solid #ccc;
|
9 |
+
padding-bottom:.75em;
|
10 |
+
clear: both;
|
11 |
+
}
|
12 |
+
|
13 |
+
h3.hndle {
|
14 |
+
clear:none;
|
15 |
+
padding: 7px 5px;
|
16 |
+
}
|
17 |
+
|
18 |
+
#buttongroup1, #buttongroup2, #buttongroup3, #button-positioning div, #button-placement div {
|
19 |
+
display: block;
|
20 |
+
margin-right: 3em;
|
21 |
+
float: left;
|
22 |
+
}
|
23 |
+
#custom-txt div#txt-size, div#button-positioning-options {
|
24 |
+
margin-right: 0;
|
25 |
+
}
|
26 |
+
|
27 |
+
#custom-button-preview {
|
28 |
+
margin-left: 2em;
|
29 |
+
}
|
30 |
+
#custom-button-preview img {
|
31 |
+
margin-right: 6px;
|
32 |
+
}
|
33 |
+
#placement-adv-options {
|
34 |
+
float: left;
|
35 |
+
}
|
36 |
+
|
37 |
+
#custom-txt, #custom-img, #custom-button-preview {
|
38 |
+
margin: 0 3em;
|
39 |
+
}
|
40 |
+
|
41 |
+
#custom-txt>div {
|
42 |
+
margin-bottom: 10px;
|
43 |
+
}
|
44 |
+
|
45 |
+
.description {
|
46 |
+
color: #cacaca;
|
47 |
+
}
|
48 |
+
.printfriendly-text2 {
|
49 |
+
font-family: verdana;
|
50 |
+
font-size: 14px;
|
51 |
+
color: #6D9F00;
|
52 |
+
}
|
53 |
+
select{
|
54 |
+
display: block;
|
55 |
+
margin: .5em .5em 2em 0;
|
56 |
+
}
|
57 |
+
select#javascript, select#website_protocol {
|
58 |
+
display: inline-block;
|
59 |
+
margin-bottom: 0;
|
60 |
+
}
|
61 |
+
input[type="radio"], input[type="checkbox"] {
|
62 |
+
cursor: pointer;
|
63 |
+
margin-right: 10px;
|
64 |
+
vertical-align: middle;
|
65 |
+
}
|
66 |
+
|
67 |
+
|
68 |
+
/* WP lacks styling for type="number", so in here for now */
|
69 |
+
input[type="number"] {
|
70 |
+
border-color: #DFDFDF;
|
71 |
+
background-color: white;
|
72 |
+
border-width: 1px;
|
73 |
+
border-style: solid;
|
74 |
+
-moz-border-radius: 3px;
|
75 |
+
-khtml-border-radius: 3px;
|
76 |
+
-webkit-border-radius: 3px;
|
77 |
+
border-radius: 3px;
|
78 |
+
-moz-box-sizing: border-box;
|
79 |
+
-webkit-box-sizing: border-box;
|
80 |
+
-ms-box-sizing: border-box;
|
81 |
+
box-sizing: border-box;
|
82 |
+
width: 36px;
|
83 |
+
margin-right: .5em;
|
84 |
+
}
|
85 |
+
#css {
|
86 |
+
font-size: 11px;
|
87 |
+
color:#bbb;
|
88 |
+
}
|
89 |
+
#css input {
|
90 |
+
margin: 0 6px 0 12px;
|
91 |
+
vertical-align: baseline;
|
92 |
+
}
|
93 |
+
#pf-shortcode {
|
94 |
+
|
95 |
+
margin-left: 2em;
|
96 |
+
}
|
97 |
+
.custom-logo label, .custom-logo input, #pf-favicon {
|
98 |
+
display: inline-block;
|
99 |
+
}
|
100 |
+
|
101 |
+
.custom-logo input {
|
102 |
+
width: 20em;
|
103 |
+
}
|
104 |
+
|
105 |
+
.custom-logo label {
|
106 |
+
margin-left: 5px;
|
107 |
+
margin-right: 2px;
|
108 |
+
}
|
109 |
+
|
110 |
+
label#pf-favicon {
|
111 |
+
vertical-align: baseline;
|
112 |
+
margin: 0;
|
113 |
+
}
|
114 |
+
|
115 |
+
.printfriendly-details input {
|
116 |
+
width: 20em;
|
117 |
+
}
|
118 |
+
|
119 |
+
.printfriendly-details label {
|
120 |
+
margin-left: 5px;
|
121 |
+
margin-right: 2px;
|
122 |
+
}
|
123 |
+
|
124 |
+
.icon32 {
|
125 |
+
background: url(images/pf-icon.png) center center no-repeat;
|
126 |
+
}
|
127 |
+
|
128 |
+
#after-submit {
|
129 |
+
border-top: 2px dashed #dfdfdf;
|
130 |
+
margin:4em 0;
|
131 |
+
padding-top:1em;
|
132 |
+
}
|
133 |
+
#addmanual-help {
|
134 |
+
display: none;
|
135 |
+
}
|
136 |
+
|
137 |
+
#colorSelector {
|
138 |
+
position: relative;
|
139 |
+
width: 36px;
|
140 |
+
height: 36px;
|
141 |
+
background: url(images/select2.png);
|
142 |
+
display: inline-block;
|
143 |
+
cursor: pointer;
|
144 |
+
}
|
145 |
+
|
146 |
+
#colorSelector div {
|
147 |
+
position: absolute;
|
148 |
+
top: 4px;
|
149 |
+
left: 4px;
|
150 |
+
width: 28px;
|
151 |
+
height: 28px;
|
152 |
+
background: url(images/select2.png) center;
|
153 |
+
}
|
154 |
+
|
155 |
+
.colorpicker {
|
156 |
+
width: 356px;
|
157 |
+
height: 176px;
|
158 |
+
overflow: hidden;
|
159 |
+
position: absolute;
|
160 |
+
background: url(images/custom_background.png);
|
161 |
+
font-family: Arial, Helvetica, sans-serif;
|
162 |
+
display: none;
|
163 |
+
}
|
164 |
+
|
165 |
+
.colorpicker_color {
|
166 |
+
width: 150px;
|
167 |
+
height: 150px;
|
168 |
+
left: 14px;
|
169 |
+
top: 13px;
|
170 |
+
position: absolute;
|
171 |
+
background: #f00;
|
172 |
+
overflow: hidden;
|
173 |
+
cursor: crosshair;
|
174 |
+
}
|
175 |
+
|
176 |
+
.colorpicker_color div {
|
177 |
+
position: absolute;
|
178 |
+
top: 0;
|
179 |
+
left: 0;
|
180 |
+
width: 150px;
|
181 |
+
height: 150px;
|
182 |
+
background: url(images/colorpicker_overlay.png);
|
183 |
+
}
|
184 |
+
|
185 |
+
.colorpicker_color div div {
|
186 |
+
position: absolute;
|
187 |
+
top: 0;
|
188 |
+
left: 0;
|
189 |
+
width: 11px;
|
190 |
+
height: 11px;
|
191 |
+
overflow: hidden;
|
192 |
+
background: url(images/colorpicker_select.gif);
|
193 |
+
margin: -5px 0 0 -5px;
|
194 |
+
}
|
195 |
+
|
196 |
+
.colorpicker_hue {
|
197 |
+
position: absolute;
|
198 |
+
top: 13px;
|
199 |
+
left: 171px;
|
200 |
+
width: 35px;
|
201 |
+
height: 150px;
|
202 |
+
cursor: n-resize;
|
203 |
+
}
|
204 |
+
|
205 |
+
.colorpicker_hue div {
|
206 |
+
position: absolute;
|
207 |
+
width: 35px;
|
208 |
+
height: 9px;
|
209 |
+
overflow: hidden;
|
210 |
+
background: url(images/custom_indic.gif) left top;
|
211 |
+
margin: -4px 0 0 0;
|
212 |
+
left: 0px;
|
213 |
+
}
|
214 |
+
|
215 |
+
.colorpicker_new_color {
|
216 |
+
position: absolute;
|
217 |
+
width: 60px;
|
218 |
+
height: 30px;
|
219 |
+
left: 213px;
|
220 |
+
top: 13px;
|
221 |
+
background: #f00;
|
222 |
+
}
|
223 |
+
|
224 |
+
.colorpicker_current_color {
|
225 |
+
position: absolute;
|
226 |
+
width: 60px;
|
227 |
+
height: 30px;
|
228 |
+
left: 283px;
|
229 |
+
top: 13px;
|
230 |
+
background: #f00;
|
231 |
+
}
|
232 |
+
|
233 |
+
.colorpicker input {
|
234 |
+
background-color: transparent;
|
235 |
+
border: 1px solid transparent !important;
|
236 |
+
position: absolute;
|
237 |
+
font-size: 10px;
|
238 |
+
font-family: Arial, Helvetica, sans-serif;
|
239 |
+
color: #778398;
|
240 |
+
top: 4px;
|
241 |
+
right: 11px;
|
242 |
+
text-align: right;
|
243 |
+
margin: 0;
|
244 |
+
padding: 0 !important;
|
245 |
+
height: 11px;
|
246 |
+
line-height: 11px;
|
247 |
+
outline: none;
|
248 |
+
}
|
249 |
+
|
250 |
+
.colorpicker_hex {
|
251 |
+
position: absolute;
|
252 |
+
width: 72px;
|
253 |
+
height: 22px;
|
254 |
+
background: url(images/custom_hex.png) top;
|
255 |
+
left: 212px;
|
256 |
+
top: 142px;
|
257 |
+
}
|
258 |
+
|
259 |
+
.colorpicker_hex input {
|
260 |
+
right: 6px;
|
261 |
+
}
|
262 |
+
|
263 |
+
.colorpicker_field {
|
264 |
+
height: 22px;
|
265 |
+
width: 62px;
|
266 |
+
background-position: top;
|
267 |
+
position: absolute;
|
268 |
+
}
|
269 |
+
|
270 |
+
.colorpicker_field span {
|
271 |
+
position: absolute;
|
272 |
+
width: 12px;
|
273 |
+
height: 22px;
|
274 |
+
overflow: hidden;
|
275 |
+
top: 0;
|
276 |
+
right: 0;
|
277 |
+
cursor: n-resize;
|
278 |
+
}
|
279 |
+
|
280 |
+
.colorpicker_rgb_r {
|
281 |
+
background-image: url(images/custom_rgb_r.png);
|
282 |
+
top: 52px;
|
283 |
+
left: 212px;
|
284 |
+
}
|
285 |
+
|
286 |
+
.colorpicker_rgb_g {
|
287 |
+
background-image: url(images/custom_rgb_g.png);
|
288 |
+
top: 82px;
|
289 |
+
left: 212px;
|
290 |
+
}
|
291 |
+
|
292 |
+
.colorpicker_rgb_b {
|
293 |
+
background-image: url(images/custom_rgb_b.png);
|
294 |
+
top: 112px;
|
295 |
+
left: 212px;
|
296 |
+
}
|
297 |
+
|
298 |
+
.colorpicker_hsb_h, .colorpicker_hsb_s, .colorpicker_hsb_b {
|
299 |
+
display: none;
|
300 |
+
}
|
301 |
+
|
302 |
+
.colorpicker_submit {
|
303 |
+
position: absolute;
|
304 |
+
width: 22px;
|
305 |
+
height: 22px;
|
306 |
+
background: url(images/custom_submit.png) top;
|
307 |
+
left: 322px;
|
308 |
+
top: 142px;
|
309 |
+
overflow: hidden;
|
310 |
+
}
|
311 |
+
|
312 |
+
.colorpicker_focus {
|
313 |
+
background-position: center;
|
314 |
+
}
|
315 |
+
|
316 |
+
.colorpicker_hex.colorpicker_focus {
|
317 |
+
background-position: bottom;
|
318 |
+
}
|
319 |
+
|
320 |
+
.colorpicker_submit.colorpicker_focus {
|
321 |
+
background-position: bottom;
|
322 |
+
}
|
323 |
+
|
324 |
+
.colorpicker_slider {
|
325 |
+
background-position: bottom;
|
326 |
+
}
|
327 |
+
|
328 |
+
#button-placement div#pages label {
|
329 |
+
clear: left;
|
330 |
+
}
|
331 |
+
|
332 |
+
div#category-adder {
|
333 |
+
float: none;
|
334 |
+
}
|
335 |
+
|
336 |
+
#pf-categories {
|
337 |
+
display: none;
|
338 |
+
float: left;
|
339 |
+
position: relative;
|
340 |
+
top: 1.5em;
|
341 |
+
left: 20px;
|
342 |
+
width: 270px;
|
343 |
+
}
|
344 |
+
#pf-categories h4 {
|
345 |
+
margin: 0 0 0.4em 0;
|
346 |
+
}
|
347 |
+
|
348 |
+
#pf-categories-metabox, #category-adder {
|
349 |
+
display: none;
|
350 |
+
}
|
351 |
+
|
352 |
+
span.description.pf-help-link {
|
353 |
+
font-size: 130%;
|
354 |
+
padding-left: 10px;
|
355 |
+
font-style: normal;
|
356 |
+
}
|
357 |
+
|
358 |
+
.no-italics {
|
359 |
+
font-style:normal !important
|
360 |
+
}
|
361 |
+
|
362 |
+
#margin input[type="number"]{
|
363 |
+
width: 65px;
|
364 |
+
}
|
365 |
+
|
366 |
+
label.radio-custom-btn {
|
367 |
+
margin-right: 15px;
|
368 |
+
}
|
369 |
+
|
370 |
+
#custom-btn-group {
|
371 |
+
float: left;
|
372 |
+
}
|
373 |
+
|
374 |
+
#custom-btn-group b {
|
375 |
+
font-weight: bold;
|
376 |
+
font-size: 14px;
|
377 |
+
}
|
378 |
+
|
379 |
+
#custom-btn-group, h2 {
|
380 |
+
margin-top: 0;
|
381 |
+
}
|
382 |
+
|
383 |
+
#custom-img h2 {
|
384 |
+
margin-bottom: 0;
|
385 |
+
}
|
386 |
+
|
387 |
+
#custom-img label, #custom-txt label {
|
388 |
+
margin: 0 0 15px 0;
|
389 |
+
}
|
390 |
+
|
391 |
+
#txt-color, #txt-size {
|
392 |
+
float: left;
|
393 |
+
margin-right: 20px;
|
394 |
+
}
|
395 |
+
|
396 |
+
#custom_text {
|
397 |
+
width: 200px;
|
398 |
+
}
|
trunk/admin.js
ADDED
@@ -0,0 +1,276 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
// Throughout the admin I chose to use slow animations to make it clear that stuff is being hidden or shown depending on settings.
|
2 |
+
jQuery(document).ready(function() {
|
3 |
+
jQuery('.show_list').change(function() {
|
4 |
+
if (jQuery('.show_list:checked').length == 0) {
|
5 |
+
jQuery('.content_placement').hide('slow');
|
6 |
+
jQuery('.content_placement input').attr('disabled','disabled');
|
7 |
+
jQuery('.show_template').attr('checked', 'checked');
|
8 |
+
} else {
|
9 |
+
jQuery('.show_template').attr('checked', false);
|
10 |
+
jQuery('.content_placement').show('slow');
|
11 |
+
jQuery('.content_placement input').removeAttr('disabled');
|
12 |
+
}
|
13 |
+
|
14 |
+
var postName = 'printfriendly_option[show_on_posts]';
|
15 |
+
var homeName = 'printfriendly_option[show_on_homepage]';
|
16 |
+
|
17 |
+
var optionName = jQuery(this).attr('name');
|
18 |
+
if (optionName == homeName || optionName == postName){
|
19 |
+
if(jQuery(this).is(':checked')) {
|
20 |
+
jQuery('#pf-categories').show('slow');
|
21 |
+
} else if(!jQuery('input[name="' + homeName + '"]').is(':checked')
|
22 |
+
&& !jQuery('input[name="' + postName + '"]').is(':checked')) {
|
23 |
+
jQuery('#pf-categories').hide('slow');
|
24 |
+
}
|
25 |
+
}
|
26 |
+
}).change();
|
27 |
+
|
28 |
+
jQuery('.show_template').change(function() {
|
29 |
+
if(jQuery(this).is(':checked')) {
|
30 |
+
jQuery('.show_list').attr('checked', false);
|
31 |
+
jQuery('.show_list').attr('disabled', 'disabled');
|
32 |
+
jQuery('.content_placement').hide('slow');
|
33 |
+
jQuery('.content_placement input').attr('disabled','disabled');
|
34 |
+
jQuery('#pf-categories-metabox').hide('slow');
|
35 |
+
} else {
|
36 |
+
jQuery('.show_list').removeAttr('disabled');
|
37 |
+
jQuery('.content_placement').show('slow');
|
38 |
+
jQuery('.content_placement input').removeAttr('disabled');
|
39 |
+
}
|
40 |
+
}).change();
|
41 |
+
|
42 |
+
jQuery('#toggle-categories').click(function() {
|
43 |
+
if(jQuery('#pf-categories-metabox').is(':visible')) {
|
44 |
+
jQuery('#pf-categories-metabox').hide('slow');
|
45 |
+
} else {
|
46 |
+
jQuery('#pf-categories-metabox').show('slow');
|
47 |
+
}
|
48 |
+
});
|
49 |
+
|
50 |
+
jQuery(document).mouseup(function (e) {
|
51 |
+
var container = jQuery("#pf-categories");
|
52 |
+
|
53 |
+
if (container.has(e.target).length === 0) {
|
54 |
+
jQuery('#pf-categories-metabox').hide('slow');
|
55 |
+
}
|
56 |
+
});
|
57 |
+
|
58 |
+
jQuery('#colorSelector').ColorPicker({
|
59 |
+
color: jQuery('#text_color').val(),
|
60 |
+
onShow: function (colpkr) {
|
61 |
+
jQuery(colpkr).fadeIn(500);
|
62 |
+
return false;
|
63 |
+
},
|
64 |
+
onHide: function (colpkr) {
|
65 |
+
jQuery(colpkr).fadeOut(500);
|
66 |
+
return false;
|
67 |
+
},
|
68 |
+
onChange: function (hsb, hex, rgb) {
|
69 |
+
jQuery('#colorSelector div').css('backgroundColor', '#' + hex);
|
70 |
+
jQuery('#text_color').val('#' + hex);
|
71 |
+
jQuery('.printfriendly-text2').css('color','#' + hex);
|
72 |
+
}
|
73 |
+
});
|
74 |
+
|
75 |
+
jQuery('#text_size').change(function(){
|
76 |
+
size = jQuery('#text_size').val();
|
77 |
+
jQuery('.printfriendly-text2').css('font-size',parseInt(size));
|
78 |
+
}).change();
|
79 |
+
|
80 |
+
jQuery('#css input').change(function() {
|
81 |
+
if(jQuery(this).attr('checked')) {
|
82 |
+
jQuery(this).val('off');
|
83 |
+
jQuery('#margin, #txt-color, #txt-size').hide('slow');
|
84 |
+
pf_reset_style();
|
85 |
+
} else {
|
86 |
+
jQuery(this).val('on');
|
87 |
+
jQuery('#margin, #txt-color, #txt-size').show('slow');
|
88 |
+
pf_apply_style();
|
89 |
+
}
|
90 |
+
}).change();
|
91 |
+
|
92 |
+
jQuery('#custom_text').bind('change keyup', function(){
|
93 |
+
pf_custom_text_change();
|
94 |
+
});
|
95 |
+
|
96 |
+
jQuery("[name='printfriendly_option[custom_button_text]']").change(function(){
|
97 |
+
pf_custom_text_change();
|
98 |
+
});
|
99 |
+
|
100 |
+
function pf_custom_text_change(){
|
101 |
+
jQuery('#buttongroup3 span:not(.printandpdf)').text( jQuery('#custom_text').val() );
|
102 |
+
var newText = (jQuery("[name='printfriendly_option[custom_button_text]']:checked").val() === 'no-text') ? '' : jQuery('#custom_text').val();
|
103 |
+
jQuery('#custom-btn-group span.printfriendly-text2').text( newText );
|
104 |
+
}
|
105 |
+
|
106 |
+
function pf_initialize_preview(urlInputSelector, previewSelector) {
|
107 |
+
var el = jQuery(urlInputSelector);
|
108 |
+
var imgUrl = jQuery.trim(el.val());
|
109 |
+
var preview = jQuery(previewSelector + '-preview');
|
110 |
+
var error = jQuery(previewSelector + '-error');
|
111 |
+
|
112 |
+
el.bind('input paste change keyup', function() {
|
113 |
+
setTimeout(function() {
|
114 |
+
// ie shows error if we try to merge the two below into a single statement
|
115 |
+
var img = jQuery('<img/>');
|
116 |
+
var customButtonIcon = jQuery("[name='printfriendly_option[custom_button_icon]']:checked").val();
|
117 |
+
|
118 |
+
if (customButtonIcon === 'custom-image') {
|
119 |
+
imgUrl = jQuery('#custom_image').val();
|
120 |
+
} else if (customButtonIcon === 'no-image') {
|
121 |
+
imgUrl = '';
|
122 |
+
} else {
|
123 |
+
imgUrl = customButtonIcon;
|
124 |
+
}
|
125 |
+
|
126 |
+
img.load(function() {
|
127 |
+
error.html('');
|
128 |
+
preview.html('').append(img);})
|
129 |
+
.error(function() {
|
130 |
+
preview.html('');
|
131 |
+
if(img.attr('src') != '') {
|
132 |
+
error.html('<div class="error settings-error"><p><strong>Invalid Image URL</strong></p></div>');
|
133 |
+
}
|
134 |
+
}).attr('src', imgUrl);
|
135 |
+
// hide error for empty url
|
136 |
+
if(imgUrl == '')
|
137 |
+
error.html('');
|
138 |
+
}, 100);
|
139 |
+
});
|
140 |
+
}
|
141 |
+
|
142 |
+
pf_initialize_preview('#custom_image', '#pf-custom-button');
|
143 |
+
pf_initialize_preview("[name='printfriendly_option[custom_button_icon]']", '#pf-custom-button');
|
144 |
+
pf_initialize_preview('#upload-an-image', '#pf-image');
|
145 |
+
jQuery('#custom_image, #upload-an-image').change();
|
146 |
+
jQuery('#custom_image').bind('focus', function() {
|
147 |
+
jQuery('#custom-image').attr('checked', 'checked');
|
148 |
+
jQuery('#pf-custom-button-error').show();
|
149 |
+
});
|
150 |
+
jQuery('#button-style input.radio').bind('change', function() {
|
151 |
+
if(jQuery('#custom-image').attr('checked')) {
|
152 |
+
jQuery('#pf-custom-button-error').show();
|
153 |
+
} else {
|
154 |
+
jQuery('#pf-custom-button-error').hide();
|
155 |
+
}
|
156 |
+
}).change();
|
157 |
+
|
158 |
+
jQuery('#pf-logo').bind('change', function() {
|
159 |
+
if(jQuery(this).val() == 'favicon') {
|
160 |
+
jQuery('.custom-logo, #image-preview').hide();
|
161 |
+
} else {
|
162 |
+
jQuery('.custom-logo').css('display', 'inline-block');
|
163 |
+
jQuery('#image-preview').show();
|
164 |
+
}
|
165 |
+
}).change();
|
166 |
+
|
167 |
+
jQuery('#website_protocol').bind('change', function() {
|
168 |
+
if(jQuery(this).val() == 'https') {
|
169 |
+
jQuery('#https-beta-registration').show('slow');
|
170 |
+
} else {
|
171 |
+
jQuery('#https-beta-registration').hide('slow');
|
172 |
+
}
|
173 |
+
}).change();
|
174 |
+
|
175 |
+
jQuery('#password_protected').bind('change', function() {
|
176 |
+
if(jQuery(this).val() == 'yes') {
|
177 |
+
jQuery('#javascript').val('yes').change();
|
178 |
+
pf_on_javascript();
|
179 |
+
jQuery('#javascript').attr('disabled', 'disabled');
|
180 |
+
jQuery('#pf-javascript-container').hide('slow');
|
181 |
+
} else {
|
182 |
+
jQuery('#javascript').removeAttr('disabled');
|
183 |
+
jQuery('#pf-javascript-container').show('slow');
|
184 |
+
}
|
185 |
+
}).change();
|
186 |
+
|
187 |
+
jQuery('#javascript').bind('change', function() {
|
188 |
+
if(jQuery(this).val() == 'yes') {
|
189 |
+
pf_on_javascript();
|
190 |
+
} else {
|
191 |
+
pf_on_no_javascript();
|
192 |
+
}
|
193 |
+
}).change();
|
194 |
+
|
195 |
+
function pf_on_javascript() {
|
196 |
+
jQuery('.javascript').show();
|
197 |
+
jQuery('.no-javascript').hide();
|
198 |
+
}
|
199 |
+
|
200 |
+
function pf_on_no_javascript() {
|
201 |
+
jQuery('.javascript').hide();
|
202 |
+
jQuery('.no-javascript').show();
|
203 |
+
}
|
204 |
+
|
205 |
+
function pf_reset_style() {
|
206 |
+
jQuery('.printfriendly-text2').css('font-size',14);
|
207 |
+
jQuery('.printfriendly-text2').css('color','#000000');
|
208 |
+
}
|
209 |
+
|
210 |
+
function pf_apply_style() {
|
211 |
+
jQuery('.printfriendly-text2').css('color', jQuery('#text_color').val() );
|
212 |
+
size = jQuery('#text_size').val();
|
213 |
+
jQuery('.printfriendly-text2').css('font-size',parseInt(size));
|
214 |
+
}
|
215 |
+
|
216 |
+
// postboxes setup
|
217 |
+
jQuery('.if-js-closed').removeClass('if-js-closed').addClass('closed');
|
218 |
+
|
219 |
+
// categories checkboxes
|
220 |
+
var category_ids = jQuery('#category_ids').val();
|
221 |
+
|
222 |
+
if( typeof category_ids !== 'undefined' ) {
|
223 |
+
category_ids = category_ids.split(',');
|
224 |
+
|
225 |
+
if(category_ids[0] == 'all') {
|
226 |
+
var ids = [];
|
227 |
+
jQuery('#categorydiv :checkbox').each(function() {
|
228 |
+
jQuery(this).attr('checked', 'checked');
|
229 |
+
});
|
230 |
+
jQuery('#category-all :checkbox').each(function() {
|
231 |
+
ids.push(jQuery(this).val());
|
232 |
+
});
|
233 |
+
// for older wp versions we do not have per category settings so
|
234 |
+
// ids array will be empty and in that case we shouldn't replace 'all'
|
235 |
+
if(ids.length != 0) {
|
236 |
+
jQuery('#category_ids').val(ids.join(','));
|
237 |
+
}
|
238 |
+
} else {
|
239 |
+
|
240 |
+
jQuery('#categorydiv :checkbox').each(function() {
|
241 |
+
if(jQuery.inArray(jQuery(this).val(), category_ids) != -1) {
|
242 |
+
jQuery(this).attr('checked', 'checked');
|
243 |
+
}
|
244 |
+
});
|
245 |
+
}
|
246 |
+
}
|
247 |
+
|
248 |
+
jQuery('#categorydiv :checkbox').click(function() {
|
249 |
+
var values = jQuery('#category_ids').val();
|
250 |
+
var ids = [];
|
251 |
+
if(values != '')
|
252 |
+
ids = values.split(',');
|
253 |
+
|
254 |
+
var id = jQuery(this).val();
|
255 |
+
|
256 |
+
if(jQuery(this).is(':checked'))
|
257 |
+
ids.push(id);
|
258 |
+
else {
|
259 |
+
ids = jQuery.grep(ids, function(value) {
|
260 |
+
return value != id;
|
261 |
+
});
|
262 |
+
}
|
263 |
+
|
264 |
+
jQuery('#category_ids').val(ids.join(','));
|
265 |
+
});
|
266 |
+
|
267 |
+
jQuery('#custom_image').click(function() {
|
268 |
+
jQuery("#custom-image-rb").prop('checked', true);
|
269 |
+
jQuery("#custom-image-rb").trigger("change");
|
270 |
+
});
|
271 |
+
|
272 |
+
jQuery('#custom_text').click(function() {
|
273 |
+
jQuery("#custom-text-rb").prop('checked', true);
|
274 |
+
jQuery("#custom-text-rb").trigger("change");
|
275 |
+
});
|
276 |
+
});
|
trunk/colorpicker.js
ADDED
@@ -0,0 +1,484 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
*
|
3 |
+
* Color picker
|
4 |
+
* Author: Stefan Petre www.eyecon.ro
|
5 |
+
*
|
6 |
+
* Dual licensed under the MIT and GPL licenses
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
(function ($) {
|
10 |
+
var ColorPicker = function () {
|
11 |
+
var
|
12 |
+
ids = {},
|
13 |
+
inAction,
|
14 |
+
charMin = 65,
|
15 |
+
visible,
|
16 |
+
tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',
|
17 |
+
defaults = {
|
18 |
+
eventName: 'click',
|
19 |
+
onShow: function () {},
|
20 |
+
onBeforeShow: function(){},
|
21 |
+
onHide: function () {},
|
22 |
+
onChange: function () {},
|
23 |
+
onSubmit: function () {},
|
24 |
+
color: 'ff0000',
|
25 |
+
livePreview: true,
|
26 |
+
flat: false
|
27 |
+
},
|
28 |
+
fillRGBFields = function (hsb, cal) {
|
29 |
+
var rgb = HSBToRGB(hsb);
|
30 |
+
$(cal).data('colorpicker').fields
|
31 |
+
.eq(1).val(rgb.r).end()
|
32 |
+
.eq(2).val(rgb.g).end()
|
33 |
+
.eq(3).val(rgb.b).end();
|
34 |
+
},
|
35 |
+
fillHSBFields = function (hsb, cal) {
|
36 |
+
$(cal).data('colorpicker').fields
|
37 |
+
.eq(4).val(hsb.h).end()
|
38 |
+
.eq(5).val(hsb.s).end()
|
39 |
+
.eq(6).val(hsb.b).end();
|
40 |
+
},
|
41 |
+
fillHexFields = function (hsb, cal) {
|
42 |
+
$(cal).data('colorpicker').fields
|
43 |
+
.eq(0).val(HSBToHex(hsb)).end();
|
44 |
+
},
|
45 |
+
setSelector = function (hsb, cal) {
|
46 |
+
$(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
|
47 |
+
$(cal).data('colorpicker').selectorIndic.css({
|
48 |
+
left: parseInt(150 * hsb.s/100, 10),
|
49 |
+
top: parseInt(150 * (100-hsb.b)/100, 10)
|
50 |
+
});
|
51 |
+
},
|
52 |
+
setHue = function (hsb, cal) {
|
53 |
+
$(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
|
54 |
+
},
|
55 |
+
setCurrentColor = function (hsb, cal) {
|
56 |
+
$(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
|
57 |
+
},
|
58 |
+
setNewColor = function (hsb, cal) {
|
59 |
+
$(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
|
60 |
+
},
|
61 |
+
keyDown = function (ev) {
|
62 |
+
var pressedKey = ev.charCode || ev.keyCode || -1;
|
63 |
+
if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
|
64 |
+
return false;
|
65 |
+
}
|
66 |
+
var cal = $(this).parent().parent();
|
67 |
+
if (cal.data('colorpicker').livePreview === true) {
|
68 |
+
change.apply(this);
|
69 |
+
}
|
70 |
+
},
|
71 |
+
change = function (ev) {
|
72 |
+
var cal = $(this).parent().parent(), col;
|
73 |
+
if (this.parentNode.className.indexOf('_hex') > 0) {
|
74 |
+
cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
|
75 |
+
} else if (this.parentNode.className.indexOf('_hsb') > 0) {
|
76 |
+
cal.data('colorpicker').color = col = fixHSB({
|
77 |
+
h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
|
78 |
+
s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
|
79 |
+
b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
|
80 |
+
});
|
81 |
+
} else {
|
82 |
+
cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
|
83 |
+
r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
|
84 |
+
g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
|
85 |
+
b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
|
86 |
+
}));
|
87 |
+
}
|
88 |
+
if (ev) {
|
89 |
+
fillRGBFields(col, cal.get(0));
|
90 |
+
fillHexFields(col, cal.get(0));
|
91 |
+
fillHSBFields(col, cal.get(0));
|
92 |
+
}
|
93 |
+
setSelector(col, cal.get(0));
|
94 |
+
setHue(col, cal.get(0));
|
95 |
+
setNewColor(col, cal.get(0));
|
96 |
+
cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
|
97 |
+
},
|
98 |
+
blur = function (ev) {
|
99 |
+
var cal = $(this).parent().parent();
|
100 |
+
cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
|
101 |
+
},
|
102 |
+
focus = function () {
|
103 |
+
charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
|
104 |
+
$(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
|
105 |
+
$(this).parent().addClass('colorpicker_focus');
|
106 |
+
},
|
107 |
+
downIncrement = function (ev) {
|
108 |
+
var field = $(this).parent().find('input').focus();
|
109 |
+
var current = {
|
110 |
+
el: $(this).parent().addClass('colorpicker_slider'),
|
111 |
+
max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
|
112 |
+
y: ev.pageY,
|
113 |
+
field: field,
|
114 |
+
val: parseInt(field.val(), 10),
|
115 |
+
preview: $(this).parent().parent().data('colorpicker').livePreview
|
116 |
+
};
|
117 |
+
$(document).bind('mouseup', current, upIncrement);
|
118 |
+
$(document).bind('mousemove', current, moveIncrement);
|
119 |
+
},
|
120 |
+
moveIncrement = function (ev) {
|
121 |
+
ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
|
122 |
+
if (ev.data.preview) {
|
123 |
+
change.apply(ev.data.field.get(0), [true]);
|
124 |
+
}
|
125 |
+
return false;
|
126 |
+
},
|
127 |
+
upIncrement = function (ev) {
|
128 |
+
change.apply(ev.data.field.get(0), [true]);
|
129 |
+
ev.data.el.removeClass('colorpicker_slider').find('input').focus();
|
130 |
+
$(document).unbind('mouseup', upIncrement);
|
131 |
+
$(document).unbind('mousemove', moveIncrement);
|
132 |
+
return false;
|
133 |
+
},
|
134 |
+
downHue = function (ev) {
|
135 |
+
var current = {
|
136 |
+
cal: $(this).parent(),
|
137 |
+
y: $(this).offset().top
|
138 |
+
};
|
139 |
+
current.preview = current.cal.data('colorpicker').livePreview;
|
140 |
+
$(document).bind('mouseup', current, upHue);
|
141 |
+
$(document).bind('mousemove', current, moveHue);
|
142 |
+
},
|
143 |
+
moveHue = function (ev) {
|
144 |
+
change.apply(
|
145 |
+
ev.data.cal.data('colorpicker')
|
146 |
+
.fields
|
147 |
+
.eq(4)
|
148 |
+
.val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
|
149 |
+
.get(0),
|
150 |
+
[ev.data.preview]
|
151 |
+
);
|
152 |
+
return false;
|
153 |
+
},
|
154 |
+
upHue = function (ev) {
|
155 |
+
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
|
156 |
+
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
|
157 |
+
$(document).unbind('mouseup', upHue);
|
158 |
+
$(document).unbind('mousemove', moveHue);
|
159 |
+
return false;
|
160 |
+
},
|
161 |
+
downSelector = function (ev) {
|
162 |
+
var current = {
|
163 |
+
cal: $(this).parent(),
|
164 |
+
pos: $(this).offset()
|
165 |
+
};
|
166 |
+
current.preview = current.cal.data('colorpicker').livePreview;
|
167 |
+
$(document).bind('mouseup', current, upSelector);
|
168 |
+
$(document).bind('mousemove', current, moveSelector);
|
169 |
+
},
|
170 |
+
moveSelector = function (ev) {
|
171 |
+
change.apply(
|
172 |
+
ev.data.cal.data('colorpicker')
|
173 |
+
.fields
|
174 |
+
.eq(6)
|
175 |
+
.val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
|
176 |
+
.end()
|
177 |
+
.eq(5)
|
178 |
+
.val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
|
179 |
+
.get(0),
|
180 |
+
[ev.data.preview]
|
181 |
+
);
|
182 |
+
return false;
|
183 |
+
},
|
184 |
+
upSelector = function (ev) {
|
185 |
+
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
|
186 |
+
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
|
187 |
+
$(document).unbind('mouseup', upSelector);
|
188 |
+
$(document).unbind('mousemove', moveSelector);
|
189 |
+
return false;
|
190 |
+
},
|
191 |
+
enterSubmit = function (ev) {
|
192 |
+
$(this).addClass('colorpicker_focus');
|
193 |
+
},
|
194 |
+
leaveSubmit = function (ev) {
|
195 |
+
$(this).removeClass('colorpicker_focus');
|
196 |
+
},
|
197 |
+
clickSubmit = function (ev) {
|
198 |
+
var cal = $(this).parent();
|
199 |
+
var col = cal.data('colorpicker').color;
|
200 |
+
cal.data('colorpicker').origColor = col;
|
201 |
+
setCurrentColor(col, cal.get(0));
|
202 |
+
cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
|
203 |
+
},
|
204 |
+
show = function (ev) {
|
205 |
+
var cal = $('#' + $(this).data('colorpickerId'));
|
206 |
+
cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
|
207 |
+
var pos = $(this).offset();
|
208 |
+
var viewPort = getViewport();
|
209 |
+
var top = pos.top + this.offsetHeight;
|
210 |
+
var left = pos.left;
|
211 |
+
if (top + 176 > viewPort.t + viewPort.h) {
|
212 |
+
top -= this.offsetHeight + 176;
|
213 |
+
}
|
214 |
+
if (left + 356 > viewPort.l + viewPort.w) {
|
215 |
+
left -= 356;
|
216 |
+
}
|
217 |
+
cal.css({left: left + 'px', top: top + 'px'});
|
218 |
+
if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
|
219 |
+
cal.show();
|
220 |
+
}
|
221 |
+
$(document).bind('mousedown', {cal: cal}, hide);
|
222 |
+
return false;
|
223 |
+
},
|
224 |
+
hide = function (ev) {
|
225 |
+
if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
|
226 |
+
if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
|
227 |
+
ev.data.cal.hide();
|
228 |
+
}
|
229 |
+
$(document).unbind('mousedown', hide);
|
230 |
+
}
|
231 |
+
},
|
232 |
+
isChildOf = function(parentEl, el, container) {
|
233 |
+
if (parentEl == el) {
|
234 |
+
return true;
|
235 |
+
}
|
236 |
+
if (parentEl.contains) {
|
237 |
+
return parentEl.contains(el);
|
238 |
+
}
|
239 |
+
if ( parentEl.compareDocumentPosition ) {
|
240 |
+
return !!(parentEl.compareDocumentPosition(el) & 16);
|
241 |
+
}
|
242 |
+
var prEl = el.parentNode;
|
243 |
+
while(prEl && prEl != container) {
|
244 |
+
if (prEl == parentEl)
|
245 |
+
return true;
|
246 |
+
prEl = prEl.parentNode;
|
247 |
+
}
|
248 |
+
return false;
|
249 |
+
},
|
250 |
+
getViewport = function () {
|
251 |
+
var m = document.compatMode == 'CSS1Compat';
|
252 |
+
return {
|
253 |
+
l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
|
254 |
+
t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
|
255 |
+
w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
|
256 |
+
h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
|
257 |
+
};
|
258 |
+
},
|
259 |
+
fixHSB = function (hsb) {
|
260 |
+
return {
|
261 |
+
h: Math.min(360, Math.max(0, hsb.h)),
|
262 |
+
s: Math.min(100, Math.max(0, hsb.s)),
|
263 |
+
b: Math.min(100, Math.max(0, hsb.b))
|
264 |
+
};
|
265 |
+
},
|
266 |
+
fixRGB = function (rgb) {
|
267 |
+
return {
|
268 |
+
r: Math.min(255, Math.max(0, rgb.r)),
|
269 |
+
g: Math.min(255, Math.max(0, rgb.g)),
|
270 |
+
b: Math.min(255, Math.max(0, rgb.b))
|
271 |
+
};
|
272 |
+
},
|
273 |
+
fixHex = function (hex) {
|
274 |
+
var len = 6 - hex.length;
|
275 |
+
if (len > 0) {
|
276 |
+
var o = [];
|
277 |
+
for (var i=0; i<len; i++) {
|
278 |
+
o.push('0');
|
279 |
+
}
|
280 |
+
o.push(hex);
|
281 |
+
hex = o.join('');
|
282 |
+
}
|
283 |
+
return hex;
|
284 |
+
},
|
285 |
+
HexToRGB = function (hex) {
|
286 |
+
var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
|
287 |
+
return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
|
288 |
+
},
|
289 |
+
HexToHSB = function (hex) {
|
290 |
+
return RGBToHSB(HexToRGB(hex));
|
291 |
+
},
|
292 |
+
RGBToHSB = function (rgb) {
|
293 |
+
var hsb = {
|
294 |
+
h: 0,
|
295 |
+
s: 0,
|
296 |
+
b: 0
|
297 |
+
};
|
298 |
+
var min = Math.min(rgb.r, rgb.g, rgb.b);
|
299 |
+
var max = Math.max(rgb.r, rgb.g, rgb.b);
|
300 |
+
var delta = max - min;
|
301 |
+
hsb.b = max;
|
302 |
+
if (max != 0) {
|
303 |
+
|
304 |
+
}
|
305 |
+
hsb.s = max != 0 ? 255 * delta / max : 0;
|
306 |
+
if (hsb.s != 0) {
|
307 |
+
if (rgb.r == max) {
|
308 |
+
hsb.h = (rgb.g - rgb.b) / delta;
|
309 |
+
} else if (rgb.g == max) {
|
310 |
+
hsb.h = 2 + (rgb.b - rgb.r) / delta;
|
311 |
+
} else {
|
312 |
+
hsb.h = 4 + (rgb.r - rgb.g) / delta;
|
313 |
+
}
|
314 |
+
} else {
|
315 |
+
hsb.h = -1;
|
316 |
+
}
|
317 |
+
hsb.h *= 60;
|
318 |
+
if (hsb.h < 0) {
|
319 |
+
hsb.h += 360;
|
320 |
+
}
|
321 |
+
hsb.s *= 100/255;
|
322 |
+
hsb.b *= 100/255;
|
323 |
+
return hsb;
|
324 |
+
},
|
325 |
+
HSBToRGB = function (hsb) {
|
326 |
+
var rgb = {};
|
327 |
+
var h = Math.round(hsb.h);
|
328 |
+
var s = Math.round(hsb.s*255/100);
|
329 |
+
var v = Math.round(hsb.b*255/100);
|
330 |
+
if(s == 0) {
|
331 |
+
rgb.r = rgb.g = rgb.b = v;
|
332 |
+
} else {
|
333 |
+
var t1 = v;
|
334 |
+
var t2 = (255-s)*v/255;
|
335 |
+
var t3 = (t1-t2)*(h%60)/60;
|
336 |
+
if(h==360) h = 0;
|
337 |
+
if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
|
338 |
+
else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
|
339 |
+
else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
|
340 |
+
else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
|
341 |
+
else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
|
342 |
+
else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
|
343 |
+
else {rgb.r=0; rgb.g=0; rgb.b=0}
|
344 |
+
}
|
345 |
+
return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
|
346 |
+
},
|
347 |
+
RGBToHex = function (rgb) {
|
348 |
+
var hex = [
|
349 |
+
rgb.r.toString(16),
|
350 |
+
rgb.g.toString(16),
|
351 |
+
rgb.b.toString(16)
|
352 |
+
];
|
353 |
+
$.each(hex, function (nr, val) {
|
354 |
+
if (val.length == 1) {
|
355 |
+
hex[nr] = '0' + val;
|
356 |
+
}
|
357 |
+
});
|
358 |
+
return hex.join('');
|
359 |
+
},
|
360 |
+
HSBToHex = function (hsb) {
|
361 |
+
return RGBToHex(HSBToRGB(hsb));
|
362 |
+
},
|
363 |
+
restoreOriginal = function () {
|
364 |
+
var cal = $(this).parent();
|
365 |
+
var col = cal.data('colorpicker').origColor;
|
366 |
+
cal.data('colorpicker').color = col;
|
367 |
+
fillRGBFields(col, cal.get(0));
|
368 |
+
fillHexFields(col, cal.get(0));
|
369 |
+
fillHSBFields(col, cal.get(0));
|
370 |
+
setSelector(col, cal.get(0));
|
371 |
+
setHue(col, cal.get(0));
|
372 |
+
setNewColor(col, cal.get(0));
|
373 |
+
};
|
374 |
+
return {
|
375 |
+
init: function (opt) {
|
376 |
+
opt = $.extend({}, defaults, opt||{});
|
377 |
+
if (typeof opt.color == 'string') {
|
378 |
+
opt.color = HexToHSB(opt.color);
|
379 |
+
} else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
|
380 |
+
opt.color = RGBToHSB(opt.color);
|
381 |
+
} else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
|
382 |
+
opt.color = fixHSB(opt.color);
|
383 |
+
} else {
|
384 |
+
return this;
|
385 |
+
}
|
386 |
+
return this.each(function () {
|
387 |
+
if (!$(this).data('colorpickerId')) {
|
388 |
+
var options = $.extend({}, opt);
|
389 |
+
options.origColor = opt.color;
|
390 |
+
var id = 'collorpicker_' + parseInt(Math.random() * 1000);
|
391 |
+
$(this).data('colorpickerId', id);
|
392 |
+
var cal = $(tpl).attr('id', id);
|
393 |
+
if (options.flat) {
|
394 |
+
cal.appendTo(this).show();
|
395 |
+
} else {
|
396 |
+
cal.appendTo(document.body);
|
397 |
+
}
|
398 |
+
options.fields = cal
|
399 |
+
.find('input')
|
400 |
+
.bind('keyup', keyDown)
|
401 |
+
.bind('change', change)
|
402 |
+
.bind('blur', blur)
|
403 |
+
.bind('focus', focus);
|
404 |
+
cal
|
405 |
+
.find('span').bind('mousedown', downIncrement).end()
|
406 |
+
.find('>div.colorpicker_current_color').bind('click', restoreOriginal);
|
407 |
+
options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
|
408 |
+
options.selectorIndic = options.selector.find('div div');
|
409 |
+
options.el = this;
|
410 |
+
options.hue = cal.find('div.colorpicker_hue div');
|
411 |
+
cal.find('div.colorpicker_hue').bind('mousedown', downHue);
|
412 |
+
options.newColor = cal.find('div.colorpicker_new_color');
|
413 |
+
options.currentColor = cal.find('div.colorpicker_current_color');
|
414 |
+
cal.data('colorpicker', options);
|
415 |
+
cal.find('div.colorpicker_submit')
|
416 |
+
.bind('mouseenter', enterSubmit)
|
417 |
+
.bind('mouseleave', leaveSubmit)
|
418 |
+
.bind('click', clickSubmit);
|
419 |
+
fillRGBFields(options.color, cal.get(0));
|
420 |
+
fillHSBFields(options.color, cal.get(0));
|
421 |
+
fillHexFields(options.color, cal.get(0));
|
422 |
+
setHue(options.color, cal.get(0));
|
423 |
+
setSelector(options.color, cal.get(0));
|
424 |
+
setCurrentColor(options.color, cal.get(0));
|
425 |
+
setNewColor(options.color, cal.get(0));
|
426 |
+
if (options.flat) {
|
427 |
+
cal.css({
|
428 |
+
position: 'relative',
|
429 |
+
display: 'block'
|
430 |
+
});
|
431 |
+
} else {
|
432 |
+
$(this).bind(options.eventName, show);
|
433 |
+
}
|
434 |
+
}
|
435 |
+
});
|
436 |
+
},
|
437 |
+
showPicker: function() {
|
438 |
+
return this.each( function () {
|
439 |
+
if ($(this).data('colorpickerId')) {
|
440 |
+
show.apply(this);
|
441 |
+
}
|
442 |
+
});
|
443 |
+
},
|
444 |
+
hidePicker: function() {
|
445 |
+
return this.each( function () {
|
446 |
+
if ($(this).data('colorpickerId')) {
|
447 |
+
$('#' + $(this).data('colorpickerId')).hide();
|
448 |
+
}
|
449 |
+
});
|
450 |
+
},
|
451 |
+
setColor: function(col) {
|
452 |
+
if (typeof col == 'string') {
|
453 |
+
col = HexToHSB(col);
|
454 |
+
} else if (col.r != undefined && col.g != undefined && col.b != undefined) {
|
455 |
+
col = RGBToHSB(col);
|
456 |
+
} else if (col.h != undefined && col.s != undefined && col.b != undefined) {
|
457 |
+
col = fixHSB(col);
|
458 |
+
} else {
|
459 |
+
return this;
|
460 |
+
}
|
461 |
+
return this.each(function(){
|
462 |
+
if ($(this).data('colorpickerId')) {
|
463 |
+
var cal = $('#' + $(this).data('colorpickerId'));
|
464 |
+
cal.data('colorpicker').color = col;
|
465 |
+
cal.data('colorpicker').origColor = col;
|
466 |
+
fillRGBFields(col, cal.get(0));
|
467 |
+
fillHSBFields(col, cal.get(0));
|
468 |
+
fillHexFields(col, cal.get(0));
|
469 |
+
setHue(col, cal.get(0));
|
470 |
+
setSelector(col, cal.get(0));
|
471 |
+
setCurrentColor(col, cal.get(0));
|
472 |
+
setNewColor(col, cal.get(0));
|
473 |
+
}
|
474 |
+
});
|
475 |
+
}
|
476 |
+
};
|
477 |
+
}();
|
478 |
+
$.fn.extend({
|
479 |
+
ColorPicker: ColorPicker.init,
|
480 |
+
ColorPickerHide: ColorPicker.hidePicker,
|
481 |
+
ColorPickerShow: ColorPicker.showPicker,
|
482 |
+
ColorPickerSetColor: ColorPicker.setColor
|
483 |
+
});
|
484 |
+
})(jQuery)
|
trunk/images/blank.gif
ADDED
Binary file
|
trunk/images/colorpicker_background.png
ADDED
Binary file
|
trunk/images/colorpicker_hex.png
ADDED
Binary file
|
trunk/images/colorpicker_hsb_b.png
ADDED
Binary file
|
trunk/images/colorpicker_hsb_h.png
ADDED
Binary file
|
trunk/images/colorpicker_hsb_s.png
ADDED
Binary file
|
trunk/images/colorpicker_indic.gif
ADDED
Binary file
|
trunk/images/colorpicker_overlay.png
ADDED
Binary file
|
trunk/images/colorpicker_rgb_b.png
ADDED
Binary file
|
trunk/images/colorpicker_rgb_g.png
ADDED
Binary file
|
trunk/images/colorpicker_rgb_r.png
ADDED
Binary file
|
trunk/images/colorpicker_select.gif
ADDED
Binary file
|
trunk/images/colorpicker_submit.png
ADDED
Binary file
|
trunk/images/custom_background.png
ADDED
Binary file
|
trunk/images/custom_hex.png
ADDED
Binary file
|
trunk/images/custom_hsb_b.png
ADDED
Binary file
|
trunk/images/custom_hsb_h.png
ADDED
Binary file
|
trunk/images/custom_hsb_s.png
ADDED
Binary file
|
trunk/images/custom_indic.gif
ADDED
Binary file
|
trunk/images/custom_rgb_b.png
ADDED
Binary file
|
trunk/images/custom_rgb_g.png
ADDED
Binary file
|
trunk/images/custom_rgb_r.png
ADDED
Binary file
|
trunk/images/custom_submit.png
ADDED
Binary file
|
trunk/images/noimage.png
ADDED
Binary file
|
trunk/images/pf-icon.png
ADDED
Binary file
|
trunk/images/select.png
ADDED
Binary file
|
trunk/images/select2.png
ADDED
Binary file
|
trunk/images/slider.png
ADDED
Binary file
|
trunk/languages/printfriendly.pot
ADDED
@@ -0,0 +1,355 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2010
|
2 |
+
# This file is distributed under the same license as the package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: PrintFriendly\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/printfriendly\n"
|
7 |
+
"POT-Creation-Date: 2015-06-17 20:37+0530\n"
|
8 |
+
"PO-Revision-Date: 2015-06-17 20:38+0530\n"
|
9 |
+
"Last-Translator: EJ Reinders Folmer <poedit_nospam@adviesenzo.nl>\n"
|
10 |
+
"Language-Team: PrintFriendly Team <support@printfriendly>\n"
|
11 |
+
"Language: en_US\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Generator: Poedit 1.5.4\n"
|
16 |
+
"X-Poedit-KeywordsList: __;_e;_n;_x;_ex;_nx;esc_html__;esc_html_e;esc_html_x;"
|
17 |
+
"esc_attr__;esc_attr_e;esc_attr_x;_n_noop;_nx_noop\n"
|
18 |
+
"X-Poedit-Basepath: .\n"
|
19 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
20 |
+
"X-Poedit-SearchPath-0: .\n"
|
21 |
+
"X-Poedit-SearchPath-1: ..\n"
|
22 |
+
|
23 |
+
#: ../pf.php:492
|
24 |
+
msgid ""
|
25 |
+
"No valid custom image url received, please enter a valid url to use a custom "
|
26 |
+
"image."
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
#: ../pf.php:501
|
30 |
+
msgid "The text size you entered is invalid, please stay between 9px and 25px"
|
31 |
+
msgstr ""
|
32 |
+
|
33 |
+
#: ../pf.php:509
|
34 |
+
msgid ""
|
35 |
+
"The color you entered is not valid, it must be a valid hexadecimal RGB font "
|
36 |
+
"color."
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
#: ../pf.php:589
|
40 |
+
msgid ""
|
41 |
+
"No valid custom logo url received, please enter a valid url to use a custom "
|
42 |
+
"logo."
|
43 |
+
msgstr ""
|
44 |
+
|
45 |
+
#: ../pf.php:642
|
46 |
+
msgid "PrintFriendly Options"
|
47 |
+
msgstr ""
|
48 |
+
|
49 |
+
#: ../pf.php:642
|
50 |
+
msgid "Print Friendly & PDF"
|
51 |
+
msgstr ""
|
52 |
+
|
53 |
+
#: ../pf.php:655
|
54 |
+
msgid "Need Help?"
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
#: ../pf.php:656
|
58 |
+
#, php-format
|
59 |
+
msgid "Be sure to check out the %s!"
|
60 |
+
msgstr ""
|
61 |
+
|
62 |
+
#: ../pf.php:656
|
63 |
+
msgid "Frequently Asked Questions"
|
64 |
+
msgstr ""
|
65 |
+
|
66 |
+
#: ../pf.php:695
|
67 |
+
msgid "Settings"
|
68 |
+
msgstr ""
|
69 |
+
|
70 |
+
#: ../pf.php:1112
|
71 |
+
msgid "Only display when post is in:"
|
72 |
+
msgstr ""
|
73 |
+
|
74 |
+
#: ../pf.php:1130
|
75 |
+
msgid ""
|
76 |
+
"Currently in Debug Mode. Following information is visible in debug mode only:"
|
77 |
+
msgstr ""
|
78 |
+
|
79 |
+
#: ../pf.php:1131
|
80 |
+
msgid "Options:"
|
81 |
+
msgstr ""
|
82 |
+
|
83 |
+
#: ../pf.php:1137
|
84 |
+
msgid "Print Friendly & PDF Settings"
|
85 |
+
msgstr ""
|
86 |
+
|
87 |
+
#: ../pf.php:1142
|
88 |
+
msgid "Pick Your Button Style"
|
89 |
+
msgstr ""
|
90 |
+
|
91 |
+
#: ../pf.php:1165
|
92 |
+
msgid "Custom Button"
|
93 |
+
msgstr ""
|
94 |
+
|
95 |
+
#: ../pf.php:1168
|
96 |
+
msgid "Enter Image URL"
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
+
#: ../pf.php:1170
|
100 |
+
msgid "Ex: http://www.example.com/<br>Ex: /wp/wp-content/uploads/example.png"
|
101 |
+
msgstr ""
|
102 |
+
|
103 |
+
#: ../pf.php:1176
|
104 |
+
msgid "Text"
|
105 |
+
msgstr ""
|
106 |
+
|
107 |
+
#: ../pf.php:1180
|
108 |
+
msgid "Text Color"
|
109 |
+
msgstr ""
|
110 |
+
|
111 |
+
#: ../pf.php:1187
|
112 |
+
msgid "Text Size"
|
113 |
+
msgstr ""
|
114 |
+
|
115 |
+
#: ../pf.php:1199
|
116 |
+
msgid "Button Positioning"
|
117 |
+
msgstr ""
|
118 |
+
|
119 |
+
#: ../pf.php:1206
|
120 |
+
msgid "Left Align"
|
121 |
+
msgstr ""
|
122 |
+
|
123 |
+
#: ../pf.php:1207
|
124 |
+
msgid "Right Align"
|
125 |
+
msgstr ""
|
126 |
+
|
127 |
+
#: ../pf.php:1208
|
128 |
+
msgid "Center"
|
129 |
+
msgstr ""
|
130 |
+
|
131 |
+
#: ../pf.php:1209
|
132 |
+
msgid "None"
|
133 |
+
msgstr ""
|
134 |
+
|
135 |
+
#: ../pf.php:1216
|
136 |
+
msgid "Above Content"
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
#: ../pf.php:1217
|
140 |
+
msgid "Below Content"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: ../pf.php:1224
|
144 |
+
msgid "Margin Left"
|
145 |
+
msgstr ""
|
146 |
+
|
147 |
+
#: ../pf.php:1227
|
148 |
+
msgid "Margin Right"
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: ../pf.php:1230
|
152 |
+
msgid "Margin Top"
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: ../pf.php:1233
|
156 |
+
msgid "Margin Bottom"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: ../pf.php:1242
|
160 |
+
msgid "Display button on:"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: ../pf.php:1244
|
164 |
+
msgid "Posts"
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: ../pf.php:1245
|
168 |
+
msgid "Pages"
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
#: ../pf.php:1246
|
172 |
+
msgid "Homepage"
|
173 |
+
msgstr ""
|
174 |
+
|
175 |
+
#: ../pf.php:1247
|
176 |
+
msgid "Category Pages"
|
177 |
+
msgstr ""
|
178 |
+
|
179 |
+
#: ../pf.php:1248
|
180 |
+
msgid "Taxonomy Pages"
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
#: ../pf.php:1249
|
184 |
+
msgid "Add direct to template"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: ../pf.php:1251
|
188 |
+
msgid "or use shortcode inside your page/article"
|
189 |
+
msgstr ""
|
190 |
+
|
191 |
+
#: ../pf.php:1269
|
192 |
+
msgid "Print PDF Options"
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: ../pf.php:1271
|
196 |
+
msgid "Page header"
|
197 |
+
msgstr ""
|
198 |
+
|
199 |
+
#: ../pf.php:1273
|
200 |
+
msgid "My Website Icon"
|
201 |
+
msgstr ""
|
202 |
+
|
203 |
+
#: ../pf.php:1274
|
204 |
+
msgid "Upload an Image"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
#: ../pf.php:1285
|
208 |
+
msgid "Click-to-delete"
|
209 |
+
msgstr ""
|
210 |
+
|
211 |
+
#: ../pf.php:1287 ../pf.php:1310 ../pf.php:1317 ../pf.php:1324
|
212 |
+
msgid "Allow"
|
213 |
+
msgstr ""
|
214 |
+
|
215 |
+
#: ../pf.php:1288 ../pf.php:1311 ../pf.php:1318 ../pf.php:1325
|
216 |
+
msgid "Not Allow"
|
217 |
+
msgstr ""
|
218 |
+
|
219 |
+
#: ../pf.php:1292
|
220 |
+
msgid "Images"
|
221 |
+
msgstr ""
|
222 |
+
|
223 |
+
#: ../pf.php:1294
|
224 |
+
msgid "Include"
|
225 |
+
msgstr ""
|
226 |
+
|
227 |
+
#: ../pf.php:1295
|
228 |
+
msgid "Exclude"
|
229 |
+
msgstr ""
|
230 |
+
|
231 |
+
#: ../pf.php:1299
|
232 |
+
msgid "Image style"
|
233 |
+
msgstr ""
|
234 |
+
|
235 |
+
#: ../pf.php:1301
|
236 |
+
msgid "Align Right"
|
237 |
+
msgstr ""
|
238 |
+
|
239 |
+
#: ../pf.php:1302
|
240 |
+
msgid "Align Left"
|
241 |
+
msgstr ""
|
242 |
+
|
243 |
+
#: ../pf.php:1303
|
244 |
+
msgid "Align None"
|
245 |
+
msgstr ""
|
246 |
+
|
247 |
+
#: ../pf.php:1304
|
248 |
+
msgid "Center/Block"
|
249 |
+
msgstr ""
|
250 |
+
|
251 |
+
#: ../pf.php:1308
|
252 |
+
msgid "Email"
|
253 |
+
msgstr ""
|
254 |
+
|
255 |
+
#: ../pf.php:1315
|
256 |
+
msgid "PDF"
|
257 |
+
msgstr ""
|
258 |
+
|
259 |
+
#: ../pf.php:1322
|
260 |
+
msgid "Print"
|
261 |
+
msgstr ""
|
262 |
+
|
263 |
+
#: ../pf.php:1329
|
264 |
+
msgid "Custom css url"
|
265 |
+
msgstr ""
|
266 |
+
|
267 |
+
#: ../pf.php:1331
|
268 |
+
msgid "?"
|
269 |
+
msgstr ""
|
270 |
+
|
271 |
+
#: ../pf.php:1336
|
272 |
+
msgid "Webmaster Settings"
|
273 |
+
msgstr ""
|
274 |
+
|
275 |
+
#: ../pf.php:1338
|
276 |
+
msgid "Website Protocol"
|
277 |
+
msgstr ""
|
278 |
+
|
279 |
+
#: ../pf.php:1340
|
280 |
+
msgid "http (common)"
|
281 |
+
msgstr ""
|
282 |
+
|
283 |
+
#: ../pf.php:1341
|
284 |
+
msgid "https (secure)"
|
285 |
+
msgstr ""
|
286 |
+
|
287 |
+
#: ../pf.php:1346
|
288 |
+
msgid "Password Protected Content"
|
289 |
+
msgstr ""
|
290 |
+
|
291 |
+
#: ../pf.php:1348 ../pf.php:1355 ../pf.php:1367
|
292 |
+
msgid "No"
|
293 |
+
msgstr ""
|
294 |
+
|
295 |
+
#: ../pf.php:1349 ../pf.php:1354 ../pf.php:1366
|
296 |
+
msgid "Yes"
|
297 |
+
msgstr ""
|
298 |
+
|
299 |
+
#: ../pf.php:1352
|
300 |
+
msgid "Use JavaScript"
|
301 |
+
msgstr ""
|
302 |
+
|
303 |
+
#: ../pf.php:1358
|
304 |
+
msgid "Preview appears on the page in a Lightbox."
|
305 |
+
msgstr ""
|
306 |
+
|
307 |
+
#: ../pf.php:1361
|
308 |
+
msgid "Preview opens a new browser tab."
|
309 |
+
msgstr ""
|
310 |
+
|
311 |
+
#: ../pf.php:1364
|
312 |
+
msgid "Track in Google Analytics"
|
313 |
+
msgstr ""
|
314 |
+
|
315 |
+
#: ../pf.php:1371
|
316 |
+
msgid "My Page Content Selected By:"
|
317 |
+
msgstr ""
|
318 |
+
|
319 |
+
#: ../pf.php:1371
|
320 |
+
msgid "Change this setting if your content is not showing in the preview."
|
321 |
+
msgstr ""
|
322 |
+
|
323 |
+
#: ../pf.php:1373
|
324 |
+
msgid "WP \"the_content\" filter"
|
325 |
+
msgstr ""
|
326 |
+
|
327 |
+
#: ../pf.php:1374
|
328 |
+
msgid "Content Algorithm"
|
329 |
+
msgstr ""
|
330 |
+
|
331 |
+
#: ../pf.php:1379
|
332 |
+
msgid "Save Options"
|
333 |
+
msgstr ""
|
334 |
+
|
335 |
+
#: ../pf.php:1380
|
336 |
+
msgid "Cancel"
|
337 |
+
msgstr ""
|
338 |
+
|
339 |
+
#: ../pf.php:1383
|
340 |
+
msgid ""
|
341 |
+
"Need professional options for your corporate, education, or agency developed "
|
342 |
+
"website? Check out"
|
343 |
+
msgstr ""
|
344 |
+
|
345 |
+
#: ../pf.php:1385
|
346 |
+
msgid "Like PrintFriendly?"
|
347 |
+
msgstr ""
|
348 |
+
|
349 |
+
#: ../pf.php:1385
|
350 |
+
msgid "Give us a rating"
|
351 |
+
msgstr ""
|
352 |
+
|
353 |
+
#: ../pf.php:1385
|
354 |
+
msgid "Need help or have suggestions?"
|
355 |
+
msgstr ""
|
trunk/license.txt
ADDED
@@ -0,0 +1,674 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
GNU GENERAL PUBLIC LICENSE
|
2 |
+
Version 3, 29 June 2007
|
3 |
+
|
4 |
+
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
5 |
+
Everyone is permitted to copy and distribute verbatim copies
|
6 |
+
of this license document, but changing it is not allowed.
|
7 |
+
|
8 |
+
Preamble
|
9 |
+
|
10 |
+
The GNU General Public License is a free, copyleft license for
|
11 |
+
software and other kinds of works.
|
12 |
+
|
13 |
+
The licenses for most software and other practical works are designed
|
14 |
+
to take away your freedom to share and change the works. By contrast,
|
15 |
+
the GNU General Public License is intended to guarantee your freedom to
|
16 |
+
share and change all versions of a program--to make sure it remains free
|
17 |
+
software for all its users. We, the Free Software Foundation, use the
|
18 |
+
GNU General Public License for most of our software; it applies also to
|
19 |
+
any other work released this way by its authors. You can apply it to
|
20 |
+
your programs, too.
|
21 |
+
|
22 |
+
When we speak of free software, we are referring to freedom, not
|
23 |
+
price. Our General Public Licenses are designed to make sure that you
|
24 |
+
have the freedom to distribute copies of free software (and charge for
|
25 |
+
them if you wish), that you receive source code or can get it if you
|
26 |
+
want it, that you can change the software or use pieces of it in new
|
27 |
+
free programs, and that you know you can do these things.
|
28 |
+
|
29 |
+
To protect your rights, we need to prevent others from denying you
|
30 |
+
these rights or asking you to surrender the rights. Therefore, you have
|
31 |
+
certain responsibilities if you distribute copies of the software, or if
|
32 |
+
you modify it: responsibilities to respect the freedom of others.
|
33 |
+
|
34 |
+
For example, if you distribute copies of such a program, whether
|
35 |
+
gratis or for a fee, you must pass on to the recipients the same
|
36 |
+
freedoms that you received. You must make sure that they, too, receive
|
37 |
+
or can get the source code. And you must show them these terms so they
|
38 |
+
know their rights.
|
39 |
+
|
40 |
+
Developers that use the GNU GPL protect your rights with two steps:
|
41 |
+
(1) assert copyright on the software, and (2) offer you this License
|
42 |
+
giving you legal permission to copy, distribute and/or modify it.
|
43 |
+
|
44 |
+
For the developers' and authors' protection, the GPL clearly explains
|
45 |
+
that there is no warranty for this free software. For both users' and
|
46 |
+
authors' sake, the GPL requires that modified versions be marked as
|
47 |
+
changed, so that their problems will not be attributed erroneously to
|
48 |
+
authors of previous versions.
|
49 |
+
|
50 |
+
Some devices are designed to deny users access to install or run
|
51 |
+
modified versions of the software inside them, although the manufacturer
|
52 |
+
can do so. This is fundamentally incompatible with the aim of
|
53 |
+
protecting users' freedom to change the software. The systematic
|
54 |
+
pattern of such abuse occurs in the area of products for individuals to
|
55 |
+
use, which is precisely where it is most unacceptable. Therefore, we
|
56 |
+
have designed this version of the GPL to prohibit the practice for those
|
57 |
+
products. If such problems arise substantially in other domains, we
|
58 |
+
stand ready to extend this provision to those domains in future versions
|
59 |
+
of the GPL, as needed to protect the freedom of users.
|
60 |
+
|
61 |
+
Finally, every program is threatened constantly by software patents.
|
62 |
+
States should not allow patents to restrict development and use of
|
63 |
+
software on general-purpose computers, but in those that do, we wish to
|
64 |
+
avoid the special danger that patents applied to a free program could
|
65 |
+
make it effectively proprietary. To prevent this, the GPL assures that
|
66 |
+
patents cannot be used to render the program non-free.
|
67 |
+
|
68 |
+
The precise terms and conditions for copying, distribution and
|
69 |
+
modification follow.
|
70 |
+
|
71 |
+
TERMS AND CONDITIONS
|
72 |
+
|
73 |
+
0. Definitions.
|
74 |
+
|
75 |
+
"This License" refers to version 3 of the GNU General Public License.
|
76 |
+
|
77 |
+
"Copyright" also means copyright-like laws that apply to other kinds of
|
78 |
+
works, such as semiconductor masks.
|
79 |
+
|
80 |
+
"The Program" refers to any copyrightable work licensed under this
|
81 |
+
License. Each licensee is addressed as "you". "Licensees" and
|
82 |
+
"recipients" may be individuals or organizations.
|
83 |
+
|
84 |
+
To "modify" a work means to copy from or adapt all or part of the work
|
85 |
+
in a fashion requiring copyright permission, other than the making of an
|
86 |
+
exact copy. The resulting work is called a "modified version" of the
|
87 |
+
earlier work or a work "based on" the earlier work.
|
88 |
+
|
89 |
+
A "covered work" means either the unmodified Program or a work based
|
90 |
+
on the Program.
|
91 |
+
|
92 |
+
To "propagate" a work means to do anything with it that, without
|
93 |
+
permission, would make you directly or secondarily liable for
|
94 |
+
infringement under applicable copyright law, except executing it on a
|
95 |
+
computer or modifying a private copy. Propagation includes copying,
|
96 |
+
distribution (with or without modification), making available to the
|
97 |
+
public, and in some countries other activities as well.
|
98 |
+
|
99 |
+
To "convey" a work means any kind of propagation that enables other
|
100 |
+
parties to make or receive copies. Mere interaction with a user through
|
101 |
+
a computer network, with no transfer of a copy, is not conveying.
|
102 |
+
|
103 |
+
An interactive user interface displays "Appropriate Legal Notices"
|
104 |
+
to the extent that it includes a convenient and prominently visible
|
105 |
+
feature that (1) displays an appropriate copyright notice, and (2)
|
106 |
+
tells the user that there is no warranty for the work (except to the
|
107 |
+
extent that warranties are provided), that licensees may convey the
|
108 |
+
work under this License, and how to view a copy of this License. If
|
109 |
+
the interface presents a list of user commands or options, such as a
|
110 |
+
menu, a prominent item in the list meets this criterion.
|
111 |
+
|
112 |
+
1. Source Code.
|
113 |
+
|
114 |
+
The "source code" for a work means the preferred form of the work
|
115 |
+
for making modifications to it. "Object code" means any non-source
|
116 |
+
form of a work.
|
117 |
+
|
118 |
+
A "Standard Interface" means an interface that either is an official
|
119 |
+
standard defined by a recognized standards body, or, in the case of
|
120 |
+
interfaces specified for a particular programming language, one that
|
121 |
+
is widely used among developers working in that language.
|
122 |
+
|
123 |
+
The "System Libraries" of an executable work include anything, other
|
124 |
+
than the work as a whole, that (a) is included in the normal form of
|
125 |
+
packaging a Major Component, but which is not part of that Major
|
126 |
+
Component, and (b) serves only to enable use of the work with that
|
127 |
+
Major Component, or to implement a Standard Interface for which an
|
128 |
+
implementation is available to the public in source code form. A
|
129 |
+
"Major Component", in this context, means a major essential component
|
130 |
+
(kernel, window system, and so on) of the specific operating system
|
131 |
+
(if any) on which the executable work runs, or a compiler used to
|
132 |
+
produce the work, or an object code interpreter used to run it.
|
133 |
+
|
134 |
+
The "Corresponding Source" for a work in object code form means all
|
135 |
+
the source code needed to generate, install, and (for an executable
|
136 |
+
work) run the object code and to modify the work, including scripts to
|
137 |
+
control those activities. However, it does not include the work's
|
138 |
+
System Libraries, or general-purpose tools or generally available free
|
139 |
+
programs which are used unmodified in performing those activities but
|
140 |
+
which are not part of the work. For example, Corresponding Source
|
141 |
+
includes interface definition files associated with source files for
|
142 |
+
the work, and the source code for shared libraries and dynamically
|
143 |
+
linked subprograms that the work is specifically designed to require,
|
144 |
+
such as by intimate data communication or control flow between those
|
145 |
+
subprograms and other parts of the work.
|
146 |
+
|
147 |
+
The Corresponding Source need not include anything that users
|
148 |
+
can regenerate automatically from other parts of the Corresponding
|
149 |
+
Source.
|
150 |
+
|
151 |
+
The Corresponding Source for a work in source code form is that
|
152 |
+
same work.
|
153 |
+
|
154 |
+
2. Basic Permissions.
|
155 |
+
|
156 |
+
All rights granted under this License are granted for the term of
|
157 |
+
copyright on the Program, and are irrevocable provided the stated
|
158 |
+
conditions are met. This License explicitly affirms your unlimited
|
159 |
+
permission to run the unmodified Program. The output from running a
|
160 |
+
covered work is covered by this License only if the output, given its
|
161 |
+
content, constitutes a covered work. This License acknowledges your
|
162 |
+
rights of fair use or other equivalent, as provided by copyright law.
|
163 |
+
|
164 |
+
You may make, run and propagate covered works that you do not
|
165 |
+
convey, without conditions so long as your license otherwise remains
|
166 |
+
in force. You may convey covered works to others for the sole purpose
|
167 |
+
of having them make modifications exclusively for you, or provide you
|
168 |
+
with facilities for running those works, provided that you comply with
|
169 |
+
the terms of this License in conveying all material for which you do
|
170 |
+
not control copyright. Those thus making or running the covered works
|
171 |
+
for you must do so exclusively on your behalf, under your direction
|
172 |
+
and control, on terms that prohibit them from making any copies of
|
173 |
+
your copyrighted material outside their relationship with you.
|
174 |
+
|
175 |
+
Conveying under any other circumstances is permitted solely under
|
176 |
+
the conditions stated below. Sublicensing is not allowed; section 10
|
177 |
+
makes it unnecessary.
|
178 |
+
|
179 |
+
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
180 |
+
|
181 |
+
No covered work shall be deemed part of an effective technological
|
182 |
+
measure under any applicable law fulfilling obligations under article
|
183 |
+
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
184 |
+
similar laws prohibiting or restricting circumvention of such
|
185 |
+
measures.
|
186 |
+
|
187 |
+
When you convey a covered work, you waive any legal power to forbid
|
188 |
+
circumvention of technological measures to the extent such circumvention
|
189 |
+
is effected by exercising rights under this License with respect to
|
190 |
+
the covered work, and you disclaim any intention to limit operation or
|
191 |
+
modification of the work as a means of enforcing, against the work's
|
192 |
+
users, your or third parties' legal rights to forbid circumvention of
|
193 |
+
technological measures.
|
194 |
+
|
195 |
+
4. Conveying Verbatim Copies.
|
196 |
+
|
197 |
+
You may convey verbatim copies of the Program's source code as you
|
198 |
+
receive it, in any medium, provided that you conspicuously and
|
199 |
+
appropriately publish on each copy an appropriate copyright notice;
|
200 |
+
keep intact all notices stating that this License and any
|
201 |
+
non-permissive terms added in accord with section 7 apply to the code;
|
202 |
+
keep intact all notices of the absence of any warranty; and give all
|
203 |
+
recipients a copy of this License along with the Program.
|
204 |
+
|
205 |
+
You may charge any price or no price for each copy that you convey,
|
206 |
+
and you may offer support or warranty protection for a fee.
|
207 |
+
|
208 |
+
5. Conveying Modified Source Versions.
|
209 |
+
|
210 |
+
You may convey a work based on the Program, or the modifications to
|
211 |
+
produce it from the Program, in the form of source code under the
|
212 |
+
terms of section 4, provided that you also meet all of these conditions:
|
213 |
+
|
214 |
+
a) The work must carry prominent notices stating that you modified
|
215 |
+
it, and giving a relevant date.
|
216 |
+
|
217 |
+
b) The work must carry prominent notices stating that it is
|
218 |
+
released under this License and any conditions added under section
|
219 |
+
7. This requirement modifies the requirement in section 4 to
|
220 |
+
"keep intact all notices".
|
221 |
+
|
222 |
+
c) You must license the entire work, as a whole, under this
|
223 |
+
License to anyone who comes into possession of a copy. This
|
224 |
+
License will therefore apply, along with any applicable section 7
|
225 |
+
additional terms, to the whole of the work, and all its parts,
|
226 |
+
regardless of how they are packaged. This License gives no
|
227 |
+
permission to license the work in any other way, but it does not
|
228 |
+
invalidate such permission if you have separately received it.
|
229 |
+
|
230 |
+
d) If the work has interactive user interfaces, each must display
|
231 |
+
Appropriate Legal Notices; however, if the Program has interactive
|
232 |
+
interfaces that do not display Appropriate Legal Notices, your
|
233 |
+
work need not make them do so.
|
234 |
+
|
235 |
+
A compilation of a covered work with other separate and independent
|
236 |
+
works, which are not by their nature extensions of the covered work,
|
237 |
+
and which are not combined with it such as to form a larger program,
|
238 |
+
in or on a volume of a storage or distribution medium, is called an
|
239 |
+
"aggregate" if the compilation and its resulting copyright are not
|
240 |
+
used to limit the access or legal rights of the compilation's users
|
241 |
+
beyond what the individual works permit. Inclusion of a covered work
|
242 |
+
in an aggregate does not cause this License to apply to the other
|
243 |
+
parts of the aggregate.
|
244 |
+
|
245 |
+
6. Conveying Non-Source Forms.
|
246 |
+
|
247 |
+
You may convey a covered work in object code form under the terms
|
248 |
+
of sections 4 and 5, provided that you also convey the
|
249 |
+
machine-readable Corresponding Source under the terms of this License,
|
250 |
+
in one of these ways:
|
251 |
+
|
252 |
+
a) Convey the object code in, or embodied in, a physical product
|
253 |
+
(including a physical distribution medium), accompanied by the
|
254 |
+
Corresponding Source fixed on a durable physical medium
|
255 |
+
customarily used for software interchange.
|
256 |
+
|
257 |
+
b) Convey the object code in, or embodied in, a physical product
|
258 |
+
(including a physical distribution medium), accompanied by a
|
259 |
+
written offer, valid for at least three years and valid for as
|
260 |
+
long as you offer spare parts or customer support for that product
|
261 |
+
model, to give anyone who possesses the object code either (1) a
|
262 |
+
copy of the Corresponding Source for all the software in the
|
263 |
+
product that is covered by this License, on a durable physical
|
264 |
+
medium customarily used for software interchange, for a price no
|
265 |
+
more than your reasonable cost of physically performing this
|
266 |
+
conveying of source, or (2) access to copy the
|
267 |
+
Corresponding Source from a network server at no charge.
|
268 |
+
|
269 |
+
c) Convey individual copies of the object code with a copy of the
|
270 |
+
written offer to provide the Corresponding Source. This
|
271 |
+
alternative is allowed only occasionally and noncommercially, and
|
272 |
+
only if you received the object code with such an offer, in accord
|
273 |
+
with subsection 6b.
|
274 |
+
|
275 |
+
d) Convey the object code by offering access from a designated
|
276 |
+
place (gratis or for a charge), and offer equivalent access to the
|
277 |
+
Corresponding Source in the same way through the same place at no
|
278 |
+
further charge. You need not require recipients to copy the
|
279 |
+
Corresponding Source along with the object code. If the place to
|
280 |
+
copy the object code is a network server, the Corresponding Source
|
281 |
+
may be on a different server (operated by you or a third party)
|
282 |
+
that supports equivalent copying facilities, provided you maintain
|
283 |
+
clear directions next to the object code saying where to find the
|
284 |
+
Corresponding Source. Regardless of what server hosts the
|
285 |
+
Corresponding Source, you remain obligated to ensure that it is
|
286 |
+
available for as long as needed to satisfy these requirements.
|
287 |
+
|
288 |
+
e) Convey the object code using peer-to-peer transmission, provided
|
289 |
+
you inform other peers where the object code and Corresponding
|
290 |
+
Source of the work are being offered to the general public at no
|
291 |
+
charge under subsection 6d.
|
292 |
+
|
293 |
+
A separable portion of the object code, whose source code is excluded
|
294 |
+
from the Corresponding Source as a System Library, need not be
|
295 |
+
included in conveying the object code work.
|
296 |
+
|
297 |
+
A "User Product" is either (1) a "consumer product", which means any
|
298 |
+
tangible personal property which is normally used for personal, family,
|
299 |
+
or household purposes, or (2) anything designed or sold for incorporation
|
300 |
+
into a dwelling. In determining whether a product is a consumer product,
|
301 |
+
doubtful cases shall be resolved in favor of coverage. For a particular
|
302 |
+
product received by a particular user, "normally used" refers to a
|
303 |
+
typical or common use of that class of product, regardless of the status
|
304 |
+
of the particular user or of the way in which the particular user
|
305 |
+
actually uses, or expects or is expected to use, the product. A product
|
306 |
+
is a consumer product regardless of whether the product has substantial
|
307 |
+
commercial, industrial or non-consumer uses, unless such uses represent
|
308 |
+
the only significant mode of use of the product.
|
309 |
+
|
310 |
+
"Installation Information" for a User Product means any methods,
|
311 |
+
procedures, authorization keys, or other information required to install
|
312 |
+
and execute modified versions of a covered work in that User Product from
|
313 |
+
a modified version of its Corresponding Source. The information must
|
314 |
+
suffice to ensure that the continued functioning of the modified object
|
315 |
+
code is in no case prevented or interfered with solely because
|
316 |
+
modification has been made.
|
317 |
+
|
318 |
+
If you convey an object code work under this section in, or with, or
|
319 |
+
specifically for use in, a User Product, and the conveying occurs as
|
320 |
+
part of a transaction in which the right of possession and use of the
|
321 |
+
User Product is transferred to the recipient in perpetuity or for a
|
322 |
+
fixed term (regardless of how the transaction is characterized), the
|
323 |
+
Corresponding Source conveyed under this section must be accompanied
|
324 |
+
by the Installation Information. But this requirement does not apply
|
325 |
+
if neither you nor any third party retains the ability to install
|
326 |
+
modified object code on the User Product (for example, the work has
|
327 |
+
been installed in ROM).
|
328 |
+
|
329 |
+
The requirement to provide Installation Information does not include a
|
330 |
+
requirement to continue to provide support service, warranty, or updates
|
331 |
+
for a work that has been modified or installed by the recipient, or for
|
332 |
+
the User Product in which it has been modified or installed. Access to a
|
333 |
+
network may be denied when the modification itself materially and
|
334 |
+
adversely affects the operation of the network or violates the rules and
|
335 |
+
protocols for communication across the network.
|
336 |
+
|
337 |
+
Corresponding Source conveyed, and Installation Information provided,
|
338 |
+
in accord with this section must be in a format that is publicly
|
339 |
+
documented (and with an implementation available to the public in
|
340 |
+
source code form), and must require no special password or key for
|
341 |
+
unpacking, reading or copying.
|
342 |
+
|
343 |
+
7. Additional Terms.
|
344 |
+
|
345 |
+
"Additional permissions" are terms that supplement the terms of this
|
346 |
+
License by making exceptions from one or more of its conditions.
|
347 |
+
Additional permissions that are applicable to the entire Program shall
|
348 |
+
be treated as though they were included in this License, to the extent
|
349 |
+
that they are valid under applicable law. If additional permissions
|
350 |
+
apply only to part of the Program, that part may be used separately
|
351 |
+
under those permissions, but the entire Program remains governed by
|
352 |
+
this License without regard to the additional permissions.
|
353 |
+
|
354 |
+
When you convey a copy of a covered work, you may at your option
|
355 |
+
remove any additional permissions from that copy, or from any part of
|
356 |
+
it. (Additional permissions may be written to require their own
|
357 |
+
removal in certain cases when you modify the work.) You may place
|
358 |
+
additional permissions on material, added by you to a covered work,
|
359 |
+
for which you have or can give appropriate copyright permission.
|
360 |
+
|
361 |
+
Notwithstanding any other provision of this License, for material you
|
362 |
+
add to a covered work, you may (if authorized by the copyright holders of
|
363 |
+
that material) supplement the terms of this License with terms:
|
364 |
+
|
365 |
+
a) Disclaiming warranty or limiting liability differently from the
|
366 |
+
terms of sections 15 and 16 of this License; or
|
367 |
+
|
368 |
+
b) Requiring preservation of specified reasonable legal notices or
|
369 |
+
author attributions in that material or in the Appropriate Legal
|
370 |
+
Notices displayed by works containing it; or
|
371 |
+
|
372 |
+
c) Prohibiting misrepresentation of the origin of that material, or
|
373 |
+
requiring that modified versions of such material be marked in
|
374 |
+
reasonable ways as different from the original version; or
|
375 |
+
|
376 |
+
d) Limiting the use for publicity purposes of names of licensors or
|
377 |
+
authors of the material; or
|
378 |
+
|
379 |
+
e) Declining to grant rights under trademark law for use of some
|
380 |
+
trade names, trademarks, or service marks; or
|
381 |
+
|
382 |
+
f) Requiring indemnification of licensors and authors of that
|
383 |
+
material by anyone who conveys the material (or modified versions of
|
384 |
+
it) with contractual assumptions of liability to the recipient, for
|
385 |
+
any liability that these contractual assumptions directly impose on
|
386 |
+
those licensors and authors.
|
387 |
+
|
388 |
+
All other non-permissive additional terms are considered "further
|
389 |
+
restrictions" within the meaning of section 10. If the Program as you
|
390 |
+
received it, or any part of it, contains a notice stating that it is
|
391 |
+
governed by this License along with a term that is a further
|
392 |
+
restriction, you may remove that term. If a license document contains
|
393 |
+
a further restriction but permits relicensing or conveying under this
|
394 |
+
License, you may add to a covered work material governed by the terms
|
395 |
+
of that license document, provided that the further restriction does
|
396 |
+
not survive such relicensing or conveying.
|
397 |
+
|
398 |
+
If you add terms to a covered work in accord with this section, you
|
399 |
+
must place, in the relevant source files, a statement of the
|
400 |
+
additional terms that apply to those files, or a notice indicating
|
401 |
+
where to find the applicable terms.
|
402 |
+
|
403 |
+
Additional terms, permissive or non-permissive, may be stated in the
|
404 |
+
form of a separately written license, or stated as exceptions;
|
405 |
+
the above requirements apply either way.
|
406 |
+
|
407 |
+
8. Termination.
|
408 |
+
|
409 |
+
You may not propagate or modify a covered work except as expressly
|
410 |
+
provided under this License. Any attempt otherwise to propagate or
|
411 |
+
modify it is void, and will automatically terminate your rights under
|
412 |
+
this License (including any patent licenses granted under the third
|
413 |
+
paragraph of section 11).
|
414 |
+
|
415 |
+
However, if you cease all violation of this License, then your
|
416 |
+
license from a particular copyright holder is reinstated (a)
|
417 |
+
provisionally, unless and until the copyright holder explicitly and
|
418 |
+
finally terminates your license, and (b) permanently, if the copyright
|
419 |
+
holder fails to notify you of the violation by some reasonable means
|
420 |
+
prior to 60 days after the cessation.
|
421 |
+
|
422 |
+
Moreover, your license from a particular copyright holder is
|
423 |
+
reinstated permanently if the copyright holder notifies you of the
|
424 |
+
violation by some reasonable means, this is the first time you have
|
425 |
+
received notice of violation of this License (for any work) from that
|
426 |
+
copyright holder, and you cure the violation prior to 30 days after
|
427 |
+
your receipt of the notice.
|
428 |
+
|
429 |
+
Termination of your rights under this section does not terminate the
|
430 |
+
licenses of parties who have received copies or rights from you under
|
431 |
+
this License. If your rights have been terminated and not permanently
|
432 |
+
reinstated, you do not qualify to receive new licenses for the same
|
433 |
+
material under section 10.
|
434 |
+
|
435 |
+
9. Acceptance Not Required for Having Copies.
|
436 |
+
|
437 |
+
You are not required to accept this License in order to receive or
|
438 |
+
run a copy of the Program. Ancillary propagation of a covered work
|
439 |
+
occurring solely as a consequence of using peer-to-peer transmission
|
440 |
+
to receive a copy likewise does not require acceptance. However,
|
441 |
+
nothing other than this License grants you permission to propagate or
|
442 |
+
modify any covered work. These actions infringe copyright if you do
|
443 |
+
not accept this License. Therefore, by modifying or propagating a
|
444 |
+
covered work, you indicate your acceptance of this License to do so.
|
445 |
+
|
446 |
+
10. Automatic Licensing of Downstream Recipients.
|
447 |
+
|
448 |
+
Each time you convey a covered work, the recipient automatically
|
449 |
+
receives a license from the original licensors, to run, modify and
|
450 |
+
propagate that work, subject to this License. You are not responsible
|
451 |
+
for enforcing compliance by third parties with this License.
|
452 |
+
|
453 |
+
An "entity transaction" is a transaction transferring control of an
|
454 |
+
organization, or substantially all assets of one, or subdividing an
|
455 |
+
organization, or merging organizations. If propagation of a covered
|
456 |
+
work results from an entity transaction, each party to that
|
457 |
+
transaction who receives a copy of the work also receives whatever
|
458 |
+
licenses to the work the party's predecessor in interest had or could
|
459 |
+
give under the previous paragraph, plus a right to possession of the
|
460 |
+
Corresponding Source of the work from the predecessor in interest, if
|
461 |
+
the predecessor has it or can get it with reasonable efforts.
|
462 |
+
|
463 |
+
You may not impose any further restrictions on the exercise of the
|
464 |
+
rights granted or affirmed under this License. For example, you may
|
465 |
+
not impose a license fee, royalty, or other charge for exercise of
|
466 |
+
rights granted under this License, and you may not initiate litigation
|
467 |
+
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
468 |
+
any patent claim is infringed by making, using, selling, offering for
|
469 |
+
sale, or importing the Program or any portion of it.
|
470 |
+
|
471 |
+
11. Patents.
|
472 |
+
|
473 |
+
A "contributor" is a copyright holder who authorizes use under this
|
474 |
+
License of the Program or a work on which the Program is based. The
|
475 |
+
work thus licensed is called the contributor's "contributor version".
|
476 |
+
|
477 |
+
A contributor's "essential patent claims" are all patent claims
|
478 |
+
owned or controlled by the contributor, whether already acquired or
|
479 |
+
hereafter acquired, that would be infringed by some manner, permitted
|
480 |
+
by this License, of making, using, or selling its contributor version,
|
481 |
+
but do not include claims that would be infringed only as a
|
482 |
+
consequence of further modification of the contributor version. For
|
483 |
+
purposes of this definition, "control" includes the right to grant
|
484 |
+
patent sublicenses in a manner consistent with the requirements of
|
485 |
+
this License.
|
486 |
+
|
487 |
+
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
488 |
+
patent license under the contributor's essential patent claims, to
|
489 |
+
make, use, sell, offer for sale, import and otherwise run, modify and
|
490 |
+
propagate the contents of its contributor version.
|
491 |
+
|
492 |
+
In the following three paragraphs, a "patent license" is any express
|
493 |
+
agreement or commitment, however denominated, not to enforce a patent
|
494 |
+
(such as an express permission to practice a patent or covenant not to
|
495 |
+
sue for patent infringement). To "grant" such a patent license to a
|
496 |
+
party means to make such an agreement or commitment not to enforce a
|
497 |
+
patent against the party.
|
498 |
+
|
499 |
+
If you convey a covered work, knowingly relying on a patent license,
|
500 |
+
and the Corresponding Source of the work is not available for anyone
|
501 |
+
to copy, free of charge and under the terms of this License, through a
|
502 |
+
publicly available network server or other readily accessible means,
|
503 |
+
then you must either (1) cause the Corresponding Source to be so
|
504 |
+
available, or (2) arrange to deprive yourself of the benefit of the
|
505 |
+
patent license for this particular work, or (3) arrange, in a manner
|
506 |
+
consistent with the requirements of this License, to extend the patent
|
507 |
+
license to downstream recipients. "Knowingly relying" means you have
|
508 |
+
actual knowledge that, but for the patent license, your conveying the
|
509 |
+
covered work in a country, or your recipient's use of the covered work
|
510 |
+
in a country, would infringe one or more identifiable patents in that
|
511 |
+
country that you have reason to believe are valid.
|
512 |
+
|
513 |
+
If, pursuant to or in connection with a single transaction or
|
514 |
+
arrangement, you convey, or propagate by procuring conveyance of, a
|
515 |
+
covered work, and grant a patent license to some of the parties
|
516 |
+
receiving the covered work authorizing them to use, propagate, modify
|
517 |
+
or convey a specific copy of the covered work, then the patent license
|
518 |
+
you grant is automatically extended to all recipients of the covered
|
519 |
+
work and works based on it.
|
520 |
+
|
521 |
+
A patent license is "discriminatory" if it does not include within
|
522 |
+
the scope of its coverage, prohibits the exercise of, or is
|
523 |
+
conditioned on the non-exercise of one or more of the rights that are
|
524 |
+
specifically granted under this License. You may not convey a covered
|
525 |
+
work if you are a party to an arrangement with a third party that is
|
526 |
+
in the business of distributing software, under which you make payment
|
527 |
+
to the third party based on the extent of your activity of conveying
|
528 |
+
the work, and under which the third party grants, to any of the
|
529 |
+
parties who would receive the covered work from you, a discriminatory
|
530 |
+
patent license (a) in connection with copies of the covered work
|
531 |
+
conveyed by you (or copies made from those copies), or (b) primarily
|
532 |
+
for and in connection with specific products or compilations that
|
533 |
+
contain the covered work, unless you entered into that arrangement,
|
534 |
+
or that patent license was granted, prior to 28 March 2007.
|
535 |
+
|
536 |
+
Nothing in this License shall be construed as excluding or limiting
|
537 |
+
any implied license or other defenses to infringement that may
|
538 |
+
otherwise be available to you under applicable patent law.
|
539 |
+
|
540 |
+
12. No Surrender of Others' Freedom.
|
541 |
+
|
542 |
+
If conditions are imposed on you (whether by court order, agreement or
|
543 |
+
otherwise) that contradict the conditions of this License, they do not
|
544 |
+
excuse you from the conditions of this License. If you cannot convey a
|
545 |
+
covered work so as to satisfy simultaneously your obligations under this
|
546 |
+
License and any other pertinent obligations, then as a consequence you may
|
547 |
+
not convey it at all. For example, if you agree to terms that obligate you
|
548 |
+
to collect a royalty for further conveying from those to whom you convey
|
549 |
+
the Program, the only way you could satisfy both those terms and this
|
550 |
+
License would be to refrain entirely from conveying the Program.
|
551 |
+
|
552 |
+
13. Use with the GNU Affero General Public License.
|
553 |
+
|
554 |
+
Notwithstanding any other provision of this License, you have
|
555 |
+
permission to link or combine any covered work with a work licensed
|
556 |
+
under version 3 of the GNU Affero General Public License into a single
|
557 |
+
combined work, and to convey the resulting work. The terms of this
|
558 |
+
License will continue to apply to the part which is the covered work,
|
559 |
+
but the special requirements of the GNU Affero General Public License,
|
560 |
+
section 13, concerning interaction through a network will apply to the
|
561 |
+
combination as such.
|
562 |
+
|
563 |
+
14. Revised Versions of this License.
|
564 |
+
|
565 |
+
The Free Software Foundation may publish revised and/or new versions of
|
566 |
+
the GNU General Public License from time to time. Such new versions will
|
567 |
+
be similar in spirit to the present version, but may differ in detail to
|
568 |
+
address new problems or concerns.
|
569 |
+
|
570 |
+
Each version is given a distinguishing version number. If the
|
571 |
+
Program specifies that a certain numbered version of the GNU General
|
572 |
+
Public License "or any later version" applies to it, you have the
|
573 |
+
option of following the terms and conditions either of that numbered
|
574 |
+
version or of any later version published by the Free Software
|
575 |
+
Foundation. If the Program does not specify a version number of the
|
576 |
+
GNU General Public License, you may choose any version ever published
|
577 |
+
by the Free Software Foundation.
|
578 |
+
|
579 |
+
If the Program specifies that a proxy can decide which future
|
580 |
+
versions of the GNU General Public License can be used, that proxy's
|
581 |
+
public statement of acceptance of a version permanently authorizes you
|
582 |
+
to choose that version for the Program.
|
583 |
+
|
584 |
+
Later license versions may give you additional or different
|
585 |
+
permissions. However, no additional obligations are imposed on any
|
586 |
+
author or copyright holder as a result of your choosing to follow a
|
587 |
+
later version.
|
588 |
+
|
589 |
+
15. Disclaimer of Warranty.
|
590 |
+
|
591 |
+
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
592 |
+
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
593 |
+
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
594 |
+
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
595 |
+
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
596 |
+
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
597 |
+
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
598 |
+
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
599 |
+
|
600 |
+
16. Limitation of Liability.
|
601 |
+
|
602 |
+
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
603 |
+
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
604 |
+
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
605 |
+
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
606 |
+
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
607 |
+
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
608 |
+
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
609 |
+
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
610 |
+
SUCH DAMAGES.
|
611 |
+
|
612 |
+
17. Interpretation of Sections 15 and 16.
|
613 |
+
|
614 |
+
If the disclaimer of warranty and limitation of liability provided
|
615 |
+
above cannot be given local legal effect according to their terms,
|
616 |
+
reviewing courts shall apply local law that most closely approximates
|
617 |
+
an absolute waiver of all civil liability in connection with the
|
618 |
+
Program, unless a warranty or assumption of liability accompanies a
|
619 |
+
copy of the Program in return for a fee.
|
620 |
+
|
621 |
+
END OF TERMS AND CONDITIONS
|
622 |
+
|
623 |
+
How to Apply These Terms to Your New Programs
|
624 |
+
|
625 |
+
If you develop a new program, and you want it to be of the greatest
|
626 |
+
possible use to the public, the best way to achieve this is to make it
|
627 |
+
free software which everyone can redistribute and change under these terms.
|
628 |
+
|
629 |
+
To do so, attach the following notices to the program. It is safest
|
630 |
+
to attach them to the start of each source file to most effectively
|
631 |
+
state the exclusion of warranty; and each file should have at least
|
632 |
+
the "copyright" line and a pointer to where the full notice is found.
|
633 |
+
|
634 |
+
<one line to give the program's name and a brief idea of what it does.>
|
635 |
+
Copyright (C) <year> <name of author>
|
636 |
+
|
637 |
+
This program is free software: you can redistribute it and/or modify
|
638 |
+
it under the terms of the GNU General Public License as published by
|
639 |
+
the Free Software Foundation, either version 3 of the License, or
|
640 |
+
(at your option) any later version.
|
641 |
+
|
642 |
+
This program is distributed in the hope that it will be useful,
|
643 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
644 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
645 |
+
GNU General Public License for more details.
|
646 |
+
|
647 |
+
You should have received a copy of the GNU General Public License
|
648 |
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
649 |
+
|
650 |
+
Also add information on how to contact you by electronic and paper mail.
|
651 |
+
|
652 |
+
If the program does terminal interaction, make it output a short
|
653 |
+
notice like this when it starts in an interactive mode:
|
654 |
+
|
655 |
+
<program> Copyright (C) <year> <name of author>
|
656 |
+
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
657 |
+
This is free software, and you are welcome to redistribute it
|
658 |
+
under certain conditions; type `show c' for details.
|
659 |
+
|
660 |
+
The hypothetical commands `show w' and `show c' should show the appropriate
|
661 |
+
parts of the General Public License. Of course, your program's commands
|
662 |
+
might be different; for a GUI interface, you would use an "about box".
|
663 |
+
|
664 |
+
You should also get your employer (if you work as a programmer) or school,
|
665 |
+
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
666 |
+
For more information on this, and how to apply and follow the GNU GPL, see
|
667 |
+
<http://www.gnu.org/licenses/>.
|
668 |
+
|
669 |
+
The GNU General Public License does not permit incorporating your program
|
670 |
+
into proprietary programs. If your program is a subroutine library, you
|
671 |
+
may consider it more useful to permit linking proprietary applications with
|
672 |
+
the library. If this is what you want to do, use the GNU Lesser General
|
673 |
+
Public License instead of this License. But first, please read
|
674 |
+
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
trunk/pf.php
ADDED
@@ -0,0 +1,1794 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Plugin Name: Print, PDF & Email by PrintFriendly
|
5 |
+
Plugin URI: http://www.printfriendly.com
|
6 |
+
Description: PrintFriendly & PDF button for your website. Optimizes your pages and brand for print, pdf, and email.
|
7 |
+
Name and URL are included to ensure repeat visitors and new visitors when printed versions are shared.
|
8 |
+
Version: 3.13.0
|
9 |
+
Author: Print, PDF, & Email by PrintFriendly
|
10 |
+
Author URI: http://www.PrintFriendly.com
|
11 |
+
|
12 |
+
Changelog :
|
13 |
+
3.13.0 - Add Notification alerting websites using Password Protection or JavaScript to display content they need to upgrade to PrintFriendly Pro
|
14 |
+
3.12.5 - Chanage link in settings page
|
15 |
+
3.12.4 - Bug fix, avoid "undefined variable: return"
|
16 |
+
3.12.3 - Bug fix, sometimes custom image didn't display correctly after upgrade
|
17 |
+
3.12.2 - Add title to Printfriendly button and change button image alt
|
18 |
+
3.12.1 - Fix translations
|
19 |
+
3.12.0 - Update custom button UI
|
20 |
+
3.11.2 - Fix button upgrade for pf-icon-both.gif
|
21 |
+
3.11.1 - Bug fix
|
22 |
+
3.11.0 - Update buttons
|
23 |
+
3.10.0 - Change "leave us a rating" message.
|
24 |
+
3.9.2 - Correctly handle spaces in print-only detection
|
25 |
+
3.9.1 - Better print-only detection
|
26 |
+
3.9.0 - Add new button
|
27 |
+
3.8.7 - Bug fix.
|
28 |
+
3.8.6 - Allow default image setting to be small medium or large.
|
29 |
+
3.8.5 - Bug fix.
|
30 |
+
3.8.4 - Bug fix.
|
31 |
+
3.8.1 - Improve automatic error reporting.
|
32 |
+
3.8.0 - Add automatic error reporting.
|
33 |
+
3.7.6 - WooCommerce support improvments: remove upsells from print preview.
|
34 |
+
3.7.5 - WooCommerce support improvments: fix DOMDocument.loadHTML warnings.
|
35 |
+
3.7.4 - Added CSS Relative Position and Z-Index to button to avoid content covering the button.
|
36 |
+
3.7.3 - Always use https
|
37 |
+
3.7.2 - Use schema less URLs for loading icons
|
38 |
+
3.7.1 - Use www.printfriendly.com instead of app.printfriendly.com for redirects
|
39 |
+
3.7.0 - Remove http/https option, use current schema
|
40 |
+
3.6.0 - Allow custom HTML in Custom Button Text
|
41 |
+
3.5.4 - WooCommerce 'Content Algorithm' fix
|
42 |
+
3.5.3 - Fix security issues
|
43 |
+
3.5.2 - Fix code to support PHP 5.2
|
44 |
+
3.5.0 - WooCommerce product page improvements. Better support for product images, price, and description.
|
45 |
+
3.4.8 - Fix button images style
|
46 |
+
3.4.7 - Fix button style to remove underline
|
47 |
+
3.4.6 - Always removed PrintFriendly button underline regardless plugin CSS for button styles option
|
48 |
+
3.4.4 - Removed page content selection option - Wordpress Standard/Strict
|
49 |
+
3.4.2 - Fixed the issue occured due to new changes made in the page content selection options
|
50 |
+
3.4.1 - Improved page content selection options
|
51 |
+
3.4.0 - Fixed the admin javascript error and increased plugin text boxes size
|
52 |
+
3.3.10 - Implemented both Classic Google Analytics and Google Universal Analytics code.
|
53 |
+
3.3.9 - Removed the functionality that opens new window when JavaScript is disabled.
|
54 |
+
3.3.8 - Shortcode Bug fix, urlencode button href
|
55 |
+
3.3.7 - Readme.txt update
|
56 |
+
3.3.6 - Fixed JS optimization Bug
|
57 |
+
3.3.5 - Wordpress 3.8 support
|
58 |
+
3.3.4 - Provided Algorithm Options
|
59 |
+
3.3.3 - Using WP content hook for all Buttons
|
60 |
+
3.3.2 - Algorithm update
|
61 |
+
3.3.1 - SSL support issue.
|
62 |
+
3.3.0 - Printfriendly custom commands support and PF Algo V6 release.
|
63 |
+
3.2.10 - Fixed Bug.
|
64 |
+
3.2.9 - Added Support for Google Analytics
|
65 |
+
3.2.8 - Algorithm Update
|
66 |
+
3.2.7 - Removed Break tag from button code.
|
67 |
+
3.2.6 - Fixed Button behavior when displayed on Homepage for NON-JS version. Fixed CSS issue with Button when placed above content. Fixed box-shadow issue with button. Custom print and pdf options now available for Non-JS version (custom header, custom css, image alignment, etc.). Fixed custom header bug.
|
68 |
+
3.2.5 - Added hide images and image style options. Improved input validation. Improved output escaping. Removed printfriendly post_class. Small i8n fix. Few small HTML fixes.
|
69 |
+
3.2.4 - Add printfriendly post_class. Fixed minor JS bug. Added redundancy to uninstall script.
|
70 |
+
3.2.3 - Rolling back to version 3.2.1
|
71 |
+
3.2.2 - Add printfriendly post_class. Add printfriendly button display settings per individual category. Fixed minor JS bug. Added redundancy to uninstall script.
|
72 |
+
3.2.1 - Improve script loading.
|
73 |
+
3.2.0 - Important chrome issue fix. Ie syntax error fix.
|
74 |
+
3.1.9 - Minor css detail.
|
75 |
+
3.1.8 - Add printfriendly options to allow/not allow print, pdf, email from the Printfriendly and PDF dialog.
|
76 |
+
3.1.7 - Revert default print button show settings. Prevent easy override of print button text-decoration and border style properties.
|
77 |
+
3.1.6 - Adding PrintFriendly and PDF alignment style classes.
|
78 |
+
3.1.5 - Set button appearance in more flexible way. Remove styles that interfered with wordpress themes. Add shortcode for printfriendly button. Fix redirect to printfriendly.com link. Added custom css feature.
|
79 |
+
3.1.4 - Changed https url. Don't hide text change box when disabling css.
|
80 |
+
3.1.3 - Fixed bug with disable css option
|
81 |
+
3.1.2 - Added disable css option to admin settings.
|
82 |
+
3.1.1 - Fixed admin js caching.
|
83 |
+
3.1.0 - Fixed admin css caching.
|
84 |
+
3.0.9 - New features: Custom header, disable click-to-delete, https support (beta), PrintFriendly Pro (ad-free).
|
85 |
+
3.0.8 - Reordered PrintFriendly & PDF buttons. CSS stylesheet option is now checked by default.
|
86 |
+
3.0.7 - Added additional images for print button.
|
87 |
+
3.0.6 - Fix bug that would display button on category pages when not wanted.
|
88 |
+
3.0.5 - Include button on category pages if user has selected "All pages".
|
89 |
+
3.0.4 - Align-right and align-center support for themes that remove WordPress core css.
|
90 |
+
3.0.3 - Support for bad themes that alter template tags and prevent JavaScript from loading in footer.
|
91 |
+
3.0.2 - Fixed JS bug with Google Chrome not submitting and fixed input validation issues.
|
92 |
+
3.0.1 - Fixed minor JS bug.
|
93 |
+
3.0 - Complete overhaul of the plugin by Joost de Valk.
|
94 |
+
2.1.8 - The Print Button was showing up on printed, or PDF, pages. Junk! Print or PDF button no longer displayed on printed out page or PDF.
|
95 |
+
2.1.7 - Changed button from span to div to support floating.
|
96 |
+
2.1.6 - Added rel="nofollow" to links. Changed button from <a> to <span> to fix target_new or target_blank issues.
|
97 |
+
2.1.5 - Fix conflict with link tracking plugins. Custom image support for hosted wordpress sites.
|
98 |
+
2.1.4 - wp head fix.
|
99 |
+
2.1.3 - Manual option for button placement. Security updates for multi-author sites.
|
100 |
+
2.1.2 - Improvements to Setting page layout and PrintFriendly button launching from post pages.
|
101 |
+
2.1.1 - Fixed admin settings bug.
|
102 |
+
2.1 - Update for mult-author websites. Improvements to Settings page.
|
103 |
+
2.0 - Customize the style, placement, and pages your printfriendly button appears.
|
104 |
+
1.5 - Added developer ability to disable hook and use the pf_show_link() function to better be used in a custom theme & Uninstall cleanup.
|
105 |
+
1.4 - Changed Name.
|
106 |
+
1.3 - Added new buttons, removed redundant code.
|
107 |
+
1.2 - User can choose to show or not show buttons on the listing page.
|
108 |
+
*/
|
109 |
+
|
110 |
+
/**
|
111 |
+
* PrintFriendly WordPress plugin. Allows easy embedding of printfriendly.com buttons.
|
112 |
+
* @package PrintFriendly_WordPress
|
113 |
+
* @author PrintFriendly <support@printfriendly.com>
|
114 |
+
* @copyright Copyright (C) 2012, PrintFriendly
|
115 |
+
*/
|
116 |
+
if ( ! class_exists( 'PrintFriendly_WordPress' ) ) {
|
117 |
+
|
118 |
+
/**
|
119 |
+
* Class containing all the plugins functionality.
|
120 |
+
* @package PrintFriendly_WordPress
|
121 |
+
*/
|
122 |
+
class PrintFriendly_WordPress {
|
123 |
+
/**
|
124 |
+
* Current plugin version.
|
125 |
+
* @var string
|
126 |
+
*/
|
127 |
+
var $plugin_version = '3.13.0';
|
128 |
+
|
129 |
+
/**
|
130 |
+
* The hook, used for text domain as well as hooks on pages and in get requests for admin.
|
131 |
+
* @var string
|
132 |
+
*/
|
133 |
+
var $hook = 'printfriendly';
|
134 |
+
|
135 |
+
/**
|
136 |
+
* The option name, used throughout to refer to the plugins option and option group.
|
137 |
+
* @var string
|
138 |
+
*/
|
139 |
+
var $option_name = 'printfriendly_option';
|
140 |
+
|
141 |
+
/**
|
142 |
+
* The plugins options, loaded on init containing all the plugins settings.
|
143 |
+
* @var array
|
144 |
+
*/
|
145 |
+
var $options = array();
|
146 |
+
|
147 |
+
/**
|
148 |
+
* Database version, used to allow for easy upgrades to / additions in plugin options between plugin versions.
|
149 |
+
* @var int
|
150 |
+
*/
|
151 |
+
var $db_version = 16;
|
152 |
+
|
153 |
+
/**
|
154 |
+
* Settings page, used within the plugin to reliably load the plugins admin JS and CSS files only on the admin page.
|
155 |
+
* @var string
|
156 |
+
*/
|
157 |
+
var $settings_page = '';
|
158 |
+
|
159 |
+
/**
|
160 |
+
* GetSentry error reporting client
|
161 |
+
* @var Raven_Client
|
162 |
+
*/
|
163 |
+
var $raven_client = null;
|
164 |
+
|
165 |
+
/**
|
166 |
+
* Constructor
|
167 |
+
*
|
168 |
+
* @since 3.0
|
169 |
+
*/
|
170 |
+
function __construct() {
|
171 |
+
try {
|
172 |
+
// delete_option( $this->option_name );
|
173 |
+
|
174 |
+
// Retrieve the plugin options
|
175 |
+
$this->options = get_option( $this->option_name );
|
176 |
+
|
177 |
+
// If the options array is empty, set defaults
|
178 |
+
if ( ! is_array( $this->options ) )
|
179 |
+
$this->set_defaults();
|
180 |
+
|
181 |
+
// Sentry PHP SDK supports PHP 5.3 and higher.
|
182 |
+
if( isset( $this->options['enable_error_reporting'] ) && $this->options['enable_error_reporting'] == 'yes' && version_compare(PHP_VERSION, '5.3.0') >= 0) {
|
183 |
+
$this->init_error_reporting();
|
184 |
+
}
|
185 |
+
|
186 |
+
/**
|
187 |
+
* Set page content selection option "Wordpress Standard/Strict" to "WP Template"
|
188 |
+
*/
|
189 |
+
if( isset( $this->options['pf_algo'] ) && $this->options['pf_algo'] == 'ws' ){
|
190 |
+
$this->options['pf_algo'] = 'wp';
|
191 |
+
update_option( $this->option_name, $this->options );
|
192 |
+
}
|
193 |
+
|
194 |
+
// If the version number doesn't match, upgrade
|
195 |
+
if ( $this->db_version > $this->options['db_version'] )
|
196 |
+
$this->upgrade();
|
197 |
+
|
198 |
+
add_action( 'wp_head', array( &$this, 'front_head' ) );
|
199 |
+
// automaticaly add the link
|
200 |
+
if( !$this->is_manual() ) {
|
201 |
+
add_filter( 'the_content', array( &$this, 'show_link' ) );
|
202 |
+
add_filter( 'the_excerpt', array( &$this, 'show_link' ) );
|
203 |
+
}
|
204 |
+
|
205 |
+
add_action('the_content', array(&$this, 'add_pf_content_class_around_content_hook'));
|
206 |
+
|
207 |
+
// Admin hooks
|
208 |
+
if ( is_admin() ) {
|
209 |
+
// Hook into init for registration of the option and the language files
|
210 |
+
add_action( 'admin_init', array( &$this, 'init' ) );
|
211 |
+
|
212 |
+
// Register the settings page
|
213 |
+
add_action( 'admin_menu', array( &$this, 'add_config_page' ) );
|
214 |
+
|
215 |
+
// Register the contextual help
|
216 |
+
add_filter( 'contextual_help', array( &$this, 'contextual_help' ), 10, 2 );
|
217 |
+
|
218 |
+
// Enqueue the needed scripts and styles
|
219 |
+
add_action( 'admin_enqueue_scripts',array( &$this, 'admin_enqueue_scripts' ) );
|
220 |
+
|
221 |
+
// Register a link to the settings page on the plugins overview page
|
222 |
+
add_filter( 'plugin_action_links', array( &$this, 'filter_plugin_actions' ), 10, 2 );
|
223 |
+
}
|
224 |
+
} catch(Exception $e) {
|
225 |
+
$this->raven_catch($e);
|
226 |
+
}
|
227 |
+
}
|
228 |
+
|
229 |
+
function send_info() {
|
230 |
+
$domain = get_bloginfo( 'url' );
|
231 |
+
$admin_email = get_bloginfo( 'admin_email' );
|
232 |
+
$wp_version = get_bloginfo( 'version' );
|
233 |
+
|
234 |
+
if ( ( !isset( $this->options['sent_domain'] ) || (isset( $this->options['sent_domain'] ) && $this->options['sent_domain'] != $domain) ) ||
|
235 |
+
( !isset( $this->options['sent_cms_version'] ) || (isset( $this->options['sent_cms_version'] ) && $this->options['sent_cms_version'] != $wp_version) ) ||
|
236 |
+
( !isset( $this->options['sent_php_version'] ) || (isset( $this->options['sent_php_version'] ) && $this->options['sent_php_version'] != PHP_VERSION) ) ||
|
237 |
+
( !isset( $this->options['sent_pf_version'] ) || (isset( $this->options['sent_pf_version'] ) && $this->options['sent_pf_version'] != $this->plugin_version) ) ||
|
238 |
+
( !isset( $this->options['sent_admin_email'] ) || (isset( $this->options['sent_admin_email'] ) && $this->options['sent_admin_email'] != $admin_email) ) ) {
|
239 |
+
|
240 |
+
// Send new data to API
|
241 |
+
$data = array( 'domain' => $domain,
|
242 |
+
'cms_name' => 'wordpress',
|
243 |
+
'cms_version' => $wp_version,
|
244 |
+
'php_version' => PHP_VERSION,
|
245 |
+
'pf_version' => $this->plugin_version,
|
246 |
+
'email' => $admin_email );
|
247 |
+
$this->plugins_api($data);
|
248 |
+
|
249 |
+
// Save options
|
250 |
+
$this->options['sent_domain'] = $domain;
|
251 |
+
$this->options['sent_cms_version'] = $wp_version;
|
252 |
+
$this->options['sent_php_version'] = PHP_VERSION;
|
253 |
+
$this->options['sent_pf_version'] = $this->plugin_version;
|
254 |
+
$this->options['sent_admin_email'] = $admin_email;
|
255 |
+
update_option( $this->option_name, $this->options );
|
256 |
+
}
|
257 |
+
}
|
258 |
+
|
259 |
+
function plugins_api($data) {
|
260 |
+
// Send request to plugins API
|
261 |
+
$api_url = 'https://www.printfriendly.com/api/v3/plugins';
|
262 |
+
|
263 |
+
// use key 'http' even if you send the request to https://...
|
264 |
+
$options = array(
|
265 |
+
'http' => array(
|
266 |
+
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
|
267 |
+
'method' => 'POST',
|
268 |
+
'content' => http_build_query($data)
|
269 |
+
)
|
270 |
+
);
|
271 |
+
|
272 |
+
$context = stream_context_create($options);
|
273 |
+
|
274 |
+
// @ suppress WARNING if API is not accessible
|
275 |
+
@file_get_contents($api_url, false, $context);
|
276 |
+
}
|
277 |
+
|
278 |
+
function init_error_reporting() {
|
279 |
+
try {
|
280 |
+
require_once 'vendor/PrintFriendly/Raven/Autoloader.php';
|
281 |
+
|
282 |
+
PrintFriendly_Raven_Autoloader::register();
|
283 |
+
|
284 |
+
$this->raven_client = new PrintFriendly_Raven_Client('https://46a55182ffbe477c8cf1cb0f1cee36c2:a32ee5b4fad940c4808845b618147f21@sentry.io/171161', array(
|
285 |
+
'release' => $this->plugin_version,
|
286 |
+
'timeout' => 4
|
287 |
+
));
|
288 |
+
|
289 |
+
$this->raven_client->tags_context(array(
|
290 |
+
'wordpress-version' => get_bloginfo('version'),
|
291 |
+
'php-version' => PHP_VERSION
|
292 |
+
));
|
293 |
+
|
294 |
+
$this->raven_client->setSendCallback(array( &$this, 'raven_callback' ));
|
295 |
+
} catch (Exception $e) {
|
296 |
+
if (!ini_get('display_errors')) {
|
297 |
+
error_log('PrintFriendly init_error_reporting Error: ' . $e);
|
298 |
+
}
|
299 |
+
|
300 |
+
$this->raven_catch($e);
|
301 |
+
}
|
302 |
+
}
|
303 |
+
|
304 |
+
function raven_callback($data) {
|
305 |
+
try {
|
306 |
+
return isset($data) && preg_match('/printfriendly/', json_encode($data));
|
307 |
+
} catch (Exception $e) {
|
308 |
+
return true;
|
309 |
+
}
|
310 |
+
}
|
311 |
+
|
312 |
+
function raven_catch($e) {
|
313 |
+
if (isset($this->raven_client)) {
|
314 |
+
try {
|
315 |
+
$this->raven_client->captureException($e);
|
316 |
+
} catch(Exception $e) {}
|
317 |
+
}
|
318 |
+
}
|
319 |
+
|
320 |
+
/**
|
321 |
+
* Adds wraps content in pf-content class to help Printfriendly algo determine the content
|
322 |
+
*
|
323 |
+
* @since 3.2.8
|
324 |
+
*
|
325 |
+
**/
|
326 |
+
function add_pf_content_class_around_content_hook($content = false) {
|
327 |
+
try {
|
328 |
+
if( $this->is_wp_algo_on($content) ) {
|
329 |
+
add_action( 'wp_footer', array( &$this, 'print_script_footer' ));
|
330 |
+
return '<div class="pf-content">'.$content.'</div>';
|
331 |
+
} else {
|
332 |
+
return $content;
|
333 |
+
}
|
334 |
+
} catch (Exception $e) {
|
335 |
+
$this->raven_catch($e);
|
336 |
+
}
|
337 |
+
}
|
338 |
+
|
339 |
+
/**
|
340 |
+
* Override to check if print-only command is being used
|
341 |
+
*
|
342 |
+
* @since 3.3.0
|
343 |
+
**/
|
344 |
+
function print_only_override($content) {
|
345 |
+
$pattern = '/class\s*?=\s*?(["\']|["\']([^"\']*?)\s)print-only(["\']|\s([^"\']*?)["\'])/';
|
346 |
+
$pf_pattern = '/class\s*?=\s*?(["\']|["\']([^"\']*?)\s)pf-content(["\']|\s([^"\']*?)["\'])/';
|
347 |
+
|
348 |
+
return (preg_match($pattern, $content) || preg_match($pf_pattern, $content)) ;
|
349 |
+
}
|
350 |
+
|
351 |
+
/**
|
352 |
+
* Check if WP Algorithm is selected and content doesn't use print-only
|
353 |
+
*
|
354 |
+
* @since 3.5.4
|
355 |
+
**/
|
356 |
+
function is_wp_algo_on($content) {
|
357 |
+
return !class_exists('WooCommerce') && isset($this->options['pf_algo']) && $content && $this->options['pf_algo'] == 'wp' && !$this->print_only_override($content);
|
358 |
+
}
|
359 |
+
|
360 |
+
/**
|
361 |
+
* PHP 4 Compatible Constructor
|
362 |
+
*
|
363 |
+
* @since 3.0
|
364 |
+
*/
|
365 |
+
function PrintFriendly_WordPress() {
|
366 |
+
$this->__construct();
|
367 |
+
}
|
368 |
+
|
369 |
+
/**
|
370 |
+
* Prints the PrintFriendly button CSS, in the header.
|
371 |
+
*
|
372 |
+
* @since 3.0
|
373 |
+
*/
|
374 |
+
function front_head() {
|
375 |
+
try {
|
376 |
+
?>
|
377 |
+
<style type="text/css" media="screen">
|
378 |
+
div.printfriendly a, div.printfriendly a:link, div.printfriendly a:hover, div.printfriendly a:visited {
|
379 |
+
text-decoration: none;
|
380 |
+
border: none;
|
381 |
+
}
|
382 |
+
</style>
|
383 |
+
<?php
|
384 |
+
|
385 |
+
if ( isset( $this->options['enable_css'] ) && $this->options['enable_css'] != 'on' )
|
386 |
+
return;
|
387 |
+
?>
|
388 |
+
<style type="text/css" media="screen">
|
389 |
+
div.printfriendly {
|
390 |
+
margin: <?php echo $this->options['margin_top'].'px '.$this->options['margin_right'].'px '.$this->options['margin_bottom'].'px '.$this->options['margin_left'].'px'; ?>;
|
391 |
+
position: relative;
|
392 |
+
z-index: 1000;
|
393 |
+
}
|
394 |
+
div.printfriendly a, div.printfriendly a:link, div.printfriendly a:visited {
|
395 |
+
font-size: <?php echo $this->options['text_size']; ?>px;
|
396 |
+
color: <?php echo $this->options['text_color']; ?>;
|
397 |
+
vertical-align: bottom;
|
398 |
+
}
|
399 |
+
.printfriendly a {
|
400 |
+
box-shadow:none;
|
401 |
+
}
|
402 |
+
.printfriendly a:hover {
|
403 |
+
cursor: pointer;
|
404 |
+
}
|
405 |
+
.printfriendly a img {
|
406 |
+
border: none;
|
407 |
+
padding:0;
|
408 |
+
margin-right: 6px;
|
409 |
+
box-shadow: none;
|
410 |
+
-webkit-box-shadow: none;
|
411 |
+
-moz-box-shadow: none;
|
412 |
+
}
|
413 |
+
.printfriendly a span{
|
414 |
+
vertical-align: bottom;
|
415 |
+
}
|
416 |
+
.pf-alignleft {
|
417 |
+
float: left;
|
418 |
+
}
|
419 |
+
.pf-alignright {
|
420 |
+
float: right;
|
421 |
+
}
|
422 |
+
div.pf-aligncenter {
|
423 |
+
display: block;
|
424 |
+
margin-left: auto;
|
425 |
+
margin-right: auto;
|
426 |
+
text-align: center;
|
427 |
+
}
|
428 |
+
</style>
|
429 |
+
<style type="text/css" media="print">
|
430 |
+
.printfriendly {
|
431 |
+
display: none;
|
432 |
+
}
|
433 |
+
</style>
|
434 |
+
<?php
|
435 |
+
} catch (Exception $e) {
|
436 |
+
$this->raven_catch($e);
|
437 |
+
}
|
438 |
+
}
|
439 |
+
|
440 |
+
/**
|
441 |
+
* Prints the PrintFriendly JavaScript, in the footer, and loads it asynchronously.
|
442 |
+
*
|
443 |
+
* @since 3.0
|
444 |
+
*/
|
445 |
+
function print_script_footer() {
|
446 |
+
if (isset($this->options['javascript']) && $this->options['javascript'] == 'no')
|
447 |
+
return;
|
448 |
+
|
449 |
+
else {
|
450 |
+
$tagline = $this->options['tagline'];
|
451 |
+
$image_url = $this->options['image_url'];
|
452 |
+
if( $this->options['logo'] == 'favicon' ) {
|
453 |
+
$tagline = '';
|
454 |
+
$image_url = '';
|
455 |
+
}
|
456 |
+
|
457 |
+
// Currently we use v3 for both: normal and password protected sites
|
458 |
+
?>
|
459 |
+
<script type="text/javascript">
|
460 |
+
|
461 |
+
var pfHeaderImgUrl = '<?php echo esc_js(esc_url($image_url)); ?>';
|
462 |
+
var pfHeaderTagline = '<?php echo esc_js($tagline); ?>';
|
463 |
+
var pfdisableClickToDel = '<?php echo esc_js($this->options['click_to_delete']); ?>';
|
464 |
+
var pfImagesSize = '<?php echo esc_js($this->options['images-size']); ?>';
|
465 |
+
var pfImageDisplayStyle = '<?php echo esc_js($this->options['image-style']); ?>';
|
466 |
+
var pfDisableEmail = '<?php echo esc_js($this->options['email']); ?>';
|
467 |
+
var pfDisablePDF = '<?php echo esc_js($this->options['pdf']); ?>';
|
468 |
+
var pfDisablePrint = '<?php echo esc_js($this->options['print']); ?>';
|
469 |
+
var pfCustomCSS = '<?php echo esc_js(esc_url($this->options['custom_css_url'])); ?>';
|
470 |
+
var pfPlatform = 'Wordpress';
|
471 |
+
(function() {
|
472 |
+
var e = document.createElement('script'); e.type="text/javascript";
|
473 |
+
e.src = 'https://cdn.printfriendly.com/printfriendly.js';
|
474 |
+
document.getElementsByTagName('head')[0].appendChild(e);
|
475 |
+
})();
|
476 |
+
</script>
|
477 |
+
<?php
|
478 |
+
}
|
479 |
+
}
|
480 |
+
|
481 |
+
/**
|
482 |
+
* Primary frontend function, used either as a filter for the_content, or directly using pf_show_link
|
483 |
+
*
|
484 |
+
* @since 3.0
|
485 |
+
* @param string $content the content of the post, when the function is used as a filter
|
486 |
+
* @return string $button or $content with the button added to the content when appropriate, just the content when button shouldn't be added or just button when called manually.
|
487 |
+
*/
|
488 |
+
function show_link( $content = false ) {
|
489 |
+
try {
|
490 |
+
$is_manual = $this->is_manual();
|
491 |
+
|
492 |
+
if( !$content && !$is_manual )
|
493 |
+
return "";
|
494 |
+
|
495 |
+
$button = $this->getButton();
|
496 |
+
if ( $is_manual )
|
497 |
+
{
|
498 |
+
// Hook the script call now, so it only get's loaded when needed, and need is determined by the user calling pf_button
|
499 |
+
add_action( 'wp_footer', array( &$this, 'print_script_footer' ) );
|
500 |
+
return $button;
|
501 |
+
}
|
502 |
+
|
503 |
+
else
|
504 |
+
{
|
505 |
+
if ( (is_page() && ( isset($this->options['show_on_pages']) && 'on' === $this->options['show_on_pages'] ) )
|
506 |
+
|| (is_home() && ( ( isset($this->options['show_on_homepage']) && 'on' === $this->options['show_on_homepage'] ) && $this->category_included() ) )
|
507 |
+
|| (is_tax() && ( ( isset($this->options['show_on_taxonomies']) && 'on' === $this->options['show_on_taxonomies'] ) && $this->category_included() ) )
|
508 |
+
|| (is_category() && ( ( isset($this->options['show_on_categories']) && 'on' === $this->options['show_on_categories'] ) && $this->category_included() ) )
|
509 |
+
|| (is_single() && ( ( isset($this->options['show_on_posts']) && 'on' === $this->options['show_on_posts'] ) && $this->category_included() ) ) )
|
510 |
+
{
|
511 |
+
// Hook the script call now, so it only get's loaded when needed, and need is determined by the user calling pf_button
|
512 |
+
add_action( 'wp_footer', array( &$this, 'print_script_footer' ) );
|
513 |
+
|
514 |
+
if ( $this->options['content_placement'] == 'before' )
|
515 |
+
return $button.$content;
|
516 |
+
else
|
517 |
+
return $content.$button;
|
518 |
+
}
|
519 |
+
else
|
520 |
+
{
|
521 |
+
return $content;
|
522 |
+
}
|
523 |
+
}
|
524 |
+
} catch (Exception $e) {
|
525 |
+
$this->raven_catch($e);
|
526 |
+
}
|
527 |
+
}
|
528 |
+
|
529 |
+
|
530 |
+
/**
|
531 |
+
* @since 3.3.8
|
532 |
+
* @returns Printfriendly Button HTML
|
533 |
+
*/
|
534 |
+
|
535 |
+
function getButton($add_footer_script = false) {
|
536 |
+
if($add_footer_script) {
|
537 |
+
add_action( 'wp_footer', array( &$this, 'print_script_footer' ) );
|
538 |
+
}
|
539 |
+
$js_enabled = $this->js_enabled();
|
540 |
+
$analytics_code = "";
|
541 |
+
$onclick = '';
|
542 |
+
|
543 |
+
if ( $this->google_analytics_enabled() ) {
|
544 |
+
$title_var = "NULL";
|
545 |
+
$analytics_code = "if(typeof(_gaq) != 'undefined') { _gaq.push(['_trackEvent','PRINTFRIENDLY', 'print', '".$title_var."']);
|
546 |
+
}else if(typeof(ga) != 'undefined') { ga('send', 'event','PRINTFRIENDLY', 'print', '".$title_var."'); }";
|
547 |
+
if( $js_enabled ) {
|
548 |
+
$onclick = 'onclick="window.print();'. $analytics_code .' return false;"';
|
549 |
+
} else {
|
550 |
+
$onclick = '';
|
551 |
+
}
|
552 |
+
} else if ( $js_enabled ) {
|
553 |
+
$onclick = 'onclick="window.print(); return false;"';
|
554 |
+
}
|
555 |
+
|
556 |
+
if( $js_enabled ){
|
557 |
+
$href = '#';
|
558 |
+
} else {
|
559 |
+
$href = 'https://www.printfriendly.com/print?url='.urlencode(get_permalink());
|
560 |
+
}
|
561 |
+
|
562 |
+
if (!$js_enabled) {
|
563 |
+
if($this->google_analytics_enabled()) {
|
564 |
+
$onclick = $onclick.' onclick="'.$analytics_code.'"';
|
565 |
+
}
|
566 |
+
$href = "https://www.printfriendly.com/print?headerImageUrl=".urlencode($this->options['image_url'])."&headerTagline=".urlencode($this->options['tagline'])."&pfCustomCSS=".urlencode($this->options['custom_css_url'])."&imageDisplayStyle=".urlencode($this->options['image-style'])."&disableClickToDel=".urlencode($this->options['click_to_delete'])."&disablePDF=".urlencode($this->options['pdf'])."&disablePrint=".urlencode($this->options['print'])."&disableEmail=".urlencode($this->options['email'])."&imagesSize=".urlencode($this->options['images-size'])."&url=".urlencode(get_permalink())."&source=wp";
|
567 |
+
}
|
568 |
+
if ( !is_singular() && '' != $onclick && $js_enabled) {
|
569 |
+
$onclick = '';
|
570 |
+
$href = add_query_arg('pfstyle','wp',get_permalink());
|
571 |
+
}
|
572 |
+
|
573 |
+
$align = '';
|
574 |
+
if ( 'none' != $this->options['content_position'] )
|
575 |
+
$align = ' pf-align'.$this->options['content_position'];
|
576 |
+
$href = str_replace("&", "&", $href );
|
577 |
+
$button = apply_filters( 'printfriendly_button', '<div class="printfriendly'.$align.'"><a href="'.$href.'" rel="nofollow" '.$onclick.' class="noslimstat" title="Printer Friendly, PDF & Email">'.$this->button().'</a></div>' );
|
578 |
+
return $button;
|
579 |
+
}
|
580 |
+
|
581 |
+
|
582 |
+
/**
|
583 |
+
* @since 3.2.9
|
584 |
+
* @returns if google analytics enabled
|
585 |
+
*/
|
586 |
+
function google_analytics_enabled() {
|
587 |
+
return isset( $this->options['enable_google_analytics'] ) && $this->options['enable_google_analytics'] == 'yes';
|
588 |
+
}
|
589 |
+
/**
|
590 |
+
* @since 3.2.6
|
591 |
+
* @return boolean true if JS is enabled for the plugin
|
592 |
+
**/
|
593 |
+
function js_enabled() {
|
594 |
+
return isset( $this->options['javascript'] ) && $this->options['javascript'] == 'yes';
|
595 |
+
}
|
596 |
+
|
597 |
+
/**
|
598 |
+
* Filter posts by category.
|
599 |
+
*
|
600 |
+
* @since 3.2.2
|
601 |
+
* @return boolean true if post belongs to category selected for button display
|
602 |
+
*/
|
603 |
+
function category_included() {
|
604 |
+
// return ( 'all' === $this->options['category_ids'][0] || in_category($this->options['category_ids']) );
|
605 |
+
return true;
|
606 |
+
}
|
607 |
+
|
608 |
+
/**
|
609 |
+
* Register the textdomain and the options array along with the validation function
|
610 |
+
*
|
611 |
+
* @since 3.0
|
612 |
+
*/
|
613 |
+
function init() {
|
614 |
+
try {
|
615 |
+
// Allow for localization
|
616 |
+
load_plugin_textdomain( $this->hook, false, basename( dirname( __FILE__ ) ) . '/languages' );
|
617 |
+
|
618 |
+
// Register our option array
|
619 |
+
register_setting( $this->option_name, $this->option_name, array( &$this, 'options_validate' ) );
|
620 |
+
} catch (Exception $e) {
|
621 |
+
$this->raven_catch($e);
|
622 |
+
}
|
623 |
+
}
|
624 |
+
|
625 |
+
/**
|
626 |
+
* Validate the saved options.
|
627 |
+
*
|
628 |
+
* @since 3.0
|
629 |
+
* @param array $input with unvalidated options.
|
630 |
+
* @return array $valid_input with validated options.
|
631 |
+
*/
|
632 |
+
function options_validate( $input ) {
|
633 |
+
// Prevent CSRF attack
|
634 |
+
check_admin_referer( 'pf-options', 'pf-nonce' );
|
635 |
+
|
636 |
+
$valid_input = $input;
|
637 |
+
|
638 |
+
// Section 1 options
|
639 |
+
if ( !isset( $input['button_type'] ) || !in_array( $input['button_type'], array(
|
640 |
+
'buttons/printfriendly-pdf-email-button.png',
|
641 |
+
'buttons/printfriendly-pdf-email-button-md.png',
|
642 |
+
'buttons/printfriendly-pdf-email-button-notext.png', // buttongroup1
|
643 |
+
'buttons/printfriendly-pdf-button.png',
|
644 |
+
'buttons/printfriendly-pdf-button-nobg.png',
|
645 |
+
'buttons/printfriendly-pdf-button-nobg-md.png', // buttongroup2
|
646 |
+
'buttons/printfriendly-button.png',
|
647 |
+
'buttons/printfriendly-button-nobg.png',
|
648 |
+
'buttons/printfriendly-button-md.png',
|
649 |
+
'buttons/printfriendly-button-lg.png', // buttongroup3
|
650 |
+
'buttons/print-button.png',
|
651 |
+
'buttons/print-button-nobg.png',
|
652 |
+
'buttons/print-button-gray.png', // buttongroup3
|
653 |
+
'custom-button' // custom
|
654 |
+
) ) ) {
|
655 |
+
$valid_input['button_type'] = 'buttons/printfriendly-button.png';
|
656 |
+
}
|
657 |
+
|
658 |
+
if ( !isset( $input['custom_button_icon'] ) || !in_array( $input['custom_button_icon'], array(
|
659 |
+
'https://cdn.printfriendly.com/icons/printfriendly-icon-sm.png',
|
660 |
+
'https://cdn.printfriendly.com/icons/printfriendly-icon-md.png',
|
661 |
+
'https://cdn.printfriendly.com/icons/printfriendly-icon-lg.png',
|
662 |
+
'custom-image',
|
663 |
+
'no-image'
|
664 |
+
) ) ) {
|
665 |
+
$valid_input['custom_button_icon'] = 'https://cdn.printfriendly.com/icons/printfriendly-icon-md.png';
|
666 |
+
}
|
667 |
+
|
668 |
+
// @todo custom image url validation
|
669 |
+
if ( !isset( $input['custom_image'] ) || empty( $input['custom_image'] ) )
|
670 |
+
$valid_input['custom_image'] = '';
|
671 |
+
|
672 |
+
if ( !isset( $input['custom_button_text'] ) ) {
|
673 |
+
$valid_input['custom_button_text'] = 'custom-text';
|
674 |
+
}
|
675 |
+
|
676 |
+
// @todo validate optional custom text
|
677 |
+
if ( !isset( $input['custom_text'] ) ) {
|
678 |
+
$valid_input['custom_text'] = 'Print Friendly';
|
679 |
+
}
|
680 |
+
|
681 |
+
// Custom button selected, but no url nor text given, reset button type to default
|
682 |
+
if( 'custom-button' === $valid_input['button_type'] && ( '' === $valid_input['custom_image'] && '' === $input['custom_text'] ) ) {
|
683 |
+
$valid_input['button_type'] = 'buttons/printfriendly-button.png';
|
684 |
+
add_settings_error( $this->option_name, 'invalid_custom_image', __( 'No valid custom image url received, please enter a valid url to use a custom image.', $this->hook ) );
|
685 |
+
}
|
686 |
+
|
687 |
+
|
688 |
+
$valid_input['text_size'] = (int) $input['text_size'];
|
689 |
+
if ( !isset($valid_input['text_size']) || 0 == $valid_input['text_size'] ) {
|
690 |
+
$valid_input['text_size'] = 14;
|
691 |
+
} else if ( 25 < $valid_input['text_size'] || 9 > $valid_input['text_size'] ) {
|
692 |
+
$valid_input['text_size'] = 14;
|
693 |
+
add_settings_error( $this->option_name, 'invalid_text_size', __( 'The text size you entered is invalid, please stay between 9px and 25px', $this->hook ) );
|
694 |
+
}
|
695 |
+
|
696 |
+
if ( !isset( $input['text_color'] )) {
|
697 |
+
$valid_input['text_color'] = $this->options['text_color'];
|
698 |
+
} else if ( ! preg_match('/^#[a-f0-9]{3,6}$/i', $input['text_color'] ) ) {
|
699 |
+
// Revert to previous setting and throw error.
|
700 |
+
$valid_input['text_color'] = $this->options['text_color'];
|
701 |
+
add_settings_error( $this->option_name, 'invalid_color', __( 'The color you entered is not valid, it must be a valid hexadecimal RGB font color.', $this->hook ) );
|
702 |
+
}
|
703 |
+
|
704 |
+
|
705 |
+
|
706 |
+
/* Section 2 options */
|
707 |
+
if ( !isset( $input['enable_css'] ) || 'off' !== $input['enable_css'] )
|
708 |
+
$valid_input['enable_css'] = 'on';
|
709 |
+
|
710 |
+
if ( !isset( $input['content_position'] ) || !in_array( $input['content_position'], array( 'none', 'left', 'center', 'right' ) ) )
|
711 |
+
$valid_input['content_position'] = 'left';
|
712 |
+
|
713 |
+
if ( !isset( $input['content_placement'] ) || !in_array( $input['content_placement'], array( 'before', 'after' ) ) )
|
714 |
+
$valid_input['content_placement'] = 'after';
|
715 |
+
|
716 |
+
foreach ( array( 'margin_top', 'margin_right', 'margin_bottom', 'margin_left' ) as $opt )
|
717 |
+
$valid_input[$opt] = (int) $input[$opt];
|
718 |
+
|
719 |
+
unset( $opt );
|
720 |
+
|
721 |
+
|
722 |
+
/* Section 3 options */
|
723 |
+
foreach ( array( 'show_on_posts', 'show_on_pages', 'show_on_homepage', 'show_on_categories', 'show_on_taxonomies' ) as $opt ) {
|
724 |
+
if ( !isset( $input[$opt] ) || 'on' !== $input[$opt] ) {
|
725 |
+
unset( $valid_input[$opt] );
|
726 |
+
}
|
727 |
+
}
|
728 |
+
unset( $opt );
|
729 |
+
|
730 |
+
// Just in case
|
731 |
+
if( isset( $input['show_on_template'] ) )
|
732 |
+
unset( $valid_input['show_on_template'] );
|
733 |
+
|
734 |
+
|
735 |
+
if( isset( $input['category_ids'] ) ) {
|
736 |
+
/**
|
737 |
+
* Validate received category ids:
|
738 |
+
* - Is there only one array item and does it contain the string text 'all' ? => pass
|
739 |
+
* - Otherwise, make sure the ids are integer values
|
740 |
+
*/
|
741 |
+
/* $valid_input['category_ids'] = explode(',', $input['category_ids']);
|
742 |
+
$valid_input['category_ids'] = array_map( 'trim', $valid_input['category_ids'] );
|
743 |
+
if( ( count( $valid_input['category_ids'] ) === 1 && 'all' === $valid_input['category_ids'][0] ) === false ) {
|
744 |
+
foreach( $valid_input['category_ids'] as $k => $v ) {
|
745 |
+
if( $v !== '' && ( ctype_digit( (string) $v ) === true && ( intval( $v ) == $v ) ) ) {
|
746 |
+
$valid_input['category_ids'][$k] = intval( $v );
|
747 |
+
}
|
748 |
+
else {
|
749 |
+
// Invalid input - Show error message ?
|
750 |
+
unset( $valid_input['category_ids'][$k] );
|
751 |
+
}
|
752 |
+
}
|
753 |
+
}*/
|
754 |
+
unset( $valid_input['category_ids'] );
|
755 |
+
}
|
756 |
+
|
757 |
+
//echo '<pre>'.print_r($input,1).'</pre>';
|
758 |
+
//die;
|
759 |
+
|
760 |
+
|
761 |
+
|
762 |
+
/* Section 4 options */
|
763 |
+
if ( !isset( $input['logo'] ) || !in_array( $input['logo'], array( 'favicon', 'upload-an-image' ) ) )
|
764 |
+
$valid_input['logo'] = 'favicon';
|
765 |
+
|
766 |
+
// @todo custom logo url validation
|
767 |
+
if ( !isset( $input['image_url'] ) || empty( $input['image_url'] ) )
|
768 |
+
$valid_input['image_url'] = '';
|
769 |
+
|
770 |
+
// @todo validate optional tagline text
|
771 |
+
if ( !isset( $input['tagline'] ) ) {
|
772 |
+
$valid_input['tagline'] = '';
|
773 |
+
}
|
774 |
+
/* else {
|
775 |
+
|
776 |
+
}*/
|
777 |
+
|
778 |
+
// Custom logo selected, but no valid url given, reset logo to default
|
779 |
+
if( 'upload-an-image' === $valid_input['logo'] && '' === $valid_input['image_url'] ) {
|
780 |
+
$valid_input['logo'] = 'favicon';
|
781 |
+
add_settings_error( $this->option_name, 'invalid_custom_logo', __( 'No valid custom logo url received, please enter a valid url to use a custom logo.', $this->hook ) );
|
782 |
+
}
|
783 |
+
|
784 |
+
|
785 |
+
if ( !isset( $input['image-style'] ) || !in_array( $input['image-style'], array( 'right', 'left', 'none', 'block' ) ) )
|
786 |
+
$valid_input['image-style'] = 'right';
|
787 |
+
|
788 |
+
|
789 |
+
foreach( array( 'click_to_delete', 'email', 'pdf', 'print', ) as $opt ) {
|
790 |
+
if( !isset( $input[$opt] ) || !in_array( $input[$opt], array( '0', '1' ) ) ) {
|
791 |
+
$valid_input[$opt] = '0';
|
792 |
+
}
|
793 |
+
}
|
794 |
+
unset( $opt );
|
795 |
+
|
796 |
+
if( !isset( $input['images-size'] ) || !in_array( $input['images-size'], array( 'full-size', 'remove-images', 'large', 'medium', 'small' ) ) ) {
|
797 |
+
$valid_input['images-size'] = 'full-size';
|
798 |
+
}
|
799 |
+
|
800 |
+
// @todo custom css url validation
|
801 |
+
if ( !isset( $input['custom_css_url'] ) || empty( $input['custom_css_url'] ) )
|
802 |
+
$valid_input['custom_css_url'] = '';
|
803 |
+
|
804 |
+
|
805 |
+
|
806 |
+
/* Section 5 options */
|
807 |
+
if ( !isset( $input['password_protected'] ) || !in_array( $input['password_protected'], array( 'no', 'yes' ) ) )
|
808 |
+
$valid_input['password_protected'] = 'no';
|
809 |
+
|
810 |
+
if ( !isset( $input['javascript'] ) || !in_array( $input['javascript'], array( 'no', 'yes' ) ) )
|
811 |
+
$valid_input['javascript'] = 'yes';
|
812 |
+
|
813 |
+
/*Analytics Options */
|
814 |
+
if ( !isset( $input['enable_google_analytics'] ) || !in_array( $input['enable_google_analytics'], array( 'no', 'yes' ) ) ) {
|
815 |
+
$valid_input['enable_google_analytics'] = "no";
|
816 |
+
}
|
817 |
+
|
818 |
+
if ( !isset( $input['pf_algo'] ) || !in_array( $input['pf_algo'], array( 'wp', 'pf' ) ) ) {
|
819 |
+
$valid_input['pf_algo'] = "wp";
|
820 |
+
}
|
821 |
+
|
822 |
+
/* Database version */
|
823 |
+
$valid_input['db_version'] = $this->db_version;
|
824 |
+
|
825 |
+
return $valid_input;
|
826 |
+
}
|
827 |
+
|
828 |
+
/**
|
829 |
+
* Register the config page for all users that have the manage_options capability
|
830 |
+
*
|
831 |
+
* @since 3.0
|
832 |
+
*/
|
833 |
+
function add_config_page() {
|
834 |
+
try {
|
835 |
+
$this->settings_page = add_options_page( __( 'PrintFriendly Options', $this->hook ), __( 'Print Friendly & PDF', $this->hook ), 'manage_options', $this->hook, array( &$this, 'config_page' ) );
|
836 |
+
|
837 |
+
//register callback gets call prior your own page gets rendered
|
838 |
+
add_action('load-'.$this->settings_page, array(&$this, 'on_load_printfriendly'));
|
839 |
+
} catch (Exception $e) {
|
840 |
+
$this->raven_catch($e);
|
841 |
+
}
|
842 |
+
}
|
843 |
+
|
844 |
+
/**
|
845 |
+
* Shows help on the plugin page when clicking on the Help button, top right.
|
846 |
+
*
|
847 |
+
* @since 3.0
|
848 |
+
*/
|
849 |
+
function contextual_help( $contextual_help, $screen_id ) {
|
850 |
+
try {
|
851 |
+
if ( $this->settings_page == $screen_id ) {
|
852 |
+
$contextual_help = '<strong>'.__( "Need Help?", $this->hook ).'</strong><br/>'
|
853 |
+
.sprintf( __( "Be sure to check out the %s!", $this->hook), '<a href="https://wordpress.org/extend/plugins/printfriendly/faq/">'.__( "Frequently Asked Questions", $this->hook ).'</a>' );
|
854 |
+
}
|
855 |
+
return $contextual_help;
|
856 |
+
} catch (Exception $e) {
|
857 |
+
$this->raven_catch($e);
|
858 |
+
}
|
859 |
+
}
|
860 |
+
|
861 |
+
/**
|
862 |
+
* Enqueue the scripts for the admin settings page
|
863 |
+
*
|
864 |
+
* @since 3.0
|
865 |
+
* @param string $hook_suffix hook to check against whether the current page is the PrintFriendly settings page.
|
866 |
+
*/
|
867 |
+
function admin_enqueue_scripts( $screen_id ) {
|
868 |
+
try {
|
869 |
+
if ( $this->settings_page == $screen_id ) {
|
870 |
+
$ver = '3.2.5';
|
871 |
+
wp_register_script( 'pf-color-picker', plugins_url( 'colorpicker.js', __FILE__ ), array( 'jquery', 'media-upload' ), $ver );
|
872 |
+
wp_register_script( 'pf-admin-js', plugins_url( 'admin.js', __FILE__ ), array( 'jquery', 'media-upload' ), $ver );
|
873 |
+
|
874 |
+
wp_enqueue_script( 'pf-color-picker' );
|
875 |
+
wp_enqueue_script( 'pf-admin-js' );
|
876 |
+
|
877 |
+
|
878 |
+
wp_enqueue_style( 'printfriendly-admin-css', plugins_url( 'admin.css', __FILE__ ), array(), $ver);
|
879 |
+
}
|
880 |
+
} catch (Exception $e) {
|
881 |
+
$this->raven_catch($e);
|
882 |
+
}
|
883 |
+
}
|
884 |
+
|
885 |
+
/**
|
886 |
+
* Register the settings link for the plugins page
|
887 |
+
*
|
888 |
+
* @since 3.0
|
889 |
+
* @param array $links the links for the plugins.
|
890 |
+
* @param string $file filename to check against plugins filename.
|
891 |
+
* @return array $links the links with the settings link added to it if appropriate.
|
892 |
+
*/
|
893 |
+
function filter_plugin_actions( $links, $file ){
|
894 |
+
try {
|
895 |
+
// Static so we don't call plugin_basename on every plugin row.
|
896 |
+
static $this_plugin;
|
897 |
+
if ( ! $this_plugin ) $this_plugin = plugin_basename( __FILE__ );
|
898 |
+
|
899 |
+
if ( $file == $this_plugin ){
|
900 |
+
$settings_link = '<a href="options-general.php?page='.$this->hook.'">' . __( 'Settings', $this->hook ) . '</a>';
|
901 |
+
array_unshift( $links, $settings_link ); // before other links
|
902 |
+
}
|
903 |
+
|
904 |
+
return $links;
|
905 |
+
} catch (Exception $e) {
|
906 |
+
$this->raven_catch($e);
|
907 |
+
}
|
908 |
+
}
|
909 |
+
|
910 |
+
/**
|
911 |
+
* Set default values for the plugin. If old, as in pre 1.0, settings are there, use them and then delete them.
|
912 |
+
*
|
913 |
+
* @since 3.0
|
914 |
+
*/
|
915 |
+
function set_defaults() {
|
916 |
+
try {
|
917 |
+
// Set some defaults
|
918 |
+
$this->options = array(
|
919 |
+
'button_type' => 'buttons/printfriendly-button.png',
|
920 |
+
'content_position' => 'left',
|
921 |
+
'content_placement' => 'after',
|
922 |
+
'custom_button_icon' => 'https://cdn.printfriendly.com/icons/printfriendly-icon-md.png',
|
923 |
+
'custom_button_text' => 'custom-text',
|
924 |
+
'custom_image' => '',
|
925 |
+
'custom_text' => 'PrintFriendly',
|
926 |
+
'enable_css' => 'on',
|
927 |
+
'margin_top' => '12',
|
928 |
+
'margin_right' => '12',
|
929 |
+
'margin_bottom' => '12',
|
930 |
+
'margin_left' => '12',
|
931 |
+
'show_on_posts' => 'on',
|
932 |
+
'show_on_pages' => 'on',
|
933 |
+
'text_color' => '#3AAA11',
|
934 |
+
'text_size' => 14,
|
935 |
+
'logo' => 'favicon',
|
936 |
+
'image_url' => '',
|
937 |
+
'tagline' => '',
|
938 |
+
'click_to_delete' => '0', // 0 - allow, 1 - do not allow
|
939 |
+
'hide-images' => '0', // 0 - show images, 1 - hide images
|
940 |
+
'image-style' => 'right', // 'right', 'left', 'none', 'block'
|
941 |
+
'email' => '0', // 0 - allow, 1 - do not allow
|
942 |
+
'pdf' => '0', // 0 - allow, 1 - do not allow
|
943 |
+
'print' => '0', // 0 - allow, 1 - do not allow
|
944 |
+
'password_protected' => 'no',
|
945 |
+
'javascript' => 'yes',
|
946 |
+
'custom_css_url' => '',
|
947 |
+
'enable_google_analytics' => 'no',
|
948 |
+
'enable_error_reporting' => 'yes',
|
949 |
+
'pf_algo' => 'wp',
|
950 |
+
'images-size' => 'full-size'
|
951 |
+
);
|
952 |
+
|
953 |
+
// Check whether the old badly named singular options are there, if so, use the data and delete them.
|
954 |
+
foreach ( array_keys( $this->options ) as $opt ) {
|
955 |
+
$old_opt = get_option( 'pf_'.$opt );
|
956 |
+
if ( $old_opt !== false ) {
|
957 |
+
$this->options[$opt] = $old_opt;
|
958 |
+
delete_option( 'pf_'.$opt );
|
959 |
+
}
|
960 |
+
}
|
961 |
+
|
962 |
+
// This should always be set to the latest immediately when defaults are pushed in.
|
963 |
+
$this->options['db_version'] = $this->db_version;
|
964 |
+
|
965 |
+
update_option( $this->option_name, $this->options );
|
966 |
+
} catch (Exception $e) {
|
967 |
+
$this->raven_catch($e);
|
968 |
+
}
|
969 |
+
}
|
970 |
+
|
971 |
+
/**
|
972 |
+
* Upgrades the stored options, used to add new defaults if needed etc.
|
973 |
+
*
|
974 |
+
* @since 3.0
|
975 |
+
*/
|
976 |
+
function upgrade() {
|
977 |
+
// update options to version 2
|
978 |
+
if($this->options['db_version'] < 2) {
|
979 |
+
|
980 |
+
$additional_options = array(
|
981 |
+
'enable_css' => 'on',
|
982 |
+
'logo' => 'favicon',
|
983 |
+
'image_url' => '',
|
984 |
+
'tagline' => '',
|
985 |
+
'click_to_delete' => '0',
|
986 |
+
'password_protected' => 'no',
|
987 |
+
'javascript' => 'yes'
|
988 |
+
);
|
989 |
+
|
990 |
+
// use old javascript_include value to initialize javascript
|
991 |
+
if(!isset($this->options['javascript_include']))
|
992 |
+
$additional_options['javascript'] = 'no';
|
993 |
+
|
994 |
+
unset($this->options['javascript_include']);
|
995 |
+
unset($this->options['javascript_fallback']);
|
996 |
+
|
997 |
+
// correcting badly named option
|
998 |
+
if(isset($this->options['disable_css'])) {
|
999 |
+
$additional_options['enable_css'] = $this->options['disable_css'];
|
1000 |
+
unset($this->options['disable_css']);
|
1001 |
+
}
|
1002 |
+
|
1003 |
+
// check whether image we do not list any more was used
|
1004 |
+
if(in_array($this->options['button_type'], array('button-print-whgn20.png', 'pf_button_sq_qry_m.png', 'pf_button_sq_qry_l.png', 'pf_button_sq_grn_m.png', 'pf_button_sq_grn_l.png'))) {
|
1005 |
+
// previous version had a bug with button name
|
1006 |
+
if(in_array($this->options['button_type'], array('pf_button_sq_qry_m.png', 'pf_button_sq_qry_l.png')))
|
1007 |
+
$this->options['button_type'] = str_replace('qry', 'gry', $this->options['button_type']);
|
1008 |
+
|
1009 |
+
$image_address = 'https://cdn.printfriendly.com/'.$this->options['button_type'];
|
1010 |
+
$this->options['button_type'] = 'custom-image';
|
1011 |
+
$this->options['custom_text'] = '';
|
1012 |
+
$this->options['custom_image'] = $image_address;
|
1013 |
+
}
|
1014 |
+
|
1015 |
+
$this->options = array_merge($this->options, $additional_options);
|
1016 |
+
}
|
1017 |
+
|
1018 |
+
// update options to version 3
|
1019 |
+
if($this->options['db_version'] < 3) {
|
1020 |
+
|
1021 |
+
$old_show_on = $this->options['show_list'];
|
1022 |
+
// 'manual' setting
|
1023 |
+
$additional_options = array('custom_css_url' => '');
|
1024 |
+
|
1025 |
+
if($old_show_on == 'all') {
|
1026 |
+
$additional_options = array(
|
1027 |
+
'show_on_pages' => 'on',
|
1028 |
+
'show_on_posts' => 'on',
|
1029 |
+
'show_on_homepage' => 'on',
|
1030 |
+
'show_on_categories' => 'on',
|
1031 |
+
'show_on_taxonomies' => 'on'
|
1032 |
+
);
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
if($old_show_on == 'single') {
|
1036 |
+
$additional_options = array(
|
1037 |
+
'show_on_pages' => 'on',
|
1038 |
+
'show_on_posts' => 'on'
|
1039 |
+
);
|
1040 |
+
}
|
1041 |
+
|
1042 |
+
if($old_show_on == 'posts') {
|
1043 |
+
$additional_options = array(
|
1044 |
+
'show_on_posts' => 'on',
|
1045 |
+
);
|
1046 |
+
}
|
1047 |
+
|
1048 |
+
unset($this->options['show_list']);
|
1049 |
+
|
1050 |
+
$this->options = array_merge($this->options, $additional_options);
|
1051 |
+
}
|
1052 |
+
|
1053 |
+
// update options to version 4
|
1054 |
+
if($this->options['db_version'] < 4) {
|
1055 |
+
|
1056 |
+
$additional_options = array(
|
1057 |
+
'email' => '0',
|
1058 |
+
'pdf' => '0',
|
1059 |
+
'print' => '0',
|
1060 |
+
);
|
1061 |
+
|
1062 |
+
$this->options = array_merge($this->options, $additional_options);
|
1063 |
+
}
|
1064 |
+
|
1065 |
+
// update options to version 6
|
1066 |
+
// Replacement for db version 5 - should also be run for those already upgraded
|
1067 |
+
if($this->options['db_version'] < 6) {
|
1068 |
+
unset($this->options['category_ids']);
|
1069 |
+
}
|
1070 |
+
|
1071 |
+
if($this->options['db_version'] < 7) {
|
1072 |
+
$additional_options = array(
|
1073 |
+
'hide-images' => '0',
|
1074 |
+
'image-style' => 'right',
|
1075 |
+
);
|
1076 |
+
|
1077 |
+
$this->options = array_merge($this->options, $additional_options);
|
1078 |
+
}
|
1079 |
+
|
1080 |
+
if($this->options['db_version'] < 8) {
|
1081 |
+
$this->options['enable_google_analytics'] = 'no';
|
1082 |
+
}
|
1083 |
+
|
1084 |
+
if($this->options['db_version'] < 9) {
|
1085 |
+
$this->options['pf_algo'] = 'wp';
|
1086 |
+
}
|
1087 |
+
|
1088 |
+
if($this->options['db_version'] < 10) {
|
1089 |
+
$this->options['enable_error_reporting'] = 'yes';
|
1090 |
+
}
|
1091 |
+
|
1092 |
+
if($this->options['db_version'] < 11) {
|
1093 |
+
if (!isset($this->options['custom_css_url'])) {
|
1094 |
+
$this->options['custom_css_url'] = '';
|
1095 |
+
}
|
1096 |
+
}
|
1097 |
+
|
1098 |
+
if($this->options['db_version'] < 12) {
|
1099 |
+
$this->options['images-size'] = $this->options['hide-images'] == '1' ? 'remove-images' : 'full-size';
|
1100 |
+
}
|
1101 |
+
|
1102 |
+
if ($this->options['db_version'] < 13) {
|
1103 |
+
switch ($this->options['button_type']) {
|
1104 |
+
case 'pf-button.gif':
|
1105 |
+
$this->options['button_type'] = 'buttons/printfriendly-button.png';
|
1106 |
+
break;
|
1107 |
+
case 'pf-button-both.gif':
|
1108 |
+
$this->options['button_type'] = 'buttons/printfriendly-pdf-button.png';
|
1109 |
+
break;
|
1110 |
+
case 'pf-button-big.gif':
|
1111 |
+
$this->options['button_type'] = 'buttons/printfriendly-button-lg.png';
|
1112 |
+
break;
|
1113 |
+
case 'pf-button-print-pdf-mail.png':
|
1114 |
+
$this->options['button_type'] = 'buttons/printfriendly-pdf-email-button-notext.png';
|
1115 |
+
break;
|
1116 |
+
case 'button-print-grnw20.png':
|
1117 |
+
$this->options['button_type'] = 'buttons/print-button.png';
|
1118 |
+
break;
|
1119 |
+
case 'button-print-blu20.png':
|
1120 |
+
$this->options['button_type'] = 'buttons/print-button-nobg.png';
|
1121 |
+
break;
|
1122 |
+
case 'button-print-gry20.png':
|
1123 |
+
$this->options['button_type'] = 'buttons/print-button-gray.png';
|
1124 |
+
break;
|
1125 |
+
case 'pf-icon-small.gif':
|
1126 |
+
case 'pf-icon.gif':
|
1127 |
+
$this->options['button_type'] = 'custom-button';
|
1128 |
+
$this->options['custom_button_icon'] = 'icons/printfriendly-icon-md.png';
|
1129 |
+
$this->options['custom_button_text'] = 'custom-text';
|
1130 |
+
$this->options['custom_image'] = 'icons/printfriendly-icon-md.png';
|
1131 |
+
break;
|
1132 |
+
case 'text-only':
|
1133 |
+
$this->options['button_type'] = 'custom-button';
|
1134 |
+
$this->options['custom_button_icon'] = 'no-image';
|
1135 |
+
$this->options['custom_button_text'] = 'custom-text';
|
1136 |
+
break;
|
1137 |
+
}
|
1138 |
+
}
|
1139 |
+
|
1140 |
+
if ($this->options['db_version'] < 14) {
|
1141 |
+
if ($this->options['button_type'] == 'pf-icon-both.gif') {
|
1142 |
+
$this->options['button_type'] = 'buttons/printfriendly-pdf-button-nobg.png';
|
1143 |
+
}
|
1144 |
+
}
|
1145 |
+
|
1146 |
+
if ($this->options['db_version'] < 15) {
|
1147 |
+
if ($this->options['button_type'] == 'custom-image') {
|
1148 |
+
$this->options['button_type'] = 'custom-button';
|
1149 |
+
|
1150 |
+
switch ($this->options['custom_image']) {
|
1151 |
+
case 'icons/printfriendly-icon-sm.png':
|
1152 |
+
case 'icons/printfriendly-icon-md.png':
|
1153 |
+
case 'icons/printfriendly-icon-lg.png':
|
1154 |
+
$this->options['custom_button_icon'] = $this->options['custom_image'];
|
1155 |
+
break;
|
1156 |
+
case '':
|
1157 |
+
$this->options['custom_button_icon'] = 'no-image';
|
1158 |
+
break;
|
1159 |
+
default:
|
1160 |
+
$this->options['custom_button_icon'] = 'custom-image';
|
1161 |
+
}
|
1162 |
+
|
1163 |
+
if ($this->options['custom_text'] == '') {
|
1164 |
+
$this->options['custom_button_text'] = 'no-text';
|
1165 |
+
} else {
|
1166 |
+
$this->options['custom_button_text'] = 'custom-text';
|
1167 |
+
}
|
1168 |
+
}
|
1169 |
+
}
|
1170 |
+
|
1171 |
+
if ($this->options['db_version'] < 16) {
|
1172 |
+
if ($this->options['custom_button_icon'] == 'icons/printfriendly-icon-md.png') {
|
1173 |
+
$this->options['custom_button_icon'] = 'https://cdn.printfriendly.com/icons/printfriendly-icon-md.png';
|
1174 |
+
}
|
1175 |
+
}
|
1176 |
+
|
1177 |
+
$this->options['db_version'] = $this->db_version;
|
1178 |
+
|
1179 |
+
update_option( $this->option_name, $this->options );
|
1180 |
+
|
1181 |
+
$this->send_info();
|
1182 |
+
}
|
1183 |
+
|
1184 |
+
/**
|
1185 |
+
* Displays radio button in the admin area
|
1186 |
+
*
|
1187 |
+
* @since 3.0
|
1188 |
+
* @param string $name the name of the radio button to generate.
|
1189 |
+
* @param boolean $br whether or not to add an HTML <br> tag, defaults to true.
|
1190 |
+
*/
|
1191 |
+
function radio($name, $br = false){
|
1192 |
+
$var = '<input id="'.$name.'" class="radio" name="'.$this->option_name.'[button_type]" type="radio" value="'.$name.'" '.$this->checked( 'button_type', $name, false ).'/>';
|
1193 |
+
$button = $this->button( $name );
|
1194 |
+
if ( '' != $button )
|
1195 |
+
echo '<label for="'.$name.'">' . $var . $button . '</label>';
|
1196 |
+
else
|
1197 |
+
echo $var;
|
1198 |
+
|
1199 |
+
if ( $br )
|
1200 |
+
echo '<br>';
|
1201 |
+
}
|
1202 |
+
|
1203 |
+
/**
|
1204 |
+
* Displays radio button in the admin area
|
1205 |
+
*
|
1206 |
+
* @since 3.12.0
|
1207 |
+
* @param string $name the name of the radio button to generate.
|
1208 |
+
*/
|
1209 |
+
function radio_custom_image($value){
|
1210 |
+
?>
|
1211 |
+
<label class="radio-custom-btn">
|
1212 |
+
<input type="radio" name="<?php echo $this->option_name ?>[custom_button_icon]" value="<?php echo $value ?>" <?php $this->checked( 'custom_button_icon', $value ) ?>>
|
1213 |
+
<img src="<?php echo $value ?>" alt="Print Friendly, PDF & Email" style="display: inline" />
|
1214 |
+
</label>
|
1215 |
+
<?php
|
1216 |
+
}
|
1217 |
+
|
1218 |
+
/**
|
1219 |
+
* Displays button image in the admin area
|
1220 |
+
*
|
1221 |
+
* @since 3.0
|
1222 |
+
* @param string $name the name of the button to generate.
|
1223 |
+
*/
|
1224 |
+
function button( $name = false ){
|
1225 |
+
if( !$name )
|
1226 |
+
$name = $this->options['button_type'];
|
1227 |
+
|
1228 |
+
$button_css = $this->generic_button_css();
|
1229 |
+
|
1230 |
+
$img_path = 'https://cdn.printfriendly.com/';
|
1231 |
+
|
1232 |
+
$return = '';
|
1233 |
+
|
1234 |
+
if ($name == "custom-button") {
|
1235 |
+
if ($this->options['custom_button_icon'] == 'custom-image' && '' != trim($this->options['custom_image'])) {
|
1236 |
+
$return = '<img src="'.esc_url($this->options['custom_image']).'" alt="Print Friendly, PDF & Email" style="display: inline" />';
|
1237 |
+
} else if ( $this->options['custom_button_icon'] != 'no-image' ) {
|
1238 |
+
$return = '<img src="'.esc_url($this->options['custom_button_icon']).'" alt="Print Friendly, PDF & Email" style="display: inline" />';
|
1239 |
+
}
|
1240 |
+
|
1241 |
+
/* esc_html was removerd to support custom html, CSRF prevents from attack by using this field */
|
1242 |
+
if ($this->options['custom_button_text'] == 'custom-text') {
|
1243 |
+
$return .= $this->options['custom_text'];
|
1244 |
+
}
|
1245 |
+
|
1246 |
+
return $return;
|
1247 |
+
} else {
|
1248 |
+
return '<img style="'.$button_css.'" src="'.$img_path.$name.'" alt="Print Friendly, PDF & Email" />';
|
1249 |
+
}
|
1250 |
+
}
|
1251 |
+
|
1252 |
+
/**
|
1253 |
+
*
|
1254 |
+
*
|
1255 |
+
**/
|
1256 |
+
|
1257 |
+
function generic_button_css() {
|
1258 |
+
return "border:none;-webkit-box-shadow:none; box-shadow:none;";
|
1259 |
+
}
|
1260 |
+
|
1261 |
+
|
1262 |
+
/**
|
1263 |
+
* Convenience function to output a value custom button preview elements
|
1264 |
+
*
|
1265 |
+
* @since 3.0.9
|
1266 |
+
*/
|
1267 |
+
function custom_button_preview() {
|
1268 |
+
if( $this->options['custom_button_icon'] == 'no-image' ) {
|
1269 |
+
$button_preview = '<span id="pf-custom-button-preview"></span>';
|
1270 |
+
} else if ($this->options['custom_button_icon'] == 'custom-image') {
|
1271 |
+
$button_preview = '<span id="pf-custom-button-preview"><img src="'.esc_url($this->options['custom_image']).'" alt="Print Friendly, PDF & Email" /></span>';
|
1272 |
+
} else {
|
1273 |
+
$button_preview = '<span id="pf-custom-button-preview"><img src="'.esc_url($this->options['custom_button_icon']).'" alt="Print Friendly, PDF & Email" /></span>';
|
1274 |
+
}
|
1275 |
+
|
1276 |
+
if ($this->options['custom_button_text'] != 'no-text') {
|
1277 |
+
$button_text = $this->options['custom_text'];
|
1278 |
+
} else {
|
1279 |
+
$button_text = '';
|
1280 |
+
}
|
1281 |
+
|
1282 |
+
$button_preview .= '<span class="printfriendly-text2">'.esc_html($button_text).'</span>';
|
1283 |
+
|
1284 |
+
echo $button_preview;
|
1285 |
+
}
|
1286 |
+
|
1287 |
+
/**
|
1288 |
+
* Convenience function to output a value for an input
|
1289 |
+
*
|
1290 |
+
* @since 3.0
|
1291 |
+
* @param string $val value to check.
|
1292 |
+
*/
|
1293 |
+
function val( $val ) {
|
1294 |
+
if ( isset( $this->options[$val] ) )
|
1295 |
+
echo esc_attr( $this->options[$val] );
|
1296 |
+
}
|
1297 |
+
|
1298 |
+
/**
|
1299 |
+
* Like the WordPress checked() function but it doesn't throw notices when the array key isn't set and uses the plugins options array.
|
1300 |
+
*
|
1301 |
+
* @since 3.0
|
1302 |
+
* @param mixed $val value to check.
|
1303 |
+
* @param mixed $check_against value to check against.
|
1304 |
+
* @param boolean $echo whether or not to echo the output.
|
1305 |
+
* @return string checked, when true, empty, when false.
|
1306 |
+
*/
|
1307 |
+
function checked( $val, $check_against = true, $echo = true ) {
|
1308 |
+
if ( !isset( $this->options[$val] ) )
|
1309 |
+
return;
|
1310 |
+
|
1311 |
+
if ( $this->options[$val] == $check_against ) {
|
1312 |
+
if ( $echo )
|
1313 |
+
echo ' checked="checked" ';
|
1314 |
+
else
|
1315 |
+
return ' checked="checked" ';
|
1316 |
+
}
|
1317 |
+
}
|
1318 |
+
|
1319 |
+
/**
|
1320 |
+
* Helper for creating checkboxes.
|
1321 |
+
*
|
1322 |
+
* @since 3.1.5
|
1323 |
+
* @param string $name string used for various parts of checkbox
|
1324 |
+
*
|
1325 |
+
*/
|
1326 |
+
function create_checkbox($name, $label='', $labelid='' ) {
|
1327 |
+
$label = ( !empty( $label) ? $label : __( ucfirst($name), $this->hook ) );
|
1328 |
+
echo '<label' . ( !empty( $labelid ) ? ' id=' . $labelid : '' ) . '><input type="checkbox" class="show_list" name="' . $this->option_name . '[show_on_' . $name . ']" value="on" ';
|
1329 |
+
$this->checked( 'show_on_' . $name, 'on');
|
1330 |
+
echo ' />' . $label . "</label>\r\n";
|
1331 |
+
}
|
1332 |
+
|
1333 |
+
|
1334 |
+
/**
|
1335 |
+
* Helper that checks if any of the content types is checked to display pf button.
|
1336 |
+
*
|
1337 |
+
* @since 3.1.5
|
1338 |
+
* @return boolean true if none of the content types is checked
|
1339 |
+
*
|
1340 |
+
*/
|
1341 |
+
function is_manual() {
|
1342 |
+
try {
|
1343 |
+
return !(isset($this->options['show_on_posts']) ||
|
1344 |
+
isset($this->options['show_on_pages']) ||
|
1345 |
+
isset($this->options['show_on_homepage']) ||
|
1346 |
+
isset($this->options['show_on_categories']) ||
|
1347 |
+
// (isset($this->options['category_ids']) && count($this->options['category_ids']) > 0) ||
|
1348 |
+
isset($this->options['show_on_taxonomies']));
|
1349 |
+
} catch (Exception $e) {
|
1350 |
+
$this->raven_catch($e);
|
1351 |
+
}
|
1352 |
+
}
|
1353 |
+
|
1354 |
+
|
1355 |
+
/**
|
1356 |
+
* Like the WordPress selected() function but it doesn't throw notices when the array key isn't set and uses the plugins options array.
|
1357 |
+
*
|
1358 |
+
* @since 3.0.9
|
1359 |
+
* @param mixed $val value to check.
|
1360 |
+
* @param mixed $check_against value to check against.
|
1361 |
+
* @return string checked, when true, empty, when false.
|
1362 |
+
*/
|
1363 |
+
function selected( $val, $check_against = true) {
|
1364 |
+
if ( !isset( $this->options[$val] ) )
|
1365 |
+
return;
|
1366 |
+
|
1367 |
+
return selected ($this->options[$val], $check_against);
|
1368 |
+
}
|
1369 |
+
|
1370 |
+
/**
|
1371 |
+
* For use with page metabox.
|
1372 |
+
*
|
1373 |
+
* @since 3.2.2
|
1374 |
+
*/
|
1375 |
+
function get_page_post_type() {
|
1376 |
+
$post_types = get_post_types( array( 'name' => 'page' ), 'object' );
|
1377 |
+
//echo '<pre>'.print_r($post_types,1).'</pre>';
|
1378 |
+
//die;
|
1379 |
+
|
1380 |
+
return $post_types['page'];
|
1381 |
+
}
|
1382 |
+
|
1383 |
+
|
1384 |
+
/**
|
1385 |
+
* Helper that checks if wp versions is above 3.0.
|
1386 |
+
*
|
1387 |
+
* @since 3.2.2
|
1388 |
+
* @return boolean true wp version is above 3.0
|
1389 |
+
*
|
1390 |
+
*/
|
1391 |
+
function wp_version_gt30() {
|
1392 |
+
global $wp_version;
|
1393 |
+
return version_compare($wp_version, '3.0', '>=');
|
1394 |
+
}
|
1395 |
+
|
1396 |
+
|
1397 |
+
/**
|
1398 |
+
* Create box for picking individual categories.
|
1399 |
+
*
|
1400 |
+
* @since 3.2.2
|
1401 |
+
*/
|
1402 |
+
function create_category_metabox() {
|
1403 |
+
$obj = new stdClass();
|
1404 |
+
$obj->ID = 0;
|
1405 |
+
do_meta_boxes('settings_page_' . $this->hook, 'normal', $obj);
|
1406 |
+
}
|
1407 |
+
|
1408 |
+
|
1409 |
+
/**
|
1410 |
+
* Load metaboxes advanced button display settings.
|
1411 |
+
*
|
1412 |
+
* @since 3.2.2
|
1413 |
+
*/
|
1414 |
+
function on_load_printfriendly() {
|
1415 |
+
global $wp_version;
|
1416 |
+
if($this->wp_version_gt30()) {
|
1417 |
+
require_once('includes/meta-boxes.php');
|
1418 |
+
//require_once('includes/nav-menu.php');
|
1419 |
+
wp_enqueue_script('post');
|
1420 |
+
|
1421 |
+
add_meta_box('categorydiv', __('Only display when post is in:', $this->hook), 'post_categories_meta_box', 'settings_page_'. $this->hook, 'normal', 'core');
|
1422 |
+
}
|
1423 |
+
}
|
1424 |
+
|
1425 |
+
function console_log( $data ) {
|
1426 |
+
echo '<script>';
|
1427 |
+
echo 'console.log(' . json_encode( $data ) . ')';
|
1428 |
+
echo '</script>';
|
1429 |
+
}
|
1430 |
+
|
1431 |
+
/**
|
1432 |
+
* Output the config page
|
1433 |
+
*
|
1434 |
+
* @since 3.0
|
1435 |
+
*/
|
1436 |
+
function config_page() {
|
1437 |
+
|
1438 |
+
|
1439 |
+
// Since WP 3.2 outputs these errors by default, only display them when we're on versions older than 3.2 that do support the settings errors.
|
1440 |
+
global $wp_version;
|
1441 |
+
if(version_compare($wp_version, '3.2', '<' ) && $this->wp_version_gt30() )
|
1442 |
+
settings_errors();
|
1443 |
+
|
1444 |
+
// Show the content of the options array when debug is enabled
|
1445 |
+
if ( WP_DEBUG ) {
|
1446 |
+
echo "<p>" . __( 'Currently in Debug Mode. Following information is visible in debug mode only:', $this->hook ) . "</p>";
|
1447 |
+
echo '<pre>' . __( 'Options:', $this->hook ) . '<br><br>' . print_r( $this->options, 1 ) . '</pre>';
|
1448 |
+
}
|
1449 |
+
?>
|
1450 |
+
|
1451 |
+
<style type="text/css">
|
1452 |
+
input[type="radio"], img {
|
1453 |
+
vertical-align: middle;
|
1454 |
+
}
|
1455 |
+
</style>
|
1456 |
+
<div class="notice notice-warning is-dismissible">
|
1457 |
+
<br /><h2>Does your website use these technologies?</h2>
|
1458 |
+
<ul>
|
1459 |
+
<li>- Password protected websites (paywall or intranet)</li>
|
1460 |
+
<li>- JavaScript to display content (Angular/React applications)</li>
|
1461 |
+
</ul>
|
1462 |
+
<p>If yes, you need to <a href="https://www.printfriendly.com/button/pro">purchase a PrintFriendly Pro subscription</a> for the plugin to work properly on your website (<a href="http://blog.printfriendly.com/2017/11/printfriendly-pdf-plugin-is-changing.html">learn why</a>).</p>
|
1463 |
+
<p>If you are an existing Pro customer, no further action is required</p>
|
1464 |
+
</div>
|
1465 |
+
<div id="pf_settings" class="wrap">
|
1466 |
+
|
1467 |
+
<div class="icon32" id="printfriendly"></div>
|
1468 |
+
<h2><?php _e( 'Print Friendly & PDF Settings', $this->hook ); ?></h2>
|
1469 |
+
|
1470 |
+
<form action="options.php" method="post">
|
1471 |
+
<?php wp_nonce_field( 'pf-options', 'pf-nonce' ); ?>
|
1472 |
+
<?php settings_fields( $this->option_name ); ?>
|
1473 |
+
|
1474 |
+
<h3><?php _e( "Pick Your Button Style", $this->hook ); ?></h3>
|
1475 |
+
|
1476 |
+
<fieldset id="button-style">
|
1477 |
+
<div id="buttongroup1">
|
1478 |
+
<?php $this->radio('buttons/printfriendly-pdf-email-button.png'); ?>
|
1479 |
+
<?php $this->radio('buttons/printfriendly-pdf-email-button-md.png'); ?>
|
1480 |
+
<?php $this->radio('buttons/printfriendly-pdf-email-button-notext.png'); ?>
|
1481 |
+
</div>
|
1482 |
+
<div id="buttongroup2">
|
1483 |
+
<?php $this->radio('buttons/printfriendly-pdf-button.png'); ?>
|
1484 |
+
<?php $this->radio('buttons/printfriendly-pdf-button-nobg.png'); ?>
|
1485 |
+
<?php $this->radio('buttons/printfriendly-pdf-button-nobg-md.png'); ?>
|
1486 |
+
</div>
|
1487 |
+
<div id="buttongroup3">
|
1488 |
+
<?php $this->radio('buttons/printfriendly-button.png'); ?>
|
1489 |
+
<?php $this->radio('buttons/printfriendly-button-nobg.png'); ?>
|
1490 |
+
<?php $this->radio('buttons/printfriendly-button-md.png'); ?>
|
1491 |
+
<?php $this->radio('buttons/printfriendly-button-lg.png'); ?>
|
1492 |
+
</div>
|
1493 |
+
<div id="buttongroup4">
|
1494 |
+
<?php $this->radio('buttons/print-button.png'); ?>
|
1495 |
+
<?php $this->radio('buttons/print-button-nobg.png'); ?>
|
1496 |
+
<?php $this->radio('buttons/print-button-gray.png'); ?>
|
1497 |
+
</div>
|
1498 |
+
|
1499 |
+
<div id="custom-btn-group" class="clear">
|
1500 |
+
<label>
|
1501 |
+
<?php echo '<input id="custom-btn" class="radio" name="'.$this->option_name.'[button_type]" type="radio" value="custom-button" '.$this->checked( 'button_type', 'custom-button', false ).'/>'; ?>
|
1502 |
+
<?php _e( "Custom Button", $this->hook ); ?>
|
1503 |
+
</label>
|
1504 |
+
|
1505 |
+
<div id="custom-img" style="float: left;">
|
1506 |
+
<h2><?php _e( 'Image', $this->hook ); ?></h2><br>
|
1507 |
+
<?php $this->radio_custom_image('https://cdn.printfriendly.com/icons/printfriendly-icon-sm.png'); ?>
|
1508 |
+
<?php $this->radio_custom_image('https://cdn.printfriendly.com/icons/printfriendly-icon-md.png'); ?>
|
1509 |
+
<?php $this->radio_custom_image('https://cdn.printfriendly.com/icons/printfriendly-icon-lg.png'); ?>
|
1510 |
+
|
1511 |
+
<label class="radio-custom-btn">
|
1512 |
+
<input id="custom-image-rb" type="radio" name="<?php echo $this->option_name ?>[custom_button_icon]" value="custom-image" <?php $this->checked( 'custom_button_icon', 'custom-image'); ?>>
|
1513 |
+
<b><?php _e( 'Use Your Image', $this->hook ); ?></b>
|
1514 |
+
<div id="enter-image-url" style="margin: 10px 0 0 30px">
|
1515 |
+
<?php _e( 'Enter Image URL', $this->hook ); ?><br>
|
1516 |
+
<input id="custom_image" type="text" class="clear regular-text" name="<?php echo $this->option_name; ?>[custom_image]" value="<?php $this->val( 'custom_image' ); ?>" />
|
1517 |
+
<div id="pf-custom-button-error"></div>
|
1518 |
+
<div class="description"><?php _e( "Ex: https://www.example.com/<br>Ex: /wp/wp-content/uploads/example.png", $this->hook ); ?>
|
1519 |
+
</div>
|
1520 |
+
</div>
|
1521 |
+
</label>
|
1522 |
+
|
1523 |
+
<label class="radio-custom-btn">
|
1524 |
+
<input type="radio" name="<?php echo $this->option_name ?>[custom_button_icon]" value="no-image" <?php $this->checked( 'custom_button_icon', 'no-image'); ?>>
|
1525 |
+
<b><?php _e( 'No Image', $this->hook ); ?></b>
|
1526 |
+
</label>
|
1527 |
+
</div>
|
1528 |
+
|
1529 |
+
<div id="custom-txt" style="float: left;">
|
1530 |
+
<h2><?php _e( 'Text', $this->hook ); ?></h2>
|
1531 |
+
<div id="txt-enter">
|
1532 |
+
<label>
|
1533 |
+
<input id="custom-text-rb" type="radio" name="<?php echo $this->option_name; ?>[custom_button_text]" value="custom-text" <?php $this->checked( 'custom_button_text', 'custom-text'); ?>>
|
1534 |
+
<input type="text" size="10" class="clear regular-text" name="<?php echo $this->option_name; ?>[custom_text]" id="custom_text" value="<?php $this->val( 'custom_text' ); ?>">
|
1535 |
+
</label>
|
1536 |
+
<label>
|
1537 |
+
<input type="radio" name="<?php echo $this->option_name; ?>[custom_button_text]" value="no-text" <?php $this->checked( 'custom_button_text', 'no-text'); ?>>
|
1538 |
+
<b><?php _e( 'No Text', $this->hook ); ?></b>
|
1539 |
+
</label>
|
1540 |
+
</div>
|
1541 |
+
<div>
|
1542 |
+
<div id="txt-color">
|
1543 |
+
<?php _e( "Text Color", $this->hook ); ?>
|
1544 |
+
<input type="hidden" name="<?php echo $this->option_name; ?>[text_color]" id="text_color" value="<?php $this->val( 'text_color' ); ?>"/><br>
|
1545 |
+
<div id="colorSelector">
|
1546 |
+
<div style="background-color: <?php echo $this->options['text_color']; ?>;"></div>
|
1547 |
+
</div>
|
1548 |
+
</div>
|
1549 |
+
<div id="txt-size">
|
1550 |
+
<?php _e( "Text Size", $this->hook ); ?><br>
|
1551 |
+
<input type="number" id="text_size" min="9" max="25" class="small-text" name="<?php echo $this->option_name; ?>[text_size]" value="<?php $this->val( 'text_size' ); ?>"/>
|
1552 |
+
</div>
|
1553 |
+
</div>
|
1554 |
+
</div>
|
1555 |
+
|
1556 |
+
<div id="custom-button-preview" style="float: left;">
|
1557 |
+
<h2><?php _e( 'Preview', $this->hook ); ?></h2>
|
1558 |
+
<?php $this->custom_button_preview(); ?>
|
1559 |
+
</div>
|
1560 |
+
</div>
|
1561 |
+
</fieldset>
|
1562 |
+
<br class="clear">
|
1563 |
+
|
1564 |
+
<!--Section 2 Button Positioning-->
|
1565 |
+
<div id="button-positioning">
|
1566 |
+
<h3><?php _e( "Button Positioning", $this->hook ); ?>
|
1567 |
+
<span id="css"><input type="checkbox" name="<?php echo $this->option_name; ?>[enable_css]" value="<?php $this->val('enable_css');?>" <?php $this->checked('enable_css', 'off'); ?> /><?php _e('Do not use CSS for button styles'); ?></span>
|
1568 |
+
</h3>
|
1569 |
+
<div id="button-positioning-options">
|
1570 |
+
<div id="alignment">
|
1571 |
+
<label<?php /*for="pf_content_position"*/ ?>>
|
1572 |
+
<select id="pf_content_position" name="<?php echo $this->option_name; ?>[content_position]" >
|
1573 |
+
<option value="left" <?php selected( $this->options['content_position'], 'left' ); ?>><?php _e( "Left Align", $this->hook ); ?></option>
|
1574 |
+
<option value="right" <?php selected( $this->options['content_position'], 'right' ); ?>><?php _e( "Right Align", $this->hook ); ?></option>
|
1575 |
+
<option value="center" <?php selected( $this->options['content_position'], 'center' ); ?>><?php _e( "Center", $this->hook ); ?></option>
|
1576 |
+
<option value="none" <?php selected( $this->options['content_position'], 'none' ); ?>><?php _e( "None", $this->hook ); ?></option>
|
1577 |
+
</select>
|
1578 |
+
</label>
|
1579 |
+
</div>
|
1580 |
+
<div class="content_placement">
|
1581 |
+
<label<?php /* for="pf_content_placement"*/ ?>>
|
1582 |
+
<select id="pf_content_placement" name="<?php echo $this->option_name; ?>[content_placement]" >
|
1583 |
+
<option value="before" <?php selected( $this->options['content_placement'], 'before' ); ?>><?php _e( "Above Content", $this->hook ); ?></option>
|
1584 |
+
<option value="after" <?php selected( $this->options['content_placement'], 'after' ); ?>><?php _e( "Below Content", $this->hook ); ?></option>
|
1585 |
+
</select>
|
1586 |
+
</label>
|
1587 |
+
</div>
|
1588 |
+
<div id="margin">
|
1589 |
+
<label for="pf-margin_left">
|
1590 |
+
<input type="number" name="<?php echo $this->option_name; ?>[margin_left]" id="pf-margin_left" value="<?php $this->val( 'margin_left' ); ?>" maxlength="3"/>
|
1591 |
+
<?php _e( "Margin Left", $this->hook ); ?>
|
1592 |
+
</label>
|
1593 |
+
<label for="pf-margin_right">
|
1594 |
+
<input type="number" name="<?php echo $this->option_name; ?>[margin_right]" id="pf-margin_right" value="<?php $this->val( 'margin_right' ); ?>"/> <?php _e( "Margin Right", $this->hook ); ?>
|
1595 |
+
</label>
|
1596 |
+
<label for="pf-margin_top">
|
1597 |
+
<input type="number" name="<?php echo $this->option_name; ?>[margin_top]" id="pf-margin_top" value="<?php $this->val( 'margin_top' ); ?>" maxlength="3"/> <?php _e( "Margin Top", $this->hook ); ?>
|
1598 |
+
</label>
|
1599 |
+
<label for="pf-margin_bottom">
|
1600 |
+
<input type="number" name="<?php echo $this->option_name; ?>[margin_bottom]" id="pf-margin_bottom" value="<?php $this->val( 'margin_bottom' ); ?>" maxlength="3"/> <?php _e( "Margin Bottom", $this->hook ); ?>
|
1601 |
+
</label>
|
1602 |
+
</div>
|
1603 |
+
</div>
|
1604 |
+
</div>
|
1605 |
+
<br class="clear">
|
1606 |
+
|
1607 |
+
<!--Section 3 Button Placement-->
|
1608 |
+
<div id="button-placement">
|
1609 |
+
<h3><?php _e( "Display button on:", $this->hook ); ?></h3>
|
1610 |
+
<div id="pages">
|
1611 |
+
<?php $this->create_checkbox('posts', __( 'Posts', $this->hook )); ?>
|
1612 |
+
<?php $this->create_checkbox('pages', __( 'Pages', $this->hook )); ?>
|
1613 |
+
<?php $this->create_checkbox('homepage', __( 'Homepage', $this->hook )); ?>
|
1614 |
+
<?php $this->create_checkbox('categories', __( 'Category Pages', $this->hook )); ?>
|
1615 |
+
<?php $this->create_checkbox('taxonomies', __( 'Taxonomy Pages', $this->hook )); ?>
|
1616 |
+
<label for="show_on_template"><input type="checkbox" class="show_template" name="show_on_template" id="show_on_template" /><?php echo _e( 'Add direct to template', $this->hook ); ?></label>
|
1617 |
+
<textarea id="pf-shortcode" class="code" rows="2" cols="40"><?php if(function_exists('pf_show_link')){echo pf_show_link();} ?></textarea>
|
1618 |
+
<label<?php /* for="pf-shortcode2"*/ ?>><?php _e( "or use shortcode inside your page/article", $this->hook ); ?></label>
|
1619 |
+
<textarea<?php /* id="pf-shortcode2"*/ ?> class="code" rows="2" cols="40">[printfriendly]</textarea>
|
1620 |
+
<?php /* <input type="hidden" name="<? php echo $this->option_name; ?>[category_ids]" id="category_ids" value="<?php echo implode(',', $this->options['category_ids']); ? >" /> */ ?>
|
1621 |
+
</div>
|
1622 |
+
</div>
|
1623 |
+
<?php /*if($this->wp_version_gt30()) { ? >
|
1624 |
+
<div id="pf-categories">
|
1625 |
+
<h4><?php printf( __( '<a %s>Additional filter</a>', $this->hook), ' href="javascript:void(0)" id="toggle-categories"' ); ?></h4>
|
1626 |
+
<div id="pf-categories-metabox">
|
1627 |
+
<?php $this->create_category_metabox(); ?>
|
1628 |
+
</div>
|
1629 |
+
</div>
|
1630 |
+
<? php } */ ?>
|
1631 |
+
|
1632 |
+
<br class="clear">
|
1633 |
+
|
1634 |
+
<!--Section 4 Button Print Options-->
|
1635 |
+
<div id="print-options">
|
1636 |
+
<h3><?php _e( "Print PDF Options", $this->hook ); ?></h3>
|
1637 |
+
<label id="pf-favicon" for="favicon"<?php /*for="pf-logo"*/ ?>>
|
1638 |
+
<?php _e( "Page header", $this->hook ); ?>
|
1639 |
+
<select id="pf-logo" name="<?php echo $this->option_name; ?>[logo]" >
|
1640 |
+
<option value="favicon" <?php selected( $this->options['logo'], 'favicon' ); ?>><?php _e( "My Website Icon", $this->hook ); ?></option>
|
1641 |
+
<option value="upload-an-image" <?php selected( $this->options['logo'], 'upload-an-image' ); ?>><?php _e( "Upload an Image", $this->hook ); ?></option>
|
1642 |
+
</select>
|
1643 |
+
</label>
|
1644 |
+
<?php /* <div class="custom-logo">
|
1645 |
+
<label for="upload-an-image"><?php _e( "Enter url", $this->hook ); ?></label><input id="upload-an-image" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[image_url]" value="<?php $this->val( 'image_url' ); ?>" />
|
1646 |
+
<label for="image-tagline"><?php _e( "Text (optional)", $this->hook ); ?></label><input id="image-tagline" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[tagline]" value="<?php $this->val( 'tagline' ); ?>" />
|
1647 |
+
</div> */ ?>
|
1648 |
+
<div class="custom-logo"><label for="Enter_URL"><?php _e( "Enter url", $this->hook ); ?></label><input id="upload-an-image" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[image_url]" value="<?php $this->val( 'image_url' ); ?>" /><label for="Text__optional_"><?php _e( "Text (optional)", $this->hook ); ?></label><input id="image-tagline" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[tagline]" value="<?php $this->val( 'tagline' ); ?>" /></div>
|
1649 |
+
<div id="pf-image-error"></div>
|
1650 |
+
<div id="pf-image-preview"></div>
|
1651 |
+
<label for="click_to_delete">
|
1652 |
+
<?php _e( "Click-to-delete", $this->hook ); ?>
|
1653 |
+
<select name="<?php echo $this->option_name; ?>[click_to_delete]" id="click-to-delete">
|
1654 |
+
<option value="0" <?php selected( $this->options['click_to_delete'], '0' ); ?>><?php _e( "Allow", $this->hook ); ?></option>
|
1655 |
+
<option value="1" <?php selected( $this->options['click_to_delete'], '1' ); ?>><?php _e( "Not Allow", $this->hook ); ?></option>
|
1656 |
+
</select>
|
1657 |
+
</label>
|
1658 |
+
<label for="images-size">
|
1659 |
+
<?php _e( "Images", $this->hook ); ?>
|
1660 |
+
<select name="<?php echo $this->option_name; ?>[images-size]" id="images-size">
|
1661 |
+
<option value="full-size" <?php selected( $this->options['images-size'], 'full-size' ); ?>><?php _e( "Full Size", $this->hook ); ?></option>
|
1662 |
+
<option value="large" <?php selected( $this->options['images-size'], 'large' ); ?>><?php _e( "Large", $this->hook ); ?></option>
|
1663 |
+
<option value="medium" <?php selected( $this->options['images-size'], 'medium' ); ?>><?php _e( "Medium", $this->hook ); ?></option>
|
1664 |
+
<option value="small" <?php selected( $this->options['images-size'], 'small' ); ?>><?php _e( "Small", $this->hook ); ?></option>
|
1665 |
+
<option value="remove-images" <?php selected( $this->options['images-size'], 'remove-images' ); ?>><?php _e( "Remove Images", $this->hook ); ?></option>
|
1666 |
+
</select>
|
1667 |
+
</label>
|
1668 |
+
<label for="image-style">
|
1669 |
+
<?php _e( "Image style", $this->hook ); ?>
|
1670 |
+
<select name="<?php echo $this->option_name; ?>[image-style]" id="image-style">
|
1671 |
+
<option value="right" <?php selected( $this->options['image-style'], 'right' ); ?>><?php _e( "Align Right", $this->hook ); ?></option>
|
1672 |
+
<option value="left" <?php selected( $this->options['image-style'], 'left' ); ?>><?php _e( "Align Left", $this->hook ); ?></option>
|
1673 |
+
<option value="none" <?php selected( $this->options['image-style'], 'none' ); ?>><?php _e( "Align None", $this->hook ); ?></option>
|
1674 |
+
<option value="block" <?php selected( $this->options['image-style'], 'block' ); ?>><?php _e( "Center/Block", $this->hook ); ?></option>
|
1675 |
+
</select>
|
1676 |
+
</label>
|
1677 |
+
<label for="email">
|
1678 |
+
<?php _e( "Email", $this->hook ); ?>
|
1679 |
+
<select name="<?php echo $this->option_name; ?>[email]" id="email">
|
1680 |
+
<option value="0" <?php selected( $this->options['email'], '0' ); ?>><?php _e( "Allow", $this->hook ); ?></option>
|
1681 |
+
<option value="1" <?php selected( $this->options['email'], '1' ); ?>><?php _e( "Not Allow", $this->hook ); ?></option>
|
1682 |
+
</select>
|
1683 |
+
</label>
|
1684 |
+
<label for="pdf">
|
1685 |
+
<span class="alignleft"><?php _e( "PDF", $this->hook ); ?></span>
|
1686 |
+
<select name="<?php echo $this->option_name; ?>[pdf]" id="pdf" class="alignleft clear">
|
1687 |
+
<option value="0" <?php selected( $this->options['pdf'], '0' ); ?>><?php _e( "Allow", $this->hook ); ?></option>
|
1688 |
+
<option value="1" <?php selected( $this->options['pdf'], '1' ); ?>><?php _e( "Not Allow", $this->hook ); ?></option>
|
1689 |
+
</select>
|
1690 |
+
<p class="alignleft">
|
1691 |
+
<h4 class="alignleft notice"><abbr class="required"><?php _e( "Developer Note: ", $this->hook ); ?></abbr><?php _e( "On localhost the images can not be included in the PDF. Once the website is live/public images will be included in the PDF.", $this->hook ); ?></h4>
|
1692 |
+
</p>
|
1693 |
+
</label>
|
1694 |
+
<label for="print" class="clear">
|
1695 |
+
<?php _e( "Print", $this->hook ); ?>
|
1696 |
+
<select name="<?php echo $this->option_name; ?>[print]" id="print">
|
1697 |
+
<option value="0" <?php selected( $this->options['print'], '0' ); ?>><?php _e( "Allow", $this->hook ); ?></option>
|
1698 |
+
<option value="1" <?php selected( $this->options['print'], '1' ); ?>><?php _e( "Not Allow", $this->hook ); ?></option>
|
1699 |
+
</select>
|
1700 |
+
</label>
|
1701 |
+
<label for="custom_css_url">
|
1702 |
+
<?php _e( "Custom css url", $this->hook ); ?>
|
1703 |
+
<input id="custom_css_url" type="text" class="regular-text" name="<?php echo $this->option_name; ?>[custom_css_url]" value="<?php $this->val( 'custom_css_url' ); ?>" />
|
1704 |
+
<span class="description pf-help-link"><a target="_howto" href="https://support.printfriendly.com/customer/portal/articles/895256-custom-css-styles"><?php _e( '?', $this->hook ); ?></a></span>
|
1705 |
+
</label>
|
1706 |
+
</div>
|
1707 |
+
|
1708 |
+
<!--Section 5 WebMaster-->
|
1709 |
+
<h3><?php _e( "Webmaster Settings", $this->hook ); ?></h3>
|
1710 |
+
|
1711 |
+
<label for="password_protected"><?php _e( 'Password Protected Content', $this->hook ); ?>
|
1712 |
+
<select id="password_protected" name="<?php echo $this->option_name; ?>[password_protected]">
|
1713 |
+
<option value="no" <?php selected( $this->options['password_protected'], 'no' ); ?>><?php _e( "No", $this->hook ); ?></option>
|
1714 |
+
<option value="yes" <?php selected( $this->options['password_protected'], 'yes' ); ?>><?php _e( "Yes", $this->hook ); ?></option>
|
1715 |
+
</select>
|
1716 |
+
</label>
|
1717 |
+
<label for="javascript"><?php _e( 'Use JavaScript', $this->hook ); ?><br>
|
1718 |
+
<select id="javascript" name="<?php echo $this->option_name; ?>[javascript]>">
|
1719 |
+
<option value="yes" <?php $this->selected( 'javascript', 'yes' ); ?>> <?php _e( "Yes", $this->hook ); ?></option>
|
1720 |
+
<option value="no" <?php $this->selected( 'javascript', 'no' ); ?>> <?php _e( "No", $this->hook ); ?></option>
|
1721 |
+
</select>
|
1722 |
+
<span class="description javascript no-italics">
|
1723 |
+
<?php _e( "Preview appears on the page in a Lightbox.", $this->hook ); ?>
|
1724 |
+
</span>
|
1725 |
+
<span class="description no-javascript no-italics">
|
1726 |
+
<?php _e( "Preview opens a new browser tab.", $this->hook ); ?>
|
1727 |
+
</span>
|
1728 |
+
</label>
|
1729 |
+
<label for="pf-analytics-tracking"><?php _e( 'Track in Google Analytics', $this->hook ); ?><br>
|
1730 |
+
<select id="pf-analytics-tracking" name="<?php echo $this->option_name; ?>[enable_google_analytics]">
|
1731 |
+
<option value="yes" <?php $this->selected( 'enable_google_analytics', 'yes' ); ?>> <?php _e( "Yes", $this->hook ); ?></option>
|
1732 |
+
<option value="no" <?php $this->selected( 'enable_google_analytics', 'no' ); ?>> <?php _e( "No", $this->hook ); ?></option>
|
1733 |
+
</select>
|
1734 |
+
</label>
|
1735 |
+
<label for="pf-error-reporting"><?php _e( 'Error Reporting', $this->hook ); ?>
|
1736 |
+
<span class="description no-italics" ><?php _e( 'Ensure PrintFriendly is working - Automatically send anonymous alert if PrintFriendly encounters an error.', $this->hook ); ?>
|
1737 |
+
<br>
|
1738 |
+
<select id="pf-error-reporting" name="<?php echo $this->option_name; ?>[enable_error_reporting]">
|
1739 |
+
<option value="yes" <?php $this->selected( 'enable_error_reporting', 'yes' ); ?>> <?php _e( "Yes", $this->hook ); ?></option>
|
1740 |
+
<option value="no" <?php $this->selected( 'enable_error_reporting', 'no' ); ?>> <?php _e( "No", $this->hook ); ?></option>
|
1741 |
+
</select>
|
1742 |
+
</label>
|
1743 |
+
<label for="pf-algo-usage"><?php _e( 'My Page Content Selected By:', $this->hook ); ?> <span class="description no-italics" ><?php _e( 'Change this setting if your content is not showing in the preview.', $this->hook ); ?></span><br>
|
1744 |
+
|
1745 |
+
<?php
|
1746 |
+
if (class_exists('WooCommerce')) {
|
1747 |
+
?>
|
1748 |
+
<span><strong><?php _e( "Not available for woocommerce", $this->hook ); ?></strong></span>
|
1749 |
+
<?php
|
1750 |
+
} else {
|
1751 |
+
?>
|
1752 |
+
<select id="pf-algo-usage" name="<?php echo $this->option_name; ?>[pf_algo]">
|
1753 |
+
<option value="wp" <?php $this->selected( 'pf_algo', 'wp' ); ?>> <?php _e( 'WP Template', $this->hook ); ?></option>
|
1754 |
+
<option value="pf" <?php $this->selected( 'pf_algo', 'pf' ); ?>> <?php _e( "Content Algorithm", $this->hook ); ?></option>
|
1755 |
+
</select>
|
1756 |
+
<?php
|
1757 |
+
}
|
1758 |
+
?>
|
1759 |
+
|
1760 |
+
</label>
|
1761 |
+
|
1762 |
+
<p class="submit">
|
1763 |
+
<input type="submit" class="button-primary" value="<?php esc_attr_e( "Save Options", $this->hook ); ?>"/>
|
1764 |
+
<input type="reset" class="button-secondary" value="<?php esc_attr_e( "Cancel", $this->hook ); ?>"/>
|
1765 |
+
</p>
|
1766 |
+
<div id="after-submit">
|
1767 |
+
<p>
|
1768 |
+
<?php _e( sprintf( __( 'If you like <strong>PrintFriendly</strong> please leave us a %s rating. A huge thanks in advance!', 'printfriendly' ), '<a href="https://wordpress.org/support/plugin/printfriendly/reviews?rate=5#new-post" target="_blank">★★★★★</a>' ), $this->hook ); ?>
|
1769 |
+
</p>
|
1770 |
+
<p><?php _e( "Need professional options for your corporate, education, or agency developed website? Check out", $this->hook ); ?> <a href="https://www.printfriendly.com/button/pro?utm_source=wp&utm_medium=link&utm_campaign=wp-link" target="_blank">PrintFriendly Pro</a>.</p>
|
1771 |
+
<p>
|
1772 |
+
<?php _e( "Need help or have suggestions?", $this->hook ); ?> <a href="mailto:support@printfriendly.com?subject=Support%20for%20PrintFriendly%20WordPress%20plugin">support@PrintFriendly.com</a>
|
1773 |
+
</p>
|
1774 |
+
</div>
|
1775 |
+
</form>
|
1776 |
+
<?php
|
1777 |
+
}
|
1778 |
+
}
|
1779 |
+
$printfriendly = new PrintFriendly_WordPress();
|
1780 |
+
}
|
1781 |
+
|
1782 |
+
// Add shortcode for printfriendly button
|
1783 |
+
add_shortcode( 'printfriendly', 'pf_show_link' );
|
1784 |
+
|
1785 |
+
/**
|
1786 |
+
* Convenience function for use in templates.
|
1787 |
+
*
|
1788 |
+
* @since 3.0
|
1789 |
+
* @return string returns a button to be printed.
|
1790 |
+
*/
|
1791 |
+
function pf_show_link() {
|
1792 |
+
global $printfriendly;
|
1793 |
+
return $printfriendly->getButton(true);
|
1794 |
+
}
|
trunk/readme.txt
ADDED
@@ -0,0 +1,464 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== Print, PDF, Email by PrintFriendly ===
|
2 |
+
Contributors: printfriendly,joostdevalk, jrf
|
3 |
+
Tags: print, pdf, email, print button, wp-print, print recipe, print post, print page, print widget, print plugin, printable, wp-pdf, pdf post, pdf page, pdf button, pdf widget, pdf plugin, woocommerce print, woocommerce pdf
|
4 |
+
Requires at least: 2.8
|
5 |
+
Tested up to: 4.9
|
6 |
+
Stable tag: 3.13.0
|
7 |
+
|
8 |
+
|
9 |
+
The #1 Print, PDF, Email button. Stylish, full featured, customizable. Add custom header, footer, and more.
|
10 |
+
|
11 |
+
== Description ==
|
12 |
+
|
13 |
+
**Benefits For Publishers**
|
14 |
+
|
15 |
+
* Professional: highly polished, stable, and supported.
|
16 |
+
* Stylish lightbox (no annoying new tabs or window).
|
17 |
+
* Ultimate, Print, PDF, Email experience for your users.
|
18 |
+
* Works on HTTP, HTTPS, and password protected sites.
|
19 |
+
* Help people save money and the environment.
|
20 |
+
* Full featured and free (ad supported) or [Pro Service](https://www.printfriendly.com/button/pro).
|
21 |
+
|
22 |
+
**Benefits for End-Users**
|
23 |
+
|
24 |
+
* Save paper and ink when you print
|
25 |
+
* Change the text and image size
|
26 |
+
* Edit the page by clicking to remove text or images before print or PDF. (Optional feature publishers can choose.)
|
27 |
+
* PDF with clickable links
|
28 |
+
* Custom paper sizes (A4 or Letter) for PDF
|
29 |
+
|
30 |
+
**Customization**
|
31 |
+
|
32 |
+
* Print, PDF, Email, options can be on or off.
|
33 |
+
* Custom headers and footers for the print and PDF.
|
34 |
+
* Button styles to choose, or use your own text and image/button.
|
35 |
+
* [Include a copyright](https://support.printfriendly.com/button/developer-questions/include-copyright/) on print and PDF.
|
36 |
+
* [Use your own CSS](https://support.printfriendly.com/button/wordpress/create-custom-css-file/) for complete creative control or the print or PDF page.
|
37 |
+
* Use the JavaScript or non-JavaScript option.
|
38 |
+
|
39 |
+
|
40 |
+
|
41 |
+
|
42 |
+
= Free - Ad Supported =
|
43 |
+
|
44 |
+
> This highly polished, professional plugin is free to use and fully functional. We maintain, improve, and offer support to all users. <br>
|
45 |
+
> You get all this for free, and in return tasteful ads are displayed in a non-interfering way. <br>
|
46 |
+
> Ads are only shown in the print/pdf/email confirmation window. No other ads are displayed or embedded in the content, or snuck in anywhere else. <br>
|
47 |
+
> For example, [click here to see image](http://www.printfriendly.com/images/pf-free-ad-supported.gif)
|
48 |
+
|
49 |
+
|
50 |
+
= Purchase an Ad-Free Subscription =
|
51 |
+
|
52 |
+
> Get a quality product for reasonable price. Remove the ads by purchasing an ad-free subscription. It’s cheap, easy, and straightforward. <br>
|
53 |
+
> Purchase now at [PrintFriendly.com/pro](https://www.printfriendly.com/button/pro)
|
54 |
+
|
55 |
+
**Localized in 30 Languages**
|
56 |
+
|
57 |
+
PrintFriendly & PDF speaks your language! It detects (based on browser setting) the end-users language and automatically changes language. For example, if your browser is set to Spanish, then PrintFriendly will use Spanish.
|
58 |
+
|
59 |
+
A few of our supported languages:
|
60 |
+
|
61 |
+
* Danish
|
62 |
+
* German
|
63 |
+
* English
|
64 |
+
* Spanish
|
65 |
+
* Estonian
|
66 |
+
* French
|
67 |
+
* Hebrew
|
68 |
+
* Croatian
|
69 |
+
* Hungarian
|
70 |
+
* Italian
|
71 |
+
* Korean
|
72 |
+
* Lithuanian
|
73 |
+
* Dutch/Netherlands
|
74 |
+
* Polish
|
75 |
+
* Portuguese
|
76 |
+
* Slovak
|
77 |
+
* Slovenian
|
78 |
+
* Serbian
|
79 |
+
* Swedish
|
80 |
+
* Thailand
|
81 |
+
* Turkish
|
82 |
+
* Chinese Simplified
|
83 |
+
* Chinese Traditional
|
84 |
+
|
85 |
+
PrintFriendly and PDF is the #1 print optimization technology, **as featured in [Lifehacker](http://lifehacker.com/5272212/print-friendly-optimizes-web-pages-for-printing "PrintFriendly & PDF in Lifehacker"), [Mashable](http://mashable.com/2009/05/18/print-friendly/ "PrintFriendly & PDF in Mashable") & [makeuseof](http://www.makeuseof.com/dir/printfriendly-save-on-paper-and-ink/#comment-95052)**.
|
86 |
+
|
87 |
+
**Give PrintFriendly & PDF a test drive at [PrintFriendly.com](http://www.printfriendly.com "PrintFriendly & PDF")**
|
88 |
+
|
89 |
+
|
90 |
+
= Print, PDF, Email Privacy & Data =
|
91 |
+
|
92 |
+
PDFs are generated on our server; **this plugin “phones home”**. Also if the end-user shares the page via email, the email is sent by our server.
|
93 |
+
|
94 |
+
Our Fundamental Principles:
|
95 |
+
|
96 |
+
* **We do not sell data.** Period.
|
97 |
+
* **We do not share data,** unless compelled by the law.
|
98 |
+
* **We do not ask for personal information,** unless it's needed to provide a service.
|
99 |
+
* **We don’t store personal information,** unless required for the on-going operation of service.
|
100 |
+
|
101 |
+
Specifically, here’s what we do with the data and information:
|
102 |
+
|
103 |
+
**Page content is not sent or stored on server,** except to generate the PDF. After the PDF is generated, we temporarily store the PDF to allow the end-user time to download. After this time has expired, the PDF is permanently deleted.
|
104 |
+
|
105 |
+
If you’re using the non-JavaScript option in the plugin, then the preview is generated on our server and temporarily stored in cache for a few minutes. After that time it is permanently deleted.
|
106 |
+
|
107 |
+
**Email Address & Content get permanently deleted** In order to send the email, we need to store the email address and message on our server. After the email has been sent and found not to be a spammer, the email address is permanently deleted.
|
108 |
+
|
109 |
+
**Server log files get created and deleted.** Browsers and Servers pass non-personally-identifying information, such as the browser type, language, referrer, and the date/time. We may use this data to analyze how the service is being used. Non-personally-identifying aggregate data may get published, e.g., by a report on trends in the usage of the service.
|
110 |
+
|
111 |
+
== Installation ==
|
112 |
+
|
113 |
+
1. Search for PrintFriendly in your WordPress backend and click install, or download the printfriendly.zip file and unzip it.
|
114 |
+
2. If you downloaded the zip, upload the printfriendly folder into wp-content/plugins folder
|
115 |
+
3. Activate the plugin in your WordPress Admin area.
|
116 |
+
4. Select "Settings" to customize button style and placement.
|
117 |
+
|
118 |
+
== Frequently Asked Questions ==
|
119 |
+
= Print Friendly & PDF Official Support=
|
120 |
+
[How to articles and support](https://support.printfriendly.com) for Print, PDF, and Email button by PrintFriendly
|
121 |
+
|
122 |
+
= Content Not Showing =
|
123 |
+
Use [PrintFriendly & PDF custom class names](https://support.printfriendly.com/button/developer-questions/include-exclude-content/) to include/exclude content.
|
124 |
+
|
125 |
+
= How to add custom header to Print and PDF =
|
126 |
+
Use the option in the Plugin settings. [See how](https://support.printfriendly.com/button/wordpress/custom-header-wp/)
|
127 |
+
|
128 |
+
= Hide the button on a specific page=
|
129 |
+
You can [hide the Print, PDF, and Email button](https://support.printfriendly.com/button/wordpress/hide-button/) using CSS.
|
130 |
+
|
131 |
+
|
132 |
+
|
133 |
+
== Screenshots ==
|
134 |
+
|
135 |
+
1. Lightbox design keeps users on your page.
|
136 |
+
2. More sharing tools, Print, PDF, Email. Plus editing tools!
|
137 |
+
3. Fully customizable: Choose your print button, text link, or use your own text or graphic.
|
138 |
+
4. Print Friendly & PDF speaks your language! Localized in over 30 languages.
|
139 |
+
|
140 |
+
|
141 |
+
== Changelog ==
|
142 |
+
|
143 |
+
= 3.13.0 =
|
144 |
+
* Add Notification alerting websites using Password Protection or JavaScript to display content they need to upgrade to PrintFriendly Pro
|
145 |
+
|
146 |
+
= 3.12.5 =
|
147 |
+
* Chanage link in settings page
|
148 |
+
|
149 |
+
= 3.12.4 =
|
150 |
+
* Bug fix, avoid "undefined variable: return"
|
151 |
+
|
152 |
+
= 3.12.3 =
|
153 |
+
* Bug fix, sometimes custom image didn't display correctly after upgrade
|
154 |
+
|
155 |
+
= 3.12.2 =
|
156 |
+
* Add title to Printfriendly button and change button image alt
|
157 |
+
|
158 |
+
= 3.12.1 =
|
159 |
+
* Fix translations
|
160 |
+
|
161 |
+
= 3.12.0 =
|
162 |
+
* Update custom button UI
|
163 |
+
|
164 |
+
= 3.11.2 =
|
165 |
+
* Fix button upgrade for pf-icon-both.gif
|
166 |
+
|
167 |
+
= 3.11.1 =
|
168 |
+
* Bug fix
|
169 |
+
|
170 |
+
= 3.11.0 =
|
171 |
+
* Update buttons
|
172 |
+
|
173 |
+
= 3.10.0 =
|
174 |
+
* Change "leave us a rating" message.
|
175 |
+
|
176 |
+
= 3.9.2 =
|
177 |
+
* Correctly handle spaces in print-only detection
|
178 |
+
|
179 |
+
= 3.9.1 =
|
180 |
+
* Better print-only detection
|
181 |
+
|
182 |
+
= 3.9.0 =
|
183 |
+
* Add new button
|
184 |
+
|
185 |
+
= 3.8.8 =
|
186 |
+
* Bug fix.
|
187 |
+
|
188 |
+
= 3.8.7 =
|
189 |
+
* Bug fix.
|
190 |
+
|
191 |
+
= 3.8.6 =
|
192 |
+
* Allow default image setting to be small medium or large.
|
193 |
+
|
194 |
+
= 3.8.5 =
|
195 |
+
* Bug fix.
|
196 |
+
|
197 |
+
= 3.8.4 =
|
198 |
+
* Bug fix.
|
199 |
+
|
200 |
+
= 3.8.1 =
|
201 |
+
* Improve automatic error reporting.
|
202 |
+
|
203 |
+
= 3.8.0 =
|
204 |
+
* Add automatic error reporting.
|
205 |
+
|
206 |
+
= 3.7.6 =
|
207 |
+
* WooCommerce support improvments: remove upsells from print preview.
|
208 |
+
|
209 |
+
= 3.7.5 =
|
210 |
+
* WooCommerce support improvments: fix DOMDocument.loadHTML warnings.
|
211 |
+
|
212 |
+
= 3.7.4 =
|
213 |
+
* Added CSS Relative Position and Z-Index to button to avoid content covering the button.
|
214 |
+
|
215 |
+
= 3.7.3 =
|
216 |
+
* Always use https
|
217 |
+
|
218 |
+
= 3.7.2 =
|
219 |
+
* Use schema less URLs for loading icons
|
220 |
+
|
221 |
+
= 3.7.1 =
|
222 |
+
* Use www.printfriendly.com instead of app.printfriendly.com for redirects
|
223 |
+
|
224 |
+
= 3.7.0 =
|
225 |
+
* Remove http/https option, use current schema
|
226 |
+
|
227 |
+
= 3.6.0 =
|
228 |
+
* Allow custom HTML in Custom Button Text
|
229 |
+
|
230 |
+
= 3.5.4 =
|
231 |
+
* WooCommerce 'Content Algorithm' fix
|
232 |
+
|
233 |
+
= 3.5.3 =
|
234 |
+
* Fix security issues
|
235 |
+
|
236 |
+
= 3.5.2 =
|
237 |
+
* Fix code to support PHP 5.2
|
238 |
+
|
239 |
+
= 3.5.0 =
|
240 |
+
* WooCommerce product page improvements. Better support for product images, price, and description.
|
241 |
+
|
242 |
+
= 3.4.9 =
|
243 |
+
* Fix minor security issue
|
244 |
+
|
245 |
+
= 3.4.8 =
|
246 |
+
* Fix button images style
|
247 |
+
|
248 |
+
= 3.4.7 =
|
249 |
+
* Fix button style to remove underline
|
250 |
+
|
251 |
+
= 3.4.6 =
|
252 |
+
* Always removed PrintFriendly button underline regardless plugin CSS for button styles option
|
253 |
+
|
254 |
+
= 3.4.4 =
|
255 |
+
* Removed page content selection option - Wordpress Standard/Strict
|
256 |
+
|
257 |
+
= 3.4.2 =
|
258 |
+
* Fixed the issue occured due to new changes made in the page content selection options
|
259 |
+
|
260 |
+
= 3.4.1 =
|
261 |
+
* Improved page content selection options
|
262 |
+
|
263 |
+
= 3.4.0 =
|
264 |
+
* Fixed the admin javascript error and increased plugin text boxes size
|
265 |
+
* Enabled Print Friendly button href to www.printfriendly.com only when the plugin JavaScript option is enabled
|
266 |
+
* Made some plugin text translation ready
|
267 |
+
|
268 |
+
= 3.3.10 =
|
269 |
+
* Implemented both Classic Google Analytics and Google Universal Analytics code
|
270 |
+
* Fixed WP Slimstat conflict
|
271 |
+
|
272 |
+
= 3.3.9 =
|
273 |
+
* Removed the functionality that opens new window when JavaScript is disabled
|
274 |
+
|
275 |
+
= 3.3.8 =
|
276 |
+
* Shortcode bug fix
|
277 |
+
* Urlencoded button href to produce valid html
|
278 |
+
|
279 |
+
= 3.3.7 =
|
280 |
+
* Readme.txt update
|
281 |
+
|
282 |
+
= 3.3.6 =
|
283 |
+
* Fixed JS optimization Bug
|
284 |
+
|
285 |
+
= 3.3.5 =
|
286 |
+
* Wordpress 3.8 support
|
287 |
+
|
288 |
+
= 3.3.4 =
|
289 |
+
* Provided Algorithm Options
|
290 |
+
|
291 |
+
= 3.3.3 =
|
292 |
+
* Using WP content hook for all Buttons
|
293 |
+
|
294 |
+
= 3.3.2=
|
295 |
+
* Algorithm Update
|
296 |
+
|
297 |
+
= 3.3.1 =
|
298 |
+
* SSL Support bug fixes.
|
299 |
+
|
300 |
+
= 3.3.0 =
|
301 |
+
|
302 |
+
* Optimized JavaScript, reducing the file size by 65%!
|
303 |
+
* Better syncing between client-side/server-side content detection algorithm. This will make improvements to content detection easier than ever.
|
304 |
+
* Support for international language sub-regions, for example PT-BR vs. PT (Portuguese-Brazil vs. Portuguese for Portugal)
|
305 |
+
* Support for Wordpress - 3.6 .
|
306 |
+
* Printfriendly custom commands support.
|
307 |
+
|
308 |
+
= 3.2.10 =
|
309 |
+
* Fixed Bug in Google Analytics generation
|
310 |
+
|
311 |
+
= 3.2.9 =
|
312 |
+
* Enabled support for Google Analytics
|
313 |
+
|
314 |
+
= 3.2.8 =
|
315 |
+
* Algorithm Update
|
316 |
+
|
317 |
+
= 3.2.7 =
|
318 |
+
* Removed Break tag from button code.
|
319 |
+
|
320 |
+
= 3.2.6 =
|
321 |
+
* Fixed Button behavior when displayed on Homepage for NON-JS version.
|
322 |
+
* Fixed CSS issue with Button when placed above content.
|
323 |
+
* Fixed box-shadow issue with button.
|
324 |
+
* Custom print and pdf options now available for Non-JS version. Custom options include header, css, image alignment, etc..
|
325 |
+
* Fixed bug for custom tagline.
|
326 |
+
|
327 |
+
= 3.2.5 =
|
328 |
+
* Added hide images and image style options.
|
329 |
+
* Improved input validation.
|
330 |
+
* Improved output escaping.
|
331 |
+
* Removed printfriendly post_class.
|
332 |
+
* Small i8n fix.
|
333 |
+
* Few small HTML fixes.
|
334 |
+
|
335 |
+
= 3.2.4 =
|
336 |
+
* Add printfriendly post_class.
|
337 |
+
* Fixed minor JS bug.
|
338 |
+
* Added redundancy to uninstall script.
|
339 |
+
|
340 |
+
= 3.2.3 =
|
341 |
+
* Rolling back to version 3.2.1
|
342 |
+
|
343 |
+
= 3.2.2 =
|
344 |
+
|
345 |
+
* Add printfriendly post_class.
|
346 |
+
* Add printfriendly button display settings per individual category.
|
347 |
+
* Fixed minor JS bug.
|
348 |
+
* Added redundancy to uninstall script.
|
349 |
+
|
350 |
+
= 3.2.1 =
|
351 |
+
|
352 |
+
* Improve script loading.
|
353 |
+
|
354 |
+
= 3.2.0 =
|
355 |
+
|
356 |
+
* Important chrome issue fix. Ie syntax error fix.
|
357 |
+
|
358 |
+
= 3.1.9 =
|
359 |
+
|
360 |
+
* Minor css detail.
|
361 |
+
|
362 |
+
= 3.1.8 =
|
363 |
+
|
364 |
+
* Add printfriendly options to allow/not allow print, pdf, email from the Printfriendly and PDF dialog.
|
365 |
+
|
366 |
+
= 3.1.7 =
|
367 |
+
|
368 |
+
* Revert default print button show settings. Prevent easy override of print button text-decoration and border style properties.
|
369 |
+
|
370 |
+
= 3.1.6 =
|
371 |
+
|
372 |
+
* Adding PrintFriendly and PDF alignment style classes.
|
373 |
+
|
374 |
+
= 3.1.5 =
|
375 |
+
|
376 |
+
* Set button appearance in more flexible way. Remove styles that interfered with wordpress themes. Add shortcode for printfriendly button. Fix redirect to printfriendly.com link. Added custom css feature.
|
377 |
+
|
378 |
+
= 3.1.4 =
|
379 |
+
|
380 |
+
* Changed https url. Don't hide text change box when disabling css.
|
381 |
+
|
382 |
+
= 3.1.3 =
|
383 |
+
|
384 |
+
* Fixed bug with disable css option.
|
385 |
+
|
386 |
+
= 3.1.2 =
|
387 |
+
|
388 |
+
* Added disable css option to admin settings.
|
389 |
+
|
390 |
+
= 3.1.1 =
|
391 |
+
|
392 |
+
* Fixed admin js caching.
|
393 |
+
|
394 |
+
= 3.1.0 =
|
395 |
+
|
396 |
+
* Fixed admin css caching.
|
397 |
+
|
398 |
+
= 3.0.9 =
|
399 |
+
|
400 |
+
* New features: Custom header, disable click-to-delete, https support (beta), PrintFriendly Pro (ad-free).
|
401 |
+
|
402 |
+
= 3.0.8 =
|
403 |
+
|
404 |
+
* Reordered PrintFriendly & PDF buttons. CSS stylesheet option is now checked by default.
|
405 |
+
|
406 |
+
= 3.0.7 =
|
407 |
+
|
408 |
+
* Added additional images for print button.
|
409 |
+
|
410 |
+
= 3.0.6 =
|
411 |
+
|
412 |
+
* Fix bug that displays button on category pages when posts and pages is selected.
|
413 |
+
|
414 |
+
= 3.0.5 =
|
415 |
+
|
416 |
+
* PrintFriendly & PDF button will now display on category pages (archive pages), if "Homepage, Archives, Posts, and Pages" was selected in the Settings for PrintFriendly & PDF (button placement).
|
417 |
+
|
418 |
+
= 3.0.4 =
|
419 |
+
|
420 |
+
* Align-right and align-center support for themes that remove WordPress core css.
|
421 |
+
|
422 |
+
= 3.0.3 =
|
423 |
+
|
424 |
+
* Support for bad themes that alter template tags and prevent JavaScript from loading in footer.
|
425 |
+
|
426 |
+
= 3.0.2 =
|
427 |
+
|
428 |
+
* Fixed JS bug with Google Chrome not submitting and fixed input validation issues.
|
429 |
+
|
430 |
+
= 3.0.1 =
|
431 |
+
|
432 |
+
* Fixed minor JS bug.
|
433 |
+
|
434 |
+
= 3.0 =
|
435 |
+
|
436 |
+
* A complete overhaul of the plugin by renowned WordPress plugin developer <a href="http://yoast.com/">Joost de Valk</a>.
|
437 |
+
* Code Changes:
|
438 |
+
* Redone the admin page.
|
439 |
+
* Plugin is now fully i18n ready.
|
440 |
+
* Plugin now uses the settings API.
|
441 |
+
* CSS loading is now optional.
|
442 |
+
* JavaScript loading is now optional.
|
443 |
+
* Plugin now uses WordPress default align classes for outlining.
|
444 |
+
* Documentation changes:
|
445 |
+
* Added an FAQ.
|
446 |
+
* Added Screenshots.
|
447 |
+
|
448 |
+
= 2.1.8 =
|
449 |
+
|
450 |
+
* The Print Button was showing up on printed, or PDF, pages. Junk! Print or PDF button no longer displayed on printed out page or PDF.
|
451 |
+
|
452 |
+
= 2.1.7 =
|
453 |
+
|
454 |
+
* Changed print button from `<span>` to `<div>` to support floating the print and PDF button to right.
|
455 |
+
|
456 |
+
= 2.1.6 =
|
457 |
+
|
458 |
+
* Added rel="nofollow" to the print links to avoid search engines indexing the print pages.
|
459 |
+
* Changed print button from link `<a>` to `<span>`. Some tracking plugins added target_new/blank to link, therefore breaking print friendly.
|
460 |
+
|
461 |
+
= 2.1.5 =
|
462 |
+
|
463 |
+
* To avoid conflicts with Google Analytics widgets, changed link structure. No longer uses onclick to call PrintFriendly Javascript. Now the javascript is called in the href.
|
464 |
+
* Custom image support for hosted solutions
|
trunk/screenshot-1.png
ADDED
Binary file
|
trunk/screenshot-2.png
ADDED
Binary file
|
trunk/screenshot-3.png
ADDED
Binary file
|
trunk/screenshot-4.png
ADDED
Binary file
|
trunk/uninstall.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if( !defined( 'ABSPATH' ) && !defined( 'WP_UNINSTALL_PLUGIN' ) )
|
4 |
+
exit();
|
5 |
+
|
6 |
+
delete_option( 'printfriendly_option' );
|
7 |
+
|
8 |
+
// Make sure any old options which may still lurking about get deleted as well
|
9 |
+
delete_option( 'pf_button_type' );
|
10 |
+
delete_option( 'pf_custom_image' );
|
11 |
+
delete_option( 'pf_custom_text' );
|
12 |
+
delete_option( 'pf_custom_both' );
|
13 |
+
delete_option( 'pf_show_list' );
|
14 |
+
delete_option( 'pf_content_placement' );
|
15 |
+
delete_option( 'pf_content_position' );
|
16 |
+
delete_option( 'pf_margin_top' );
|
17 |
+
delete_option( 'pf_margin_right' );
|
18 |
+
delete_option( 'pf_margin_bottom' );
|
19 |
+
delete_option( 'pf_margin_left' );
|
20 |
+
delete_option( 'pf_text_color' );
|
21 |
+
delete_option( 'pf_text_size' );
|
trunk/vendor/PrintFriendly/Raven/Autoloader.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Raven.
|
5 |
+
*
|
6 |
+
* (c) Sentry Team
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Autoloads Raven classes.
|
14 |
+
*
|
15 |
+
* @package raven
|
16 |
+
*/
|
17 |
+
class PrintFriendly_Raven_Autoloader
|
18 |
+
{
|
19 |
+
/**
|
20 |
+
* Registers PrintFriendly_Raven_Autoloader as an SPL autoloader.
|
21 |
+
*/
|
22 |
+
public static function register()
|
23 |
+
{
|
24 |
+
ini_set('unserialize_callback_func', 'spl_autoload_call');
|
25 |
+
spl_autoload_register(array('PrintFriendly_Raven_Autoloader', 'autoload'));
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Handles autoloading of classes.
|
30 |
+
*
|
31 |
+
* @param string $class A class name.
|
32 |
+
*/
|
33 |
+
public static function autoload($class)
|
34 |
+
{
|
35 |
+
if (substr($class, 0, 20) !== 'PrintFriendly_Raven_') {
|
36 |
+
return;
|
37 |
+
}
|
38 |
+
|
39 |
+
$file = dirname(__FILE__).'/../../'.str_replace(array('_', "\0"), array('/', ''), $class).'.php';
|
40 |
+
if (is_file($file)) {
|
41 |
+
/** @noinspection PhpIncludeInspection */
|
42 |
+
require $file;
|
43 |
+
}
|
44 |
+
}
|
45 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Breadcrumbs.php
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* This file is part of Raven.
|
4 |
+
*
|
5 |
+
* (c) Sentry Team
|
6 |
+
*
|
7 |
+
* For the full copyright and license information, please view the LICENSE
|
8 |
+
* file that was distributed with this source code.
|
9 |
+
*/
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Raven Breadcrumbs
|
13 |
+
*
|
14 |
+
* @package raven
|
15 |
+
*/
|
16 |
+
|
17 |
+
class PrintFriendly_Raven_Breadcrumbs
|
18 |
+
{
|
19 |
+
public $count;
|
20 |
+
public $pos;
|
21 |
+
public $size;
|
22 |
+
/**
|
23 |
+
* @var array[]
|
24 |
+
*/
|
25 |
+
public $buffer;
|
26 |
+
|
27 |
+
public function __construct($size = 100)
|
28 |
+
{
|
29 |
+
$this->size = $size;
|
30 |
+
$this->reset();
|
31 |
+
}
|
32 |
+
|
33 |
+
public function reset()
|
34 |
+
{
|
35 |
+
$this->count = 0;
|
36 |
+
$this->pos = 0;
|
37 |
+
$this->buffer = array();
|
38 |
+
}
|
39 |
+
|
40 |
+
public function record($crumb)
|
41 |
+
{
|
42 |
+
if (empty($crumb['timestamp'])) {
|
43 |
+
$crumb['timestamp'] = microtime(true);
|
44 |
+
}
|
45 |
+
$this->buffer[$this->pos] = $crumb;
|
46 |
+
$this->pos = ($this->pos + 1) % $this->size;
|
47 |
+
$this->count++;
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @return array[]
|
52 |
+
*/
|
53 |
+
public function fetch()
|
54 |
+
{
|
55 |
+
$results = array();
|
56 |
+
for ($i = 0; $i <= ($this->size - 1); $i++) {
|
57 |
+
$idx = ($this->pos + $i) % $this->size;
|
58 |
+
if (isset($this->buffer[$idx])) {
|
59 |
+
$results[] = $this->buffer[$idx];
|
60 |
+
}
|
61 |
+
}
|
62 |
+
return $results;
|
63 |
+
}
|
64 |
+
|
65 |
+
public function is_empty()
|
66 |
+
{
|
67 |
+
return $this->count === 0;
|
68 |
+
}
|
69 |
+
|
70 |
+
public function to_json()
|
71 |
+
{
|
72 |
+
return array(
|
73 |
+
'values' => $this->fetch(),
|
74 |
+
);
|
75 |
+
}
|
76 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Breadcrumbs/ErrorHandler.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class PrintFriendly_Raven_Breadcrumbs_ErrorHandler
|
4 |
+
{
|
5 |
+
protected $existingHandler;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* @var PrintFriendly_Raven_Client the client object that sends the message to the server
|
9 |
+
*/
|
10 |
+
protected $ravenClient;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* @param PrintFriendly_Raven_Client $ravenClient
|
14 |
+
*/
|
15 |
+
public function __construct(PrintFriendly_Raven_Client $ravenClient)
|
16 |
+
{
|
17 |
+
$this->ravenClient = $ravenClient;
|
18 |
+
}
|
19 |
+
|
20 |
+
public function handleError($code, $message, $file = '', $line = 0, $context = array())
|
21 |
+
{
|
22 |
+
$this->ravenClient->breadcrumbs->record(array(
|
23 |
+
'category' => 'error_reporting',
|
24 |
+
'message' => $message,
|
25 |
+
'level' => $this->ravenClient->translateSeverity($code),
|
26 |
+
'data' => array(
|
27 |
+
'code' => $code,
|
28 |
+
'line' => $line,
|
29 |
+
'file' => $file,
|
30 |
+
),
|
31 |
+
));
|
32 |
+
|
33 |
+
if ($this->existingHandler !== null) {
|
34 |
+
return call_user_func($this->existingHandler, $code, $message, $file, $line, $context);
|
35 |
+
} else {
|
36 |
+
return false;
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
public function install()
|
41 |
+
{
|
42 |
+
$this->existingHandler = set_error_handler(array($this, 'handleError'), E_ALL);
|
43 |
+
return $this;
|
44 |
+
}
|
45 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Breadcrumbs/MonologHandler.php
ADDED
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
use Monolog\Logger;
|
4 |
+
use Monolog\Handler\AbstractProcessingHandler;
|
5 |
+
|
6 |
+
class PrintFriendly_Raven_Breadcrumbs_MonologHandler extends AbstractProcessingHandler
|
7 |
+
{
|
8 |
+
/**
|
9 |
+
* Translates Monolog log levels to Raven log levels.
|
10 |
+
*/
|
11 |
+
protected $logLevels = array(
|
12 |
+
Logger::DEBUG => PrintFriendly_Raven_Client::DEBUG,
|
13 |
+
Logger::INFO => PrintFriendly_Raven_Client::INFO,
|
14 |
+
Logger::NOTICE => PrintFriendly_Raven_Client::INFO,
|
15 |
+
Logger::WARNING => PrintFriendly_Raven_Client::WARNING,
|
16 |
+
Logger::ERROR => PrintFriendly_Raven_Client::ERROR,
|
17 |
+
Logger::CRITICAL => PrintFriendly_Raven_Client::FATAL,
|
18 |
+
Logger::ALERT => PrintFriendly_Raven_Client::FATAL,
|
19 |
+
Logger::EMERGENCY => PrintFriendly_Raven_Client::FATAL,
|
20 |
+
);
|
21 |
+
|
22 |
+
protected $excMatch = '/^exception \'([^\']+)\' with message \'(.+)\' in .+$/s';
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @var PrintFriendly_Raven_Client the client object that sends the message to the server
|
26 |
+
*/
|
27 |
+
protected $ravenClient;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @param PrintFriendly_Raven_Client $ravenClient
|
31 |
+
* @param int $level The minimum logging level at which this handler will be triggered
|
32 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
33 |
+
*/
|
34 |
+
public function __construct(PrintFriendly_Raven_Client $ravenClient, $level = Logger::DEBUG, $bubble = true)
|
35 |
+
{
|
36 |
+
parent::__construct($level, $bubble);
|
37 |
+
|
38 |
+
$this->ravenClient = $ravenClient;
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* @param string $message
|
43 |
+
* @return array|null
|
44 |
+
*/
|
45 |
+
protected function parseException($message)
|
46 |
+
{
|
47 |
+
if (preg_match($this->excMatch, $message, $matches)) {
|
48 |
+
return array($matches[1], $matches[2]);
|
49 |
+
}
|
50 |
+
|
51 |
+
return null;
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* {@inheritdoc}
|
56 |
+
*/
|
57 |
+
protected function write(array $record)
|
58 |
+
{
|
59 |
+
// sentry uses the 'nobreadcrumb' attribute to skip reporting
|
60 |
+
if (!empty($record['context']['nobreadcrumb'])) {
|
61 |
+
return;
|
62 |
+
}
|
63 |
+
|
64 |
+
if (isset($record['context']['exception']) && $record['context']['exception'] instanceof \Exception) {
|
65 |
+
/**
|
66 |
+
* @var Exception $exc
|
67 |
+
*/
|
68 |
+
$exc = $record['context']['exception'];
|
69 |
+
$crumb = array(
|
70 |
+
'type' => 'error',
|
71 |
+
'level' => $this->logLevels[$record['level']],
|
72 |
+
'category' => $record['channel'],
|
73 |
+
'data' => array(
|
74 |
+
'type' => get_class($exc),
|
75 |
+
'value' => $exc->getMessage(),
|
76 |
+
),
|
77 |
+
);
|
78 |
+
} else {
|
79 |
+
// TODO(dcramer): parse exceptions out of messages and format as above
|
80 |
+
if ($error = $this->parseException($record['message'])) {
|
81 |
+
$crumb = array(
|
82 |
+
'type' => 'error',
|
83 |
+
'level' => $this->logLevels[$record['level']],
|
84 |
+
'category' => $record['channel'],
|
85 |
+
'data' => array(
|
86 |
+
'type' => $error[0],
|
87 |
+
'value' => $error[1],
|
88 |
+
),
|
89 |
+
);
|
90 |
+
} else {
|
91 |
+
$crumb = array(
|
92 |
+
'level' => $this->logLevels[$record['level']],
|
93 |
+
'category' => $record['channel'],
|
94 |
+
'message' => $record['message'],
|
95 |
+
);
|
96 |
+
}
|
97 |
+
}
|
98 |
+
|
99 |
+
$this->ravenClient->breadcrumbs->record($crumb);
|
100 |
+
}
|
101 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Client.php
ADDED
@@ -0,0 +1,1438 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* This file is part of Raven.
|
4 |
+
*
|
5 |
+
* (c) Sentry Team
|
6 |
+
*
|
7 |
+
* For the full copyright and license information, please view the LICENSE
|
8 |
+
* file that was distributed with this source code.
|
9 |
+
*/
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Raven PHP Client
|
13 |
+
*
|
14 |
+
* @package raven
|
15 |
+
*/
|
16 |
+
|
17 |
+
class PrintFriendly_Raven_Client
|
18 |
+
{
|
19 |
+
const VERSION = '1.7.x-dev';
|
20 |
+
|
21 |
+
const PROTOCOL = '6';
|
22 |
+
|
23 |
+
const DEBUG = 'debug';
|
24 |
+
const INFO = 'info';
|
25 |
+
const WARN = 'warning';
|
26 |
+
const WARNING = 'warning';
|
27 |
+
const ERROR = 'error';
|
28 |
+
const FATAL = 'fatal';
|
29 |
+
|
30 |
+
const MESSAGE_LIMIT = 1024;
|
31 |
+
|
32 |
+
public $breadcrumbs;
|
33 |
+
/**
|
34 |
+
* @var PrintFriendly_Raven_Context
|
35 |
+
*/
|
36 |
+
public $context;
|
37 |
+
public $extra_data;
|
38 |
+
/**
|
39 |
+
* @var array|null
|
40 |
+
*/
|
41 |
+
public $severity_map;
|
42 |
+
public $store_errors_for_bulk_send = false;
|
43 |
+
|
44 |
+
protected $error_handler;
|
45 |
+
protected $error_types;
|
46 |
+
|
47 |
+
protected $serializer;
|
48 |
+
protected $reprSerializer;
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @var string
|
52 |
+
*/
|
53 |
+
protected $app_path;
|
54 |
+
/**
|
55 |
+
* @var string[]
|
56 |
+
*/
|
57 |
+
protected $prefixes;
|
58 |
+
/**
|
59 |
+
* @var string[]|null
|
60 |
+
*/
|
61 |
+
protected $excluded_app_paths;
|
62 |
+
/**
|
63 |
+
* @var Callable
|
64 |
+
*/
|
65 |
+
protected $transport;
|
66 |
+
|
67 |
+
public $logger;
|
68 |
+
/**
|
69 |
+
* @var string Full URL to Sentry
|
70 |
+
*/
|
71 |
+
public $server;
|
72 |
+
public $secret_key;
|
73 |
+
public $public_key;
|
74 |
+
public $project;
|
75 |
+
public $auto_log_stacks;
|
76 |
+
public $name;
|
77 |
+
public $site;
|
78 |
+
public $tags;
|
79 |
+
public $release;
|
80 |
+
public $environment;
|
81 |
+
public $sample_rate;
|
82 |
+
public $trace;
|
83 |
+
public $timeout;
|
84 |
+
public $message_limit;
|
85 |
+
public $exclude;
|
86 |
+
public $http_proxy;
|
87 |
+
protected $send_callback;
|
88 |
+
public $curl_method;
|
89 |
+
public $curl_path;
|
90 |
+
public $curl_ipv4;
|
91 |
+
public $ca_cert;
|
92 |
+
public $verify_ssl;
|
93 |
+
public $curl_ssl_version;
|
94 |
+
public $trust_x_forwarded_proto;
|
95 |
+
public $mb_detect_order;
|
96 |
+
/**
|
97 |
+
* @var PrintFriendly_Raven_Processor[]
|
98 |
+
*/
|
99 |
+
public $processors;
|
100 |
+
/**
|
101 |
+
* @var string|int|null
|
102 |
+
*/
|
103 |
+
public $_lasterror;
|
104 |
+
/**
|
105 |
+
* @var object|null
|
106 |
+
*/
|
107 |
+
protected $_last_sentry_error;
|
108 |
+
public $_last_event_id;
|
109 |
+
public $_user;
|
110 |
+
public $_pending_events;
|
111 |
+
public $sdk;
|
112 |
+
/**
|
113 |
+
* @var PrintFriendly_Raven_CurlHandler
|
114 |
+
*/
|
115 |
+
protected $_curl_handler;
|
116 |
+
/**
|
117 |
+
* @var resource|null
|
118 |
+
*/
|
119 |
+
protected $_curl_instance;
|
120 |
+
/**
|
121 |
+
* @var bool
|
122 |
+
*/
|
123 |
+
protected $_shutdown_function_has_been_set;
|
124 |
+
|
125 |
+
public function __construct($options_or_dsn = null, $options = array())
|
126 |
+
{
|
127 |
+
if (is_array($options_or_dsn)) {
|
128 |
+
$options = array_merge($options_or_dsn, $options);
|
129 |
+
}
|
130 |
+
|
131 |
+
if (!is_array($options_or_dsn) && !empty($options_or_dsn)) {
|
132 |
+
$dsn = $options_or_dsn;
|
133 |
+
} elseif (!empty($_SERVER['SENTRY_DSN'])) {
|
134 |
+
$dsn = @$_SERVER['SENTRY_DSN'];
|
135 |
+
} elseif (!empty($options['dsn'])) {
|
136 |
+
$dsn = $options['dsn'];
|
137 |
+
} else {
|
138 |
+
$dsn = null;
|
139 |
+
}
|
140 |
+
|
141 |
+
if (!empty($dsn)) {
|
142 |
+
$options = array_merge($options, self::parseDSN($dsn));
|
143 |
+
}
|
144 |
+
|
145 |
+
$this->logger = PrintFriendly_Raven_Util::get($options, 'logger', 'php');
|
146 |
+
$this->server = PrintFriendly_Raven_Util::get($options, 'server');
|
147 |
+
$this->secret_key = PrintFriendly_Raven_Util::get($options, 'secret_key');
|
148 |
+
$this->public_key = PrintFriendly_Raven_Util::get($options, 'public_key');
|
149 |
+
$this->project = PrintFriendly_Raven_Util::get($options, 'project', 1);
|
150 |
+
$this->auto_log_stacks = (bool) PrintFriendly_Raven_Util::get($options, 'auto_log_stacks', false);
|
151 |
+
$this->name = PrintFriendly_Raven_Util::get($options, 'name', PrintFriendly_Raven_Compat::gethostname());
|
152 |
+
$this->site = PrintFriendly_Raven_Util::get($options, 'site', self::_server_variable('SERVER_NAME'));
|
153 |
+
$this->tags = PrintFriendly_Raven_Util::get($options, 'tags', array());
|
154 |
+
$this->release = PrintFriendly_Raven_Util::get($options, 'release', null);
|
155 |
+
$this->environment = PrintFriendly_Raven_Util::get($options, 'environment', null);
|
156 |
+
$this->sample_rate = PrintFriendly_Raven_Util::get($options, 'sample_rate', 1);
|
157 |
+
$this->trace = (bool) PrintFriendly_Raven_Util::get($options, 'trace', true);
|
158 |
+
$this->timeout = PrintFriendly_Raven_Util::get($options, 'timeout', 2);
|
159 |
+
$this->message_limit = PrintFriendly_Raven_Util::get($options, 'message_limit', self::MESSAGE_LIMIT);
|
160 |
+
$this->exclude = PrintFriendly_Raven_Util::get($options, 'exclude', array());
|
161 |
+
$this->severity_map = null;
|
162 |
+
$this->http_proxy = PrintFriendly_Raven_Util::get($options, 'http_proxy');
|
163 |
+
$this->extra_data = PrintFriendly_Raven_Util::get($options, 'extra', array());
|
164 |
+
$this->send_callback = PrintFriendly_Raven_Util::get($options, 'send_callback', null);
|
165 |
+
$this->curl_method = PrintFriendly_Raven_Util::get($options, 'curl_method', 'sync');
|
166 |
+
$this->curl_path = PrintFriendly_Raven_Util::get($options, 'curl_path', 'curl');
|
167 |
+
$this->curl_ipv4 = PrintFriendly_Raven_Util::get($options, 'curl_ipv4', true);
|
168 |
+
$this->ca_cert = PrintFriendly_Raven_Util::get($options, 'ca_cert', static::get_default_ca_cert());
|
169 |
+
$this->verify_ssl = PrintFriendly_Raven_Util::get($options, 'verify_ssl', true);
|
170 |
+
$this->curl_ssl_version = PrintFriendly_Raven_Util::get($options, 'curl_ssl_version');
|
171 |
+
$this->trust_x_forwarded_proto = PrintFriendly_Raven_Util::get($options, 'trust_x_forwarded_proto');
|
172 |
+
$this->transport = PrintFriendly_Raven_Util::get($options, 'transport', null);
|
173 |
+
$this->mb_detect_order = PrintFriendly_Raven_Util::get($options, 'mb_detect_order', null);
|
174 |
+
$this->error_types = PrintFriendly_Raven_Util::get($options, 'error_types', null);
|
175 |
+
|
176 |
+
// app path is used to determine if code is part of your application
|
177 |
+
$this->setAppPath(PrintFriendly_Raven_Util::get($options, 'app_path', null));
|
178 |
+
$this->setExcludedAppPaths(PrintFriendly_Raven_Util::get($options, 'excluded_app_paths', null));
|
179 |
+
// a list of prefixes used to coerce absolute paths into relative
|
180 |
+
$this->setPrefixes(PrintFriendly_Raven_Util::get($options, 'prefixes', static::getDefaultPrefixes()));
|
181 |
+
$this->processors = $this->setProcessorsFromOptions($options);
|
182 |
+
|
183 |
+
$this->_lasterror = null;
|
184 |
+
$this->_last_sentry_error = null;
|
185 |
+
$this->_curl_instance = null;
|
186 |
+
$this->_last_event_id = null;
|
187 |
+
$this->_user = null;
|
188 |
+
$this->_pending_events = array();
|
189 |
+
$this->context = new PrintFriendly_Raven_Context();
|
190 |
+
$this->breadcrumbs = new PrintFriendly_Raven_Breadcrumbs();
|
191 |
+
$this->_shutdown_function_has_been_set = false;
|
192 |
+
|
193 |
+
$this->sdk = PrintFriendly_Raven_Util::get($options, 'sdk', array(
|
194 |
+
'name' => 'sentry-php',
|
195 |
+
'version' => self::VERSION,
|
196 |
+
));
|
197 |
+
$this->serializer = new PrintFriendly_Raven_Serializer($this->mb_detect_order);
|
198 |
+
$this->reprSerializer = new PrintFriendly_Raven_ReprSerializer($this->mb_detect_order);
|
199 |
+
|
200 |
+
if ($this->curl_method == 'async') {
|
201 |
+
$this->_curl_handler = new PrintFriendly_Raven_CurlHandler($this->get_curl_options());
|
202 |
+
}
|
203 |
+
|
204 |
+
$this->transaction = new PrintFriendly_Raven_TransactionStack();
|
205 |
+
if (static::is_http_request() && isset($_SERVER['PATH_INFO'])) {
|
206 |
+
// @codeCoverageIgnoreStart
|
207 |
+
$this->transaction->push($_SERVER['PATH_INFO']);
|
208 |
+
// @codeCoverageIgnoreEnd
|
209 |
+
}
|
210 |
+
|
211 |
+
if (PrintFriendly_Raven_Util::get($options, 'install_default_breadcrumb_handlers', true)) {
|
212 |
+
$this->registerDefaultBreadcrumbHandlers();
|
213 |
+
}
|
214 |
+
|
215 |
+
if (PrintFriendly_Raven_Util::get($options, 'install_shutdown_handler', true)) {
|
216 |
+
$this->registerShutdownFunction();
|
217 |
+
}
|
218 |
+
}
|
219 |
+
|
220 |
+
public function __destruct()
|
221 |
+
{
|
222 |
+
// Force close curl resource
|
223 |
+
$this->close_curl_resource();
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Destruct all objects contain link to this object
|
228 |
+
*
|
229 |
+
* This method can not delete shutdown handler
|
230 |
+
*/
|
231 |
+
public function close_all_children_link()
|
232 |
+
{
|
233 |
+
$this->processors = array();
|
234 |
+
}
|
235 |
+
|
236 |
+
/**
|
237 |
+
* Installs any available automated hooks (such as error_reporting).
|
238 |
+
*/
|
239 |
+
public function install()
|
240 |
+
{
|
241 |
+
if ($this->error_handler) {
|
242 |
+
throw new PrintFriendly_Raven_Exception(sprintf('%s->install() must only be called once', get_class($this)));
|
243 |
+
}
|
244 |
+
$this->error_handler = new PrintFriendly_Raven_ErrorHandler($this, false, $this->error_types);
|
245 |
+
$this->error_handler->registerExceptionHandler();
|
246 |
+
$this->error_handler->registerErrorHandler();
|
247 |
+
$this->error_handler->registerShutdownFunction();
|
248 |
+
return $this;
|
249 |
+
}
|
250 |
+
|
251 |
+
public function getRelease()
|
252 |
+
{
|
253 |
+
return $this->release;
|
254 |
+
}
|
255 |
+
|
256 |
+
public function setRelease($value)
|
257 |
+
{
|
258 |
+
$this->release = $value;
|
259 |
+
return $this;
|
260 |
+
}
|
261 |
+
|
262 |
+
public function getEnvironment()
|
263 |
+
{
|
264 |
+
return $this->environment;
|
265 |
+
}
|
266 |
+
|
267 |
+
public function setEnvironment($value)
|
268 |
+
{
|
269 |
+
$this->environment = $value;
|
270 |
+
return $this;
|
271 |
+
}
|
272 |
+
|
273 |
+
private static function getDefaultPrefixes()
|
274 |
+
{
|
275 |
+
$value = get_include_path();
|
276 |
+
return explode(PATH_SEPARATOR, $value);
|
277 |
+
}
|
278 |
+
|
279 |
+
private static function _convertPath($value)
|
280 |
+
{
|
281 |
+
$path = @realpath($value);
|
282 |
+
if ($path === false) {
|
283 |
+
$path = $value;
|
284 |
+
}
|
285 |
+
// we need app_path to have a trailing slash otherwise
|
286 |
+
// base path detection becomes complex if the same
|
287 |
+
// prefix is matched
|
288 |
+
if (substr($path, 0, 1) === DIRECTORY_SEPARATOR && substr($path, -1) !== DIRECTORY_SEPARATOR) {
|
289 |
+
$path = $path.DIRECTORY_SEPARATOR;
|
290 |
+
}
|
291 |
+
return $path;
|
292 |
+
}
|
293 |
+
|
294 |
+
public function getAppPath()
|
295 |
+
{
|
296 |
+
return $this->app_path;
|
297 |
+
}
|
298 |
+
|
299 |
+
public function setAppPath($value)
|
300 |
+
{
|
301 |
+
if ($value) {
|
302 |
+
$this->app_path = static::_convertPath($value);
|
303 |
+
} else {
|
304 |
+
$this->app_path = null;
|
305 |
+
}
|
306 |
+
return $this;
|
307 |
+
}
|
308 |
+
|
309 |
+
public function getExcludedAppPaths()
|
310 |
+
{
|
311 |
+
return $this->excluded_app_paths;
|
312 |
+
}
|
313 |
+
|
314 |
+
public function setExcludedAppPaths($value)
|
315 |
+
{
|
316 |
+
$this->excluded_app_paths = $value ? array_map(array($this, '_convertPath'), $value) : null;
|
317 |
+
return $this;
|
318 |
+
}
|
319 |
+
|
320 |
+
public function getPrefixes()
|
321 |
+
{
|
322 |
+
return $this->prefixes;
|
323 |
+
}
|
324 |
+
|
325 |
+
/**
|
326 |
+
* @param array $value
|
327 |
+
* @return PrintFriendly_Raven_Client
|
328 |
+
*/
|
329 |
+
public function setPrefixes($value)
|
330 |
+
{
|
331 |
+
$this->prefixes = $value ? array_map(array($this, '_convertPath'), $value) : $value;
|
332 |
+
return $this;
|
333 |
+
}
|
334 |
+
|
335 |
+
public function getSendCallback()
|
336 |
+
{
|
337 |
+
return $this->send_callback;
|
338 |
+
}
|
339 |
+
|
340 |
+
public function setSendCallback($value)
|
341 |
+
{
|
342 |
+
$this->send_callback = $value;
|
343 |
+
return $this;
|
344 |
+
}
|
345 |
+
|
346 |
+
public function getTransport()
|
347 |
+
{
|
348 |
+
return $this->transport;
|
349 |
+
}
|
350 |
+
|
351 |
+
public function getServerEndpoint($value = '')
|
352 |
+
{
|
353 |
+
return $this->server;
|
354 |
+
}
|
355 |
+
|
356 |
+
public static function getUserAgent()
|
357 |
+
{
|
358 |
+
return 'sentry-php/' . self::VERSION;
|
359 |
+
}
|
360 |
+
|
361 |
+
/**
|
362 |
+
* Set a custom transport to override how Sentry events are sent upstream.
|
363 |
+
*
|
364 |
+
* The bound function will be called with ``$client`` and ``$data`` arguments
|
365 |
+
* and is responsible for encoding the data, authenticating, and sending
|
366 |
+
* the data to the upstream Sentry server.
|
367 |
+
*
|
368 |
+
* @param Callable $value Function to be called
|
369 |
+
* @return PrintFriendly_Raven_Client
|
370 |
+
*/
|
371 |
+
public function setTransport($value)
|
372 |
+
{
|
373 |
+
$this->transport = $value;
|
374 |
+
return $this;
|
375 |
+
}
|
376 |
+
|
377 |
+
/**
|
378 |
+
* @return string[]|PrintFriendly_Raven_Processor[]
|
379 |
+
*/
|
380 |
+
public static function getDefaultProcessors()
|
381 |
+
{
|
382 |
+
return array(
|
383 |
+
'PrintFriendly_Raven_Processor_SanitizeDataProcessor',
|
384 |
+
);
|
385 |
+
}
|
386 |
+
|
387 |
+
/**
|
388 |
+
* Sets the PrintFriendly_Raven_Processor sub-classes to be used when data is processed before being
|
389 |
+
* sent to Sentry.
|
390 |
+
*
|
391 |
+
* @param $options
|
392 |
+
* @return PrintFriendly_Raven_Processor[]
|
393 |
+
*/
|
394 |
+
public function setProcessorsFromOptions($options)
|
395 |
+
{
|
396 |
+
$processors = array();
|
397 |
+
foreach (PrintFriendly_Raven_util::get($options, 'processors', static::getDefaultProcessors()) as $processor) {
|
398 |
+
/**
|
399 |
+
* @var PrintFriendly_Raven_Processor $new_processor
|
400 |
+
* @var PrintFriendly_Raven_Processor|string $processor
|
401 |
+
*/
|
402 |
+
$new_processor = new $processor($this);
|
403 |
+
|
404 |
+
if (isset($options['processorOptions']) && is_array($options['processorOptions'])) {
|
405 |
+
if (isset($options['processorOptions'][$processor])
|
406 |
+
&& method_exists($processor, 'setProcessorOptions')
|
407 |
+
) {
|
408 |
+
$new_processor->setProcessorOptions($options['processorOptions'][$processor]);
|
409 |
+
}
|
410 |
+
}
|
411 |
+
$processors[] = $new_processor;
|
412 |
+
}
|
413 |
+
return $processors;
|
414 |
+
}
|
415 |
+
|
416 |
+
/**
|
417 |
+
* Parses a Raven-compatible DSN and returns an array of its values.
|
418 |
+
*
|
419 |
+
* @param string $dsn Raven compatible DSN
|
420 |
+
* @return array parsed DSN
|
421 |
+
*
|
422 |
+
* @doc http://raven.readthedocs.org/en/latest/config/#the-sentry-dsn
|
423 |
+
*/
|
424 |
+
public static function parseDSN($dsn)
|
425 |
+
{
|
426 |
+
$url = parse_url($dsn);
|
427 |
+
$scheme = (isset($url['scheme']) ? $url['scheme'] : '');
|
428 |
+
if (!in_array($scheme, array('http', 'https'))) {
|
429 |
+
throw new InvalidArgumentException(
|
430 |
+
'Unsupported Sentry DSN scheme: '.
|
431 |
+
(!empty($scheme) ? $scheme : '<not set>')
|
432 |
+
);
|
433 |
+
}
|
434 |
+
$netloc = (isset($url['host']) ? $url['host'] : null);
|
435 |
+
$netloc .= (isset($url['port']) ? ':'.$url['port'] : null);
|
436 |
+
$rawpath = (isset($url['path']) ? $url['path'] : null);
|
437 |
+
if ($rawpath) {
|
438 |
+
$pos = strrpos($rawpath, '/', 1);
|
439 |
+
if ($pos !== false) {
|
440 |
+
$path = substr($rawpath, 0, $pos);
|
441 |
+
$project = substr($rawpath, $pos + 1);
|
442 |
+
} else {
|
443 |
+
$path = '';
|
444 |
+
$project = substr($rawpath, 1);
|
445 |
+
}
|
446 |
+
} else {
|
447 |
+
$project = null;
|
448 |
+
$path = '';
|
449 |
+
}
|
450 |
+
$username = (isset($url['user']) ? $url['user'] : null);
|
451 |
+
$password = (isset($url['pass']) ? $url['pass'] : null);
|
452 |
+
if (empty($netloc) || empty($project) || empty($username) || empty($password)) {
|
453 |
+
throw new InvalidArgumentException('Invalid Sentry DSN: ' . $dsn);
|
454 |
+
}
|
455 |
+
|
456 |
+
return array(
|
457 |
+
'server' => sprintf('%s://%s%s/api/%s/store/', $scheme, $netloc, $path, $project),
|
458 |
+
'project' => $project,
|
459 |
+
'public_key' => $username,
|
460 |
+
'secret_key' => $password,
|
461 |
+
);
|
462 |
+
}
|
463 |
+
|
464 |
+
public function getLastError()
|
465 |
+
{
|
466 |
+
return $this->_lasterror;
|
467 |
+
}
|
468 |
+
|
469 |
+
/**
|
470 |
+
* Given an identifier, returns a Sentry searchable string.
|
471 |
+
*
|
472 |
+
* @param mixed $ident
|
473 |
+
* @return mixed
|
474 |
+
* @codeCoverageIgnore
|
475 |
+
*/
|
476 |
+
public function getIdent($ident)
|
477 |
+
{
|
478 |
+
// XXX: We don't calculate checksums yet, so we only have the ident.
|
479 |
+
return $ident;
|
480 |
+
}
|
481 |
+
|
482 |
+
/**
|
483 |
+
* @param string $message The message (primary description) for the event.
|
484 |
+
* @param array $params params to use when formatting the message.
|
485 |
+
* @param string $level Log level group
|
486 |
+
* @param bool|array $stack
|
487 |
+
* @param mixed $vars
|
488 |
+
* @return string|null
|
489 |
+
* @deprecated
|
490 |
+
* @codeCoverageIgnore
|
491 |
+
*/
|
492 |
+
public function message($message, $params = array(), $level = self::INFO,
|
493 |
+
$stack = false, $vars = null)
|
494 |
+
{
|
495 |
+
return $this->captureMessage($message, $params, $level, $stack, $vars);
|
496 |
+
}
|
497 |
+
|
498 |
+
/**
|
499 |
+
* @param Exception $exception
|
500 |
+
* @return string|null
|
501 |
+
* @deprecated
|
502 |
+
* @codeCoverageIgnore
|
503 |
+
*/
|
504 |
+
public function exception($exception)
|
505 |
+
{
|
506 |
+
return $this->captureException($exception);
|
507 |
+
}
|
508 |
+
|
509 |
+
/**
|
510 |
+
* Log a message to sentry
|
511 |
+
*
|
512 |
+
* @param string $message The message (primary description) for the event.
|
513 |
+
* @param array $params params to use when formatting the message.
|
514 |
+
* @param array $data Additional attributes to pass with this event (see Sentry docs).
|
515 |
+
* @param bool|array $stack
|
516 |
+
* @param mixed $vars
|
517 |
+
* @return string|null
|
518 |
+
*/
|
519 |
+
public function captureMessage($message, $params = array(), $data = array(),
|
520 |
+
$stack = false, $vars = null)
|
521 |
+
{
|
522 |
+
// Gracefully handle messages which contain formatting characters, but were not
|
523 |
+
// intended to be used with formatting.
|
524 |
+
if (!empty($params)) {
|
525 |
+
$formatted_message = vsprintf($message, $params);
|
526 |
+
} else {
|
527 |
+
$formatted_message = $message;
|
528 |
+
}
|
529 |
+
|
530 |
+
if ($data === null) {
|
531 |
+
$data = array();
|
532 |
+
// support legacy method of passing in a level name as the third arg
|
533 |
+
} elseif (!is_array($data)) {
|
534 |
+
$data = array(
|
535 |
+
'level' => $data,
|
536 |
+
);
|
537 |
+
}
|
538 |
+
|
539 |
+
$data['message'] = $formatted_message;
|
540 |
+
$data['sentry.interfaces.Message'] = array(
|
541 |
+
'message' => $message,
|
542 |
+
'params' => $params,
|
543 |
+
'formatted' => $formatted_message,
|
544 |
+
);
|
545 |
+
|
546 |
+
return $this->capture($data, $stack, $vars);
|
547 |
+
}
|
548 |
+
|
549 |
+
/**
|
550 |
+
* Log an exception to sentry
|
551 |
+
*
|
552 |
+
* @param Exception $exception The Exception object.
|
553 |
+
* @param array $data Additional attributes to pass with this event (see Sentry docs).
|
554 |
+
* @param mixed $logger
|
555 |
+
* @param mixed $vars
|
556 |
+
* @return string|null
|
557 |
+
*/
|
558 |
+
public function captureException($exception, $data = null, $logger = null, $vars = null)
|
559 |
+
{
|
560 |
+
$has_chained_exceptions = version_compare(PHP_VERSION, '5.3.0', '>=');
|
561 |
+
|
562 |
+
if (in_array(get_class($exception), $this->exclude)) {
|
563 |
+
return null;
|
564 |
+
}
|
565 |
+
|
566 |
+
if ($data === null) {
|
567 |
+
$data = array();
|
568 |
+
}
|
569 |
+
|
570 |
+
$exc = $exception;
|
571 |
+
do {
|
572 |
+
$exc_data = array(
|
573 |
+
'value' => $this->serializer->serialize($exc->getMessage()),
|
574 |
+
'type' => get_class($exc),
|
575 |
+
);
|
576 |
+
|
577 |
+
/**'exception'
|
578 |
+
* Exception::getTrace doesn't store the point at where the exception
|
579 |
+
* was thrown, so we have to stuff it in ourselves. Ugh.
|
580 |
+
*/
|
581 |
+
$trace = $exc->getTrace();
|
582 |
+
$frame_where_exception_thrown = array(
|
583 |
+
'file' => $exc->getFile(),
|
584 |
+
'line' => $exc->getLine(),
|
585 |
+
);
|
586 |
+
|
587 |
+
array_unshift($trace, $frame_where_exception_thrown);
|
588 |
+
|
589 |
+
// manually trigger autoloading, as it's not done in some edge cases due to PHP bugs (see #60149)
|
590 |
+
if (!class_exists('PrintFriendly_Raven_Stacktrace')) {
|
591 |
+
// @codeCoverageIgnoreStart
|
592 |
+
spl_autoload_call('PrintFriendly_Raven_Stacktrace');
|
593 |
+
// @codeCoverageIgnoreEnd
|
594 |
+
}
|
595 |
+
|
596 |
+
$exc_data['stacktrace'] = array(
|
597 |
+
'frames' => PrintFriendly_Raven_Stacktrace::get_stack_info(
|
598 |
+
$trace, $this->trace, $vars, $this->message_limit, $this->prefixes,
|
599 |
+
$this->app_path, $this->excluded_app_paths, $this->serializer, $this->reprSerializer
|
600 |
+
),
|
601 |
+
);
|
602 |
+
|
603 |
+
$exceptions[] = $exc_data;
|
604 |
+
} while ($has_chained_exceptions && $exc = $exc->getPrevious());
|
605 |
+
|
606 |
+
$data['exception'] = array(
|
607 |
+
'values' => array_reverse($exceptions),
|
608 |
+
);
|
609 |
+
if ($logger !== null) {
|
610 |
+
$data['logger'] = $logger;
|
611 |
+
}
|
612 |
+
|
613 |
+
if (empty($data['level'])) {
|
614 |
+
if (method_exists($exception, 'getSeverity')) {
|
615 |
+
$data['level'] = $this->translateSeverity($exception->getSeverity());
|
616 |
+
} else {
|
617 |
+
$data['level'] = self::ERROR;
|
618 |
+
}
|
619 |
+
}
|
620 |
+
|
621 |
+
return $this->capture($data, $trace, $vars);
|
622 |
+
}
|
623 |
+
|
624 |
+
|
625 |
+
/**
|
626 |
+
* Capture the most recent error (obtained with ``error_get_last``).
|
627 |
+
* @return string|null
|
628 |
+
*/
|
629 |
+
public function captureLastError()
|
630 |
+
{
|
631 |
+
if (null === $error = error_get_last()) {
|
632 |
+
return null;
|
633 |
+
}
|
634 |
+
|
635 |
+
$e = new ErrorException(
|
636 |
+
@$error['message'], 0, @$error['type'],
|
637 |
+
@$error['file'], @$error['line']
|
638 |
+
);
|
639 |
+
|
640 |
+
return $this->captureException($e);
|
641 |
+
}
|
642 |
+
|
643 |
+
/**
|
644 |
+
* Log an query to sentry
|
645 |
+
*
|
646 |
+
* @param string|null $query
|
647 |
+
* @param string $level
|
648 |
+
* @param string $engine
|
649 |
+
*/
|
650 |
+
public function captureQuery($query, $level = self::INFO, $engine = '')
|
651 |
+
{
|
652 |
+
$data = array(
|
653 |
+
'message' => $query,
|
654 |
+
'level' => $level,
|
655 |
+
'sentry.interfaces.Query' => array(
|
656 |
+
'query' => $query
|
657 |
+
)
|
658 |
+
);
|
659 |
+
|
660 |
+
if ($engine !== '') {
|
661 |
+
$data['sentry.interfaces.Query']['engine'] = $engine;
|
662 |
+
}
|
663 |
+
return $this->capture($data, false);
|
664 |
+
}
|
665 |
+
|
666 |
+
/**
|
667 |
+
* Return the last captured event's ID or null if none available.
|
668 |
+
*/
|
669 |
+
public function getLastEventID()
|
670 |
+
{
|
671 |
+
return $this->_last_event_id;
|
672 |
+
}
|
673 |
+
|
674 |
+
protected function registerDefaultBreadcrumbHandlers()
|
675 |
+
{
|
676 |
+
$handler = new PrintFriendly_Raven_Breadcrumbs_ErrorHandler($this);
|
677 |
+
$handler->install();
|
678 |
+
}
|
679 |
+
|
680 |
+
protected function registerShutdownFunction()
|
681 |
+
{
|
682 |
+
if (!$this->_shutdown_function_has_been_set) {
|
683 |
+
$this->_shutdown_function_has_been_set = true;
|
684 |
+
register_shutdown_function(array($this, 'onShutdown'));
|
685 |
+
}
|
686 |
+
}
|
687 |
+
|
688 |
+
/**
|
689 |
+
* @return bool
|
690 |
+
* @codeCoverageIgnore
|
691 |
+
*/
|
692 |
+
protected static function is_http_request()
|
693 |
+
{
|
694 |
+
return isset($_SERVER['REQUEST_METHOD']) && PHP_SAPI !== 'cli';
|
695 |
+
}
|
696 |
+
|
697 |
+
protected function get_http_data()
|
698 |
+
{
|
699 |
+
$headers = array();
|
700 |
+
|
701 |
+
foreach ($_SERVER as $key => $value) {
|
702 |
+
if (0 === strpos($key, 'HTTP_')) {
|
703 |
+
$header_key =
|
704 |
+
str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($key, 5)))));
|
705 |
+
$headers[$header_key] = $value;
|
706 |
+
} elseif (in_array($key, array('CONTENT_TYPE', 'CONTENT_LENGTH')) && $value !== '') {
|
707 |
+
$header_key = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $key))));
|
708 |
+
$headers[$header_key] = $value;
|
709 |
+
}
|
710 |
+
}
|
711 |
+
|
712 |
+
$result = array(
|
713 |
+
'method' => self::_server_variable('REQUEST_METHOD'),
|
714 |
+
'url' => $this->get_current_url(),
|
715 |
+
'query_string' => self::_server_variable('QUERY_STRING'),
|
716 |
+
);
|
717 |
+
|
718 |
+
// dont set this as an empty array as PHP will treat it as a numeric array
|
719 |
+
// instead of a mapping which goes against the defined Sentry spec
|
720 |
+
if (!empty($_POST)) {
|
721 |
+
$result['data'] = $_POST;
|
722 |
+
}
|
723 |
+
if (!empty($_COOKIE)) {
|
724 |
+
$result['cookies'] = $_COOKIE;
|
725 |
+
}
|
726 |
+
if (!empty($headers)) {
|
727 |
+
$result['headers'] = $headers;
|
728 |
+
}
|
729 |
+
|
730 |
+
return array(
|
731 |
+
'request' => $result,
|
732 |
+
);
|
733 |
+
}
|
734 |
+
|
735 |
+
protected function get_user_data()
|
736 |
+
{
|
737 |
+
$user = $this->context->user;
|
738 |
+
if ($user === null) {
|
739 |
+
if (!function_exists('session_id') || !session_id()) {
|
740 |
+
return array();
|
741 |
+
}
|
742 |
+
$user = array(
|
743 |
+
'id' => session_id(),
|
744 |
+
);
|
745 |
+
if (!empty($_SERVER['REMOTE_ADDR'])) {
|
746 |
+
$user['ip_address'] = $_SERVER['REMOTE_ADDR'];
|
747 |
+
}
|
748 |
+
if (!empty($_SESSION)) {
|
749 |
+
$user['data'] = $_SESSION;
|
750 |
+
}
|
751 |
+
}
|
752 |
+
return array(
|
753 |
+
'user' => $user,
|
754 |
+
);
|
755 |
+
}
|
756 |
+
|
757 |
+
protected function get_extra_data()
|
758 |
+
{
|
759 |
+
return $this->extra_data;
|
760 |
+
}
|
761 |
+
|
762 |
+
public function get_default_data()
|
763 |
+
{
|
764 |
+
return array(
|
765 |
+
'server_name' => $this->name,
|
766 |
+
'project' => $this->project,
|
767 |
+
'site' => $this->site,
|
768 |
+
'logger' => $this->logger,
|
769 |
+
'tags' => $this->tags,
|
770 |
+
'platform' => 'php',
|
771 |
+
'sdk' => $this->sdk,
|
772 |
+
'culprit' => $this->transaction->peek(),
|
773 |
+
);
|
774 |
+
}
|
775 |
+
|
776 |
+
public function capture($data, $stack = null, $vars = null)
|
777 |
+
{
|
778 |
+
if (!isset($data['timestamp'])) {
|
779 |
+
$data['timestamp'] = gmdate('Y-m-d\TH:i:s\Z');
|
780 |
+
}
|
781 |
+
if (!isset($data['level'])) {
|
782 |
+
$data['level'] = self::ERROR;
|
783 |
+
}
|
784 |
+
if (!isset($data['tags'])) {
|
785 |
+
$data['tags'] = array();
|
786 |
+
}
|
787 |
+
if (!isset($data['extra'])) {
|
788 |
+
$data['extra'] = array();
|
789 |
+
}
|
790 |
+
if (!isset($data['event_id'])) {
|
791 |
+
$data['event_id'] = static::uuid4();
|
792 |
+
}
|
793 |
+
|
794 |
+
if (isset($data['message'])) {
|
795 |
+
$data['message'] = substr($data['message'], 0, $this->message_limit);
|
796 |
+
}
|
797 |
+
|
798 |
+
$data = array_merge($this->get_default_data(), $data);
|
799 |
+
|
800 |
+
if (static::is_http_request()) {
|
801 |
+
$data = array_merge($this->get_http_data(), $data);
|
802 |
+
}
|
803 |
+
|
804 |
+
$data = array_merge($this->get_user_data(), $data);
|
805 |
+
|
806 |
+
if ($this->release) {
|
807 |
+
$data['release'] = $this->release;
|
808 |
+
}
|
809 |
+
if ($this->environment) {
|
810 |
+
$data['environment'] = $this->environment;
|
811 |
+
}
|
812 |
+
|
813 |
+
$data['tags'] = array_merge(
|
814 |
+
$this->tags,
|
815 |
+
$this->context->tags,
|
816 |
+
$data['tags']);
|
817 |
+
|
818 |
+
$data['extra'] = array_merge(
|
819 |
+
$this->get_extra_data(),
|
820 |
+
$this->context->extra,
|
821 |
+
$data['extra']);
|
822 |
+
|
823 |
+
if (empty($data['extra'])) {
|
824 |
+
unset($data['extra']);
|
825 |
+
}
|
826 |
+
if (empty($data['tags'])) {
|
827 |
+
unset($data['tags']);
|
828 |
+
}
|
829 |
+
if (empty($data['user'])) {
|
830 |
+
unset($data['user']);
|
831 |
+
}
|
832 |
+
if (empty($data['request'])) {
|
833 |
+
unset($data['request']);
|
834 |
+
}
|
835 |
+
|
836 |
+
if (!$this->breadcrumbs->is_empty()) {
|
837 |
+
$data['breadcrumbs'] = $this->breadcrumbs->fetch();
|
838 |
+
}
|
839 |
+
|
840 |
+
if ((!$stack && $this->auto_log_stacks) || $stack === true) {
|
841 |
+
$stack = debug_backtrace();
|
842 |
+
|
843 |
+
// Drop last stack
|
844 |
+
array_shift($stack);
|
845 |
+
}
|
846 |
+
|
847 |
+
if (!empty($stack)) {
|
848 |
+
// manually trigger autoloading, as it's not done in some edge cases due to PHP bugs (see #60149)
|
849 |
+
if (!class_exists('PrintFriendly_Raven_Stacktrace')) {
|
850 |
+
// @codeCoverageIgnoreStart
|
851 |
+
spl_autoload_call('PrintFriendly_Raven_Stacktrace');
|
852 |
+
// @codeCoverageIgnoreEnd
|
853 |
+
}
|
854 |
+
|
855 |
+
if (!isset($data['stacktrace']) && !isset($data['exception'])) {
|
856 |
+
$data['stacktrace'] = array(
|
857 |
+
'frames' => PrintFriendly_Raven_Stacktrace::get_stack_info(
|
858 |
+
$stack, $this->trace, $vars, $this->message_limit, $this->prefixes,
|
859 |
+
$this->app_path, $this->excluded_app_paths, $this->serializer, $this->reprSerializer
|
860 |
+
),
|
861 |
+
);
|
862 |
+
}
|
863 |
+
}
|
864 |
+
|
865 |
+
$this->sanitize($data);
|
866 |
+
$this->process($data);
|
867 |
+
|
868 |
+
if (!$this->store_errors_for_bulk_send) {
|
869 |
+
$this->send($data);
|
870 |
+
} else {
|
871 |
+
$this->_pending_events[] = $data;
|
872 |
+
}
|
873 |
+
|
874 |
+
$this->_last_event_id = $data['event_id'];
|
875 |
+
|
876 |
+
return $data['event_id'];
|
877 |
+
}
|
878 |
+
|
879 |
+
public function sanitize(&$data)
|
880 |
+
{
|
881 |
+
// attempt to sanitize any user provided data
|
882 |
+
if (!empty($data['request'])) {
|
883 |
+
$data['request'] = $this->serializer->serialize($data['request']);
|
884 |
+
}
|
885 |
+
if (!empty($data['user'])) {
|
886 |
+
$data['user'] = $this->serializer->serialize($data['user'], 3);
|
887 |
+
}
|
888 |
+
if (!empty($data['extra'])) {
|
889 |
+
$data['extra'] = $this->serializer->serialize($data['extra']);
|
890 |
+
}
|
891 |
+
if (!empty($data['tags'])) {
|
892 |
+
foreach ($data['tags'] as $key => $value) {
|
893 |
+
$data['tags'][$key] = @(string)$value;
|
894 |
+
}
|
895 |
+
}
|
896 |
+
if (!empty($data['contexts'])) {
|
897 |
+
$data['contexts'] = $this->serializer->serialize($data['contexts'], 5);
|
898 |
+
}
|
899 |
+
}
|
900 |
+
|
901 |
+
/**
|
902 |
+
* Process data through all defined PrintFriendly_Raven_Processor sub-classes
|
903 |
+
*
|
904 |
+
* @param array $data Associative array of data to log
|
905 |
+
*/
|
906 |
+
public function process(&$data)
|
907 |
+
{
|
908 |
+
foreach ($this->processors as $processor) {
|
909 |
+
$processor->process($data);
|
910 |
+
}
|
911 |
+
}
|
912 |
+
|
913 |
+
public function sendUnsentErrors()
|
914 |
+
{
|
915 |
+
foreach ($this->_pending_events as $data) {
|
916 |
+
$this->send($data);
|
917 |
+
}
|
918 |
+
$this->_pending_events = array();
|
919 |
+
if ($this->store_errors_for_bulk_send) {
|
920 |
+
//in case an error occurs after this is called, on shutdown, send any new errors.
|
921 |
+
$this->store_errors_for_bulk_send = !defined('PrintFriendly_Raven_CLIENT_END_REACHED');
|
922 |
+
}
|
923 |
+
}
|
924 |
+
|
925 |
+
/**
|
926 |
+
* @param array $data
|
927 |
+
* @return string|bool
|
928 |
+
*/
|
929 |
+
public function encode(&$data)
|
930 |
+
{
|
931 |
+
$message = PrintFriendly_Raven_Compat::json_encode($data);
|
932 |
+
if ($message === false) {
|
933 |
+
if (function_exists('json_last_error_msg')) {
|
934 |
+
$this->_lasterror = json_last_error_msg();
|
935 |
+
} else {
|
936 |
+
// @codeCoverageIgnoreStart
|
937 |
+
$this->_lasterror = json_last_error();
|
938 |
+
// @codeCoverageIgnoreEnd
|
939 |
+
}
|
940 |
+
return false;
|
941 |
+
}
|
942 |
+
|
943 |
+
if (function_exists("gzcompress")) {
|
944 |
+
$message = gzcompress($message);
|
945 |
+
}
|
946 |
+
|
947 |
+
// PHP's builtin curl_* function are happy without this, but the exec method requires it
|
948 |
+
$message = base64_encode($message);
|
949 |
+
|
950 |
+
return $message;
|
951 |
+
}
|
952 |
+
|
953 |
+
/**
|
954 |
+
* Wrapper to handle encoding and sending data to the Sentry API server.
|
955 |
+
*
|
956 |
+
* @param array $data Associative array of data to log
|
957 |
+
*/
|
958 |
+
public function send(&$data)
|
959 |
+
{
|
960 |
+
if (is_callable($this->send_callback)
|
961 |
+
&& call_user_func_array($this->send_callback, array(&$data)) === false
|
962 |
+
) {
|
963 |
+
// if send_callback returns false, end native send
|
964 |
+
return;
|
965 |
+
}
|
966 |
+
|
967 |
+
if (!$this->server) {
|
968 |
+
return;
|
969 |
+
}
|
970 |
+
|
971 |
+
if ($this->transport) {
|
972 |
+
call_user_func($this->transport, $this, $data);
|
973 |
+
return;
|
974 |
+
}
|
975 |
+
|
976 |
+
// should this event be sampled?
|
977 |
+
if (rand(1, 100) / 100.0 > $this->sample_rate) {
|
978 |
+
return;
|
979 |
+
}
|
980 |
+
|
981 |
+
$message = $this->encode($data);
|
982 |
+
|
983 |
+
$headers = array(
|
984 |
+
'User-Agent' => static::getUserAgent(),
|
985 |
+
'X-Sentry-Auth' => $this->getAuthHeader(),
|
986 |
+
'Content-Type' => 'application/octet-stream'
|
987 |
+
);
|
988 |
+
|
989 |
+
$this->send_remote($this->server, $message, $headers);
|
990 |
+
}
|
991 |
+
|
992 |
+
/**
|
993 |
+
* Send data to Sentry
|
994 |
+
*
|
995 |
+
* @param string $url Full URL to Sentry
|
996 |
+
* @param array|string $data Associative array of data to log
|
997 |
+
* @param array $headers Associative array of headers
|
998 |
+
*/
|
999 |
+
protected function send_remote($url, $data, $headers = array())
|
1000 |
+
{
|
1001 |
+
$parts = parse_url($url);
|
1002 |
+
$parts['netloc'] = $parts['host'].(isset($parts['port']) ? ':'.$parts['port'] : null);
|
1003 |
+
$this->send_http($url, $data, $headers);
|
1004 |
+
}
|
1005 |
+
|
1006 |
+
protected static function get_default_ca_cert()
|
1007 |
+
{
|
1008 |
+
return dirname(__FILE__) . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'cacert.pem';
|
1009 |
+
}
|
1010 |
+
|
1011 |
+
/**
|
1012 |
+
* @return array
|
1013 |
+
* @doc http://stackoverflow.com/questions/9062798/php-curl-timeout-is-not-working/9063006#9063006
|
1014 |
+
*/
|
1015 |
+
protected function get_curl_options()
|
1016 |
+
{
|
1017 |
+
$options = array(
|
1018 |
+
CURLOPT_VERBOSE => false,
|
1019 |
+
CURLOPT_SSL_VERIFYHOST => 2,
|
1020 |
+
CURLOPT_SSL_VERIFYPEER => $this->verify_ssl,
|
1021 |
+
CURLOPT_CAINFO => $this->ca_cert,
|
1022 |
+
CURLOPT_USERAGENT => 'sentry-php/' . self::VERSION,
|
1023 |
+
);
|
1024 |
+
if ($this->http_proxy) {
|
1025 |
+
$options[CURLOPT_PROXY] = $this->http_proxy;
|
1026 |
+
}
|
1027 |
+
if ($this->curl_ssl_version) {
|
1028 |
+
$options[CURLOPT_SSLVERSION] = $this->curl_ssl_version;
|
1029 |
+
}
|
1030 |
+
if ($this->curl_ipv4) {
|
1031 |
+
$options[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;
|
1032 |
+
}
|
1033 |
+
if (defined('CURLOPT_TIMEOUT_MS')) {
|
1034 |
+
// MS is available in curl >= 7.16.2
|
1035 |
+
$timeout = max(1, ceil(1000 * $this->timeout));
|
1036 |
+
|
1037 |
+
// some versions of PHP 5.3 don't have this defined correctly
|
1038 |
+
if (!defined('CURLOPT_CONNECTTIMEOUT_MS')) {
|
1039 |
+
//see stackoverflow link in the phpdoc
|
1040 |
+
define('CURLOPT_CONNECTTIMEOUT_MS', 156);
|
1041 |
+
}
|
1042 |
+
|
1043 |
+
$options[CURLOPT_CONNECTTIMEOUT_MS] = $timeout;
|
1044 |
+
$options[CURLOPT_TIMEOUT_MS] = $timeout;
|
1045 |
+
} else {
|
1046 |
+
// fall back to the lower-precision timeout.
|
1047 |
+
$timeout = max(1, ceil($this->timeout));
|
1048 |
+
$options[CURLOPT_CONNECTTIMEOUT] = $timeout;
|
1049 |
+
$options[CURLOPT_TIMEOUT] = $timeout;
|
1050 |
+
}
|
1051 |
+
return $options;
|
1052 |
+
}
|
1053 |
+
|
1054 |
+
/**
|
1055 |
+
* Send the message over http to the sentry url given
|
1056 |
+
*
|
1057 |
+
* @param string $url URL of the Sentry instance to log to
|
1058 |
+
* @param array|string $data Associative array of data to log
|
1059 |
+
* @param array $headers Associative array of headers
|
1060 |
+
*/
|
1061 |
+
protected function send_http($url, $data, $headers = array())
|
1062 |
+
{
|
1063 |
+
if ($this->curl_method == 'async') {
|
1064 |
+
$this->_curl_handler->enqueue($url, $data, $headers);
|
1065 |
+
} elseif ($this->curl_method == 'exec') {
|
1066 |
+
$this->send_http_asynchronous_curl_exec($url, $data, $headers);
|
1067 |
+
} else {
|
1068 |
+
$this->send_http_synchronous($url, $data, $headers);
|
1069 |
+
}
|
1070 |
+
}
|
1071 |
+
|
1072 |
+
protected function buildCurlCommand($url, $data, $headers)
|
1073 |
+
{
|
1074 |
+
// TODO(dcramer): support ca_cert
|
1075 |
+
$cmd = $this->curl_path.' -X POST ';
|
1076 |
+
foreach ($headers as $key => $value) {
|
1077 |
+
$cmd .= '-H ' . escapeshellarg($key.': '.$value). ' ';
|
1078 |
+
}
|
1079 |
+
$cmd .= '-d ' . escapeshellarg($data) . ' ';
|
1080 |
+
$cmd .= escapeshellarg($url) . ' ';
|
1081 |
+
$cmd .= '-m 5 '; // 5 second timeout for the whole process (connect + send)
|
1082 |
+
if (!$this->verify_ssl) {
|
1083 |
+
$cmd .= '-k ';
|
1084 |
+
}
|
1085 |
+
$cmd .= '> /dev/null 2>&1 &'; // ensure exec returns immediately while curl runs in the background
|
1086 |
+
|
1087 |
+
return $cmd;
|
1088 |
+
}
|
1089 |
+
|
1090 |
+
/**
|
1091 |
+
* Send the cURL to Sentry asynchronously. No errors will be returned from cURL
|
1092 |
+
*
|
1093 |
+
* @param string $url URL of the Sentry instance to log to
|
1094 |
+
* @param array|string $data Associative array of data to log
|
1095 |
+
* @param array $headers Associative array of headers
|
1096 |
+
* @return bool
|
1097 |
+
*/
|
1098 |
+
protected function send_http_asynchronous_curl_exec($url, $data, $headers)
|
1099 |
+
{
|
1100 |
+
exec($this->buildCurlCommand($url, $data, $headers));
|
1101 |
+
return true; // The exec method is just fire and forget, so just assume it always works
|
1102 |
+
}
|
1103 |
+
|
1104 |
+
/**
|
1105 |
+
* Send a blocking cURL to Sentry and check for errors from cURL
|
1106 |
+
*
|
1107 |
+
* @param string $url URL of the Sentry instance to log to
|
1108 |
+
* @param array|string $data Associative array of data to log
|
1109 |
+
* @param array $headers Associative array of headers
|
1110 |
+
* @return bool
|
1111 |
+
*/
|
1112 |
+
protected function send_http_synchronous($url, $data, $headers)
|
1113 |
+
{
|
1114 |
+
$new_headers = array();
|
1115 |
+
foreach ($headers as $key => $value) {
|
1116 |
+
array_push($new_headers, $key .': '. $value);
|
1117 |
+
}
|
1118 |
+
// XXX(dcramer): Prevent 100-continue response form server (Fixes GH-216)
|
1119 |
+
$new_headers[] = 'Expect:';
|
1120 |
+
|
1121 |
+
if (is_null($this->_curl_instance)) {
|
1122 |
+
$this->_curl_instance = curl_init($url);
|
1123 |
+
}
|
1124 |
+
curl_setopt($this->_curl_instance, CURLOPT_POST, 1);
|
1125 |
+
curl_setopt($this->_curl_instance, CURLOPT_HTTPHEADER, $new_headers);
|
1126 |
+
curl_setopt($this->_curl_instance, CURLOPT_POSTFIELDS, $data);
|
1127 |
+
curl_setopt($this->_curl_instance, CURLOPT_RETURNTRANSFER, true);
|
1128 |
+
|
1129 |
+
$options = $this->get_curl_options();
|
1130 |
+
if (isset($options[CURLOPT_CAINFO])) {
|
1131 |
+
$ca_cert = $options[CURLOPT_CAINFO];
|
1132 |
+
unset($options[CURLOPT_CAINFO]);
|
1133 |
+
} else {
|
1134 |
+
$ca_cert = null;
|
1135 |
+
}
|
1136 |
+
curl_setopt_array($this->_curl_instance, $options);
|
1137 |
+
|
1138 |
+
$buffer = curl_exec($this->_curl_instance);
|
1139 |
+
|
1140 |
+
$errno = curl_errno($this->_curl_instance);
|
1141 |
+
// CURLE_SSL_CACERT || CURLE_SSL_CACERT_BADFILE
|
1142 |
+
if ((($errno == 60) || ($errno == 77)) && !is_null($ca_cert)) {
|
1143 |
+
curl_setopt($this->_curl_instance, CURLOPT_CAINFO, $ca_cert);
|
1144 |
+
$buffer = curl_exec($this->_curl_instance);
|
1145 |
+
}
|
1146 |
+
if ($errno != 0) {
|
1147 |
+
$this->_lasterror = curl_error($this->_curl_instance);
|
1148 |
+
$this->_last_sentry_error = null;
|
1149 |
+
return false;
|
1150 |
+
}
|
1151 |
+
|
1152 |
+
$code = curl_getinfo($this->_curl_instance, CURLINFO_HTTP_CODE);
|
1153 |
+
$success = ($code == 200);
|
1154 |
+
if ($success) {
|
1155 |
+
$this->_lasterror = null;
|
1156 |
+
$this->_last_sentry_error = null;
|
1157 |
+
} else {
|
1158 |
+
// It'd be nice just to raise an exception here, but it's not very PHP-like
|
1159 |
+
$this->_lasterror = curl_error($this->_curl_instance);
|
1160 |
+
$this->_last_sentry_error = @json_decode($buffer);
|
1161 |
+
}
|
1162 |
+
|
1163 |
+
return $success;
|
1164 |
+
}
|
1165 |
+
|
1166 |
+
/**
|
1167 |
+
* Generate a Sentry authorization header string
|
1168 |
+
*
|
1169 |
+
* @param string $timestamp Timestamp when the event occurred
|
1170 |
+
* @param string $client HTTP client name (not PrintFriendly_Raven_Client object)
|
1171 |
+
* @param string $api_key Sentry API key
|
1172 |
+
* @param string $secret_key Sentry API key
|
1173 |
+
* @return string
|
1174 |
+
*/
|
1175 |
+
protected static function get_auth_header($timestamp, $client, $api_key, $secret_key)
|
1176 |
+
{
|
1177 |
+
$header = array(
|
1178 |
+
sprintf('sentry_timestamp=%F', $timestamp),
|
1179 |
+
"sentry_client={$client}",
|
1180 |
+
sprintf('sentry_version=%s', self::PROTOCOL),
|
1181 |
+
);
|
1182 |
+
|
1183 |
+
if ($api_key) {
|
1184 |
+
$header[] = "sentry_key={$api_key}";
|
1185 |
+
}
|
1186 |
+
|
1187 |
+
if ($secret_key) {
|
1188 |
+
$header[] = "sentry_secret={$secret_key}";
|
1189 |
+
}
|
1190 |
+
|
1191 |
+
|
1192 |
+
return sprintf('Sentry %s', implode(', ', $header));
|
1193 |
+
}
|
1194 |
+
|
1195 |
+
public function getAuthHeader()
|
1196 |
+
{
|
1197 |
+
$timestamp = microtime(true);
|
1198 |
+
return $this->get_auth_header(
|
1199 |
+
$timestamp, static::getUserAgent(), $this->public_key, $this->secret_key
|
1200 |
+
);
|
1201 |
+
}
|
1202 |
+
|
1203 |
+
/**
|
1204 |
+
* Generate an uuid4 value
|
1205 |
+
*
|
1206 |
+
* @return string
|
1207 |
+
*/
|
1208 |
+
protected static function uuid4()
|
1209 |
+
{
|
1210 |
+
$uuid = sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
|
1211 |
+
// 32 bits for "time_low"
|
1212 |
+
mt_rand(0, 0xffff), mt_rand(0, 0xffff),
|
1213 |
+
|
1214 |
+
// 16 bits for "time_mid"
|
1215 |
+
mt_rand(0, 0xffff),
|
1216 |
+
|
1217 |
+
// 16 bits for "time_hi_and_version",
|
1218 |
+
// four most significant bits holds version number 4
|
1219 |
+
mt_rand(0, 0x0fff) | 0x4000,
|
1220 |
+
|
1221 |
+
// 16 bits, 8 bits for "clk_seq_hi_res",
|
1222 |
+
// 8 bits for "clk_seq_low",
|
1223 |
+
// two most significant bits holds zero and one for variant DCE1.1
|
1224 |
+
mt_rand(0, 0x3fff) | 0x8000,
|
1225 |
+
|
1226 |
+
// 48 bits for "node"
|
1227 |
+
mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
|
1228 |
+
);
|
1229 |
+
|
1230 |
+
return str_replace('-', '', $uuid);
|
1231 |
+
}
|
1232 |
+
|
1233 |
+
/**
|
1234 |
+
* Return the URL for the current request
|
1235 |
+
*
|
1236 |
+
* @return string|null
|
1237 |
+
*/
|
1238 |
+
protected function get_current_url()
|
1239 |
+
{
|
1240 |
+
// When running from commandline the REQUEST_URI is missing.
|
1241 |
+
if (!isset($_SERVER['REQUEST_URI'])) {
|
1242 |
+
return null;
|
1243 |
+
}
|
1244 |
+
|
1245 |
+
// HTTP_HOST is a client-supplied header that is optional in HTTP 1.0
|
1246 |
+
$host = (!empty($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST']
|
1247 |
+
: (!empty($_SERVER['LOCAL_ADDR']) ? $_SERVER['LOCAL_ADDR']
|
1248 |
+
: (!empty($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : '')));
|
1249 |
+
|
1250 |
+
$httpS = $this->isHttps() ? 's' : '';
|
1251 |
+
return "http{$httpS}://{$host}{$_SERVER['REQUEST_URI']}";
|
1252 |
+
}
|
1253 |
+
|
1254 |
+
/**
|
1255 |
+
* Was the current request made over https?
|
1256 |
+
*
|
1257 |
+
* @return bool
|
1258 |
+
*/
|
1259 |
+
protected function isHttps()
|
1260 |
+
{
|
1261 |
+
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') {
|
1262 |
+
return true;
|
1263 |
+
}
|
1264 |
+
|
1265 |
+
if (!empty($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) {
|
1266 |
+
return true;
|
1267 |
+
}
|
1268 |
+
|
1269 |
+
if (!empty($this->trust_x_forwarded_proto) &&
|
1270 |
+
!empty($_SERVER['X-FORWARDED-PROTO']) &&
|
1271 |
+
$_SERVER['X-FORWARDED-PROTO'] === 'https') {
|
1272 |
+
return true;
|
1273 |
+
}
|
1274 |
+
|
1275 |
+
return false;
|
1276 |
+
}
|
1277 |
+
|
1278 |
+
/**
|
1279 |
+
* Get the value of a key from $_SERVER
|
1280 |
+
*
|
1281 |
+
* @param string $key Key whose value you wish to obtain
|
1282 |
+
* @return string Key's value
|
1283 |
+
*/
|
1284 |
+
private static function _server_variable($key)
|
1285 |
+
{
|
1286 |
+
if (isset($_SERVER[$key])) {
|
1287 |
+
return $_SERVER[$key];
|
1288 |
+
}
|
1289 |
+
|
1290 |
+
return '';
|
1291 |
+
}
|
1292 |
+
|
1293 |
+
/**
|
1294 |
+
* Translate a PHP Error constant into a Sentry log level group
|
1295 |
+
*
|
1296 |
+
* @param string $severity PHP E_$x error constant
|
1297 |
+
* @return string Sentry log level group
|
1298 |
+
*/
|
1299 |
+
public function translateSeverity($severity)
|
1300 |
+
{
|
1301 |
+
if (is_array($this->severity_map) && isset($this->severity_map[$severity])) {
|
1302 |
+
return $this->severity_map[$severity];
|
1303 |
+
}
|
1304 |
+
switch ($severity) {
|
1305 |
+
case E_ERROR: return PrintFriendly_Raven_Client::ERROR;
|
1306 |
+
case E_WARNING: return PrintFriendly_Raven_Client::WARN;
|
1307 |
+
case E_PARSE: return PrintFriendly_Raven_Client::ERROR;
|
1308 |
+
case E_NOTICE: return PrintFriendly_Raven_Client::INFO;
|
1309 |
+
case E_CORE_ERROR: return PrintFriendly_Raven_Client::ERROR;
|
1310 |
+
case E_CORE_WARNING: return PrintFriendly_Raven_Client::WARN;
|
1311 |
+
case E_COMPILE_ERROR: return PrintFriendly_Raven_Client::ERROR;
|
1312 |
+
case E_COMPILE_WARNING: return PrintFriendly_Raven_Client::WARN;
|
1313 |
+
case E_USER_ERROR: return PrintFriendly_Raven_Client::ERROR;
|
1314 |
+
case E_USER_WARNING: return PrintFriendly_Raven_Client::WARN;
|
1315 |
+
case E_USER_NOTICE: return PrintFriendly_Raven_Client::INFO;
|
1316 |
+
case E_STRICT: return PrintFriendly_Raven_Client::INFO;
|
1317 |
+
case E_RECOVERABLE_ERROR: return PrintFriendly_Raven_Client::ERROR;
|
1318 |
+
}
|
1319 |
+
if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
|
1320 |
+
switch ($severity) {
|
1321 |
+
case E_DEPRECATED: return PrintFriendly_Raven_Client::WARN;
|
1322 |
+
case E_USER_DEPRECATED: return PrintFriendly_Raven_Client::WARN;
|
1323 |
+
}
|
1324 |
+
}
|
1325 |
+
return PrintFriendly_Raven_Client::ERROR;
|
1326 |
+
}
|
1327 |
+
|
1328 |
+
/**
|
1329 |
+
* Provide a map of PHP Error constants to Sentry logging groups to use instead
|
1330 |
+
* of the defaults in translateSeverity()
|
1331 |
+
*
|
1332 |
+
* @param array $map
|
1333 |
+
*/
|
1334 |
+
public function registerSeverityMap($map)
|
1335 |
+
{
|
1336 |
+
$this->severity_map = $map;
|
1337 |
+
}
|
1338 |
+
|
1339 |
+
/**
|
1340 |
+
* Convenience function for setting a user's ID and Email
|
1341 |
+
*
|
1342 |
+
* @deprecated
|
1343 |
+
* @param string $id User's ID
|
1344 |
+
* @param string|null $email User's email
|
1345 |
+
* @param array $data Additional user data
|
1346 |
+
* @codeCoverageIgnore
|
1347 |
+
*/
|
1348 |
+
public function set_user_data($id, $email = null, $data = array())
|
1349 |
+
{
|
1350 |
+
$user = array('id' => $id);
|
1351 |
+
if (isset($email)) {
|
1352 |
+
$user['email'] = $email;
|
1353 |
+
}
|
1354 |
+
$this->user_context(array_merge($user, $data));
|
1355 |
+
}
|
1356 |
+
|
1357 |
+
public function onShutdown()
|
1358 |
+
{
|
1359 |
+
if (!defined('PrintFriendly_Raven_CLIENT_END_REACHED')) {
|
1360 |
+
define('PrintFriendly_Raven_CLIENT_END_REACHED', true);
|
1361 |
+
}
|
1362 |
+
$this->sendUnsentErrors();
|
1363 |
+
if ($this->curl_method == 'async') {
|
1364 |
+
$this->_curl_handler->join();
|
1365 |
+
}
|
1366 |
+
}
|
1367 |
+
|
1368 |
+
/**
|
1369 |
+
* Sets user context.
|
1370 |
+
*
|
1371 |
+
* @param array $data Associative array of user data
|
1372 |
+
* @param bool $merge Merge existing context with new context
|
1373 |
+
*/
|
1374 |
+
public function user_context($data, $merge = true)
|
1375 |
+
{
|
1376 |
+
if ($merge && $this->context->user !== null) {
|
1377 |
+
// bail if data is null
|
1378 |
+
if (!$data) {
|
1379 |
+
return;
|
1380 |
+
}
|
1381 |
+
$this->context->user = array_merge($this->context->user, $data);
|
1382 |
+
} else {
|
1383 |
+
$this->context->user = $data;
|
1384 |
+
}
|
1385 |
+
}
|
1386 |
+
|
1387 |
+
/**
|
1388 |
+
* Appends tags context.
|
1389 |
+
*
|
1390 |
+
* @param array $data Associative array of tags
|
1391 |
+
*/
|
1392 |
+
public function tags_context($data)
|
1393 |
+
{
|
1394 |
+
$this->context->tags = array_merge($this->context->tags, $data);
|
1395 |
+
}
|
1396 |
+
|
1397 |
+
/**
|
1398 |
+
* Appends additional context.
|
1399 |
+
*
|
1400 |
+
* @param array $data Associative array of extra data
|
1401 |
+
*/
|
1402 |
+
public function extra_context($data)
|
1403 |
+
{
|
1404 |
+
$this->context->extra = array_merge($this->context->extra, $data);
|
1405 |
+
}
|
1406 |
+
|
1407 |
+
/**
|
1408 |
+
* @param array $processors
|
1409 |
+
*/
|
1410 |
+
public function setProcessors(array $processors)
|
1411 |
+
{
|
1412 |
+
$this->processors = $processors;
|
1413 |
+
}
|
1414 |
+
|
1415 |
+
/**
|
1416 |
+
* @return object|null
|
1417 |
+
*/
|
1418 |
+
public function getLastSentryError()
|
1419 |
+
{
|
1420 |
+
return $this->_last_sentry_error;
|
1421 |
+
}
|
1422 |
+
|
1423 |
+
/**
|
1424 |
+
* @return bool
|
1425 |
+
*/
|
1426 |
+
public function getShutdownFunctionHasBeenSet()
|
1427 |
+
{
|
1428 |
+
return $this->_shutdown_function_has_been_set;
|
1429 |
+
}
|
1430 |
+
|
1431 |
+
public function close_curl_resource()
|
1432 |
+
{
|
1433 |
+
if (!is_null($this->_curl_instance)) {
|
1434 |
+
curl_close($this->_curl_instance);
|
1435 |
+
$this->_curl_instance = null;
|
1436 |
+
}
|
1437 |
+
}
|
1438 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Compat.php
ADDED
@@ -0,0 +1,180 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Raven.
|
5 |
+
*
|
6 |
+
* (c) Sentry Team
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
class PrintFriendly_Raven_Compat
|
13 |
+
{
|
14 |
+
public static function gethostname()
|
15 |
+
{
|
16 |
+
if (function_exists('gethostname')) {
|
17 |
+
return gethostname();
|
18 |
+
}
|
19 |
+
|
20 |
+
return self::_gethostname();
|
21 |
+
}
|
22 |
+
|
23 |
+
public static function _gethostname()
|
24 |
+
{
|
25 |
+
return php_uname('n');
|
26 |
+
}
|
27 |
+
|
28 |
+
public static function hash_hmac($algo, $data, $key, $raw_output = false)
|
29 |
+
{
|
30 |
+
if (function_exists('hash_hmac')) {
|
31 |
+
return hash_hmac($algo, $data, $key, $raw_output);
|
32 |
+
}
|
33 |
+
|
34 |
+
return self::_hash_hmac($algo, $data, $key, $raw_output);
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Implementation from 'KC Cloyd'.
|
39 |
+
*
|
40 |
+
* @param string $algo Name of selected hashing algorithm
|
41 |
+
* @param string $data Message to be hashed
|
42 |
+
* @param string $key Shared secret key used for generating the HMAC variant of the message digest
|
43 |
+
* @param bool $raw_output Must be binary
|
44 |
+
* @return string
|
45 |
+
* @doc http://php.net/manual/en/function.hash-hmac.php
|
46 |
+
*/
|
47 |
+
public static function _hash_hmac($algo, $data, $key, $raw_output = false)
|
48 |
+
{
|
49 |
+
$algo = strtolower($algo);
|
50 |
+
$pack = 'H'.strlen($algo('test'));
|
51 |
+
$size = 64;
|
52 |
+
$opad = str_repeat(chr(0x5C), $size);
|
53 |
+
$ipad = str_repeat(chr(0x36), $size);
|
54 |
+
|
55 |
+
if (strlen($key) > $size) {
|
56 |
+
$key = str_pad(pack($pack, $algo($key)), $size, chr(0x00));
|
57 |
+
} else {
|
58 |
+
$key = str_pad($key, $size, chr(0x00));
|
59 |
+
}
|
60 |
+
|
61 |
+
$keyLastPos = strlen($key) - 1;
|
62 |
+
for ($i = 0; $i < $keyLastPos; $i++) {
|
63 |
+
$opad[$i] = $opad[$i] ^ $key[$i];
|
64 |
+
$ipad[$i] = $ipad[$i] ^ $key[$i];
|
65 |
+
}
|
66 |
+
|
67 |
+
$output = $algo($opad.pack($pack, $algo($ipad.$data)));
|
68 |
+
|
69 |
+
return ($raw_output) ? pack($pack, $output) : $output;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Note that we discard the options given to be compatible
|
74 |
+
* with PHP < 5.3
|
75 |
+
*
|
76 |
+
* @param mixed $value
|
77 |
+
* @param int $options
|
78 |
+
* @param int $depth Set the maximum depth
|
79 |
+
* @return string
|
80 |
+
*/
|
81 |
+
public static function json_encode($value, $options = 0, $depth = 512)
|
82 |
+
{
|
83 |
+
if (function_exists('json_encode')) {
|
84 |
+
if (version_compare(PHP_VERSION, '5.3.0', '<')) {
|
85 |
+
return json_encode($value);
|
86 |
+
} elseif (version_compare(PHP_VERSION, '5.5.0', '<')) {
|
87 |
+
return json_encode($value, $options);
|
88 |
+
} else {
|
89 |
+
return json_encode($value, $options, $depth);
|
90 |
+
}
|
91 |
+
}
|
92 |
+
|
93 |
+
// @codeCoverageIgnoreStart
|
94 |
+
return self::_json_encode($value, $depth);
|
95 |
+
// @codeCoverageIgnoreEnd
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* @param mixed $value
|
100 |
+
* @param int $depth Set the maximum depth
|
101 |
+
* @return string|false
|
102 |
+
*/
|
103 |
+
public static function _json_encode($value, $depth = 513)
|
104 |
+
{
|
105 |
+
if (ini_get('xdebug.extended_info') !== false) {
|
106 |
+
ini_set('xdebug.max_nesting_level', 2048);
|
107 |
+
}
|
108 |
+
return self::_json_encode_lowlevel($value, $depth);
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Implementation taken from
|
113 |
+
* http://www.mike-griffiths.co.uk/php-json_encode-alternative/
|
114 |
+
*
|
115 |
+
* @param mixed $value
|
116 |
+
* @param int $depth Set the maximum depth
|
117 |
+
* @return string|false
|
118 |
+
*/
|
119 |
+
private static function _json_encode_lowlevel($value, $depth)
|
120 |
+
{
|
121 |
+
static $jsonReplaces = array(
|
122 |
+
array('\\', '/', "\n", "\t", "\r", "\f", '"'),
|
123 |
+
array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\f', '\"'));
|
124 |
+
|
125 |
+
if (is_null($value)) {
|
126 |
+
return 'null';
|
127 |
+
}
|
128 |
+
if ($value === false) {
|
129 |
+
return 'false';
|
130 |
+
}
|
131 |
+
if ($value === true) {
|
132 |
+
return 'true';
|
133 |
+
}
|
134 |
+
|
135 |
+
if (is_scalar($value)) {
|
136 |
+
// Always use '.' for floats.
|
137 |
+
if (is_float($value)) {
|
138 |
+
return floatval(str_replace(',', '.', strval($value)));
|
139 |
+
}
|
140 |
+
if (is_string($value)) {
|
141 |
+
return sprintf('"%s"',
|
142 |
+
str_replace($jsonReplaces[0], $jsonReplaces[1], $value));
|
143 |
+
} else {
|
144 |
+
return $value;
|
145 |
+
}
|
146 |
+
} elseif ($depth <= 1) {
|
147 |
+
return false;
|
148 |
+
}
|
149 |
+
|
150 |
+
$isList = true;
|
151 |
+
for ($i = 0, reset($value); $i<count($value); $i++, next($value)) {
|
152 |
+
if (key($value) !== $i) {
|
153 |
+
$isList = false;
|
154 |
+
break;
|
155 |
+
}
|
156 |
+
}
|
157 |
+
$result = array();
|
158 |
+
if ($isList) {
|
159 |
+
foreach ($value as $v) {
|
160 |
+
$this_value = self::_json_encode($v, $depth - 1);
|
161 |
+
if ($this_value === false) {
|
162 |
+
return false;
|
163 |
+
}
|
164 |
+
$result[] = $this_value;
|
165 |
+
}
|
166 |
+
|
167 |
+
return '[' . join(',', $result) . ']';
|
168 |
+
} else {
|
169 |
+
foreach ($value as $k => $v) {
|
170 |
+
$this_value = self::_json_encode($v, $depth - 1);
|
171 |
+
if ($this_value === false) {
|
172 |
+
return false;
|
173 |
+
}
|
174 |
+
$result[] = self::_json_encode($k, $depth - 1).':'.$this_value;
|
175 |
+
}
|
176 |
+
|
177 |
+
return '{' . join(',', $result) . '}';
|
178 |
+
}
|
179 |
+
}
|
180 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Context.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Storage for additional client context.
|
4 |
+
*
|
5 |
+
* @package raven
|
6 |
+
*/
|
7 |
+
class PrintFriendly_Raven_Context
|
8 |
+
{
|
9 |
+
/**
|
10 |
+
* @var array
|
11 |
+
*/
|
12 |
+
public $tags;
|
13 |
+
/**
|
14 |
+
* @var array
|
15 |
+
*/
|
16 |
+
public $extra;
|
17 |
+
/**
|
18 |
+
* @var array|null
|
19 |
+
*/
|
20 |
+
public $user;
|
21 |
+
|
22 |
+
public function __construct()
|
23 |
+
{
|
24 |
+
$this->clear();
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Clean up existing context.
|
29 |
+
*/
|
30 |
+
public function clear()
|
31 |
+
{
|
32 |
+
$this->tags = array();
|
33 |
+
$this->extra = array();
|
34 |
+
$this->user = null;
|
35 |
+
}
|
36 |
+
}
|
trunk/vendor/PrintFriendly/Raven/CurlHandler.php
ADDED
@@ -0,0 +1,119 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* This file is part of Raven.
|
4 |
+
*
|
5 |
+
* (c) Sentry Team
|
6 |
+
*
|
7 |
+
* For the full copyright and license information, please view the LICENSE
|
8 |
+
* file that was distributed with this source code.
|
9 |
+
*/
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Asynchronous Curl connection manager.
|
13 |
+
*
|
14 |
+
* @package raven
|
15 |
+
*/
|
16 |
+
|
17 |
+
// TODO(dcramer): handle ca_cert
|
18 |
+
class PrintFriendly_Raven_CurlHandler
|
19 |
+
{
|
20 |
+
protected $join_timeout;
|
21 |
+
protected $multi_handle;
|
22 |
+
protected $options;
|
23 |
+
protected $requests;
|
24 |
+
|
25 |
+
public function __construct($options, $join_timeout = 5)
|
26 |
+
{
|
27 |
+
$this->options = $options;
|
28 |
+
$this->multi_handle = curl_multi_init();
|
29 |
+
$this->requests = array();
|
30 |
+
$this->join_timeout = 5;
|
31 |
+
|
32 |
+
register_shutdown_function(array($this, 'join'));
|
33 |
+
}
|
34 |
+
|
35 |
+
public function __destruct()
|
36 |
+
{
|
37 |
+
$this->join();
|
38 |
+
}
|
39 |
+
|
40 |
+
public function enqueue($url, $data = null, $headers = array())
|
41 |
+
{
|
42 |
+
$ch = curl_init();
|
43 |
+
|
44 |
+
$new_headers = array();
|
45 |
+
foreach ($headers as $key => $value) {
|
46 |
+
array_push($new_headers, $key .': '. $value);
|
47 |
+
}
|
48 |
+
// XXX(dcramer): Prevent 100-continue response form server (Fixes GH-216)
|
49 |
+
$new_headers[] = 'Expect:';
|
50 |
+
|
51 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER, $new_headers);
|
52 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
53 |
+
curl_setopt($ch, CURLOPT_URL, $url);
|
54 |
+
|
55 |
+
curl_setopt_array($ch, $this->options);
|
56 |
+
|
57 |
+
if (isset($data)) {
|
58 |
+
curl_setopt($ch, CURLOPT_POST, true);
|
59 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
|
60 |
+
}
|
61 |
+
|
62 |
+
curl_multi_add_handle($this->multi_handle, $ch);
|
63 |
+
|
64 |
+
$fd = (int)$ch;
|
65 |
+
$this->requests[$fd] = 1;
|
66 |
+
|
67 |
+
$this->select();
|
68 |
+
|
69 |
+
return $fd;
|
70 |
+
}
|
71 |
+
|
72 |
+
public function join($timeout = null)
|
73 |
+
{
|
74 |
+
if (!isset($timeout)) {
|
75 |
+
$timeout = $this->join_timeout;
|
76 |
+
}
|
77 |
+
$start = time();
|
78 |
+
do {
|
79 |
+
$this->select();
|
80 |
+
if (count($this->requests) === 0) {
|
81 |
+
break;
|
82 |
+
}
|
83 |
+
usleep(10000);
|
84 |
+
} while ($timeout !== 0 && time() - $start < $timeout);
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* @doc http://php.net/manual/en/function.curl-multi-exec.php
|
89 |
+
*/
|
90 |
+
protected function select()
|
91 |
+
{
|
92 |
+
do {
|
93 |
+
$mrc = curl_multi_exec($this->multi_handle, $active);
|
94 |
+
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
|
95 |
+
|
96 |
+
while ($active && $mrc == CURLM_OK) {
|
97 |
+
if (curl_multi_select($this->multi_handle) !== -1) {
|
98 |
+
do {
|
99 |
+
$mrc = curl_multi_exec($this->multi_handle, $active);
|
100 |
+
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
|
101 |
+
} else {
|
102 |
+
return;
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
+
while ($info = curl_multi_info_read($this->multi_handle)) {
|
107 |
+
$ch = $info['handle'];
|
108 |
+
$fd = (int)$ch;
|
109 |
+
|
110 |
+
curl_multi_remove_handle($this->multi_handle, $ch);
|
111 |
+
|
112 |
+
if (!isset($this->requests[$fd])) {
|
113 |
+
return;
|
114 |
+
}
|
115 |
+
|
116 |
+
unset($this->requests[$fd]);
|
117 |
+
}
|
118 |
+
}
|
119 |
+
}
|
trunk/vendor/PrintFriendly/Raven/ErrorHandler.php
ADDED
@@ -0,0 +1,195 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Raven.
|
5 |
+
*
|
6 |
+
* (c) Sentry Team
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Event handlers for exceptions and errors
|
14 |
+
*
|
15 |
+
* $client = new PrintFriendly_Raven_Client('http://public:secret/example.com/1');
|
16 |
+
* $error_handler = new PrintFriendly_Raven_ErrorHandler($client);
|
17 |
+
* $error_handler->registerExceptionHandler();
|
18 |
+
* $error_handler->registerErrorHandler();
|
19 |
+
* $error_handler->registerShutdownFunction();
|
20 |
+
*
|
21 |
+
* @package raven
|
22 |
+
*/
|
23 |
+
|
24 |
+
// TODO(dcramer): deprecate default error types in favor of runtime configuration
|
25 |
+
// unless a reason can be determined that making them dynamic is better. They
|
26 |
+
// currently are not used outside of the fatal handler.
|
27 |
+
class PrintFriendly_Raven_ErrorHandler
|
28 |
+
{
|
29 |
+
protected $old_exception_handler;
|
30 |
+
protected $call_existing_exception_handler = false;
|
31 |
+
protected $old_error_handler;
|
32 |
+
protected $call_existing_error_handler = false;
|
33 |
+
protected $reservedMemory;
|
34 |
+
/** @var PrintFriendly_Raven_Client */
|
35 |
+
protected $client;
|
36 |
+
protected $send_errors_last = false;
|
37 |
+
protected $fatal_error_types = array(
|
38 |
+
E_ERROR,
|
39 |
+
E_PARSE,
|
40 |
+
E_CORE_ERROR,
|
41 |
+
E_CORE_WARNING,
|
42 |
+
E_COMPILE_ERROR,
|
43 |
+
E_COMPILE_WARNING,
|
44 |
+
E_STRICT,
|
45 |
+
);
|
46 |
+
|
47 |
+
/**
|
48 |
+
* @var array
|
49 |
+
* Error types which should be processed by the handler.
|
50 |
+
* A 'null' value implies "whatever error_reporting is at time of error".
|
51 |
+
*/
|
52 |
+
protected $error_types = null;
|
53 |
+
|
54 |
+
public function __construct($client, $send_errors_last = false, $error_types = null,
|
55 |
+
$__error_types = null)
|
56 |
+
{
|
57 |
+
// support legacy fourth argument for error types
|
58 |
+
if ($error_types === null) {
|
59 |
+
$error_types = $__error_types;
|
60 |
+
}
|
61 |
+
|
62 |
+
$this->client = $client;
|
63 |
+
$this->error_types = $error_types;
|
64 |
+
$this->fatal_error_types = array_reduce($this->fatal_error_types, array($this, 'bitwiseOr'));
|
65 |
+
if ($send_errors_last) {
|
66 |
+
$this->send_errors_last = true;
|
67 |
+
$this->client->store_errors_for_bulk_send = true;
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
public function bitwiseOr($a, $b)
|
72 |
+
{
|
73 |
+
return $a | $b;
|
74 |
+
}
|
75 |
+
|
76 |
+
public function handleException($e, $isError = false, $vars = null)
|
77 |
+
{
|
78 |
+
$e->event_id = $this->client->captureException($e, null, null, $vars);
|
79 |
+
|
80 |
+
if (!$isError && $this->call_existing_exception_handler) {
|
81 |
+
if ($this->old_exception_handler !== null) {
|
82 |
+
call_user_func($this->old_exception_handler, $e);
|
83 |
+
} else {
|
84 |
+
throw $e;
|
85 |
+
}
|
86 |
+
}
|
87 |
+
}
|
88 |
+
|
89 |
+
public function handleError($type, $message, $file = '', $line = 0, $context = array())
|
90 |
+
{
|
91 |
+
// http://php.net/set_error_handler
|
92 |
+
// The following error types cannot be handled with a user defined function: E_ERROR,
|
93 |
+
// E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and
|
94 |
+
// most of E_STRICT raised in the file where set_error_handler() is called.
|
95 |
+
|
96 |
+
if (error_reporting() !== 0) {
|
97 |
+
$error_types = $this->error_types;
|
98 |
+
if ($error_types === null) {
|
99 |
+
$error_types = error_reporting();
|
100 |
+
}
|
101 |
+
if ($error_types & $type) {
|
102 |
+
$e = new ErrorException($message, 0, $type, $file, $line);
|
103 |
+
$this->handleException($e, true, $context);
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
+
if ($this->call_existing_error_handler) {
|
108 |
+
if ($this->old_error_handler !== null) {
|
109 |
+
return call_user_func(
|
110 |
+
$this->old_error_handler,
|
111 |
+
$type,
|
112 |
+
$message,
|
113 |
+
$file,
|
114 |
+
$line,
|
115 |
+
$context
|
116 |
+
);
|
117 |
+
} else {
|
118 |
+
return false;
|
119 |
+
}
|
120 |
+
}
|
121 |
+
return true;
|
122 |
+
}
|
123 |
+
|
124 |
+
public function handleFatalError()
|
125 |
+
{
|
126 |
+
unset($this->reservedMemory);
|
127 |
+
|
128 |
+
if (null === $error = error_get_last()) {
|
129 |
+
return;
|
130 |
+
}
|
131 |
+
|
132 |
+
if ($this->shouldCaptureFatalError($error['type'])) {
|
133 |
+
$e = new ErrorException(
|
134 |
+
@$error['message'], 0, @$error['type'],
|
135 |
+
@$error['file'], @$error['line']
|
136 |
+
);
|
137 |
+
$this->handleException($e, true);
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
public function shouldCaptureFatalError($type)
|
142 |
+
{
|
143 |
+
return $type & $this->fatal_error_types;
|
144 |
+
}
|
145 |
+
|
146 |
+
/**
|
147 |
+
* Register a handler which will intercept unhnalded exceptions and report them to the
|
148 |
+
* associated Sentry client.
|
149 |
+
*
|
150 |
+
* @param bool $call_existing Call any existing exception handlers after processing
|
151 |
+
* this instance.
|
152 |
+
* @return PrintFriendly_Raven_ErrorHandler
|
153 |
+
*/
|
154 |
+
public function registerExceptionHandler($call_existing = true)
|
155 |
+
{
|
156 |
+
$this->old_exception_handler = set_exception_handler(array($this, 'handleException'));
|
157 |
+
$this->call_existing_exception_handler = $call_existing;
|
158 |
+
return $this;
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Register a handler which will intercept standard PHP errors and report them to the
|
163 |
+
* associated Sentry client.
|
164 |
+
*
|
165 |
+
* @param bool $call_existing Call any existing errors handlers after processing
|
166 |
+
* this instance.
|
167 |
+
* @param array $error_types All error types that should be sent.
|
168 |
+
* @return PrintFriendly_Raven_ErrorHandler
|
169 |
+
*/
|
170 |
+
public function registerErrorHandler($call_existing = true, $error_types = null)
|
171 |
+
{
|
172 |
+
if ($error_types !== null) {
|
173 |
+
$this->error_types = $error_types;
|
174 |
+
}
|
175 |
+
$this->old_error_handler = set_error_handler(array($this, 'handleError'), E_ALL);
|
176 |
+
$this->call_existing_error_handler = $call_existing;
|
177 |
+
return $this;
|
178 |
+
}
|
179 |
+
|
180 |
+
/**
|
181 |
+
* Register a fatal error handler, which will attempt to capture errors which
|
182 |
+
* shutdown the PHP process. These are commonly things like OOM or timeouts.
|
183 |
+
*
|
184 |
+
* @param int $reservedMemorySize Number of kilobytes memory space to reserve,
|
185 |
+
* which is utilized when handling fatal errors.
|
186 |
+
* @return PrintFriendly_Raven_ErrorHandler
|
187 |
+
*/
|
188 |
+
public function registerShutdownFunction($reservedMemorySize = 10)
|
189 |
+
{
|
190 |
+
register_shutdown_function(array($this, 'handleFatalError'));
|
191 |
+
|
192 |
+
$this->reservedMemory = str_repeat('x', 1024 * $reservedMemorySize);
|
193 |
+
return $this;
|
194 |
+
}
|
195 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Exception.php
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class PrintFriendly_Raven_Exception extends Exception
|
3 |
+
{
|
4 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Processor.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Base class for data processing.
|
5 |
+
*
|
6 |
+
* @package raven
|
7 |
+
*/
|
8 |
+
abstract class PrintFriendly_Raven_Processor
|
9 |
+
{
|
10 |
+
/**
|
11 |
+
* This constant defines the mask string used to strip sensitive information.
|
12 |
+
*/
|
13 |
+
const STRING_MASK = '********';
|
14 |
+
|
15 |
+
/**
|
16 |
+
* @var PrintFriendly_Raven_Client The Raven client
|
17 |
+
*/
|
18 |
+
protected $client;
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Class constructor.
|
22 |
+
*
|
23 |
+
* @param PrintFriendly_Raven_Client $client The Raven client
|
24 |
+
*/
|
25 |
+
public function __construct(PrintFriendly_Raven_Client $client)
|
26 |
+
{
|
27 |
+
$this->client = $client;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Override the default processor options
|
32 |
+
*
|
33 |
+
* @param array $options Associative array of processor options
|
34 |
+
*/
|
35 |
+
public function setProcessorOptions(array $options)
|
36 |
+
{
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Process and sanitize data, modifying the existing value if necessary.
|
41 |
+
*
|
42 |
+
* @param array $data Array of log data
|
43 |
+
*/
|
44 |
+
abstract public function process(&$data);
|
45 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Processor/RemoveCookiesProcessor.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Raven.
|
5 |
+
*
|
6 |
+
* (c) Sentry Team
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This processor removes all the cookies from the request to ensure no sensitive
|
14 |
+
* informations are sent to the server.
|
15 |
+
*
|
16 |
+
* @author Stefano Arlandini <sarlandini@alice.it>
|
17 |
+
*/
|
18 |
+
final class PrintFriendly_Raven_Processor_RemoveCookiesProcessor extends PrintFriendly_Raven_Processor
|
19 |
+
{
|
20 |
+
/**
|
21 |
+
* {@inheritdoc}
|
22 |
+
*/
|
23 |
+
public function process(&$data)
|
24 |
+
{
|
25 |
+
if (isset($data['request'])) {
|
26 |
+
if (isset($data['request']['cookies'])) {
|
27 |
+
$data['request']['cookies'] = self::STRING_MASK;
|
28 |
+
}
|
29 |
+
|
30 |
+
if (isset($data['request']['headers']) && isset($data['request']['headers']['Cookie'])) {
|
31 |
+
$data['request']['headers']['Cookie'] = self::STRING_MASK;
|
32 |
+
}
|
33 |
+
}
|
34 |
+
}
|
35 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Processor/RemoveHttpBodyProcessor.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Raven.
|
5 |
+
*
|
6 |
+
* (c) Sentry Team
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This processor removes all the data of the HTTP body to ensure no sensitive
|
14 |
+
* informations are sent to the server in case the request method is POST, PUT,
|
15 |
+
* PATCH or DELETE.
|
16 |
+
*
|
17 |
+
* @author Stefano Arlandini <sarlandini@alice.it>
|
18 |
+
*/
|
19 |
+
final class PrintFriendly_Raven_Processor_RemoveHttpBodyProcessor extends PrintFriendly_Raven_Processor
|
20 |
+
{
|
21 |
+
/**
|
22 |
+
* {@inheritdoc}
|
23 |
+
*/
|
24 |
+
public function process(&$data)
|
25 |
+
{
|
26 |
+
if (isset($data['request'], $data['request']['method']) && in_array(strtoupper($data['request']['method']), array('POST', 'PUT', 'PATCH', 'DELETE'))) {
|
27 |
+
$data['request']['data'] = self::STRING_MASK;
|
28 |
+
}
|
29 |
+
}
|
30 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Processor/SanitizeDataProcessor.php
ADDED
@@ -0,0 +1,160 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Raven.
|
5 |
+
*
|
6 |
+
* (c) Sentry Team
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Asterisk out passwords from password fields in frames, http,
|
14 |
+
* and basic extra data.
|
15 |
+
*
|
16 |
+
* @package raven
|
17 |
+
*/
|
18 |
+
class PrintFriendly_Raven_Processor_SanitizeDataProcessor extends PrintFriendly_Raven_Processor
|
19 |
+
{
|
20 |
+
const MASK = self::STRING_MASK;
|
21 |
+
const FIELDS_RE = '/(authorization|password|passwd|secret|password_confirmation|card_number|auth_pw)/i';
|
22 |
+
const VALUES_RE = '/^(?:\d[ -]*?){13,16}$/';
|
23 |
+
|
24 |
+
protected $fields_re;
|
25 |
+
protected $values_re;
|
26 |
+
protected $session_cookie_name;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* {@inheritdoc}
|
30 |
+
*/
|
31 |
+
public function __construct(PrintFriendly_Raven_Client $client)
|
32 |
+
{
|
33 |
+
parent::__construct($client);
|
34 |
+
|
35 |
+
$this->fields_re = self::FIELDS_RE;
|
36 |
+
$this->values_re = self::VALUES_RE;
|
37 |
+
$this->session_cookie_name = ini_get('session.name');
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* {@inheritdoc}
|
42 |
+
*/
|
43 |
+
public function setProcessorOptions(array $options)
|
44 |
+
{
|
45 |
+
if (isset($options['fields_re'])) {
|
46 |
+
$this->fields_re = $options['fields_re'];
|
47 |
+
}
|
48 |
+
|
49 |
+
if (isset($options['values_re'])) {
|
50 |
+
$this->values_re = $options['values_re'];
|
51 |
+
}
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Replace any array values with our mask if the field name or the value matches a respective regex
|
56 |
+
*
|
57 |
+
* @param mixed $item Associative array value
|
58 |
+
* @param string $key Associative array key
|
59 |
+
*/
|
60 |
+
public function sanitize(&$item, $key)
|
61 |
+
{
|
62 |
+
if (empty($item)) {
|
63 |
+
return;
|
64 |
+
}
|
65 |
+
|
66 |
+
if (preg_match($this->values_re, $item)) {
|
67 |
+
$item = self::STRING_MASK;
|
68 |
+
}
|
69 |
+
|
70 |
+
if (empty($key)) {
|
71 |
+
return;
|
72 |
+
}
|
73 |
+
|
74 |
+
if (preg_match($this->fields_re, $key)) {
|
75 |
+
$item = self::STRING_MASK;
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
public function sanitizeException(&$data)
|
80 |
+
{
|
81 |
+
foreach ($data['exception']['values'] as &$value) {
|
82 |
+
return $this->sanitizeStacktrace($value['stacktrace']);
|
83 |
+
}
|
84 |
+
}
|
85 |
+
|
86 |
+
public function sanitizeHttp(&$data)
|
87 |
+
{
|
88 |
+
$http = &$data['request'];
|
89 |
+
if (!empty($http['cookies']) && is_array($http['cookies'])) {
|
90 |
+
$cookies = &$http['cookies'];
|
91 |
+
if (!empty($cookies[$this->session_cookie_name])) {
|
92 |
+
$cookies[$this->session_cookie_name] = self::STRING_MASK;
|
93 |
+
}
|
94 |
+
}
|
95 |
+
if (!empty($http['data']) && is_array($http['data'])) {
|
96 |
+
array_walk_recursive($http['data'], array($this, 'sanitize'));
|
97 |
+
}
|
98 |
+
}
|
99 |
+
|
100 |
+
public function sanitizeStacktrace(&$data)
|
101 |
+
{
|
102 |
+
foreach ($data['frames'] as &$frame) {
|
103 |
+
if (empty($frame['vars'])) {
|
104 |
+
continue;
|
105 |
+
}
|
106 |
+
array_walk_recursive($frame['vars'], array($this, 'sanitize'));
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* {@inheritdoc}
|
112 |
+
*/
|
113 |
+
public function process(&$data)
|
114 |
+
{
|
115 |
+
if (!empty($data['exception'])) {
|
116 |
+
$this->sanitizeException($data);
|
117 |
+
}
|
118 |
+
if (!empty($data['stacktrace'])) {
|
119 |
+
$this->sanitizeStacktrace($data['stacktrace']);
|
120 |
+
}
|
121 |
+
if (!empty($data['request'])) {
|
122 |
+
$this->sanitizeHttp($data);
|
123 |
+
}
|
124 |
+
if (!empty($data['extra'])) {
|
125 |
+
array_walk_recursive($data['extra'], array($this, 'sanitize'));
|
126 |
+
}
|
127 |
+
}
|
128 |
+
|
129 |
+
/**
|
130 |
+
* @return string
|
131 |
+
*/
|
132 |
+
public function getFieldsRe()
|
133 |
+
{
|
134 |
+
return $this->fields_re;
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* @param string $fields_re
|
139 |
+
*/
|
140 |
+
public function setFieldsRe($fields_re)
|
141 |
+
{
|
142 |
+
$this->fields_re = $fields_re;
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* @return string
|
147 |
+
*/
|
148 |
+
public function getValuesRe()
|
149 |
+
{
|
150 |
+
return $this->values_re;
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* @param string $values_re
|
155 |
+
*/
|
156 |
+
public function setValuesRe($values_re)
|
157 |
+
{
|
158 |
+
$this->values_re = $values_re;
|
159 |
+
}
|
160 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Processor/SanitizeHttpHeadersProcessor.php
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Raven.
|
5 |
+
*
|
6 |
+
* (c) Sentry Team
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This processor sanitizes the configured HTTP headers to ensure no sensitive
|
14 |
+
* informations are sent to the server.
|
15 |
+
*
|
16 |
+
* @author Stefano Arlandini <sarlandini@alice.it>
|
17 |
+
*/
|
18 |
+
final class PrintFriendly_Raven_Processor_SanitizeHttpHeadersProcessor extends PrintFriendly_Raven_Processor
|
19 |
+
{
|
20 |
+
/**
|
21 |
+
* @var string[] $httpHeadersToSanitize The list of HTTP headers to sanitize
|
22 |
+
*/
|
23 |
+
private $httpHeadersToSanitize = array();
|
24 |
+
|
25 |
+
/**
|
26 |
+
* {@inheritdoc}
|
27 |
+
*/
|
28 |
+
public function __construct(PrintFriendly_Raven_Client $client)
|
29 |
+
{
|
30 |
+
parent::__construct($client);
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* {@inheritdoc}
|
35 |
+
*/
|
36 |
+
public function setProcessorOptions(array $options)
|
37 |
+
{
|
38 |
+
$this->httpHeadersToSanitize = array_merge($this->getDefaultHeaders(), isset($options['sanitize_http_headers']) ? $options['sanitize_http_headers'] : array());
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* {@inheritdoc}
|
43 |
+
*/
|
44 |
+
public function process(&$data)
|
45 |
+
{
|
46 |
+
if (isset($data['request']) && isset($data['request']['headers'])) {
|
47 |
+
foreach ($data['request']['headers'] as $header => &$value) {
|
48 |
+
if (in_array($header, $this->httpHeadersToSanitize)) {
|
49 |
+
$value = self::STRING_MASK;
|
50 |
+
}
|
51 |
+
}
|
52 |
+
}
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Gets the list of default headers that must be sanitized.
|
57 |
+
*
|
58 |
+
* @return string[]
|
59 |
+
*/
|
60 |
+
private function getDefaultHeaders()
|
61 |
+
{
|
62 |
+
return array('Authorization', 'Proxy-Authorization', 'X-Csrf-Token', 'X-CSRFToken', 'X-XSRF-TOKEN');
|
63 |
+
}
|
64 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Processor/SanitizeStacktraceProcessor.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Raven.
|
5 |
+
*
|
6 |
+
* (c) Sentry Team
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This processor removes the `pre_context`, `context_line` and `post_context`
|
14 |
+
* informations from all exceptions captured by an event.
|
15 |
+
*
|
16 |
+
* @author Stefano Arlandini <sarlandini@alice.it>
|
17 |
+
*/
|
18 |
+
class PrintFriendly_Raven_Processor_SanitizeStacktraceProcessor extends PrintFriendly_Raven_Processor
|
19 |
+
{
|
20 |
+
/**
|
21 |
+
* {@inheritdoc}
|
22 |
+
*/
|
23 |
+
public function process(&$data)
|
24 |
+
{
|
25 |
+
if (!isset($data['exception'], $data['exception']['values'])) {
|
26 |
+
return;
|
27 |
+
}
|
28 |
+
|
29 |
+
foreach ($data['exception']['values'] as &$exception) {
|
30 |
+
if (!isset($exception['stacktrace'])) {
|
31 |
+
continue;
|
32 |
+
}
|
33 |
+
|
34 |
+
foreach ($exception['stacktrace']['frames'] as &$frame) {
|
35 |
+
unset($frame['pre_context'], $frame['context_line'], $frame['post_context']);
|
36 |
+
}
|
37 |
+
}
|
38 |
+
}
|
39 |
+
}
|
trunk/vendor/PrintFriendly/Raven/ReprSerializer.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Raven.
|
5 |
+
*
|
6 |
+
* (c) Sentry Team
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Serializes a value into a representation that should reasonably suggest
|
14 |
+
* both the type and value, and be serializable into JSON.
|
15 |
+
* @package raven
|
16 |
+
*/
|
17 |
+
class PrintFriendly_Raven_ReprSerializer extends PrintFriendly_Raven_Serializer
|
18 |
+
{
|
19 |
+
protected function serializeValue($value)
|
20 |
+
{
|
21 |
+
if ($value === null) {
|
22 |
+
return 'null';
|
23 |
+
} elseif ($value === false) {
|
24 |
+
return 'false';
|
25 |
+
} elseif ($value === true) {
|
26 |
+
return 'true';
|
27 |
+
} elseif (is_float($value) && (int) $value == $value) {
|
28 |
+
return $value.'.0';
|
29 |
+
} elseif (is_integer($value) || is_float($value)) {
|
30 |
+
return (string) $value;
|
31 |
+
} elseif (is_object($value) || gettype($value) == 'object') {
|
32 |
+
return 'Object '.get_class($value);
|
33 |
+
} elseif (is_resource($value)) {
|
34 |
+
return 'Resource '.get_resource_type($value);
|
35 |
+
} elseif (is_array($value)) {
|
36 |
+
return 'Array of length ' . count($value);
|
37 |
+
} else {
|
38 |
+
return $this->serializeString($value);
|
39 |
+
}
|
40 |
+
}
|
41 |
+
}
|
trunk/vendor/PrintFriendly/Raven/SanitizeDataProcessor.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Raven.
|
5 |
+
*
|
6 |
+
* (c) Sentry Team
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
@trigger_error('The '.__NAMESPACE__.'\PrintFriendly_Raven_SanitizeDataProcessor class is deprecated since version 1.7 and will be removed in 2.0. Use the PrintFriendly_Raven_Processor_SanitizeDataProcessor class in the same namespace instead.', E_USER_DEPRECATED);
|
13 |
+
|
14 |
+
/**
|
15 |
+
* {@inheritdoc}
|
16 |
+
*/
|
17 |
+
class PrintFriendly_Raven_SanitizeDataProcessor extends PrintFriendly_Raven_Processor_SanitizeDataProcessor
|
18 |
+
{
|
19 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Serializer.php
ADDED
@@ -0,0 +1,144 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* Copyright 2012 Facebook, Inc.
|
4 |
+
*
|
5 |
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
6 |
+
* you may not use this file except in compliance with the License.
|
7 |
+
* You may obtain a copy of the License at
|
8 |
+
*
|
9 |
+
* http://www.apache.org/licenses/LICENSE-2.0
|
10 |
+
*
|
11 |
+
* Unless required by applicable law or agreed to in writing, software
|
12 |
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
13 |
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14 |
+
* See the License for the specific language governing permissions and
|
15 |
+
* limitations under the License.
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* This helper is based on code from Facebook's Phabricator project
|
20 |
+
*
|
21 |
+
* https://github.com/facebook/phabricator
|
22 |
+
*
|
23 |
+
* Specifically, it is an adaptation of the PhutilReadableSerializer class.
|
24 |
+
*
|
25 |
+
* @package raven
|
26 |
+
*/
|
27 |
+
class PrintFriendly_Raven_Serializer
|
28 |
+
{
|
29 |
+
/*
|
30 |
+
* The default mb detect order
|
31 |
+
*
|
32 |
+
* @see http://php.net/manual/en/function.mb-detect-encoding.php
|
33 |
+
*/
|
34 |
+
const DEFAULT_MB_DETECT_ORDER = 'auto';
|
35 |
+
|
36 |
+
/*
|
37 |
+
* Suggested detect order for western countries
|
38 |
+
*/
|
39 |
+
const WESTERN_MB_DETECT_ORDER = 'UTF-8, ASCII, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16, Windows-1251, Windows-1252, Windows-1254';
|
40 |
+
|
41 |
+
/**
|
42 |
+
* This is the default mb detect order for the detection of encoding
|
43 |
+
*
|
44 |
+
* @var string
|
45 |
+
*/
|
46 |
+
protected $mb_detect_order = self::DEFAULT_MB_DETECT_ORDER;
|
47 |
+
|
48 |
+
/**
|
49 |
+
* @param null|string $mb_detect_order
|
50 |
+
*/
|
51 |
+
public function __construct($mb_detect_order = null)
|
52 |
+
{
|
53 |
+
if ($mb_detect_order != null) {
|
54 |
+
$this->mb_detect_order = $mb_detect_order;
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Serialize an object (recursively) into something safe for data
|
60 |
+
* sanitization and encoding.
|
61 |
+
*
|
62 |
+
* @param mixed $value
|
63 |
+
* @param int $max_depth
|
64 |
+
* @param int $_depth
|
65 |
+
* @return string|bool|double|int|null|object|array
|
66 |
+
*/
|
67 |
+
public function serialize($value, $max_depth = 3, $_depth = 0)
|
68 |
+
{
|
69 |
+
$className = is_object($value) ? get_class($value) : null;
|
70 |
+
$toArray = is_array($value) || $className === 'stdClass';
|
71 |
+
if ($toArray && $_depth < $max_depth) {
|
72 |
+
$new = array();
|
73 |
+
foreach ($value as $k => $v) {
|
74 |
+
$new[$this->serializeValue($k)] = $this->serialize($v, $max_depth, $_depth + 1);
|
75 |
+
}
|
76 |
+
|
77 |
+
return $new;
|
78 |
+
}
|
79 |
+
return $this->serializeValue($value);
|
80 |
+
}
|
81 |
+
|
82 |
+
protected function serializeString($value)
|
83 |
+
{
|
84 |
+
$value = (string) $value;
|
85 |
+
if (function_exists('mb_detect_encoding')
|
86 |
+
&& function_exists('mb_convert_encoding')
|
87 |
+
) {
|
88 |
+
// we always guarantee this is coerced, even if we can't detect encoding
|
89 |
+
if ($currentEncoding = mb_detect_encoding($value, $this->mb_detect_order)) {
|
90 |
+
$value = mb_convert_encoding($value, 'UTF-8', $currentEncoding);
|
91 |
+
} else {
|
92 |
+
$value = mb_convert_encoding($value, 'UTF-8');
|
93 |
+
}
|
94 |
+
}
|
95 |
+
|
96 |
+
if (strlen($value) > 1024) {
|
97 |
+
$value = substr($value, 0, 1014) . ' {clipped}';
|
98 |
+
}
|
99 |
+
|
100 |
+
return $value;
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* @param mixed $value
|
105 |
+
* @return string|bool|double|int|null
|
106 |
+
*/
|
107 |
+
protected function serializeValue($value)
|
108 |
+
{
|
109 |
+
if (is_null($value) || is_bool($value) || is_float($value) || is_integer($value)) {
|
110 |
+
return $value;
|
111 |
+
} elseif (is_object($value) || gettype($value) == 'object') {
|
112 |
+
return 'Object '.get_class($value);
|
113 |
+
} elseif (is_resource($value)) {
|
114 |
+
return 'Resource '.get_resource_type($value);
|
115 |
+
} elseif (is_array($value)) {
|
116 |
+
return 'Array of length ' . count($value);
|
117 |
+
} else {
|
118 |
+
return $this->serializeString($value);
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
+
|
123 |
+
/**
|
124 |
+
* @return string
|
125 |
+
* @codeCoverageIgnore
|
126 |
+
*/
|
127 |
+
public function getMbDetectOrder()
|
128 |
+
{
|
129 |
+
return $this->mb_detect_order;
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* @param string $mb_detect_order
|
134 |
+
*
|
135 |
+
* @return PrintFriendly_Raven_Serializer
|
136 |
+
* @codeCoverageIgnore
|
137 |
+
*/
|
138 |
+
public function setMbDetectOrder($mb_detect_order)
|
139 |
+
{
|
140 |
+
$this->mb_detect_order = $mb_detect_order;
|
141 |
+
|
142 |
+
return $this;
|
143 |
+
}
|
144 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Stacktrace.php
ADDED
@@ -0,0 +1,287 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Small helper class to inspect the stacktrace
|
4 |
+
*
|
5 |
+
* @package raven
|
6 |
+
*/
|
7 |
+
class PrintFriendly_Raven_Stacktrace
|
8 |
+
{
|
9 |
+
public static $statements = array(
|
10 |
+
'include',
|
11 |
+
'include_once',
|
12 |
+
'require',
|
13 |
+
'require_once',
|
14 |
+
);
|
15 |
+
|
16 |
+
public static function get_stack_info($frames,
|
17 |
+
$trace = false,
|
18 |
+
$errcontext = null,
|
19 |
+
$frame_var_limit = PrintFriendly_Raven_Client::MESSAGE_LIMIT,
|
20 |
+
$strip_prefixes = null,
|
21 |
+
$app_path = null,
|
22 |
+
$excluded_app_paths = null,
|
23 |
+
PrintFriendly_Raven_Serializer $serializer = null,
|
24 |
+
PrintFriendly_Raven_ReprSerializer $reprSerializer = null)
|
25 |
+
{
|
26 |
+
$serializer = $serializer ?: new PrintFriendly_Raven_Serializer();
|
27 |
+
$reprSerializer = $reprSerializer ?: new PrintFriendly_Raven_ReprSerializer();
|
28 |
+
|
29 |
+
/**
|
30 |
+
* PHP stores calls in the stacktrace, rather than executing context. Sentry
|
31 |
+
* wants to know "when Im calling this code, where am I", and PHP says "I'm
|
32 |
+
* calling this function" not "I'm in this function". Due to that, we shift
|
33 |
+
* the context for a frame up one, meaning the variables (which are the calling
|
34 |
+
* args) come from the previous frame.
|
35 |
+
*/
|
36 |
+
$result = array();
|
37 |
+
for ($i = 0; $i < count($frames); $i++) {
|
38 |
+
$frame = isset($frames[$i]) ? $frames[$i] : null;
|
39 |
+
$nextframe = isset($frames[$i + 1]) ? $frames[$i + 1] : null;
|
40 |
+
|
41 |
+
if (!array_key_exists('file', $frame)) {
|
42 |
+
if (!empty($frame['class'])) {
|
43 |
+
$context['line'] = sprintf('%s%s%s',
|
44 |
+
$frame['class'], $frame['type'], $frame['function']);
|
45 |
+
} else {
|
46 |
+
$context['line'] = sprintf('%s(anonymous)', $frame['function']);
|
47 |
+
}
|
48 |
+
$abs_path = '';
|
49 |
+
$context['prefix'] = '';
|
50 |
+
$context['suffix'] = '';
|
51 |
+
$context['filename'] = $filename = '[Anonymous function]';
|
52 |
+
$context['lineno'] = 0;
|
53 |
+
} else {
|
54 |
+
$context = self::read_source_file($frame['file'], $frame['line']);
|
55 |
+
$abs_path = $frame['file'];
|
56 |
+
}
|
57 |
+
|
58 |
+
// strip base path if present
|
59 |
+
$context['filename'] = self::strip_prefixes($context['filename'], $strip_prefixes);
|
60 |
+
if ($i === 0 && isset($errcontext)) {
|
61 |
+
// If we've been given an error context that can be used as the vars for the first frame.
|
62 |
+
$vars = $errcontext;
|
63 |
+
} else {
|
64 |
+
if ($trace) {
|
65 |
+
$vars = self::get_frame_context($nextframe, $frame_var_limit);
|
66 |
+
} else {
|
67 |
+
$vars = array();
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
$data = array(
|
72 |
+
'filename' => $context['filename'],
|
73 |
+
'lineno' => (int) $context['lineno'],
|
74 |
+
'function' => isset($nextframe['function']) ? $nextframe['function'] : null,
|
75 |
+
'pre_context' => $serializer->serialize($context['prefix']),
|
76 |
+
'context_line' => $serializer->serialize($context['line']),
|
77 |
+
'post_context' => $serializer->serialize($context['suffix']),
|
78 |
+
);
|
79 |
+
|
80 |
+
// detect in_app based on app path
|
81 |
+
if ($app_path) {
|
82 |
+
$norm_abs_path = @realpath($abs_path) ?: $abs_path;
|
83 |
+
$in_app = (bool)(substr($norm_abs_path, 0, strlen($app_path)) === $app_path);
|
84 |
+
if ($in_app && $excluded_app_paths) {
|
85 |
+
foreach ($excluded_app_paths as $path) {
|
86 |
+
if (substr($norm_abs_path, 0, strlen($path)) === $path) {
|
87 |
+
$in_app = false;
|
88 |
+
break;
|
89 |
+
}
|
90 |
+
}
|
91 |
+
}
|
92 |
+
$data['in_app'] = $in_app;
|
93 |
+
}
|
94 |
+
|
95 |
+
// dont set this as an empty array as PHP will treat it as a numeric array
|
96 |
+
// instead of a mapping which goes against the defined Sentry spec
|
97 |
+
if (!empty($vars)) {
|
98 |
+
$cleanVars = array();
|
99 |
+
foreach ($vars as $key => $value) {
|
100 |
+
$value = $reprSerializer->serialize($value);
|
101 |
+
if (is_string($value) || is_numeric($value)) {
|
102 |
+
$cleanVars[(string)$key] = substr($value, 0, $frame_var_limit);
|
103 |
+
} else {
|
104 |
+
$cleanVars[(string)$key] = $value;
|
105 |
+
}
|
106 |
+
}
|
107 |
+
$data['vars'] = $cleanVars;
|
108 |
+
}
|
109 |
+
|
110 |
+
$result[] = $data;
|
111 |
+
}
|
112 |
+
|
113 |
+
return array_reverse($result);
|
114 |
+
}
|
115 |
+
|
116 |
+
public static function get_default_context($frame, $frame_arg_limit = PrintFriendly_Raven_Client::MESSAGE_LIMIT)
|
117 |
+
{
|
118 |
+
if (!isset($frame['args'])) {
|
119 |
+
return array();
|
120 |
+
}
|
121 |
+
|
122 |
+
$i = 1;
|
123 |
+
$args = array();
|
124 |
+
foreach ($frame['args'] as $arg) {
|
125 |
+
$args['param'.$i] = self::serialize_argument($arg, $frame_arg_limit);
|
126 |
+
$i++;
|
127 |
+
}
|
128 |
+
return $args;
|
129 |
+
}
|
130 |
+
|
131 |
+
public static function get_frame_context($frame, $frame_arg_limit = PrintFriendly_Raven_Client::MESSAGE_LIMIT)
|
132 |
+
{
|
133 |
+
if (!isset($frame['args'])) {
|
134 |
+
return array();
|
135 |
+
}
|
136 |
+
|
137 |
+
// The reflection API seems more appropriate if we associate it with the frame
|
138 |
+
// where the function is actually called (since we're treating them as function context)
|
139 |
+
if (!isset($frame['function'])) {
|
140 |
+
return self::get_default_context($frame, $frame_arg_limit);
|
141 |
+
}
|
142 |
+
if (strpos($frame['function'], '__lambda_func') !== false) {
|
143 |
+
return self::get_default_context($frame, $frame_arg_limit);
|
144 |
+
}
|
145 |
+
if (isset($frame['class']) && $frame['class'] == 'Closure') {
|
146 |
+
return self::get_default_context($frame, $frame_arg_limit);
|
147 |
+
}
|
148 |
+
if (strpos($frame['function'], '{closure}') !== false) {
|
149 |
+
return self::get_default_context($frame, $frame_arg_limit);
|
150 |
+
}
|
151 |
+
if (in_array($frame['function'], self::$statements)) {
|
152 |
+
if (empty($frame['args'])) {
|
153 |
+
// No arguments
|
154 |
+
return array();
|
155 |
+
} else {
|
156 |
+
// Sanitize the file path
|
157 |
+
return array(
|
158 |
+
'param1' => self::serialize_argument($frame['args'][0], $frame_arg_limit),
|
159 |
+
);
|
160 |
+
}
|
161 |
+
}
|
162 |
+
try {
|
163 |
+
if (isset($frame['class'])) {
|
164 |
+
if (method_exists($frame['class'], $frame['function'])) {
|
165 |
+
$reflection = new ReflectionMethod($frame['class'], $frame['function']);
|
166 |
+
} elseif ($frame['type'] === '::') {
|
167 |
+
$reflection = new ReflectionMethod($frame['class'], '__callStatic');
|
168 |
+
} else {
|
169 |
+
$reflection = new ReflectionMethod($frame['class'], '__call');
|
170 |
+
}
|
171 |
+
} else {
|
172 |
+
$reflection = new ReflectionFunction($frame['function']);
|
173 |
+
}
|
174 |
+
} catch (ReflectionException $e) {
|
175 |
+
return self::get_default_context($frame, $frame_arg_limit);
|
176 |
+
}
|
177 |
+
|
178 |
+
$params = $reflection->getParameters();
|
179 |
+
|
180 |
+
$args = array();
|
181 |
+
foreach ($frame['args'] as $i => $arg) {
|
182 |
+
$arg = self::serialize_argument($arg, $frame_arg_limit);
|
183 |
+
if (isset($params[$i])) {
|
184 |
+
// Assign the argument by the parameter name
|
185 |
+
$args[$params[$i]->name] = $arg;
|
186 |
+
} else {
|
187 |
+
$args['param'.$i] = $arg;
|
188 |
+
}
|
189 |
+
}
|
190 |
+
|
191 |
+
return $args;
|
192 |
+
}
|
193 |
+
|
194 |
+
private static function serialize_argument($arg, $frame_arg_limit)
|
195 |
+
{
|
196 |
+
if (is_array($arg)) {
|
197 |
+
$_arg = array();
|
198 |
+
foreach ($arg as $key => $value) {
|
199 |
+
if (is_string($value) || is_numeric($value)) {
|
200 |
+
$_arg[$key] = substr($value, 0, $frame_arg_limit);
|
201 |
+
} else {
|
202 |
+
$_arg[$key] = $value;
|
203 |
+
}
|
204 |
+
}
|
205 |
+
return $_arg;
|
206 |
+
} elseif (is_string($arg) || is_numeric($arg)) {
|
207 |
+
return substr($arg, 0, $frame_arg_limit);
|
208 |
+
} else {
|
209 |
+
return $arg;
|
210 |
+
}
|
211 |
+
}
|
212 |
+
|
213 |
+
private static function strip_prefixes($filename, $prefixes)
|
214 |
+
{
|
215 |
+
if ($prefixes === null) {
|
216 |
+
return $filename;
|
217 |
+
}
|
218 |
+
foreach ($prefixes as $prefix) {
|
219 |
+
if (substr($filename, 0, strlen($prefix)) === $prefix) {
|
220 |
+
return substr($filename, strlen($prefix));
|
221 |
+
}
|
222 |
+
}
|
223 |
+
return $filename;
|
224 |
+
}
|
225 |
+
|
226 |
+
private static function read_source_file($filename, $lineno, $context_lines = 5)
|
227 |
+
{
|
228 |
+
$frame = array(
|
229 |
+
'prefix' => array(),
|
230 |
+
'line' => '',
|
231 |
+
'suffix' => array(),
|
232 |
+
'filename' => $filename,
|
233 |
+
'lineno' => $lineno,
|
234 |
+
);
|
235 |
+
|
236 |
+
if ($filename === null || $lineno === null) {
|
237 |
+
return $frame;
|
238 |
+
}
|
239 |
+
|
240 |
+
// Code which is eval'ed have a modified filename.. Extract the
|
241 |
+
// correct filename + linenumber from the string.
|
242 |
+
$matches = array();
|
243 |
+
$matched = preg_match("/^(.*?)\\((\\d+)\\) : eval\\(\\)'d code$/",
|
244 |
+
$filename, $matches);
|
245 |
+
if ($matched) {
|
246 |
+
$frame['filename'] = $filename = $matches[1];
|
247 |
+
$frame['lineno'] = $lineno = $matches[2];
|
248 |
+
}
|
249 |
+
|
250 |
+
// In the case of an anonymous function, the filename is sent as:
|
251 |
+
// "</path/to/filename>(<lineno>) : runtime-created function"
|
252 |
+
// Extract the correct filename + linenumber from the string.
|
253 |
+
$matches = array();
|
254 |
+
$matched = preg_match("/^(.*?)\\((\\d+)\\) : runtime-created function$/",
|
255 |
+
$filename, $matches);
|
256 |
+
if ($matched) {
|
257 |
+
$frame['filename'] = $filename = $matches[1];
|
258 |
+
$frame['lineno'] = $lineno = $matches[2];
|
259 |
+
}
|
260 |
+
|
261 |
+
try {
|
262 |
+
$file = new SplFileObject($filename);
|
263 |
+
$target = max(0, ($lineno - ($context_lines + 1)));
|
264 |
+
$file->seek($target);
|
265 |
+
$cur_lineno = $target+1;
|
266 |
+
while (!$file->eof()) {
|
267 |
+
$line = rtrim($file->current(), "\r\n");
|
268 |
+
if ($cur_lineno == $lineno) {
|
269 |
+
$frame['line'] = $line;
|
270 |
+
} elseif ($cur_lineno < $lineno) {
|
271 |
+
$frame['prefix'][] = $line;
|
272 |
+
} elseif ($cur_lineno > $lineno) {
|
273 |
+
$frame['suffix'][] = $line;
|
274 |
+
}
|
275 |
+
$cur_lineno++;
|
276 |
+
if ($cur_lineno > $lineno + $context_lines) {
|
277 |
+
break;
|
278 |
+
}
|
279 |
+
$file->next();
|
280 |
+
}
|
281 |
+
} catch (RuntimeException $exc) {
|
282 |
+
return $frame;
|
283 |
+
}
|
284 |
+
|
285 |
+
return $frame;
|
286 |
+
}
|
287 |
+
}
|
trunk/vendor/PrintFriendly/Raven/TransactionStack.php
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* This file is part of Raven.
|
4 |
+
*
|
5 |
+
* (c) Sentry Team
|
6 |
+
*
|
7 |
+
* For the full copyright and license information, please view the LICENSE
|
8 |
+
* file that was distributed with this source code.
|
9 |
+
*/
|
10 |
+
|
11 |
+
class PrintFriendly_Raven_TransactionStack
|
12 |
+
{
|
13 |
+
public function __construct()
|
14 |
+
{
|
15 |
+
$this->stack = array();
|
16 |
+
}
|
17 |
+
|
18 |
+
public function clear()
|
19 |
+
{
|
20 |
+
$this->stack = array();
|
21 |
+
}
|
22 |
+
|
23 |
+
public function peek()
|
24 |
+
{
|
25 |
+
$len = count($this->stack);
|
26 |
+
if ($len === 0) {
|
27 |
+
return null;
|
28 |
+
}
|
29 |
+
return $this->stack[$len - 1];
|
30 |
+
}
|
31 |
+
|
32 |
+
public function push($context)
|
33 |
+
{
|
34 |
+
$this->stack[] = $context;
|
35 |
+
}
|
36 |
+
|
37 |
+
/** @noinspection PhpInconsistentReturnPointsInspection
|
38 |
+
* @param string|null $context
|
39 |
+
* @return mixed
|
40 |
+
*/
|
41 |
+
public function pop($context = null)
|
42 |
+
{
|
43 |
+
if (!$context) {
|
44 |
+
return array_pop($this->stack);
|
45 |
+
}
|
46 |
+
while (!empty($this->stack)) {
|
47 |
+
if (array_pop($this->stack) === $context) {
|
48 |
+
return $context;
|
49 |
+
}
|
50 |
+
}
|
51 |
+
// @codeCoverageIgnoreStart
|
52 |
+
}
|
53 |
+
// @codeCoverageIgnoreEnd
|
54 |
+
}
|
trunk/vendor/PrintFriendly/Raven/Util.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Raven.
|
5 |
+
*
|
6 |
+
* (c) Sentry Team
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Utilities
|
14 |
+
*
|
15 |
+
* @package raven
|
16 |
+
*/
|
17 |
+
|
18 |
+
class PrintFriendly_Raven_Util
|
19 |
+
{
|
20 |
+
/**
|
21 |
+
* Because we love Python, this works much like dict.get() in Python.
|
22 |
+
*
|
23 |
+
* Returns $var from $array if set, otherwise returns $default.
|
24 |
+
*
|
25 |
+
* @param array $array
|
26 |
+
* @param string $var
|
27 |
+
* @param mixed $default
|
28 |
+
* @return mixed
|
29 |
+
*/
|
30 |
+
public static function get($array, $var, $default = null)
|
31 |
+
{
|
32 |
+
if (isset($array[$var])) {
|
33 |
+
return $array[$var];
|
34 |
+
}
|
35 |
+
|
36 |
+
return $default;
|
37 |
+
}
|
38 |
+
}
|
trunk/vendor/PrintFriendly/Raven/data/cacert.pem
ADDED
@@ -0,0 +1,5134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
2 |
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
3 |
+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
4 |
+
|
5 |
+
# Issuer: CN=GTE CyberTrust Global Root O=GTE Corporation OU=GTE CyberTrust Solutions, Inc.
|
6 |
+
# Subject: CN=GTE CyberTrust Global Root O=GTE Corporation OU=GTE CyberTrust Solutions, Inc.
|
7 |
+
# Label: "GTE CyberTrust Global Root"
|
8 |
+
# Serial: 421
|
9 |
+
# MD5 Fingerprint: ca:3d:d3:68:f1:03:5c:d0:32:fa:b8:2b:59:e8:5a:db
|
10 |
+
# SHA1 Fingerprint: 97:81:79:50:d8:1c:96:70:cc:34:d8:09:cf:79:44:31:36:7e:f4:74
|
11 |
+
# SHA256 Fingerprint: a5:31:25:18:8d:21:10:aa:96:4b:02:c7:b7:c6:da:32:03:17:08:94:e5:fb:71:ff:fb:66:67:d5:e6:81:0a:36
|
12 |
+
-----BEGIN CERTIFICATE-----
|
13 |
+
MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD
|
14 |
+
VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv
|
15 |
+
bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv
|
16 |
+
b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV
|
17 |
+
UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU
|
18 |
+
cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds
|
19 |
+
b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH
|
20 |
+
iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS
|
21 |
+
r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4
|
22 |
+
04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r
|
23 |
+
GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9
|
24 |
+
3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P
|
25 |
+
lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
|
26 |
+
-----END CERTIFICATE-----
|
27 |
+
|
28 |
+
# Issuer: CN=Thawte Server CA O=Thawte Consulting cc OU=Certification Services Division
|
29 |
+
# Subject: CN=Thawte Server CA O=Thawte Consulting cc OU=Certification Services Division
|
30 |
+
# Label: "Thawte Server CA"
|
31 |
+
# Serial: 1
|
32 |
+
# MD5 Fingerprint: c5:70:c4:a2:ed:53:78:0c:c8:10:53:81:64:cb:d0:1d
|
33 |
+
# SHA1 Fingerprint: 23:e5:94:94:51:95:f2:41:48:03:b4:d5:64:d2:a3:a3:f5:d8:8b:8c
|
34 |
+
# SHA256 Fingerprint: b4:41:0b:73:e2:e6:ea:ca:47:fb:c4:2f:8f:a4:01:8a:f4:38:1d:c5:4c:fa:a8:44:50:46:1e:ed:09:45:4d:e9
|
35 |
+
-----BEGIN CERTIFICATE-----
|
36 |
+
MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkEx
|
37 |
+
FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD
|
38 |
+
VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv
|
39 |
+
biBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEm
|
40 |
+
MCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wHhcNOTYwODAx
|
41 |
+
MDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
|
42 |
+
DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3
|
43 |
+
dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl
|
44 |
+
cyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3
|
45 |
+
DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
|
46 |
+
gY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl/Kj0R1HahbUgdJSGHg91
|
47 |
+
yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg71CcEJRCX
|
48 |
+
L+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGj
|
49 |
+
EzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG
|
50 |
+
7oWDTSEwjsrZqG9JGubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6e
|
51 |
+
QNuozDJ0uW8NxuOzRAvZim+aKZuZGCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZ
|
52 |
+
qdq5snUb9kLy78fyGPmJvKP/iiMucEc=
|
53 |
+
-----END CERTIFICATE-----
|
54 |
+
|
55 |
+
# Issuer: CN=Thawte Premium Server CA O=Thawte Consulting cc OU=Certification Services Division
|
56 |
+
# Subject: CN=Thawte Premium Server CA O=Thawte Consulting cc OU=Certification Services Division
|
57 |
+
# Label: "Thawte Premium Server CA"
|
58 |
+
# Serial: 1
|
59 |
+
# MD5 Fingerprint: 06:9f:69:79:16:66:90:02:1b:8c:8c:a2:c3:07:6f:3a
|
60 |
+
# SHA1 Fingerprint: 62:7f:8d:78:27:65:63:99:d2:7d:7f:90:44:c9:fe:b3:f3:3e:fa:9a
|
61 |
+
# SHA256 Fingerprint: ab:70:36:36:5c:71:54:aa:29:c2:c2:9f:5d:41:91:16:3b:16:2a:22:25:01:13:57:d5:6d:07:ff:a7:bc:1f:72
|
62 |
+
-----BEGIN CERTIFICATE-----
|
63 |
+
MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx
|
64 |
+
FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD
|
65 |
+
VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv
|
66 |
+
biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy
|
67 |
+
dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t
|
68 |
+
MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB
|
69 |
+
MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG
|
70 |
+
A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp
|
71 |
+
b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl
|
72 |
+
cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv
|
73 |
+
bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE
|
74 |
+
VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ
|
75 |
+
ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR
|
76 |
+
uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG
|
77 |
+
9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI
|
78 |
+
hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM
|
79 |
+
pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg==
|
80 |
+
-----END CERTIFICATE-----
|
81 |
+
|
82 |
+
# Issuer: O=Equifax OU=Equifax Secure Certificate Authority
|
83 |
+
# Subject: O=Equifax OU=Equifax Secure Certificate Authority
|
84 |
+
# Label: "Equifax Secure CA"
|
85 |
+
# Serial: 903804111
|
86 |
+
# MD5 Fingerprint: 67:cb:9d:c0:13:24:8a:82:9b:b2:17:1e:d1:1b:ec:d4
|
87 |
+
# SHA1 Fingerprint: d2:32:09:ad:23:d3:14:23:21:74:e4:0d:7f:9d:62:13:97:86:63:3a
|
88 |
+
# SHA256 Fingerprint: 08:29:7a:40:47:db:a2:36:80:c7:31:db:6e:31:76:53:ca:78:48:e1:be:bd:3a:0b:01:79:a7:07:f9:2c:f1:78
|
89 |
+
-----BEGIN CERTIFICATE-----
|
90 |
+
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
|
91 |
+
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
|
92 |
+
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
|
93 |
+
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
|
94 |
+
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
|
95 |
+
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
|
96 |
+
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
|
97 |
+
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
|
98 |
+
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
|
99 |
+
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
|
100 |
+
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
|
101 |
+
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
|
102 |
+
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
|
103 |
+
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
|
104 |
+
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
|
105 |
+
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
|
106 |
+
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
|
107 |
+
-----END CERTIFICATE-----
|
108 |
+
|
109 |
+
# Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority
|
110 |
+
# Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority
|
111 |
+
# Label: "Verisign Class 3 Public Primary Certification Authority"
|
112 |
+
# Serial: 149843929435818692848040365716851702463
|
113 |
+
# MD5 Fingerprint: 10:fc:63:5d:f6:26:3e:0d:f3:25:be:5f:79:cd:67:67
|
114 |
+
# SHA1 Fingerprint: 74:2c:31:92:e6:07:e4:24:eb:45:49:54:2b:e1:bb:c5:3e:61:74:e2
|
115 |
+
# SHA256 Fingerprint: e7:68:56:34:ef:ac:f6:9a:ce:93:9a:6b:25:5b:7b:4f:ab:ef:42:93:5b:50:a2:65:ac:b5:cb:60:27:e4:4e:70
|
116 |
+
-----BEGIN CERTIFICATE-----
|
117 |
+
MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
|
118 |
+
A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
|
119 |
+
cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
|
120 |
+
MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
|
121 |
+
BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
|
122 |
+
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
|
123 |
+
ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
|
124 |
+
BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
|
125 |
+
I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
|
126 |
+
CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do
|
127 |
+
lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
|
128 |
+
AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
|
129 |
+
-----END CERTIFICATE-----
|
130 |
+
|
131 |
+
# Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority - G2/(c) 1998 VeriSign, Inc. - For authorized use only/VeriSign Trust Network
|
132 |
+
# Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority - G2/(c) 1998 VeriSign, Inc. - For authorized use only/VeriSign Trust Network
|
133 |
+
# Label: "Verisign Class 3 Public Primary Certification Authority - G2"
|
134 |
+
# Serial: 167285380242319648451154478808036881606
|
135 |
+
# MD5 Fingerprint: a2:33:9b:4c:74:78:73:d4:6c:e7:c1:f3:8d:cb:5c:e9
|
136 |
+
# SHA1 Fingerprint: 85:37:1c:a6:e5:50:14:3d:ce:28:03:47:1b:de:3a:09:e8:f8:77:0f
|
137 |
+
# SHA256 Fingerprint: 83:ce:3c:12:29:68:8a:59:3d:48:5f:81:97:3c:0f:91:95:43:1e:da:37:cc:5e:36:43:0e:79:c7:a8:88:63:8b
|
138 |
+
-----BEGIN CERTIFICATE-----
|
139 |
+
MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ
|
140 |
+
BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh
|
141 |
+
c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy
|
142 |
+
MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp
|
143 |
+
emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X
|
144 |
+
DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw
|
145 |
+
FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg
|
146 |
+
UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo
|
147 |
+
YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5
|
148 |
+
MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB
|
149 |
+
AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4
|
150 |
+
pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0
|
151 |
+
13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID
|
152 |
+
AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk
|
153 |
+
U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i
|
154 |
+
F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY
|
155 |
+
oJ2daZH9
|
156 |
+
-----END CERTIFICATE-----
|
157 |
+
|
158 |
+
# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA
|
159 |
+
# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA
|
160 |
+
# Label: "GlobalSign Root CA"
|
161 |
+
# Serial: 4835703278459707669005204
|
162 |
+
# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a
|
163 |
+
# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c
|
164 |
+
# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99
|
165 |
+
-----BEGIN CERTIFICATE-----
|
166 |
+
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
|
167 |
+
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
|
168 |
+
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
|
169 |
+
MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
|
170 |
+
YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
|
171 |
+
aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
|
172 |
+
jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
|
173 |
+
xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
|
174 |
+
1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
|
175 |
+
snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
|
176 |
+
U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
|
177 |
+
9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
|
178 |
+
BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
|
179 |
+
AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
|
180 |
+
yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
|
181 |
+
38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
|
182 |
+
AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
|
183 |
+
DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
|
184 |
+
HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
|
185 |
+
-----END CERTIFICATE-----
|
186 |
+
|
187 |
+
# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2
|
188 |
+
# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2
|
189 |
+
# Label: "GlobalSign Root CA - R2"
|
190 |
+
# Serial: 4835703278459682885658125
|
191 |
+
# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30
|
192 |
+
# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe
|
193 |
+
# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e
|
194 |
+
-----BEGIN CERTIFICATE-----
|
195 |
+
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G
|
196 |
+
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp
|
197 |
+
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1
|
198 |
+
MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG
|
199 |
+
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
|
200 |
+
hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL
|
201 |
+
v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8
|
202 |
+
eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq
|
203 |
+
tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd
|
204 |
+
C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa
|
205 |
+
zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB
|
206 |
+
mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH
|
207 |
+
V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n
|
208 |
+
bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG
|
209 |
+
3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs
|
210 |
+
J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO
|
211 |
+
291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS
|
212 |
+
ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd
|
213 |
+
AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
|
214 |
+
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
|
215 |
+
-----END CERTIFICATE-----
|
216 |
+
|
217 |
+
# Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 1 Policy Validation Authority
|
218 |
+
# Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 1 Policy Validation Authority
|
219 |
+
# Label: "ValiCert Class 1 VA"
|
220 |
+
# Serial: 1
|
221 |
+
# MD5 Fingerprint: 65:58:ab:15:ad:57:6c:1e:a8:a7:b5:69:ac:bf:ff:eb
|
222 |
+
# SHA1 Fingerprint: e5:df:74:3c:b6:01:c4:9b:98:43:dc:ab:8c:e8:6a:81:10:9f:e4:8e
|
223 |
+
# SHA256 Fingerprint: f4:c1:49:55:1a:30:13:a3:5b:c7:bf:fe:17:a7:f3:44:9b:c1:ab:5b:5a:0a:e7:4b:06:c2:3b:90:00:4c:01:04
|
224 |
+
-----BEGIN CERTIFICATE-----
|
225 |
+
MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0
|
226 |
+
IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz
|
227 |
+
BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y
|
228 |
+
aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG
|
229 |
+
9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIyMjM0OFoXDTE5MDYy
|
230 |
+
NTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y
|
231 |
+
azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
|
232 |
+
YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw
|
233 |
+
Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl
|
234 |
+
cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9Y
|
235 |
+
LqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIiGQj4/xEjm84H9b9pGib+
|
236 |
+
TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCmDuJWBQ8Y
|
237 |
+
TfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0
|
238 |
+
LBwGlN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLW
|
239 |
+
I8sogTLDAHkY7FkXicnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPw
|
240 |
+
nXS3qT6gpf+2SQMT2iLM7XGCK5nPOrf1LXLI
|
241 |
+
-----END CERTIFICATE-----
|
242 |
+
|
243 |
+
# Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 2 Policy Validation Authority
|
244 |
+
# Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 2 Policy Validation Authority
|
245 |
+
# Label: "ValiCert Class 2 VA"
|
246 |
+
# Serial: 1
|
247 |
+
# MD5 Fingerprint: a9:23:75:9b:ba:49:36:6e:31:c2:db:f2:e7:66:ba:87
|
248 |
+
# SHA1 Fingerprint: 31:7a:2a:d0:7f:2b:33:5e:f5:a1:c3:4e:4b:57:e8:b7:d8:f1:fc:a6
|
249 |
+
# SHA256 Fingerprint: 58:d0:17:27:9c:d4:dc:63:ab:dd:b1:96:a6:c9:90:6c:30:c4:e0:87:83:ea:e8:c1:60:99:54:d6:93:55:59:6b
|
250 |
+
-----BEGIN CERTIFICATE-----
|
251 |
+
MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0
|
252 |
+
IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz
|
253 |
+
BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y
|
254 |
+
aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG
|
255 |
+
9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMTk1NFoXDTE5MDYy
|
256 |
+
NjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y
|
257 |
+
azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
|
258 |
+
YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw
|
259 |
+
Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl
|
260 |
+
cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOOnHK5avIWZJV16vY
|
261 |
+
dA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVCCSRrCl6zfN1SLUzm1NZ9
|
262 |
+
WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7RfZHM047QS
|
263 |
+
v4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9v
|
264 |
+
UJSZSWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTu
|
265 |
+
IYEZoDJJKPTEjlbVUjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwC
|
266 |
+
W/POuZ6lcg5Ktz885hZo+L7tdEy8W9ViH0Pd
|
267 |
+
-----END CERTIFICATE-----
|
268 |
+
|
269 |
+
# Issuer: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 3 Policy Validation Authority
|
270 |
+
# Subject: CN=http://www.valicert.com/ O=ValiCert, Inc. OU=ValiCert Class 3 Policy Validation Authority
|
271 |
+
# Label: "RSA Root Certificate 1"
|
272 |
+
# Serial: 1
|
273 |
+
# MD5 Fingerprint: a2:6f:53:b7:ee:40:db:4a:68:e7:fa:18:d9:10:4b:72
|
274 |
+
# SHA1 Fingerprint: 69:bd:8c:f4:9c:d3:00:fb:59:2e:17:93:ca:55:6a:f3:ec:aa:35:fb
|
275 |
+
# SHA256 Fingerprint: bc:23:f9:8a:31:3c:b9:2d:e3:bb:fc:3a:5a:9f:44:61:ac:39:49:4c:4a:e1:5a:9e:9d:f1:31:e9:9b:73:01:9a
|
276 |
+
-----BEGIN CERTIFICATE-----
|
277 |
+
MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0
|
278 |
+
IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz
|
279 |
+
BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y
|
280 |
+
aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG
|
281 |
+
9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMjIzM1oXDTE5MDYy
|
282 |
+
NjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y
|
283 |
+
azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
|
284 |
+
YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw
|
285 |
+
Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl
|
286 |
+
cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjmFGWHOjVsQaBalfD
|
287 |
+
cnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td3zZxFJmP3MKS8edgkpfs
|
288 |
+
2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89HBFx1cQqY
|
289 |
+
JJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliE
|
290 |
+
Zwgs3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJ
|
291 |
+
n0WuPIqpsHEzXcjFV9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/A
|
292 |
+
PhmcGcwTTYJBtYze4D1gCCAPRX5ron+jjBXu
|
293 |
+
-----END CERTIFICATE-----
|
294 |
+
|
295 |
+
# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
|
296 |
+
# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
|
297 |
+
# Label: "Verisign Class 3 Public Primary Certification Authority - G3"
|
298 |
+
# Serial: 206684696279472310254277870180966723415
|
299 |
+
# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09
|
300 |
+
# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6
|
301 |
+
# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44
|
302 |
+
-----BEGIN CERTIFICATE-----
|
303 |
+
MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw
|
304 |
+
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
|
305 |
+
cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu
|
306 |
+
LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT
|
307 |
+
aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
|
308 |
+
dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD
|
309 |
+
VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
|
310 |
+
aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ
|
311 |
+
bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu
|
312 |
+
IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
|
313 |
+
LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b
|
314 |
+
N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t
|
315 |
+
KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu
|
316 |
+
kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm
|
317 |
+
CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ
|
318 |
+
Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu
|
319 |
+
imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te
|
320 |
+
2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe
|
321 |
+
DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
|
322 |
+
/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p
|
323 |
+
F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt
|
324 |
+
TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
|
325 |
+
-----END CERTIFICATE-----
|
326 |
+
|
327 |
+
# Issuer: CN=VeriSign Class 4 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
|
328 |
+
# Subject: CN=VeriSign Class 4 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
|
329 |
+
# Label: "Verisign Class 4 Public Primary Certification Authority - G3"
|
330 |
+
# Serial: 314531972711909413743075096039378935511
|
331 |
+
# MD5 Fingerprint: db:c8:f2:27:2e:b1:ea:6a:29:23:5d:fe:56:3e:33:df
|
332 |
+
# SHA1 Fingerprint: c8:ec:8c:87:92:69:cb:4b:ab:39:e9:8d:7e:57:67:f3:14:95:73:9d
|
333 |
+
# SHA256 Fingerprint: e3:89:36:0d:0f:db:ae:b3:d2:50:58:4b:47:30:31:4e:22:2f:39:c1:56:a0:20:14:4e:8d:96:05:61:79:15:06
|
334 |
+
-----BEGIN CERTIFICATE-----
|
335 |
+
MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQsw
|
336 |
+
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
|
337 |
+
cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu
|
338 |
+
LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT
|
339 |
+
aWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
|
340 |
+
dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD
|
341 |
+
VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
|
342 |
+
aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ
|
343 |
+
bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu
|
344 |
+
IENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
|
345 |
+
LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK3LpRFpxlmr8Y+1
|
346 |
+
GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaStBO3IFsJ
|
347 |
+
+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0Gbd
|
348 |
+
U6LM8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLm
|
349 |
+
NxdLMEYH5IBtptiWLugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XY
|
350 |
+
ufTsgsbSPZUd5cBPhMnZo0QoBmrXRazwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/
|
351 |
+
ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAj/ola09b5KROJ1WrIhVZPMq1
|
352 |
+
CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXttmhwwjIDLk5Mq
|
353 |
+
g6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
|
354 |
+
fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c
|
355 |
+
2NU8Qh0XwRJdRTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/
|
356 |
+
bLvSHgCwIe34QWKCudiyxLtGUPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
|
357 |
+
-----END CERTIFICATE-----
|
358 |
+
|
359 |
+
# Issuer: CN=Entrust.net Secure Server Certification Authority O=Entrust.net OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
|
360 |
+
# Subject: CN=Entrust.net Secure Server Certification Authority O=Entrust.net OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
|
361 |
+
# Label: "Entrust.net Secure Server CA"
|
362 |
+
# Serial: 927650371
|
363 |
+
# MD5 Fingerprint: df:f2:80:73:cc:f1:e6:61:73:fc:f5:42:e9:c5:7c:ee
|
364 |
+
# SHA1 Fingerprint: 99:a6:9b:e6:1a:fe:88:6b:4d:2b:82:00:7c:b8:54:fc:31:7e:15:39
|
365 |
+
# SHA256 Fingerprint: 62:f2:40:27:8c:56:4c:4d:d8:bf:7d:9d:4f:6f:36:6e:a8:94:d2:2f:5f:34:d9:89:a9:83:ac:ec:2f:ff:ed:50
|
366 |
+
-----BEGIN CERTIFICATE-----
|
367 |
+
MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
|
368 |
+
VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
|
369 |
+
ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
|
370 |
+
KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
|
371 |
+
ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1
|
372 |
+
MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE
|
373 |
+
ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j
|
374 |
+
b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
|
375 |
+
bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg
|
376 |
+
U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA
|
377 |
+
A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/
|
378 |
+
I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3
|
379 |
+
wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC
|
380 |
+
AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb
|
381 |
+
oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5
|
382 |
+
BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p
|
383 |
+
dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk
|
384 |
+
MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp
|
385 |
+
b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
|
386 |
+
dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0
|
387 |
+
MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi
|
388 |
+
E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa
|
389 |
+
MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI
|
390 |
+
hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN
|
391 |
+
95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd
|
392 |
+
2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
|
393 |
+
-----END CERTIFICATE-----
|
394 |
+
|
395 |
+
# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
|
396 |
+
# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
|
397 |
+
# Label: "Entrust.net Premium 2048 Secure Server CA"
|
398 |
+
# Serial: 946069240
|
399 |
+
# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90
|
400 |
+
# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31
|
401 |
+
# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77
|
402 |
+
-----BEGIN CERTIFICATE-----
|
403 |
+
MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
|
404 |
+
RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
|
405 |
+
bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5
|
406 |
+
IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp
|
407 |
+
ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3
|
408 |
+
MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
|
409 |
+
LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
|
410 |
+
YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
|
411 |
+
A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
|
412 |
+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
|
413 |
+
K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe
|
414 |
+
sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX
|
415 |
+
MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT
|
416 |
+
XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/
|
417 |
+
HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH
|
418 |
+
4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
|
419 |
+
HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub
|
420 |
+
j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo
|
421 |
+
U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
|
422 |
+
zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b
|
423 |
+
u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+
|
424 |
+
bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er
|
425 |
+
fF6adulZkMV8gzURZVE=
|
426 |
+
-----END CERTIFICATE-----
|
427 |
+
|
428 |
+
# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust
|
429 |
+
# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust
|
430 |
+
# Label: "Baltimore CyberTrust Root"
|
431 |
+
# Serial: 33554617
|
432 |
+
# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4
|
433 |
+
# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74
|
434 |
+
# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb
|
435 |
+
-----BEGIN CERTIFICATE-----
|
436 |
+
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
|
437 |
+
RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
|
438 |
+
VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
|
439 |
+
DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
|
440 |
+
ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
|
441 |
+
VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
|
442 |
+
mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
|
443 |
+
IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
|
444 |
+
mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
|
445 |
+
XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
|
446 |
+
dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
|
447 |
+
jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
|
448 |
+
BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
|
449 |
+
DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
|
450 |
+
9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
|
451 |
+
jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
|
452 |
+
Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
|
453 |
+
ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
|
454 |
+
R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
|
455 |
+
-----END CERTIFICATE-----
|
456 |
+
|
457 |
+
# Issuer: CN=Equifax Secure Global eBusiness CA-1 O=Equifax Secure Inc.
|
458 |
+
# Subject: CN=Equifax Secure Global eBusiness CA-1 O=Equifax Secure Inc.
|
459 |
+
# Label: "Equifax Secure Global eBusiness CA"
|
460 |
+
# Serial: 1
|
461 |
+
# MD5 Fingerprint: 8f:5d:77:06:27:c4:98:3c:5b:93:78:e7:d7:7d:9b:cc
|
462 |
+
# SHA1 Fingerprint: 7e:78:4a:10:1c:82:65:cc:2d:e1:f1:6d:47:b4:40:ca:d9:0a:19:45
|
463 |
+
# SHA256 Fingerprint: 5f:0b:62:ea:b5:e3:53:ea:65:21:65:16:58:fb:b6:53:59:f4:43:28:0a:4a:fb:d1:04:d7:7d:10:f9:f0:4c:07
|
464 |
+
-----BEGIN CERTIFICATE-----
|
465 |
+
MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEc
|
466 |
+
MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBT
|
467 |
+
ZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIw
|
468 |
+
MDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0VxdWlmYXggU2Vj
|
469 |
+
dXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEdsb2JhbCBlQnVzaW5l
|
470 |
+
c3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRVPEnC
|
471 |
+
UdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc
|
472 |
+
58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/
|
473 |
+
o5brhTMhHD4ePmBudpxnhcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAH
|
474 |
+
MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1dr
|
475 |
+
aGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUA
|
476 |
+
A4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkA
|
477 |
+
Z70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv
|
478 |
+
8qIYNMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV
|
479 |
+
-----END CERTIFICATE-----
|
480 |
+
|
481 |
+
# Issuer: CN=Equifax Secure eBusiness CA-1 O=Equifax Secure Inc.
|
482 |
+
# Subject: CN=Equifax Secure eBusiness CA-1 O=Equifax Secure Inc.
|
483 |
+
# Label: "Equifax Secure eBusiness CA 1"
|
484 |
+
# Serial: 4
|
485 |
+
# MD5 Fingerprint: 64:9c:ef:2e:44:fc:c6:8f:52:07:d0:51:73:8f:cb:3d
|
486 |
+
# SHA1 Fingerprint: da:40:18:8b:91:89:a3:ed:ee:ae:da:97:fe:2f:9d:f5:b7:d1:8a:41
|
487 |
+
# SHA256 Fingerprint: cf:56:ff:46:a4:a1:86:10:9d:d9:65:84:b5:ee:b5:8a:51:0c:42:75:b0:e5:f9:4f:40:bb:ae:86:5e:19:f6:73
|
488 |
+
-----BEGIN CERTIFICATE-----
|
489 |
+
MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEc
|
490 |
+
MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBT
|
491 |
+
ZWN1cmUgZUJ1c2luZXNzIENBLTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQw
|
492 |
+
MDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5j
|
493 |
+
LjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENBLTEwgZ8wDQYJ
|
494 |
+
KoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ1MRo
|
495 |
+
RvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBu
|
496 |
+
WqDZQu4aIZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKw
|
497 |
+
Env+j6YDAgMBAAGjZjBkMBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTAD
|
498 |
+
AQH/MB8GA1UdIwQYMBaAFEp4MlIR21kWNl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRK
|
499 |
+
eDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQFAAOBgQB1W6ibAxHm6VZM
|
500 |
+
zfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5lSE/9dR+
|
501 |
+
WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN
|
502 |
+
/Bf+KpYrtWKmpj29f5JZzVoqgrI3eQ==
|
503 |
+
-----END CERTIFICATE-----
|
504 |
+
|
505 |
+
# Issuer: CN=AddTrust Class 1 CA Root O=AddTrust AB OU=AddTrust TTP Network
|
506 |
+
# Subject: CN=AddTrust Class 1 CA Root O=AddTrust AB OU=AddTrust TTP Network
|
507 |
+
# Label: "AddTrust Low-Value Services Root"
|
508 |
+
# Serial: 1
|
509 |
+
# MD5 Fingerprint: 1e:42:95:02:33:92:6b:b9:5f:c0:7f:da:d6:b2:4b:fc
|
510 |
+
# SHA1 Fingerprint: cc:ab:0e:a0:4c:23:01:d6:69:7b:dd:37:9f:cd:12:eb:24:e3:94:9d
|
511 |
+
# SHA256 Fingerprint: 8c:72:09:27:9a:c0:4e:27:5e:16:d0:7f:d3:b7:75:e8:01:54:b5:96:80:46:e3:1f:52:dd:25:76:63:24:e9:a7
|
512 |
+
-----BEGIN CERTIFICATE-----
|
513 |
+
MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU
|
514 |
+
MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
|
515 |
+
b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw
|
516 |
+
MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
517 |
+
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD
|
518 |
+
VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA
|
519 |
+
A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul
|
520 |
+
CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n
|
521 |
+
tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl
|
522 |
+
dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch
|
523 |
+
PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC
|
524 |
+
+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O
|
525 |
+
BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E
|
526 |
+
BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl
|
527 |
+
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk
|
528 |
+
ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB
|
529 |
+
IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X
|
530 |
+
7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz
|
531 |
+
43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
|
532 |
+
eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl
|
533 |
+
pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA
|
534 |
+
WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
|
535 |
+
-----END CERTIFICATE-----
|
536 |
+
|
537 |
+
# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network
|
538 |
+
# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network
|
539 |
+
# Label: "AddTrust External Root"
|
540 |
+
# Serial: 1
|
541 |
+
# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f
|
542 |
+
# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68
|
543 |
+
# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2
|
544 |
+
-----BEGIN CERTIFICATE-----
|
545 |
+
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
|
546 |
+
MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
|
547 |
+
IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
|
548 |
+
MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
|
549 |
+
FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
|
550 |
+
bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
|
551 |
+
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
|
552 |
+
H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
|
553 |
+
uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
|
554 |
+
mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
|
555 |
+
a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
|
556 |
+
E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
|
557 |
+
WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
|
558 |
+
VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
|
559 |
+
Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
|
560 |
+
cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
|
561 |
+
IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
|
562 |
+
AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
|
563 |
+
YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
|
564 |
+
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
|
565 |
+
Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
|
566 |
+
c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
|
567 |
+
mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
|
568 |
+
-----END CERTIFICATE-----
|
569 |
+
|
570 |
+
# Issuer: CN=AddTrust Public CA Root O=AddTrust AB OU=AddTrust TTP Network
|
571 |
+
# Subject: CN=AddTrust Public CA Root O=AddTrust AB OU=AddTrust TTP Network
|
572 |
+
# Label: "AddTrust Public Services Root"
|
573 |
+
# Serial: 1
|
574 |
+
# MD5 Fingerprint: c1:62:3e:23:c5:82:73:9c:03:59:4b:2b:e9:77:49:7f
|
575 |
+
# SHA1 Fingerprint: 2a:b6:28:48:5e:78:fb:f3:ad:9e:79:10:dd:6b:df:99:72:2c:96:e5
|
576 |
+
# SHA256 Fingerprint: 07:91:ca:07:49:b2:07:82:aa:d3:c7:d7:bd:0c:df:c9:48:58:35:84:3e:b2:d7:99:60:09:ce:43:ab:6c:69:27
|
577 |
+
-----BEGIN CERTIFICATE-----
|
578 |
+
MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEU
|
579 |
+
MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
|
580 |
+
b3JrMSAwHgYDVQQDExdBZGRUcnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAx
|
581 |
+
MDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtB
|
582 |
+
ZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIDAeBgNV
|
583 |
+
BAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOC
|
584 |
+
AQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV
|
585 |
+
6tsfSlbunyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nX
|
586 |
+
GCwwfQ56HmIexkvA/X1id9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnP
|
587 |
+
dzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSGAa2Il+tmzV7R/9x98oTaunet3IAIx6eH
|
588 |
+
1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAwHM+A+WD+eeSI8t0A65RF
|
589 |
+
62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0GA1UdDgQW
|
590 |
+
BBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUw
|
591 |
+
AwEB/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDEL
|
592 |
+
MAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRU
|
593 |
+
cnVzdCBUVFAgTmV0d29yazEgMB4GA1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJv
|
594 |
+
b3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4JNojVhaTdt02KLmuG7jD8WS6
|
595 |
+
IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL+YPoRNWyQSW/
|
596 |
+
iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
|
597 |
+
GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh
|
598 |
+
4SINhwBk/ox9Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQm
|
599 |
+
XiLsks3/QppEIW1cxeMiHV9HEufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
|
600 |
+
-----END CERTIFICATE-----
|
601 |
+
|
602 |
+
# Issuer: CN=AddTrust Qualified CA Root O=AddTrust AB OU=AddTrust TTP Network
|
603 |
+
# Subject: CN=AddTrust Qualified CA Root O=AddTrust AB OU=AddTrust TTP Network
|
604 |
+
# Label: "AddTrust Qualified Certificates Root"
|
605 |
+
# Serial: 1
|
606 |
+
# MD5 Fingerprint: 27:ec:39:47:cd:da:5a:af:e2:9a:01:65:21:a9:4c:bb
|
607 |
+
# SHA1 Fingerprint: 4d:23:78:ec:91:95:39:b5:00:7f:75:8f:03:3b:21:1e:c5:4d:8b:cf
|
608 |
+
# SHA256 Fingerprint: 80:95:21:08:05:db:4b:bc:35:5e:44:28:d8:fd:6e:c2:cd:e3:ab:5f:b9:7a:99:42:98:8e:b8:f4:dc:d0:60:16
|
609 |
+
-----BEGIN CERTIFICATE-----
|
610 |
+
MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEU
|
611 |
+
MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
|
612 |
+
b3JrMSMwIQYDVQQDExpBZGRUcnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1
|
613 |
+
MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcxCzAJBgNVBAYTAlNFMRQwEgYDVQQK
|
614 |
+
EwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIzAh
|
615 |
+
BgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG9w0B
|
616 |
+
AQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwq
|
617 |
+
xBb/4Oxx64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G
|
618 |
+
87B4pfYOQnrjfxvM0PC3KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i
|
619 |
+
2O+tCBGaKZnhqkRFmhJePp1tUvznoD1oL/BLcHwTOK28FSXx1s6rosAx1i+f4P8U
|
620 |
+
WfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GRwVY18BTcZTYJbqukB8c1
|
621 |
+
0cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HUMIHRMB0G
|
622 |
+
A1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0T
|
623 |
+
AQH/BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6Fr
|
624 |
+
pGkwZzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQL
|
625 |
+
ExRBZGRUcnVzdCBUVFAgTmV0d29yazEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlm
|
626 |
+
aWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBABmrder4i2VhlRO6aQTv
|
627 |
+
hsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxGGuoYQ992zPlm
|
628 |
+
hpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
|
629 |
+
dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3
|
630 |
+
P6CxB9bpT9zeRXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9Y
|
631 |
+
iQBCYz95OdBEsIJuQRno3eDBiFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5no
|
632 |
+
xqE=
|
633 |
+
-----END CERTIFICATE-----
|
634 |
+
|
635 |
+
# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.
|
636 |
+
# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.
|
637 |
+
# Label: "Entrust Root Certification Authority"
|
638 |
+
# Serial: 1164660820
|
639 |
+
# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4
|
640 |
+
# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9
|
641 |
+
# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c
|
642 |
+
-----BEGIN CERTIFICATE-----
|
643 |
+
MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC
|
644 |
+
VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
|
645 |
+
Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW
|
646 |
+
KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl
|
647 |
+
cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw
|
648 |
+
NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw
|
649 |
+
NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy
|
650 |
+
ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV
|
651 |
+
BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ
|
652 |
+
KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo
|
653 |
+
Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4
|
654 |
+
4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9
|
655 |
+
KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI
|
656 |
+
rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi
|
657 |
+
94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB
|
658 |
+
sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi
|
659 |
+
gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo
|
660 |
+
kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE
|
661 |
+
vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
|
662 |
+
A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t
|
663 |
+
O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua
|
664 |
+
AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP
|
665 |
+
9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/
|
666 |
+
eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m
|
667 |
+
0vdXcDazv/wor3ElhVsT/h5/WrQ8
|
668 |
+
-----END CERTIFICATE-----
|
669 |
+
|
670 |
+
# Issuer: O=RSA Security Inc OU=RSA Security 2048 V3
|
671 |
+
# Subject: O=RSA Security Inc OU=RSA Security 2048 V3
|
672 |
+
# Label: "RSA Security 2048 v3"
|
673 |
+
# Serial: 13297492616345471454730593562152402946
|
674 |
+
# MD5 Fingerprint: 77:0d:19:b1:21:fd:00:42:9c:3e:0c:a5:dd:0b:02:8e
|
675 |
+
# SHA1 Fingerprint: 25:01:90:19:cf:fb:d9:99:1c:b7:68:25:74:8d:94:5f:30:93:95:42
|
676 |
+
# SHA256 Fingerprint: af:8b:67:62:a1:e5:28:22:81:61:a9:5d:5c:55:9e:e2:66:27:8f:75:d7:9e:83:01:89:a5:03:50:6a:bd:6b:4c
|
677 |
+
-----BEGIN CERTIFICATE-----
|
678 |
+
MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6
|
679 |
+
MRkwFwYDVQQKExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJp
|
680 |
+
dHkgMjA0OCBWMzAeFw0wMTAyMjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAX
|
681 |
+
BgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAbBgNVBAsTFFJTQSBTZWN1cml0eSAy
|
682 |
+
MDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt49VcdKA3Xtp
|
683 |
+
eafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7Jylg
|
684 |
+
/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGl
|
685 |
+
wSMiuLgbWhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnh
|
686 |
+
AMFRD0xS+ARaqn1y07iHKrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2
|
687 |
+
PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpu
|
688 |
+
AWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
|
689 |
+
BjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4EFgQUB8NR
|
690 |
+
MKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYc
|
691 |
+
HnmYv/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/
|
692 |
+
Zb5gEydxiKRz44Rj0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+
|
693 |
+
f00/FGj1EVDVwfSQpQgdMWD/YIwjVAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVO
|
694 |
+
rSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395nzIlQnQFgCi/vcEkllgVsRch
|
695 |
+
6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kApKnXwiJPZ9d3
|
696 |
+
7CAFYd4=
|
697 |
+
-----END CERTIFICATE-----
|
698 |
+
|
699 |
+
# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc.
|
700 |
+
# Subject: CN=GeoTrust Global CA O=GeoTrust Inc.
|
701 |
+
# Label: "GeoTrust Global CA"
|
702 |
+
# Serial: 144470
|
703 |
+
# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5
|
704 |
+
# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12
|
705 |
+
# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a
|
706 |
+
-----BEGIN CERTIFICATE-----
|
707 |
+
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
|
708 |
+
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
|
709 |
+
YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
|
710 |
+
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
|
711 |
+
R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
|
712 |
+
9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
|
713 |
+
fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
|
714 |
+
iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
|
715 |
+
1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
|
716 |
+
bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
|
717 |
+
MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
|
718 |
+
ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
|
719 |
+
uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
|
720 |
+
Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
|
721 |
+
tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
|
722 |
+
PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
|
723 |
+
hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
|
724 |
+
5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
|
725 |
+
-----END CERTIFICATE-----
|
726 |
+
|
727 |
+
# Issuer: CN=GeoTrust Global CA 2 O=GeoTrust Inc.
|
728 |
+
# Subject: CN=GeoTrust Global CA 2 O=GeoTrust Inc.
|
729 |
+
# Label: "GeoTrust Global CA 2"
|
730 |
+
# Serial: 1
|
731 |
+
# MD5 Fingerprint: 0e:40:a7:6c:de:03:5d:8f:d1:0f:e4:d1:8d:f9:6c:a9
|
732 |
+
# SHA1 Fingerprint: a9:e9:78:08:14:37:58:88:f2:05:19:b0:6d:2b:0d:2b:60:16:90:7d
|
733 |
+
# SHA256 Fingerprint: ca:2d:82:a0:86:77:07:2f:8a:b6:76:4f:f0:35:67:6c:fe:3e:5e:32:5e:01:21:72:df:3f:92:09:6d:b7:9b:85
|
734 |
+
-----BEGIN CERTIFICATE-----
|
735 |
+
MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEW
|
736 |
+
MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFs
|
737 |
+
IENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQG
|
738 |
+
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg
|
739 |
+
R2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvPE1A
|
740 |
+
PRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/NTL8
|
741 |
+
Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hL
|
742 |
+
TytCOb1kLUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL
|
743 |
+
5mkWRxHCJ1kDs6ZgwiFAVvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7
|
744 |
+
S4wMcoKK+xfNAGw6EzywhIdLFnopsk/bHdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe
|
745 |
+
2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
|
746 |
+
FHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNHK266ZUap
|
747 |
+
EBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6td
|
748 |
+
EPx7srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv
|
749 |
+
/NgdRN3ggX+d6YvhZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywN
|
750 |
+
A0ZF66D0f0hExghAzN4bcLUprbqLOzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0
|
751 |
+
abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkCx1YAzUm5s2x7UwQa4qjJqhIF
|
752 |
+
I8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqFH4z1Ir+rzoPz
|
753 |
+
4iIprn2DQKi6bA==
|
754 |
+
-----END CERTIFICATE-----
|
755 |
+
|
756 |
+
# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc.
|
757 |
+
# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc.
|
758 |
+
# Label: "GeoTrust Universal CA"
|
759 |
+
# Serial: 1
|
760 |
+
# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48
|
761 |
+
# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79
|
762 |
+
# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12
|
763 |
+
-----BEGIN CERTIFICATE-----
|
764 |
+
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
|
793 |
+
-----END CERTIFICATE-----
|
794 |
+
|
795 |
+
# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc.
|
796 |
+
# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc.
|
797 |
+
# Label: "GeoTrust Universal CA 2"
|
798 |
+
# Serial: 1
|
799 |
+
# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7
|
800 |
+
# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79
|
801 |
+
# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b
|
802 |
+
-----BEGIN CERTIFICATE-----
|
803 |
+
MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW
|
804 |
+
MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy
|
805 |
+
c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD
|
806 |
+
VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1
|
807 |
+
c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
|
808 |
+
AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81
|
809 |
+
WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG
|
810 |
+
FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq
|
811 |
+
XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL
|
812 |
+
se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb
|
813 |
+
KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd
|
814 |
+
IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73
|
815 |
+
y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt
|
816 |
+
hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc
|
817 |
+
QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4
|
818 |
+
Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV
|
819 |
+
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV
|
820 |
+
HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ
|
821 |
+
KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
|
822 |
+
dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ
|
823 |
+
L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr
|
824 |
+
Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo
|
825 |
+
ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY
|
826 |
+
T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz
|
827 |
+
GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m
|
828 |
+
1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV
|
829 |
+
OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH
|
830 |
+
6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX
|
831 |
+
QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
|
832 |
+
-----END CERTIFICATE-----
|
833 |
+
|
834 |
+
# Issuer: CN=America Online Root Certification Authority 1 O=America Online Inc.
|
835 |
+
# Subject: CN=America Online Root Certification Authority 1 O=America Online Inc.
|
836 |
+
# Label: "America Online Root Certification Authority 1"
|
837 |
+
# Serial: 1
|
838 |
+
# MD5 Fingerprint: 14:f1:08:ad:9d:fa:64:e2:89:e7:1c:cf:a8:ad:7d:5e
|
839 |
+
# SHA1 Fingerprint: 39:21:c1:15:c1:5d:0e:ca:5c:cb:5b:c4:f0:7d:21:d8:05:0b:56:6a
|
840 |
+
# SHA256 Fingerprint: 77:40:73:12:c6:3a:15:3d:5b:c0:0b:4e:51:75:9c:df:da:c2:37:dc:2a:33:b6:79:46:e9:8e:9b:fa:68:0a:e3
|
841 |
+
-----BEGIN CERTIFICATE-----
|
842 |
+
MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc
|
843 |
+
MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP
|
844 |
+
bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2
|
845 |
+
MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft
|
846 |
+
ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg
|
847 |
+
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
848 |
+
ADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lk
|
849 |
+
hsmj76CGv2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym
|
850 |
+
1BW32J/X3HGrfpq/m44zDyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsW
|
851 |
+
OqMFf6Dch9Wc/HKpoH145LcxVR5lu9RhsCFg7RAycsWSJR74kEoYeEfffjA3PlAb
|
852 |
+
2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP8c9GsEsPPt2IYriMqQko
|
853 |
+
O3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0TAQH/BAUw
|
854 |
+
AwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAU
|
855 |
+
AK3Zo/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
|
856 |
+
BQUAA4IBAQB8itEfGDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkF
|
857 |
+
Zu90821fnZmv9ov761KyBZiibyrFVL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAb
|
858 |
+
LjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft3OJvx8Fi8eNy1gTIdGcL+oir
|
859 |
+
oQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43gKd8hdIaC2y+C
|
860 |
+
MMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
|
861 |
+
sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
|
862 |
+
-----END CERTIFICATE-----
|
863 |
+
|
864 |
+
# Issuer: CN=America Online Root Certification Authority 2 O=America Online Inc.
|
865 |
+
# Subject: CN=America Online Root Certification Authority 2 O=America Online Inc.
|
866 |
+
# Label: "America Online Root Certification Authority 2"
|
867 |
+
# Serial: 1
|
868 |
+
# MD5 Fingerprint: d6:ed:3c:ca:e2:66:0f:af:10:43:0d:77:9b:04:09:bf
|
869 |
+
# SHA1 Fingerprint: 85:b5:ff:67:9b:0c:79:96:1f:c8:6e:44:22:00:46:13:db:17:92:84
|
870 |
+
# SHA256 Fingerprint: 7d:3b:46:5a:60:14:e5:26:c0:af:fc:ee:21:27:d2:31:17:27:ad:81:1c:26:84:2d:00:6a:f3:73:06:cc:80:bd
|
871 |
+
-----BEGIN CERTIFICATE-----
|
872 |
+
MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc
|
873 |
+
MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP
|
874 |
+
bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2
|
875 |
+
MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft
|
876 |
+
ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg
|
877 |
+
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
|
878 |
+
ADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC
|
879 |
+
206B89enfHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFci
|
880 |
+
KtZHgVdEglZTvYYUAQv8f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2
|
881 |
+
JxhP7JsowtS013wMPgwr38oE18aO6lhOqKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9
|
882 |
+
BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JNRvCAOVIyD+OEsnpD8l7e
|
883 |
+
Xz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0gBe4lL8B
|
884 |
+
PeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67
|
885 |
+
Xnfn6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEq
|
886 |
+
Z8A9W6Wa6897GqidFEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZ
|
887 |
+
o2C7HK2JNDJiuEMhBnIMoVxtRsX6Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3
|
888 |
+
+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnjB453cMor9H124HhnAgMBAAGj
|
889 |
+
YzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3OpaaEg5+31IqEj
|
890 |
+
FNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
|
891 |
+
AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmn
|
892 |
+
xPBUlgtk87FYT15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2
|
893 |
+
LHo1YGwRgJfMqZJS5ivmae2p+DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzccc
|
894 |
+
obGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXgJXUjhx5c3LqdsKyzadsXg8n33gy8
|
895 |
+
CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//ZoyzH1kUQ7rVyZ2OuMe
|
896 |
+
IjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgOZtMA
|
897 |
+
DjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2F
|
898 |
+
AjgQ5ANh1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUX
|
899 |
+
Om/9riW99XJZZLF0KjhfGEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPb
|
900 |
+
AZO1XB4Y3WRayhgoPmMEEf0cjQAPuDffZ4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQl
|
901 |
+
Zvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuPcX/9XhmgD0uRuMRUvAaw
|
902 |
+
RY8mkaKO/qk=
|
903 |
+
-----END CERTIFICATE-----
|
904 |
+
|
905 |
+
# Issuer: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association
|
906 |
+
# Subject: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association
|
907 |
+
# Label: "Visa eCommerce Root"
|
908 |
+
# Serial: 25952180776285836048024890241505565794
|
909 |
+
# MD5 Fingerprint: fc:11:b8:d8:08:93:30:00:6d:23:f9:7e:eb:52:1e:02
|
910 |
+
# SHA1 Fingerprint: 70:17:9b:86:8c:00:a4:fa:60:91:52:22:3f:9f:3e:32:bd:e0:05:62
|
911 |
+
# SHA256 Fingerprint: 69:fa:c9:bd:55:fb:0a:c7:8d:53:bb:ee:5c:f1:d5:97:98:9f:d0:aa:ab:20:a2:51:51:bd:f1:73:3e:e7:d1:22
|
912 |
+
-----BEGIN CERTIFICATE-----
|
913 |
+
MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBr
|
914 |
+
MQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRl
|
915 |
+
cm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
|
916 |
+
bW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2WhcNMjIwNjI0MDAxNjEyWjBrMQsw
|
917 |
+
CQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5h
|
918 |
+
dGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1l
|
919 |
+
cmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h
|
920 |
+
2mCxlCfLF9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4E
|
921 |
+
lpF7sDPwsRROEW+1QK8bRaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdV
|
922 |
+
ZqW1LS7YgFmypw23RuwhY/81q6UCzyr0TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq
|
923 |
+
299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI/k4+oKsGGelT84ATB+0t
|
924 |
+
vz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzsGHxBvfaL
|
925 |
+
dXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
|
926 |
+
AgEGMB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF
|
927 |
+
AAOCAQEAX/FBfXxcCLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcR
|
928 |
+
zCSs00Rsca4BIGsDoo8Ytyk6feUWYFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3
|
929 |
+
LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pzzkWKsKZJ/0x9nXGIxHYdkFsd
|
930 |
+
7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBuYQa7FkKMcPcw
|
931 |
+
++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
|
932 |
+
398znM/jra6O1I7mT1GvFpLgXPYHDw==
|
933 |
+
-----END CERTIFICATE-----
|
934 |
+
|
935 |
+
# Issuer: CN=Certum CA O=Unizeto Sp. z o.o.
|
936 |
+
# Subject: CN=Certum CA O=Unizeto Sp. z o.o.
|
937 |
+
# Label: "Certum Root CA"
|
938 |
+
# Serial: 65568
|
939 |
+
# MD5 Fingerprint: 2c:8f:9f:66:1d:18:90:b1:47:26:9d:8e:86:82:8c:a9
|
940 |
+
# SHA1 Fingerprint: 62:52:dc:40:f7:11:43:a2:2f:de:9e:f7:34:8e:06:42:51:b1:81:18
|
941 |
+
# SHA256 Fingerprint: d8:e0:fe:bc:1d:b2:e3:8d:00:94:0f:37:d2:7d:41:34:4d:99:3e:73:4b:99:d5:65:6d:97:78:d4:d8:14:36:24
|
942 |
+
-----BEGIN CERTIFICATE-----
|
943 |
+
MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
|
944 |
+
MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
|
945 |
+
QTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBM
|
946 |
+
MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
|
947 |
+
QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/E
|
948 |
+
jG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWo
|
949 |
+
ePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GI
|
950 |
+
ULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapu
|
951 |
+
Ob7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUg
|
952 |
+
AKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7
|
953 |
+
HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA
|
954 |
+
uI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQa
|
955 |
+
TOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTg
|
956 |
+
xSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1q
|
957 |
+
CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x
|
958 |
+
O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs
|
959 |
+
6GAqm4VKQPNriiTsBhYscw==
|
960 |
+
-----END CERTIFICATE-----
|
961 |
+
|
962 |
+
# Issuer: CN=AAA Certificate Services O=Comodo CA Limited
|
963 |
+
# Subject: CN=AAA Certificate Services O=Comodo CA Limited
|
964 |
+
# Label: "Comodo AAA Services root"
|
965 |
+
# Serial: 1
|
966 |
+
# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0
|
967 |
+
# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49
|
968 |
+
# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4
|
969 |
+
-----BEGIN CERTIFICATE-----
|
970 |
+
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
|
971 |
+
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
|
972 |
+
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
|
973 |
+
YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
|
974 |
+
MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
|
975 |
+
BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
|
976 |
+
GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
977 |
+
ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
|
978 |
+
BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
|
979 |
+
3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
|
980 |
+
YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
|
981 |
+
rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
|
982 |
+
ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
|
983 |
+
oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
|
984 |
+
MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
|
985 |
+
QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
|
986 |
+
b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
|
987 |
+
AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
|
988 |
+
GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
|
989 |
+
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
|
990 |
+
G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
|
991 |
+
l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
|
992 |
+
smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
993 |
+
-----END CERTIFICATE-----
|
994 |
+
|
995 |
+
# Issuer: CN=Secure Certificate Services O=Comodo CA Limited
|
996 |
+
# Subject: CN=Secure Certificate Services O=Comodo CA Limited
|
997 |
+
# Label: "Comodo Secure Services root"
|
998 |
+
# Serial: 1
|
999 |
+
# MD5 Fingerprint: d3:d9:bd:ae:9f:ac:67:24:b3:c8:1b:52:e1:b9:a9:bd
|
1000 |
+
# SHA1 Fingerprint: 4a:65:d5:f4:1d:ef:39:b8:b8:90:4a:4a:d3:64:81:33:cf:c7:a1:d1
|
1001 |
+
# SHA256 Fingerprint: bd:81:ce:3b:4f:65:91:d1:1a:67:b5:fc:7a:47:fd:ef:25:52:1b:f9:aa:4e:18:b9:e3:df:2e:34:a7:80:3b:e8
|
1002 |
+
-----BEGIN CERTIFICATE-----
|
1003 |
+
MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEb
|
1004 |
+
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
|
1005 |
+
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRp
|
1006 |
+
ZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVow
|
1007 |
+
fjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
|
1008 |
+
A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAiBgNV
|
1009 |
+
BAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEB
|
1010 |
+
BQADggEPADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPM
|
1011 |
+
cm3ye5drswfxdySRXyWP9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3S
|
1012 |
+
HpR7LZQdqnXXs5jLrLxkU0C8j6ysNstcrbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996
|
1013 |
+
CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rCoznl2yY4rYsK7hljxxwk
|
1014 |
+
3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3Vp6ea5EQz
|
1015 |
+
6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNV
|
1016 |
+
HQ4EFgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
|
1017 |
+
EwEB/wQFMAMBAf8wgYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2Rv
|
1018 |
+
Y2EuY29tL1NlY3VyZUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRw
|
1019 |
+
Oi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmww
|
1020 |
+
DQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm4J4oqF7Tt/Q0
|
1021 |
+
5qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
|
1022 |
+
Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtI
|
1023 |
+
gKvcnDe4IRRLDXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJ
|
1024 |
+
aD61JlfutuC23bkpgHl9j6PwpCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDl
|
1025 |
+
izeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1HRR3B7Hzs/Sk=
|
1026 |
+
-----END CERTIFICATE-----
|
1027 |
+
|
1028 |
+
# Issuer: CN=Trusted Certificate Services O=Comodo CA Limited
|
1029 |
+
# Subject: CN=Trusted Certificate Services O=Comodo CA Limited
|
1030 |
+
# Label: "Comodo Trusted Services root"
|
1031 |
+
# Serial: 1
|
1032 |
+
# MD5 Fingerprint: 91:1b:3f:6e:cd:9e:ab:ee:07:fe:1f:71:d2:b3:61:27
|
1033 |
+
# SHA1 Fingerprint: e1:9f:e3:0e:8b:84:60:9e:80:9b:17:0d:72:a8:c5:ba:6e:14:09:bd
|
1034 |
+
# SHA256 Fingerprint: 3f:06:e5:56:81:d4:96:f5:be:16:9e:b5:38:9f:9f:2b:8f:f6:1e:17:08:df:68:81:72:48:49:cd:5d:27:cb:69
|
1035 |
+
-----BEGIN CERTIFICATE-----
|
1036 |
+
MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEb
|
1037 |
+
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
|
1038 |
+
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0
|
1039 |
+
aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTla
|
1040 |
+
MH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
|
1041 |
+
BgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUwIwYD
|
1042 |
+
VQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0B
|
1043 |
+
AQEFAAOCAQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWW
|
1044 |
+
fnJSoBVC21ndZHoa0Lh73TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMt
|
1045 |
+
TGo87IvDktJTdyR0nAducPy9C1t2ul/y/9c3S0pgePfw+spwtOpZqqPOSC+pw7IL
|
1046 |
+
fhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6juljatEPmsbS9Is6FARW
|
1047 |
+
1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsSivnkBbA7
|
1048 |
+
kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0G
|
1049 |
+
A1UdDgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYD
|
1050 |
+
VR0TAQH/BAUwAwEB/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21v
|
1051 |
+
ZG9jYS5jb20vVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRo
|
1052 |
+
dHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMu
|
1053 |
+
Y3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8NtwuleGFTQQuS9/
|
1054 |
+
HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
|
1055 |
+
pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxIS
|
1056 |
+
jBc/lDb+XbDABHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+
|
1057 |
+
xqFx7D+gIIxmOom0jtTYsU0lR+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/Atyjcn
|
1058 |
+
dBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O9y5Xt5hwXsjEeLBi
|
1059 |
+
-----END CERTIFICATE-----
|
1060 |
+
|
1061 |
+
# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority
|
1062 |
+
# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority
|
1063 |
+
# Label: "QuoVadis Root CA"
|
1064 |
+
# Serial: 985026699
|
1065 |
+
# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24
|
1066 |
+
# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9
|
1067 |
+
# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73
|
1068 |
+
-----BEGIN CERTIFICATE-----
|
1069 |
+
MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC
|
1070 |
+
TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0
|
1071 |
+
aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0
|
1072 |
+
aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz
|
1073 |
+
MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw
|
1074 |
+
IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR
|
1075 |
+
dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG
|
1076 |
+
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp
|
1077 |
+
li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D
|
1078 |
+
rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ
|
1079 |
+
WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug
|
1080 |
+
F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU
|
1081 |
+
xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC
|
1082 |
+
Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv
|
1083 |
+
dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw
|
1084 |
+
ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl
|
1085 |
+
IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh
|
1086 |
+
c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy
|
1087 |
+
ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
|
1088 |
+
Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI
|
1089 |
+
KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T
|
1090 |
+
KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq
|
1091 |
+
y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p
|
1092 |
+
dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD
|
1093 |
+
VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL
|
1094 |
+
MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk
|
1095 |
+
fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8
|
1096 |
+
7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R
|
1097 |
+
cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y
|
1098 |
+
mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW
|
1099 |
+
xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK
|
1100 |
+
SnQ2+Q==
|
1101 |
+
-----END CERTIFICATE-----
|
1102 |
+
|
1103 |
+
# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited
|
1104 |
+
# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited
|
1105 |
+
# Label: "QuoVadis Root CA 2"
|
1106 |
+
# Serial: 1289
|
1107 |
+
# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b
|
1108 |
+
# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7
|
1109 |
+
# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86
|
1110 |
+
-----BEGIN CERTIFICATE-----
|
1111 |
+
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
|
1141 |
+
8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
|
1142 |
+
-----END CERTIFICATE-----
|
1143 |
+
|
1144 |
+
# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited
|
1145 |
+
# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited
|
1146 |
+
# Label: "QuoVadis Root CA 3"
|
1147 |
+
# Serial: 1478
|
1148 |
+
# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf
|
1149 |
+
# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85
|
1150 |
+
# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35
|
1151 |
+
-----BEGIN CERTIFICATE-----
|
1152 |
+
MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x
|
1153 |
+
GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv
|
1154 |
+
b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV
|
1155 |
+
BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W
|
1156 |
+
YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM
|
1157 |
+
V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB
|
1158 |
+
4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr
|
1159 |
+
H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd
|
1160 |
+
8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv
|
1161 |
+
vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT
|
1162 |
+
mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe
|
1163 |
+
btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc
|
1164 |
+
T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt
|
1165 |
+
WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ
|
1166 |
+
c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A
|
1167 |
+
4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD
|
1168 |
+
VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG
|
1169 |
+
CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0
|
1170 |
+
aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
|
1171 |
+
aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu
|
1172 |
+
dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw
|
1173 |
+
czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G
|
1174 |
+
A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC
|
1175 |
+
TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg
|
1176 |
+
Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0
|
1177 |
+
7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem
|
1178 |
+
d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd
|
1179 |
+
+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B
|
1180 |
+
4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN
|
1181 |
+
t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x
|
1182 |
+
DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57
|
1183 |
+
k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s
|
1184 |
+
zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j
|
1185 |
+
Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT
|
1186 |
+
mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK
|
1187 |
+
4SVhM7JZG+Ju1zdXtg2pEto=
|
1188 |
+
-----END CERTIFICATE-----
|
1189 |
+
|
1190 |
+
# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1
|
1191 |
+
# Subject: O=SECOM Trust.net OU=Security Communication RootCA1
|
1192 |
+
# Label: "Security Communication Root CA"
|
1193 |
+
# Serial: 0
|
1194 |
+
# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a
|
1195 |
+
# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7
|
1196 |
+
# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c
|
1197 |
+
-----BEGIN CERTIFICATE-----
|
1198 |
+
MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY
|
1199 |
+
MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t
|
1200 |
+
dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5
|
1201 |
+
WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD
|
1202 |
+
VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3
|
1203 |
+
DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8
|
1204 |
+
9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ
|
1205 |
+
DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9
|
1206 |
+
Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N
|
1207 |
+
QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ
|
1208 |
+
xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G
|
1209 |
+
A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T
|
1210 |
+
AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG
|
1211 |
+
kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr
|
1212 |
+
Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5
|
1213 |
+
Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU
|
1214 |
+
JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot
|
1215 |
+
RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw==
|
1216 |
+
-----END CERTIFICATE-----
|
1217 |
+
|
1218 |
+
# Issuer: CN=Sonera Class2 CA O=Sonera
|
1219 |
+
# Subject: CN=Sonera Class2 CA O=Sonera
|
1220 |
+
# Label: "Sonera Class 2 Root CA"
|
1221 |
+
# Serial: 29
|
1222 |
+
# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb
|
1223 |
+
# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27
|
1224 |
+
# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27
|
1225 |
+
-----BEGIN CERTIFICATE-----
|
1226 |
+
MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP
|
1227 |
+
MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx
|
1228 |
+
MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV
|
1229 |
+
BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI
|
1230 |
+
hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o
|
1231 |
+
Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt
|
1232 |
+
5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s
|
1233 |
+
3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej
|
1234 |
+
vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu
|
1235 |
+
8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw
|
1236 |
+
DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG
|
1237 |
+
MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil
|
1238 |
+
zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/
|
1239 |
+
3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD
|
1240 |
+
FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6
|
1241 |
+
Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2
|
1242 |
+
ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M
|
1243 |
+
-----END CERTIFICATE-----
|
1244 |
+
|
1245 |
+
# Issuer: CN=Staat der Nederlanden Root CA O=Staat der Nederlanden
|
1246 |
+
# Subject: CN=Staat der Nederlanden Root CA O=Staat der Nederlanden
|
1247 |
+
# Label: "Staat der Nederlanden Root CA"
|
1248 |
+
# Serial: 10000010
|
1249 |
+
# MD5 Fingerprint: 60:84:7c:5a:ce:db:0c:d4:cb:a7:e9:fe:02:c6:a9:c0
|
1250 |
+
# SHA1 Fingerprint: 10:1d:fa:3f:d5:0b:cb:bb:9b:b5:60:0c:19:55:a4:1a:f4:73:3a:04
|
1251 |
+
# SHA256 Fingerprint: d4:1d:82:9e:8c:16:59:82:2a:f9:3f:ce:62:bf:fc:de:26:4f:c8:4e:8b:95:0c:5f:f2:75:d0:52:35:46:95:a3
|
1252 |
+
-----BEGIN CERTIFICATE-----
|
1253 |
+
MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJO
|
1254 |
+
TDEeMBwGA1UEChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFh
|
1255 |
+
dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEy
|
1256 |
+
MTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4wHAYDVQQKExVTdGFhdCBkZXIgTmVk
|
1257 |
+
ZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxhbmRlbiBSb290IENB
|
1258 |
+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFtvszn
|
1259 |
+
ExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw71
|
1260 |
+
9tV2U02PjLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MO
|
1261 |
+
hXeiD+EwR+4A5zN9RGcaC1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+U
|
1262 |
+
tFE5A3+y3qcym7RHjm+0Sq7lr7HcsBthvJly3uSJt3omXdozSVtSnA71iq3DuD3o
|
1263 |
+
BmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn622r+I/q85Ej0ZytqERAh
|
1264 |
+
SQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRVHSAAMDww
|
1265 |
+
OgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMv
|
1266 |
+
cm9vdC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA
|
1267 |
+
7Jbg0zTBLL9s+DANBgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k
|
1268 |
+
/rvuFbQvBgwp8qiSpGEN/KtcCFtREytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzm
|
1269 |
+
eafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbwMVcoEoJz6TMvplW0C5GUR5z6
|
1270 |
+
u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3ynGQI0DvDKcWy
|
1271 |
+
7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
|
1272 |
+
iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
|
1273 |
+
-----END CERTIFICATE-----
|
1274 |
+
|
1275 |
+
# Issuer: O=TDC Internet OU=TDC Internet Root CA
|
1276 |
+
# Subject: O=TDC Internet OU=TDC Internet Root CA
|
1277 |
+
# Label: "TDC Internet Root CA"
|
1278 |
+
# Serial: 986490188
|
1279 |
+
# MD5 Fingerprint: 91:f4:03:55:20:a1:f8:63:2c:62:de:ac:fb:61:1c:8e
|
1280 |
+
# SHA1 Fingerprint: 21:fc:bd:8e:7f:6c:af:05:1b:d1:b3:43:ec:a8:e7:61:47:f2:0f:8a
|
1281 |
+
# SHA256 Fingerprint: 48:98:c6:88:8c:0c:ff:b0:d3:e3:1a:ca:8a:37:d4:e3:51:5f:f7:46:d0:26:35:d8:66:46:cf:a0:a3:18:5a:e7
|
1282 |
+
-----BEGIN CERTIFICATE-----
|
1283 |
+
MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJE
|
1284 |
+
SzEVMBMGA1UEChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQg
|
1285 |
+
Um9vdCBDQTAeFw0wMTA0MDUxNjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNV
|
1286 |
+
BAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJuZXQxHTAbBgNVBAsTFFREQyBJbnRl
|
1287 |
+
cm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxLhA
|
1288 |
+
vJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20jxsNu
|
1289 |
+
Zp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a
|
1290 |
+
0vnRrEvLznWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc1
|
1291 |
+
4izbSysseLlJ28TQx5yc5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGN
|
1292 |
+
eGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcD
|
1293 |
+
R0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZIAYb4QgEBBAQDAgAHMGUG
|
1294 |
+
A1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMMVERDIElu
|
1295 |
+
dGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxME
|
1296 |
+
Q1JMMTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3
|
1297 |
+
WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAw
|
1298 |
+
HQYDVR0OBBYEFGxkAcf9hW2syNqeUAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJ
|
1299 |
+
KoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4IBAQBO
|
1300 |
+
Q8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540mgwV5dOy0uaOX
|
1301 |
+
wTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+
|
1302 |
+
2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm89
|
1303 |
+
9qNLPg7kbWzbO0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0
|
1304 |
+
jUNAE4z9mQNUecYu6oah9jrUCbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38
|
1305 |
+
aQNiuJkFBT1reBK9sG9l
|
1306 |
+
-----END CERTIFICATE-----
|
1307 |
+
|
1308 |
+
# Issuer: CN=UTN - DATACorp SGC O=The USERTRUST Network OU=http://www.usertrust.com
|
1309 |
+
# Subject: CN=UTN - DATACorp SGC O=The USERTRUST Network OU=http://www.usertrust.com
|
1310 |
+
# Label: "UTN DATACorp SGC Root CA"
|
1311 |
+
# Serial: 91374294542884689855167577680241077609
|
1312 |
+
# MD5 Fingerprint: b3:a5:3e:77:21:6d:ac:4a:c0:c9:fb:d5:41:3d:ca:06
|
1313 |
+
# SHA1 Fingerprint: 58:11:9f:0e:12:82:87:ea:50:fd:d9:87:45:6f:4f:78:dc:fa:d6:d4
|
1314 |
+
# SHA256 Fingerprint: 85:fb:2f:91:dd:12:27:5a:01:45:b6:36:53:4f:84:02:4a:d6:8b:69:b8:ee:88:68:4f:f7:11:37:58:05:b3:48
|
1315 |
+
-----BEGIN CERTIFICATE-----
|
1316 |
+
MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCB
|
1317 |
+
kzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
|
1318 |
+
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
|
1319 |
+
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw
|
1320 |
+
IFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQG
|
1321 |
+
EwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYD
|
1322 |
+
VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cu
|
1323 |
+
dXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjAN
|
1324 |
+
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6
|
1325 |
+
E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZ
|
1326 |
+
D0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK
|
1327 |
+
4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykq
|
1328 |
+
lXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulW
|
1329 |
+
bfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQAB
|
1330 |
+
o4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRT
|
1331 |
+
MtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3Js
|
1332 |
+
LnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggr
|
1333 |
+
BgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IB
|
1334 |
+
AQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
|
1335 |
+
Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyj
|
1336 |
+
j98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVH
|
1337 |
+
KWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv
|
1338 |
+
2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3
|
1339 |
+
mfnGV/TJVTl4uix5yaaIK/QI
|
1340 |
+
-----END CERTIFICATE-----
|
1341 |
+
|
1342 |
+
# Issuer: CN=UTN-USERFirst-Hardware O=The USERTRUST Network OU=http://www.usertrust.com
|
1343 |
+
# Subject: CN=UTN-USERFirst-Hardware O=The USERTRUST Network OU=http://www.usertrust.com
|
1344 |
+
# Label: "UTN USERFirst Hardware Root CA"
|
1345 |
+
# Serial: 91374294542884704022267039221184531197
|
1346 |
+
# MD5 Fingerprint: 4c:56:41:e5:0d:bb:2b:e8:ca:a3:ed:18:08:ad:43:39
|
1347 |
+
# SHA1 Fingerprint: 04:83:ed:33:99:ac:36:08:05:87:22:ed:bc:5e:46:00:e3:be:f9:d7
|
1348 |
+
# SHA256 Fingerprint: 6e:a5:47:41:d0:04:66:7e:ed:1b:48:16:63:4a:a3:a7:9e:6e:4b:96:95:0f:82:79:da:fc:8d:9b:d8:81:21:37
|
1349 |
+
-----BEGIN CERTIFICATE-----
|
1350 |
+
MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB
|
1351 |
+
lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
|
1352 |
+
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
|
1353 |
+
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
|
1354 |
+
SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG
|
1355 |
+
A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe
|
1356 |
+
MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v
|
1357 |
+
d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh
|
1358 |
+
cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn
|
1359 |
+
0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ
|
1360 |
+
M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a
|
1361 |
+
MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd
|
1362 |
+
oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI
|
1363 |
+
DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy
|
1364 |
+
oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD
|
1365 |
+
VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0
|
1366 |
+
dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy
|
1367 |
+
bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF
|
1368 |
+
BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
|
1369 |
+
//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli
|
1370 |
+
CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE
|
1371 |
+
CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t
|
1372 |
+
3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS
|
1373 |
+
KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA==
|
1374 |
+
-----END CERTIFICATE-----
|
1375 |
+
|
1376 |
+
# Issuer: CN=Chambers of Commerce Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org
|
1377 |
+
# Subject: CN=Chambers of Commerce Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org
|
1378 |
+
# Label: "Camerfirma Chambers of Commerce Root"
|
1379 |
+
# Serial: 0
|
1380 |
+
# MD5 Fingerprint: b0:01:ee:14:d9:af:29:18:94:76:8e:f1:69:33:2a:84
|
1381 |
+
# SHA1 Fingerprint: 6e:3a:55:a4:19:0c:19:5c:93:84:3c:c0:db:72:2e:31:30:61:f0:b1
|
1382 |
+
# SHA256 Fingerprint: 0c:25:8a:12:a5:67:4a:ef:25:f2:8b:a7:dc:fa:ec:ee:a3:48:e5:41:e6:f5:cc:4e:e6:3b:71:b3:61:60:6a:c3
|
1383 |
+
-----BEGIN CERTIFICATE-----
|
1384 |
+
MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEn
|
1385 |
+
MCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL
|
1386 |
+
ExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMg
|
1387 |
+
b2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAxNjEzNDNaFw0zNzA5MzAxNjEzNDRa
|
1388 |
+
MH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZpcm1hIFNBIENJRiBB
|
1389 |
+
ODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3JnMSIw
|
1390 |
+
IAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0B
|
1391 |
+
AQEFAAOCAQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtb
|
1392 |
+
unXF/KGIJPov7coISjlUxFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0d
|
1393 |
+
BmpAPrMMhe5cG3nCYsS4No41XQEMIwRHNaqbYE6gZj3LJgqcQKH0XZi/caulAGgq
|
1394 |
+
7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jWDA+wWFjbw2Y3npuRVDM3
|
1395 |
+
0pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFVd9oKDMyX
|
1396 |
+
roDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIG
|
1397 |
+
A1UdEwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5j
|
1398 |
+
aGFtYmVyc2lnbi5vcmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p
|
1399 |
+
26EpW1eLTXYGduHRooowDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIA
|
1400 |
+
BzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hhbWJlcnNpZ24ub3JnMCcGA1Ud
|
1401 |
+
EgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYDVR0gBFEwTzBN
|
1402 |
+
BgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
|
1403 |
+
aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEB
|
1404 |
+
AAxBl8IahsAifJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZd
|
1405 |
+
p0AJPaxJRUXcLo0waLIJuvvDL8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi
|
1406 |
+
1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wNUPf6s+xCX6ndbcj0dc97wXImsQEc
|
1407 |
+
XCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/nADydb47kMgkdTXg0
|
1408 |
+
eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1erfu
|
1409 |
+
tGWaIZDgqtCYvDi1czyL+Nw=
|
1410 |
+
-----END CERTIFICATE-----
|
1411 |
+
|
1412 |
+
# Issuer: CN=Global Chambersign Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org
|
1413 |
+
# Subject: CN=Global Chambersign Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org
|
1414 |
+
# Label: "Camerfirma Global Chambersign Root"
|
1415 |
+
# Serial: 0
|
1416 |
+
# MD5 Fingerprint: c5:e6:7b:bf:06:d0:4f:43:ed:c4:7a:65:8a:fb:6b:19
|
1417 |
+
# SHA1 Fingerprint: 33:9b:6b:14:50:24:9b:55:7a:01:87:72:84:d9:e0:2f:c3:d2:d8:e9
|
1418 |
+
# SHA256 Fingerprint: ef:3c:b4:17:fc:8e:bf:6f:97:87:6c:9e:4e:ce:39:de:1e:a5:fe:64:91:41:d1:02:8b:7d:11:c0:b2:29:8c:ed
|
1419 |
+
-----BEGIN CERTIFICATE-----
|
1420 |
+
MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEn
|
1421 |
+
MCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL
|
1422 |
+
ExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENo
|
1423 |
+
YW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYxNDE4WhcNMzcwOTMwMTYxNDE4WjB9
|
1424 |
+
MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgy
|
1425 |
+
NzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4G
|
1426 |
+
A1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUA
|
1427 |
+
A4IBDQAwggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0
|
1428 |
+
Mi+ITaFgCPS3CU6gSS9J1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/s
|
1429 |
+
QJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8Oby4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpV
|
1430 |
+
eAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl6DJWk0aJqCWKZQbua795
|
1431 |
+
B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c8lCrEqWh
|
1432 |
+
z0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0T
|
1433 |
+
AQH/BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1i
|
1434 |
+
ZXJzaWduLm9yZy9jaGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4w
|
1435 |
+
TcbOX60Qq+UDpfqpFDAOBgNVHQ8BAf8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAH
|
1436 |
+
MCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBjaGFtYmVyc2lnbi5vcmcwKgYD
|
1437 |
+
VR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9yZzBbBgNVHSAE
|
1438 |
+
VDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
|
1439 |
+
bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0B
|
1440 |
+
AQUFAAOCAQEAPDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUM
|
1441 |
+
bKGKfKX0j//U2K0X1S0E0T9YgOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXi
|
1442 |
+
ryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJPJ7oKXqJ1/6v/2j1pReQvayZzKWG
|
1443 |
+
VwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4IBHNfTIzSJRUTN3c
|
1444 |
+
ecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREest2d/
|
1445 |
+
AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
|
1446 |
+
-----END CERTIFICATE-----
|
1447 |
+
|
1448 |
+
# Issuer: CN=NetLock Kozjegyzoi (Class A) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok
|
1449 |
+
# Subject: CN=NetLock Kozjegyzoi (Class A) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok
|
1450 |
+
# Label: "NetLock Notary (Class A) Root"
|
1451 |
+
# Serial: 259
|
1452 |
+
# MD5 Fingerprint: 86:38:6d:5e:49:63:6c:85:5c:db:6d:dc:94:b7:d0:f7
|
1453 |
+
# SHA1 Fingerprint: ac:ed:5f:65:53:fd:25:ce:01:5f:1f:7a:48:3b:6a:74:9f:61:78:c6
|
1454 |
+
# SHA256 Fingerprint: 7f:12:cd:5f:7e:5e:29:0e:c7:d8:51:79:d5:b7:2c:20:a5:be:75:08:ff:db:5b:f8:1a:b9:68:4a:7f:c9:f6:67
|
1455 |
+
-----BEGIN CERTIFICATE-----
|
1456 |
+
MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhV
|
1457 |
+
MRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMe
|
1458 |
+
TmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0
|
1459 |
+
dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFzcyBB
|
1460 |
+
KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oXDTE5MDIxOTIzMTQ0
|
1461 |
+
N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhC
|
1462 |
+
dWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQu
|
1463 |
+
MRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBL
|
1464 |
+
b3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG
|
1465 |
+
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSMD7tM9DceqQWC2ObhbHDqeLVu0ThEDaiD
|
1466 |
+
zl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZz+qMkjvN9wfcZnSX9EUi
|
1467 |
+
3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC/tmwqcm8
|
1468 |
+
WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LY
|
1469 |
+
Oph7tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2Esi
|
1470 |
+
NCubMvJIH5+hCoR64sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCC
|
1471 |
+
ApswDgYDVR0PAQH/BAQDAgAGMBIGA1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4
|
1472 |
+
QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZRUxFTSEgRXplbiB0
|
1473 |
+
YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRhdGFz
|
1474 |
+
aSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
|
1475 |
+
IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtm
|
1476 |
+
ZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMg
|
1477 |
+
ZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVs
|
1478 |
+
amFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJhc2EgbWVndGFsYWxoYXRv
|
1479 |
+
IGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBzOi8vd3d3
|
1480 |
+
Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6
|
1481 |
+
ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1
|
1482 |
+
YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3Qg
|
1483 |
+
dG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRs
|
1484 |
+
b2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNAbmV0bG9jay5uZXQuMA0G
|
1485 |
+
CSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5ayZrU3/b39/zcT0mwBQO
|
1486 |
+
xmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjPytoUMaFP
|
1487 |
+
0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQ
|
1488 |
+
QeJBCWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxk
|
1489 |
+
f1qbFFgBJ34TUMdrKuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK
|
1490 |
+
8CtmdWOMovsEPoMOmzbwGOQmIMOM8CgHrTwXZoi1/baI
|
1491 |
+
-----END CERTIFICATE-----
|
1492 |
+
|
1493 |
+
# Issuer: CN=NetLock Uzleti (Class B) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok
|
1494 |
+
# Subject: CN=NetLock Uzleti (Class B) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok
|
1495 |
+
# Label: "NetLock Business (Class B) Root"
|
1496 |
+
# Serial: 105
|
1497 |
+
# MD5 Fingerprint: 39:16:aa:b9:6a:41:e1:14:69:df:9e:6c:3b:72:dc:b6
|
1498 |
+
# SHA1 Fingerprint: 87:9f:4b:ee:05:df:98:58:3b:e3:60:d6:33:e7:0d:3f:fe:98:71:af
|
1499 |
+
# SHA256 Fingerprint: 39:df:7b:68:2b:7b:93:8f:84:71:54:81:cc:de:8d:60:d8:f2:2e:c5:98:87:7d:0a:aa:c1:2b:59:18:2b:03:12
|
1500 |
+
-----BEGIN CERTIFICATE-----
|
1501 |
+
MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUx
|
1502 |
+
ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0
|
1503 |
+
b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQD
|
1504 |
+
EylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikgVGFudXNpdHZhbnlraWFkbzAeFw05
|
1505 |
+
OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYDVQQGEwJIVTERMA8G
|
1506 |
+
A1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNh
|
1507 |
+
Z2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5l
|
1508 |
+
dExvY2sgVXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqG
|
1509 |
+
SIb3DQEBAQUAA4GNADCBiQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xK
|
1510 |
+
gZjupNTKihe5In+DCnVMm8Bp2GQ5o+2So/1bXHQawEfKOml2mrriRBf8TKPV/riX
|
1511 |
+
iK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr1nGTLbO/CVRY7QbrqHvc
|
1512 |
+
Q7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8E
|
1513 |
+
BAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1G
|
1514 |
+
SUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFu
|
1515 |
+
b3MgU3pvbGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBh
|
1516 |
+
bGFwamFuIGtlc3p1bHQuIEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExv
|
1517 |
+
Y2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGln
|
1518 |
+
aXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0
|
1519 |
+
IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh
|
1520 |
+
c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGph
|
1521 |
+
biBhIGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJo
|
1522 |
+
ZXRvIGF6IGVsbGVub3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBP
|
1523 |
+
UlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmlj
|
1524 |
+
YXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBo
|
1525 |
+
dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNA
|
1526 |
+
bmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06
|
1527 |
+
sPgzTEdM43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXa
|
1528 |
+
n3BukxowOR0w2y7jfLKRstE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKS
|
1529 |
+
NitjrFgBazMpUIaD8QFI
|
1530 |
+
-----END CERTIFICATE-----
|
1531 |
+
|
1532 |
+
# Issuer: CN=NetLock Expressz (Class C) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok
|
1533 |
+
# Subject: CN=NetLock Expressz (Class C) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok
|
1534 |
+
# Label: "NetLock Express (Class C) Root"
|
1535 |
+
# Serial: 104
|
1536 |
+
# MD5 Fingerprint: 4f:eb:f1:f0:70:c2:80:63:5d:58:9f:da:12:3c:a9:c4
|
1537 |
+
# SHA1 Fingerprint: e3:92:51:2f:0a:cf:f5:05:df:f6:de:06:7f:75:37:e1:65:ea:57:4b
|
1538 |
+
# SHA256 Fingerprint: 0b:5e:ed:4e:84:64:03:cf:55:e0:65:84:84:40:ed:2a:82:75:8b:f5:b9:aa:1f:25:3d:46:13:cf:a0:80:ff:3f
|
1539 |
+
-----BEGIN CERTIFICATE-----
|
1540 |
+
MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUx
|
1541 |
+
ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0
|
1542 |
+
b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQD
|
1543 |
+
EytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBDKSBUYW51c2l0dmFueWtpYWRvMB4X
|
1544 |
+
DTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJBgNVBAYTAkhVMREw
|
1545 |
+
DwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9u
|
1546 |
+
c2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMr
|
1547 |
+
TmV0TG9jayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzAN
|
1548 |
+
BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNA
|
1549 |
+
OoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3ZW3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC
|
1550 |
+
2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63euyucYT2BDMIJTLrdKwW
|
1551 |
+
RMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQwDgYDVR0P
|
1552 |
+
AQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEW
|
1553 |
+
ggJNRklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0
|
1554 |
+
YWxhbm9zIFN6b2xnYWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFz
|
1555 |
+
b2sgYWxhcGphbiBrZXN6dWx0LiBBIGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBO
|
1556 |
+
ZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1iaXp0b3NpdGFzYSB2ZWRpLiBB
|
1557 |
+
IGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0ZWxlIGF6IGVs
|
1558 |
+
b2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs
|
1559 |
+
ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25s
|
1560 |
+
YXBqYW4gYSBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kg
|
1561 |
+
a2VyaGV0byBheiBlbGxlbm9yemVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4g
|
1562 |
+
SU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5kIHRoZSB1c2Ugb2YgdGhpcyBjZXJ0
|
1563 |
+
aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQUyBhdmFpbGFibGUg
|
1564 |
+
YXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwgYXQg
|
1565 |
+
Y3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmY
|
1566 |
+
ta3UzbM2xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2g
|
1567 |
+
pO0u9f38vf5NNwgMvOOWgyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4
|
1568 |
+
Fp1hBWeAyNDYpQcCNJgEjTME1A==
|
1569 |
+
-----END CERTIFICATE-----
|
1570 |
+
|
1571 |
+
# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
|
1572 |
+
# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
|
1573 |
+
# Label: "XRamp Global CA Root"
|
1574 |
+
# Serial: 107108908803651509692980124233745014957
|
1575 |
+
# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1
|
1576 |
+
# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6
|
1577 |
+
# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2
|
1578 |
+
-----BEGIN CERTIFICATE-----
|
1579 |
+
MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB
|
1580 |
+
gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk
|
1581 |
+
MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY
|
1582 |
+
UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx
|
1583 |
+
NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3
|
1584 |
+
dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy
|
1585 |
+
dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
|
1586 |
+
dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6
|
1587 |
+
38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP
|
1588 |
+
KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q
|
1589 |
+
DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4
|
1590 |
+
qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa
|
1591 |
+
JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi
|
1592 |
+
PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P
|
1593 |
+
BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs
|
1594 |
+
jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0
|
1595 |
+
eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD
|
1596 |
+
ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR
|
1597 |
+
vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
|
1598 |
+
qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa
|
1599 |
+
IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy
|
1600 |
+
i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ
|
1601 |
+
O+7ETPTsJ3xCwnR8gooJybQDJbw=
|
1602 |
+
-----END CERTIFICATE-----
|
1603 |
+
|
1604 |
+
# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority
|
1605 |
+
# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority
|
1606 |
+
# Label: "Go Daddy Class 2 CA"
|
1607 |
+
# Serial: 0
|
1608 |
+
# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67
|
1609 |
+
# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4
|
1610 |
+
# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4
|
1611 |
+
-----BEGIN CERTIFICATE-----
|
1612 |
+
MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
|
1613 |
+
MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
|
1614 |
+
YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
|
1615 |
+
MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
|
1616 |
+
ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
|
1617 |
+
MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
|
1618 |
+
ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
|
1619 |
+
PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
|
1620 |
+
wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
|
1621 |
+
EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
|
1622 |
+
avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
|
1623 |
+
YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
|
1624 |
+
sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
|
1625 |
+
/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
|
1626 |
+
IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
|
1627 |
+
YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
|
1628 |
+
ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
|
1629 |
+
OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
|
1630 |
+
TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
|
1631 |
+
HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
|
1632 |
+
dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
|
1633 |
+
ReYNnyicsbkqWletNw+vHX/bvZ8=
|
1634 |
+
-----END CERTIFICATE-----
|
1635 |
+
|
1636 |
+
# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority
|
1637 |
+
# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority
|
1638 |
+
# Label: "Starfield Class 2 CA"
|
1639 |
+
# Serial: 0
|
1640 |
+
# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24
|
1641 |
+
# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a
|
1642 |
+
# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58
|
1643 |
+
-----BEGIN CERTIFICATE-----
|
1644 |
+
MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl
|
1645 |
+
MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp
|
1646 |
+
U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw
|
1647 |
+
NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE
|
1648 |
+
ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp
|
1649 |
+
ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3
|
1650 |
+
DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf
|
1651 |
+
8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN
|
1652 |
+
+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0
|
1653 |
+
X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa
|
1654 |
+
K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA
|
1655 |
+
1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G
|
1656 |
+
A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR
|
1657 |
+
zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0
|
1658 |
+
YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD
|
1659 |
+
bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w
|
1660 |
+
DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3
|
1661 |
+
L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D
|
1662 |
+
eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
|
1663 |
+
xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp
|
1664 |
+
VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY
|
1665 |
+
WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=
|
1666 |
+
-----END CERTIFICATE-----
|
1667 |
+
|
1668 |
+
# Issuer: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing
|
1669 |
+
# Subject: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing
|
1670 |
+
# Label: "StartCom Certification Authority"
|
1671 |
+
# Serial: 1
|
1672 |
+
# MD5 Fingerprint: 22:4d:8f:8a:fc:f7:35:c2:bb:57:34:90:7b:8b:22:16
|
1673 |
+
# SHA1 Fingerprint: 3e:2b:f7:f2:03:1b:96:f3:8c:e6:c4:d8:a8:5d:3e:2d:58:47:6a:0f
|
1674 |
+
# SHA256 Fingerprint: c7:66:a9:be:f2:d4:07:1c:86:3a:31:aa:49:20:e8:13:b2:d1:98:60:8c:b7:b7:cf:e2:11:43:b8:36:df:09:ea
|
1675 |
+
-----BEGIN CERTIFICATE-----
|
1676 |
+
MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEW
|
1677 |
+
MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg
|
1678 |
+
Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh
|
1679 |
+
dGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM2WhcNMzYwOTE3MTk0NjM2WjB9
|
1680 |
+
MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi
|
1681 |
+
U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh
|
1682 |
+
cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA
|
1683 |
+
A4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk
|
1684 |
+
pMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf
|
1685 |
+
OQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C
|
1686 |
+
Ji/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT
|
1687 |
+
Kqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi
|
1688 |
+
HzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM
|
1689 |
+
Av+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w
|
1690 |
+
+2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+
|
1691 |
+
Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3
|
1692 |
+
Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B
|
1693 |
+
26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID
|
1694 |
+
AQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
|
1695 |
+
FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9j
|
1696 |
+
ZXJ0LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3Js
|
1697 |
+
LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFM
|
1698 |
+
BgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0
|
1699 |
+
Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5zdGFy
|
1700 |
+
dGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3Rh
|
1701 |
+
cnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlh
|
1702 |
+
YmlsaXR5LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2Yg
|
1703 |
+
dGhlIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFp
|
1704 |
+
bGFibGUgYXQgaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJ
|
1705 |
+
YIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNT
|
1706 |
+
TCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAgEAFmyZ
|
1707 |
+
9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8
|
1708 |
+
jhvh3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUW
|
1709 |
+
FjgKXlf2Ysd6AgXmvB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJz
|
1710 |
+
ewT4F+irsfMuXGRuczE6Eri8sxHkfY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1
|
1711 |
+
ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3fsNrarnDy0RLrHiQi+fHLB5L
|
1712 |
+
EUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZEoalHmdkrQYu
|
1713 |
+
L6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
|
1714 |
+
yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuC
|
1715 |
+
O3NJo2pXh5Tl1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6V
|
1716 |
+
um0ABj6y6koQOdjQK/W/7HW/lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkySh
|
1717 |
+
NOsF/5oirpt9P/FlUQqmMGqz9IgcgA38corog14=
|
1718 |
+
-----END CERTIFICATE-----
|
1719 |
+
|
1720 |
+
# Issuer: O=Government Root Certification Authority
|
1721 |
+
# Subject: O=Government Root Certification Authority
|
1722 |
+
# Label: "Taiwan GRCA"
|
1723 |
+
# Serial: 42023070807708724159991140556527066870
|
1724 |
+
# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e
|
1725 |
+
# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9
|
1726 |
+
# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3
|
1727 |
+
-----BEGIN CERTIFICATE-----
|
1728 |
+
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
|
1757 |
+
pYYsfPQS
|
1758 |
+
-----END CERTIFICATE-----
|
1759 |
+
|
1760 |
+
# Issuer: CN=Swisscom Root CA 1 O=Swisscom OU=Digital Certificate Services
|
1761 |
+
# Subject: CN=Swisscom Root CA 1 O=Swisscom OU=Digital Certificate Services
|
1762 |
+
# Label: "Swisscom Root CA 1"
|
1763 |
+
# Serial: 122348795730808398873664200247279986742
|
1764 |
+
# MD5 Fingerprint: f8:38:7c:77:88:df:2c:16:68:2e:c2:e2:52:4b:b8:f9
|
1765 |
+
# SHA1 Fingerprint: 5f:3a:fc:0a:8b:64:f6:86:67:34:74:df:7e:a9:a2:fe:f9:fa:7a:51
|
1766 |
+
# SHA256 Fingerprint: 21:db:20:12:36:60:bb:2e:d4:18:20:5d:a1:1e:e7:a8:5a:65:e2:bc:6e:55:b5:af:7e:78:99:c8:a2:66:d9:2e
|
1767 |
+
-----BEGIN CERTIFICATE-----
|
1768 |
+
MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBk
|
1769 |
+
MQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0
|
1770 |
+
YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3Qg
|
1771 |
+
Q0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4MTgyMjA2MjBaMGQxCzAJBgNVBAYT
|
1772 |
+
AmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGlnaXRhbCBDZXJ0aWZp
|
1773 |
+
Y2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIICIjAN
|
1774 |
+
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9
|
1775 |
+
m2BtRsiMMW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdih
|
1776 |
+
FvkcxC7mlSpnzNApbjyFNDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/
|
1777 |
+
TilftKaNXXsLmREDA/7n29uj/x2lzZAeAR81sH8A25Bvxn570e56eqeqDFdvpG3F
|
1778 |
+
EzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkCb6dJtDZd0KTeByy2dbco
|
1779 |
+
kdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn7uHbHaBu
|
1780 |
+
HYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNF
|
1781 |
+
vJbNcA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo
|
1782 |
+
19AOeCMgkckkKmUpWyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjC
|
1783 |
+
L3UcPX7ape8eYIVpQtPM+GP+HkM5haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJW
|
1784 |
+
bjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNYMUJDLXT5xp6mig/p/r+D5kNX
|
1785 |
+
JLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0hBBYw
|
1786 |
+
FDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
|
1787 |
+
BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzc
|
1788 |
+
K6FptWfUjNP9MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzf
|
1789 |
+
ky9NfEBWMXrrpA9gzXrzvsMnjgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7Ik
|
1790 |
+
Vh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQMbFamIp1TpBcahQq4FJHgmDmHtqB
|
1791 |
+
sfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4HVtA4oJVwIHaM190e
|
1792 |
+
3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtlvrsR
|
1793 |
+
ls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ip
|
1794 |
+
mXeascClOS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HH
|
1795 |
+
b6D0jqTsNFFbjCYDcKF31QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksf
|
1796 |
+
rK/7DZBaZmBwXarNeNQk7shBoJMBkpxqnvy5JMWzFYJ+vq6VK+uxwNrjAWALXmms
|
1797 |
+
hFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCyx/yP2FS1k2Kdzs9Z+z0Y
|
1798 |
+
zirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMWNY6E0F/6
|
1799 |
+
MBr1mmz0DlP5OlvRHA==
|
1800 |
+
-----END CERTIFICATE-----
|
1801 |
+
|
1802 |
+
# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com
|
1803 |
+
# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com
|
1804 |
+
# Label: "DigiCert Assured ID Root CA"
|
1805 |
+
# Serial: 17154717934120587862167794914071425081
|
1806 |
+
# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72
|
1807 |
+
# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43
|
1808 |
+
# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c
|
1809 |
+
-----BEGIN CERTIFICATE-----
|
1810 |
+
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
|
1811 |
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
1812 |
+
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
1813 |
+
b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
|
1814 |
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
1815 |
+
cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
|
1816 |
+
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
|
1817 |
+
JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
|
1818 |
+
mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
|
1819 |
+
wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
|
1820 |
+
VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
|
1821 |
+
AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
|
1822 |
+
AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
|
1823 |
+
BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
|
1824 |
+
pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
|
1825 |
+
dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
|
1826 |
+
fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
|
1827 |
+
NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
|
1828 |
+
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
|
1829 |
+
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
|
1830 |
+
-----END CERTIFICATE-----
|
1831 |
+
|
1832 |
+
# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com
|
1833 |
+
# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com
|
1834 |
+
# Label: "DigiCert Global Root CA"
|
1835 |
+
# Serial: 10944719598952040374951832963794454346
|
1836 |
+
# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e
|
1837 |
+
# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36
|
1838 |
+
# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61
|
1839 |
+
-----BEGIN CERTIFICATE-----
|
1840 |
+
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
|
1841 |
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
1842 |
+
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
|
1843 |
+
QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
|
1844 |
+
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
|
1845 |
+
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
|
1846 |
+
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
|
1847 |
+
CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
|
1848 |
+
nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
|
1849 |
+
43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
|
1850 |
+
T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
|
1851 |
+
gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
|
1852 |
+
BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
|
1853 |
+
TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
|
1854 |
+
DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
|
1855 |
+
hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
|
1856 |
+
06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
|
1857 |
+
PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
|
1858 |
+
YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
|
1859 |
+
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
|
1860 |
+
-----END CERTIFICATE-----
|
1861 |
+
|
1862 |
+
# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com
|
1863 |
+
# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com
|
1864 |
+
# Label: "DigiCert High Assurance EV Root CA"
|
1865 |
+
# Serial: 3553400076410547919724730734378100087
|
1866 |
+
# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a
|
1867 |
+
# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25
|
1868 |
+
# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf
|
1869 |
+
-----BEGIN CERTIFICATE-----
|
1870 |
+
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
|
1871 |
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
1872 |
+
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
1873 |
+
ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
|
1874 |
+
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
1875 |
+
LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
|
1876 |
+
RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
|
1877 |
+
+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
|
1878 |
+
PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
|
1879 |
+
xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
|
1880 |
+
Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
|
1881 |
+
hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
|
1882 |
+
EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
|
1883 |
+
MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
|
1884 |
+
FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
|
1885 |
+
nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
|
1886 |
+
eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
|
1887 |
+
hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
|
1888 |
+
Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
|
1889 |
+
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
|
1890 |
+
+OkuE6N36B9K
|
1891 |
+
-----END CERTIFICATE-----
|
1892 |
+
|
1893 |
+
# Issuer: CN=Class 2 Primary CA O=Certplus
|
1894 |
+
# Subject: CN=Class 2 Primary CA O=Certplus
|
1895 |
+
# Label: "Certplus Class 2 Primary CA"
|
1896 |
+
# Serial: 177770208045934040241468760488327595043
|
1897 |
+
# MD5 Fingerprint: 88:2c:8c:52:b8:a2:3c:f3:f7:bb:03:ea:ae:ac:42:0b
|
1898 |
+
# SHA1 Fingerprint: 74:20:74:41:72:9c:dd:92:ec:79:31:d8:23:10:8d:c2:81:92:e2:bb
|
1899 |
+
# SHA256 Fingerprint: 0f:99:3c:8a:ef:97:ba:af:56:87:14:0e:d5:9a:d1:82:1b:b4:af:ac:f0:aa:9a:58:b5:d5:7a:33:8a:3a:fb:cb
|
1900 |
+
-----BEGIN CERTIFICATE-----
|
1901 |
+
MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAw
|
1902 |
+
PTELMAkGA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFz
|
1903 |
+
cyAyIFByaW1hcnkgQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9
|
1904 |
+
MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNz
|
1905 |
+
IDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxQ
|
1906 |
+
ltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR5aiR
|
1907 |
+
VhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyL
|
1908 |
+
kcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCd
|
1909 |
+
EgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas
|
1910 |
+
H7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0
|
1911 |
+
HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1Ud
|
1912 |
+
DwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4
|
1913 |
+
QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMu
|
1914 |
+
Y29tL0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/
|
1915 |
+
AN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8
|
1916 |
+
yfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMR
|
1917 |
+
FcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW2ikbhiMA
|
1918 |
+
ybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB
|
1919 |
+
kJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
|
1920 |
+
l7+ijrRU
|
1921 |
+
-----END CERTIFICATE-----
|
1922 |
+
|
1923 |
+
# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co.
|
1924 |
+
# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co.
|
1925 |
+
# Label: "DST Root CA X3"
|
1926 |
+
# Serial: 91299735575339953335919266965803778155
|
1927 |
+
# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5
|
1928 |
+
# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13
|
1929 |
+
# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39
|
1930 |
+
-----BEGIN CERTIFICATE-----
|
1931 |
+
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
|
1932 |
+
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
1933 |
+
DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
|
1934 |
+
PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
|
1935 |
+
Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
1936 |
+
AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O
|
1937 |
+
rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
|
1938 |
+
OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
|
1939 |
+
xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw
|
1940 |
+
7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
|
1941 |
+
aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
|
1942 |
+
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG
|
1943 |
+
SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69
|
1944 |
+
ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr
|
1945 |
+
AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz
|
1946 |
+
R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
|
1947 |
+
JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo
|
1948 |
+
Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
|
1949 |
+
-----END CERTIFICATE-----
|
1950 |
+
|
1951 |
+
# Issuer: CN=DST ACES CA X6 O=Digital Signature Trust OU=DST ACES
|
1952 |
+
# Subject: CN=DST ACES CA X6 O=Digital Signature Trust OU=DST ACES
|
1953 |
+
# Label: "DST ACES CA X6"
|
1954 |
+
# Serial: 17771143917277623872238992636097467865
|
1955 |
+
# MD5 Fingerprint: 21:d8:4c:82:2b:99:09:33:a2:eb:14:24:8d:8e:5f:e8
|
1956 |
+
# SHA1 Fingerprint: 40:54:da:6f:1c:3f:40:74:ac:ed:0f:ec:cd:db:79:d1:53:fb:90:1d
|
1957 |
+
# SHA256 Fingerprint: 76:7c:95:5a:76:41:2c:89:af:68:8e:90:a1:c7:0f:55:6c:fd:6b:60:25:db:ea:10:41:6d:7e:b6:83:1f:8c:40
|
1958 |
+
-----BEGIN CERTIFICATE-----
|
1959 |
+
MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBb
|
1960 |
+
MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3Qx
|
1961 |
+
ETAPBgNVBAsTCERTVCBBQ0VTMRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0w
|
1962 |
+
MzExMjAyMTE5NThaFw0xNzExMjAyMTE5NThaMFsxCzAJBgNVBAYTAlVTMSAwHgYD
|
1963 |
+
VQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UECxMIRFNUIEFDRVMx
|
1964 |
+
FzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
1965 |
+
MIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPu
|
1966 |
+
ktKe1jzIDZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7
|
1967 |
+
gLFViYsx+tC3dr5BPTCapCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZH
|
1968 |
+
fAjIgrrep4c9oW24MFbCswKBXy314powGCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4a
|
1969 |
+
ahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPyMjwmR/onJALJfh1biEIT
|
1970 |
+
ajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1UdEwEB/wQF
|
1971 |
+
MAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rk
|
1972 |
+
c3QuY29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjto
|
1973 |
+
dHRwOi8vd3d3LnRydXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMt
|
1974 |
+
aW5kZXguaHRtbDAdBgNVHQ4EFgQUCXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZI
|
1975 |
+
hvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V25FYrnJmQ6AgwbN99Pe7lv7Uk
|
1976 |
+
QIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6tFr8hlxCBPeP/
|
1977 |
+
h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
|
1978 |
+
nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpR
|
1979 |
+
rscL9yuwNwXsvFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf2
|
1980 |
+
9w4LTJxoeHtxMcfrHuBnQfO3oKfN5XozNmr6mis=
|
1981 |
+
-----END CERTIFICATE-----
|
1982 |
+
|
1983 |
+
# Issuer: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=(c) 2005 TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş.
|
1984 |
+
# Subject: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=(c) 2005 TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş.
|
1985 |
+
# Label: "TURKTRUST Certificate Services Provider Root 1"
|
1986 |
+
# Serial: 1
|
1987 |
+
# MD5 Fingerprint: f1:6a:22:18:c9:cd:df:ce:82:1d:1d:b7:78:5c:a9:a5
|
1988 |
+
# SHA1 Fingerprint: 79:98:a3:08:e1:4d:65:85:e6:c2:1e:15:3a:71:9f:ba:5a:d3:4a:d9
|
1989 |
+
# SHA256 Fingerprint: 44:04:e3:3b:5e:14:0d:cf:99:80:51:fd:fc:80:28:c7:c8:16:15:c5:ee:73:7b:11:1b:58:82:33:a9:b5:35:a0
|
1990 |
+
-----BEGIN CERTIFICATE-----
|
1991 |
+
MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOc
|
1992 |
+
UktUUlVTVCBFbGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sx
|
1993 |
+
c8SxMQswCQYDVQQGDAJUUjEPMA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykg
|
1994 |
+
MjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8
|
1995 |
+
dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMxMDI3MTdaFw0xNTAz
|
1996 |
+
MjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsgU2Vy
|
1997 |
+
dGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYD
|
1998 |
+
VQQHDAZBTktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kg
|
1999 |
+
xLBsZXRpxZ9pbSB2ZSBCaWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEu
|
2000 |
+
xZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7
|
2001 |
+
XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GXyGl8hMW0kWxsE2qkVa2k
|
2002 |
+
heiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8iSi9BB35J
|
2003 |
+
YbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5C
|
2004 |
+
urKZ8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1
|
2005 |
+
JuTm5Rh8i27fbMx4W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51
|
2006 |
+
b0dewQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV
|
2007 |
+
9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46sWrv7/hg0Uw2ZkUd82YCdAR7
|
2008 |
+
kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxEq8Sn5RTOPEFh
|
2009 |
+
fEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy
|
2010 |
+
B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdA
|
2011 |
+
aLX/7KfS0zgYnNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKS
|
2012 |
+
RGQDJereW26fyfJOrN3H
|
2013 |
+
-----END CERTIFICATE-----
|
2014 |
+
|
2015 |
+
# Issuer: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Kasım 2005
|
2016 |
+
# Subject: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Kasım 2005
|
2017 |
+
# Label: "TURKTRUST Certificate Services Provider Root 2"
|
2018 |
+
# Serial: 1
|
2019 |
+
# MD5 Fingerprint: 37:a5:6e:d4:b1:25:84:97:b7:fd:56:15:7a:f9:a2:00
|
2020 |
+
# SHA1 Fingerprint: b4:35:d4:e1:11:9d:1c:66:90:a7:49:eb:b3:94:bd:63:7b:a7:82:b7
|
2021 |
+
# SHA256 Fingerprint: c4:70:cf:54:7e:23:02:b9:77:fb:29:dd:71:a8:9a:7b:6c:1f:60:77:7b:03:29:f5:60:17:f3:28:bf:4f:6b:e6
|
2022 |
+
-----BEGIN CERTIFICATE-----
|
2023 |
+
MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOc
|
2024 |
+
UktUUlVTVCBFbGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sx
|
2025 |
+
c8SxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xS
|
2026 |
+
S1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kg
|
2027 |
+
SGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcNMDUxMTA3MTAwNzU3
|
2028 |
+
WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVrdHJv
|
2029 |
+
bmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJU
|
2030 |
+
UjEPMA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSw
|
2031 |
+
bGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWe
|
2032 |
+
LiAoYykgS2FzxLFtIDIwMDUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
2033 |
+
AQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqeLCDe2JAOCtFp0if7qnef
|
2034 |
+
J1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKIx+XlZEdh
|
2035 |
+
R3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJ
|
2036 |
+
Qv2gQrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGX
|
2037 |
+
JHpsmxcPbe9TmJEr5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1p
|
2038 |
+
zpwACPI2/z7woQ8arBT9pmAPAgMBAAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58S
|
2039 |
+
Fq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
|
2040 |
+
KoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/nttRbj2hWyfIvwq
|
2041 |
+
ECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4
|
2042 |
+
Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFz
|
2043 |
+
gw2lGh1uEpJ+hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotH
|
2044 |
+
uFEJjOp9zYhys2AzsfAKRO8P9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LS
|
2045 |
+
y3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5UrbnBEI=
|
2046 |
+
-----END CERTIFICATE-----
|
2047 |
+
|
2048 |
+
# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG
|
2049 |
+
# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG
|
2050 |
+
# Label: "SwissSign Gold CA - G2"
|
2051 |
+
# Serial: 13492815561806991280
|
2052 |
+
# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93
|
2053 |
+
# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61
|
2054 |
+
# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95
|
2055 |
+
-----BEGIN CERTIFICATE-----
|
2056 |
+
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
|
2087 |
+
-----END CERTIFICATE-----
|
2088 |
+
|
2089 |
+
# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG
|
2090 |
+
# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG
|
2091 |
+
# Label: "SwissSign Silver CA - G2"
|
2092 |
+
# Serial: 5700383053117599563
|
2093 |
+
# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13
|
2094 |
+
# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb
|
2095 |
+
# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5
|
2096 |
+
-----BEGIN CERTIFICATE-----
|
2097 |
+
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
|
2128 |
+
-----END CERTIFICATE-----
|
2129 |
+
|
2130 |
+
# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc.
|
2131 |
+
# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc.
|
2132 |
+
# Label: "GeoTrust Primary Certification Authority"
|
2133 |
+
# Serial: 32798226551256963324313806436981982369
|
2134 |
+
# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf
|
2135 |
+
# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96
|
2136 |
+
# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c
|
2137 |
+
-----BEGIN CERTIFICATE-----
|
2138 |
+
MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY
|
2139 |
+
MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo
|
2140 |
+
R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx
|
2141 |
+
MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
|
2142 |
+
Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp
|
2143 |
+
ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
2144 |
+
AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9
|
2145 |
+
AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA
|
2146 |
+
ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0
|
2147 |
+
7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W
|
2148 |
+
kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI
|
2149 |
+
mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G
|
2150 |
+
A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ
|
2151 |
+
KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1
|
2152 |
+
6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl
|
2153 |
+
4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K
|
2154 |
+
oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj
|
2155 |
+
UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU
|
2156 |
+
AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
|
2157 |
+
-----END CERTIFICATE-----
|
2158 |
+
|
2159 |
+
# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only
|
2160 |
+
# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only
|
2161 |
+
# Label: "thawte Primary Root CA"
|
2162 |
+
# Serial: 69529181992039203566298953787712940909
|
2163 |
+
# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12
|
2164 |
+
# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81
|
2165 |
+
# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f
|
2166 |
+
-----BEGIN CERTIFICATE-----
|
2167 |
+
MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB
|
2168 |
+
qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
|
2169 |
+
Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
|
2170 |
+
MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV
|
2171 |
+
BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw
|
2172 |
+
NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j
|
2173 |
+
LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG
|
2174 |
+
A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
|
2175 |
+
IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG
|
2176 |
+
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs
|
2177 |
+
W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta
|
2178 |
+
3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk
|
2179 |
+
6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6
|
2180 |
+
Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J
|
2181 |
+
NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA
|
2182 |
+
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP
|
2183 |
+
r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU
|
2184 |
+
DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz
|
2185 |
+
YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
|
2186 |
+
xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2
|
2187 |
+
/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/
|
2188 |
+
LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7
|
2189 |
+
jVaMaA==
|
2190 |
+
-----END CERTIFICATE-----
|
2191 |
+
|
2192 |
+
# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only
|
2193 |
+
# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only
|
2194 |
+
# Label: "VeriSign Class 3 Public Primary Certification Authority - G5"
|
2195 |
+
# Serial: 33037644167568058970164719475676101450
|
2196 |
+
# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c
|
2197 |
+
# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5
|
2198 |
+
# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df
|
2199 |
+
-----BEGIN CERTIFICATE-----
|
2200 |
+
MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB
|
2201 |
+
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
|
2202 |
+
ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp
|
2203 |
+
U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW
|
2204 |
+
ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0
|
2205 |
+
aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL
|
2206 |
+
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW
|
2207 |
+
ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln
|
2208 |
+
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp
|
2209 |
+
U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y
|
2210 |
+
aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1
|
2211 |
+
nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex
|
2212 |
+
t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz
|
2213 |
+
SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG
|
2214 |
+
BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+
|
2215 |
+
rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/
|
2216 |
+
NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E
|
2217 |
+
BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH
|
2218 |
+
BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
|
2219 |
+
aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv
|
2220 |
+
MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE
|
2221 |
+
p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y
|
2222 |
+
5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK
|
2223 |
+
WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ
|
2224 |
+
4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N
|
2225 |
+
hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
|
2226 |
+
-----END CERTIFICATE-----
|
2227 |
+
|
2228 |
+
# Issuer: CN=SecureTrust CA O=SecureTrust Corporation
|
2229 |
+
# Subject: CN=SecureTrust CA O=SecureTrust Corporation
|
2230 |
+
# Label: "SecureTrust CA"
|
2231 |
+
# Serial: 17199774589125277788362757014266862032
|
2232 |
+
# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1
|
2233 |
+
# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11
|
2234 |
+
# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73
|
2235 |
+
-----BEGIN CERTIFICATE-----
|
2236 |
+
MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI
|
2237 |
+
MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x
|
2238 |
+
FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz
|
2239 |
+
MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv
|
2240 |
+
cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN
|
2241 |
+
AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz
|
2242 |
+
Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO
|
2243 |
+
0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao
|
2244 |
+
wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj
|
2245 |
+
7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS
|
2246 |
+
8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT
|
2247 |
+
BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
|
2248 |
+
/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg
|
2249 |
+
JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC
|
2250 |
+
NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3
|
2251 |
+
6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/
|
2252 |
+
3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm
|
2253 |
+
D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS
|
2254 |
+
CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
|
2255 |
+
3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
|
2256 |
+
-----END CERTIFICATE-----
|
2257 |
+
|
2258 |
+
# Issuer: CN=Secure Global CA O=SecureTrust Corporation
|
2259 |
+
# Subject: CN=Secure Global CA O=SecureTrust Corporation
|
2260 |
+
# Label: "Secure Global CA"
|
2261 |
+
# Serial: 9751836167731051554232119481456978597
|
2262 |
+
# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de
|
2263 |
+
# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b
|
2264 |
+
# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69
|
2265 |
+
-----BEGIN CERTIFICATE-----
|
2266 |
+
MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK
|
2267 |
+
MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x
|
2268 |
+
GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx
|
2269 |
+
MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg
|
2270 |
+
Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG
|
2271 |
+
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ
|
2272 |
+
iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa
|
2273 |
+
/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ
|
2274 |
+
jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI
|
2275 |
+
HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7
|
2276 |
+
sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w
|
2277 |
+
gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF
|
2278 |
+
MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw
|
2279 |
+
KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG
|
2280 |
+
AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L
|
2281 |
+
URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO
|
2282 |
+
H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm
|
2283 |
+
I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY
|
2284 |
+
iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
|
2285 |
+
f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
|
2286 |
+
-----END CERTIFICATE-----
|
2287 |
+
|
2288 |
+
# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited
|
2289 |
+
# Subject: CN=COMODO Certification Authority O=COMODO CA Limited
|
2290 |
+
# Label: "COMODO Certification Authority"
|
2291 |
+
# Serial: 104350513648249232941998508985834464573
|
2292 |
+
# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75
|
2293 |
+
# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b
|
2294 |
+
# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66
|
2295 |
+
-----BEGIN CERTIFICATE-----
|
2296 |
+
MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB
|
2297 |
+
gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
|
2298 |
+
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV
|
2299 |
+
BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw
|
2300 |
+
MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
|
2301 |
+
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P
|
2302 |
+
RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0
|
2303 |
+
aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3
|
2304 |
+
UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI
|
2305 |
+
2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8
|
2306 |
+
Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp
|
2307 |
+
+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+
|
2308 |
+
DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O
|
2309 |
+
nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW
|
2310 |
+
/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g
|
2311 |
+
PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u
|
2312 |
+
QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY
|
2313 |
+
SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv
|
2314 |
+
IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
|
2315 |
+
RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4
|
2316 |
+
zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd
|
2317 |
+
BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB
|
2318 |
+
ZQ==
|
2319 |
+
-----END CERTIFICATE-----
|
2320 |
+
|
2321 |
+
# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C.
|
2322 |
+
# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C.
|
2323 |
+
# Label: "Network Solutions Certificate Authority"
|
2324 |
+
# Serial: 116697915152937497490437556386812487904
|
2325 |
+
# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e
|
2326 |
+
# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce
|
2327 |
+
# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c
|
2328 |
+
-----BEGIN CERTIFICATE-----
|
2329 |
+
MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi
|
2330 |
+
MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
|
2331 |
+
MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp
|
2332 |
+
dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV
|
2333 |
+
UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO
|
2334 |
+
ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
|
2335 |
+
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz
|
2336 |
+
c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP
|
2337 |
+
OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl
|
2338 |
+
mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF
|
2339 |
+
BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4
|
2340 |
+
qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw
|
2341 |
+
gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB
|
2342 |
+
BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu
|
2343 |
+
bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp
|
2344 |
+
dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8
|
2345 |
+
6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/
|
2346 |
+
h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH
|
2347 |
+
/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
|
2348 |
+
wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN
|
2349 |
+
pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
|
2350 |
+
-----END CERTIFICATE-----
|
2351 |
+
|
2352 |
+
# Issuer: CN=WellsSecure Public Root Certificate Authority O=Wells Fargo WellsSecure OU=Wells Fargo Bank NA
|
2353 |
+
# Subject: CN=WellsSecure Public Root Certificate Authority O=Wells Fargo WellsSecure OU=Wells Fargo Bank NA
|
2354 |
+
# Label: "WellsSecure Public Root Certificate Authority"
|
2355 |
+
# Serial: 1
|
2356 |
+
# MD5 Fingerprint: 15:ac:a5:c2:92:2d:79:bc:e8:7f:cb:67:ed:02:cf:36
|
2357 |
+
# SHA1 Fingerprint: e7:b4:f6:9d:61:ec:90:69:db:7e:90:a7:40:1a:3c:f4:7d:4f:e8:ee
|
2358 |
+
# SHA256 Fingerprint: a7:12:72:ae:aa:a3:cf:e8:72:7f:7f:b3:9f:0f:b3:d1:e5:42:6e:90:60:b0:6e:e6:f1:3e:9a:3c:58:33:cd:43
|
2359 |
+
-----BEGIN CERTIFICATE-----
|
2360 |
+
MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMx
|
2361 |
+
IDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxs
|
2362 |
+
cyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9v
|
2363 |
+
dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDcxMjEzMTcwNzU0WhcNMjIxMjE0
|
2364 |
+
MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdl
|
2365 |
+
bGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQD
|
2366 |
+
DC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkw
|
2367 |
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+r
|
2368 |
+
WxxTkqxtnt3CxC5FlAM1iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjU
|
2369 |
+
Dk/41itMpBb570OYj7OeUt9tkTmPOL13i0Nj67eT/DBMHAGTthP796EfvyXhdDcs
|
2370 |
+
HqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8bJVhHlfXBIEyg1J55oNj
|
2371 |
+
z7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiBK0HmOFaf
|
2372 |
+
SZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/Slwxl
|
2373 |
+
AgMBAAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqG
|
2374 |
+
KGh0dHA6Ly9jcmwucGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0P
|
2375 |
+
AQH/BAQDAgHGMB0GA1UdDgQWBBQmlRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0j
|
2376 |
+
BIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGBi6SBiDCBhTELMAkGA1UEBhMC
|
2377 |
+
VVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNX
|
2378 |
+
ZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg
|
2379 |
+
Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEB
|
2380 |
+
ALkVsUSRzCPIK0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd
|
2381 |
+
/ZDJPHV3V3p9+N701NX3leZ0bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pB
|
2382 |
+
A4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSljqHyita04pO2t/caaH/+Xc/77szWn
|
2383 |
+
k4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+esE2fDbbFwRnzVlhE9
|
2384 |
+
iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJtylv
|
2385 |
+
2G0xffX8oRAHh84vWdw+WNs=
|
2386 |
+
-----END CERTIFICATE-----
|
2387 |
+
|
2388 |
+
# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited
|
2389 |
+
# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited
|
2390 |
+
# Label: "COMODO ECC Certification Authority"
|
2391 |
+
# Serial: 41578283867086692638256921589707938090
|
2392 |
+
# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23
|
2393 |
+
# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11
|
2394 |
+
# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7
|
2395 |
+
-----BEGIN CERTIFICATE-----
|
2396 |
+
MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL
|
2397 |
+
MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
|
2398 |
+
BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT
|
2399 |
+
IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw
|
2400 |
+
MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy
|
2401 |
+
ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N
|
2402 |
+
T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv
|
2403 |
+
biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR
|
2404 |
+
FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J
|
2405 |
+
cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW
|
2406 |
+
BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
|
2407 |
+
BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm
|
2408 |
+
fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv
|
2409 |
+
GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
|
2410 |
+
-----END CERTIFICATE-----
|
2411 |
+
|
2412 |
+
# Issuer: CN=IGC/A O=PM/SGDN OU=DCSSI
|
2413 |
+
# Subject: CN=IGC/A O=PM/SGDN OU=DCSSI
|
2414 |
+
# Label: "IGC/A"
|
2415 |
+
# Serial: 245102874772
|
2416 |
+
# MD5 Fingerprint: 0c:7f:dd:6a:f4:2a:b9:c8:9b:bd:20:7e:a9:db:5c:37
|
2417 |
+
# SHA1 Fingerprint: 60:d6:89:74:b5:c2:65:9e:8a:0f:c1:88:7c:88:d2:46:69:1b:18:2c
|
2418 |
+
# SHA256 Fingerprint: b9:be:a7:86:0a:96:2e:a3:61:1d:ab:97:ab:6d:a3:e2:1c:10:68:b9:7d:55:57:5e:d0:e1:12:79:c1:1c:89:32
|
2419 |
+
-----BEGIN CERTIFICATE-----
|
2420 |
+
MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYT
|
2421 |
+
AkZSMQ8wDQYDVQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQ
|
2422 |
+
TS9TR0ROMQ4wDAYDVQQLEwVEQ1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG
|
2423 |
+
9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMB4XDTAyMTIxMzE0MjkyM1oXDTIw
|
2424 |
+
MTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQIEwZGcmFuY2UxDjAM
|
2425 |
+
BgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NTSTEO
|
2426 |
+
MAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2
|
2427 |
+
LmZyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaI
|
2428 |
+
s9z4iPf930Pfeo2aSVz2TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2
|
2429 |
+
xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCWSo7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4
|
2430 |
+
u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYyHF2fYPepraX/z9E0+X1b
|
2431 |
+
F8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNdfrGoRpAx
|
2432 |
+
Vs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGd
|
2433 |
+
PDPQtQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNV
|
2434 |
+
HSAEDjAMMAoGCCqBegF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAx
|
2435 |
+
NjAfBgNVHSMEGDAWgBSjBS8YYFDCiQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUF
|
2436 |
+
AAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RKq89toB9RlPhJy3Q2FLwV3duJ
|
2437 |
+
L92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3QMZsyK10XZZOY
|
2438 |
+
YLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg
|
2439 |
+
Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2a
|
2440 |
+
NjSaTFR+FwNIlQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R
|
2441 |
+
0982gaEbeC9xs/FZTEYYKKuF0mBWWg==
|
2442 |
+
-----END CERTIFICATE-----
|
2443 |
+
|
2444 |
+
# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication EV RootCA1
|
2445 |
+
# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication EV RootCA1
|
2446 |
+
# Label: "Security Communication EV RootCA1"
|
2447 |
+
# Serial: 0
|
2448 |
+
# MD5 Fingerprint: 22:2d:a6:01:ea:7c:0a:f7:f0:6c:56:43:3f:77:76:d3
|
2449 |
+
# SHA1 Fingerprint: fe:b8:c4:32:dc:f9:76:9a:ce:ae:3d:d8:90:8f:fd:28:86:65:64:7d
|
2450 |
+
# SHA256 Fingerprint: a2:2d:ba:68:1e:97:37:6e:2d:39:7d:72:8a:ae:3a:9b:62:96:b9:fd:ba:60:bc:2e:11:f6:47:f2:c6:75:fb:37
|
2451 |
+
-----BEGIN CERTIFICATE-----
|
2452 |
+
MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDEl
|
2453 |
+
MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMh
|
2454 |
+
U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIz
|
2455 |
+
MloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09N
|
2456 |
+
IFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNlY3VyaXR5IENvbW11
|
2457 |
+
bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
2458 |
+
ggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSE
|
2459 |
+
RMqm4miO/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gO
|
2460 |
+
zXppFodEtZDkBp2uoQSXWHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5
|
2461 |
+
bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4zZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDF
|
2462 |
+
MxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4bepJz11sS6/vmsJWXMY1
|
2463 |
+
VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK9U2vP9eC
|
2464 |
+
OKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0G
|
2465 |
+
CSqGSIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HW
|
2466 |
+
tWS3irO4G8za+6xmiEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZ
|
2467 |
+
q51ihPZRwSzJIxXYKLerJRO1RuGGAv8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDb
|
2468 |
+
EJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnWmHyojf6GPgcWkuF75x3sM3Z+
|
2469 |
+
Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEWT1MKZPlO9L9O
|
2470 |
+
VL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
|
2471 |
+
-----END CERTIFICATE-----
|
2472 |
+
|
2473 |
+
# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed
|
2474 |
+
# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed
|
2475 |
+
# Label: "OISTE WISeKey Global Root GA CA"
|
2476 |
+
# Serial: 86718877871133159090080555911823548314
|
2477 |
+
# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93
|
2478 |
+
# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9
|
2479 |
+
# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5
|
2480 |
+
-----BEGIN CERTIFICATE-----
|
2481 |
+
MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB
|
2482 |
+
ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly
|
2483 |
+
aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl
|
2484 |
+
ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w
|
2485 |
+
NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G
|
2486 |
+
A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD
|
2487 |
+
VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX
|
2488 |
+
SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
2489 |
+
MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR
|
2490 |
+
VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2
|
2491 |
+
w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF
|
2492 |
+
mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg
|
2493 |
+
4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9
|
2494 |
+
4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw
|
2495 |
+
DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw
|
2496 |
+
EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx
|
2497 |
+
SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2
|
2498 |
+
ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8
|
2499 |
+
vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
|
2500 |
+
hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi
|
2501 |
+
Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ
|
2502 |
+
/L7fCg0=
|
2503 |
+
-----END CERTIFICATE-----
|
2504 |
+
|
2505 |
+
# Issuer: CN=Microsec e-Szigno Root CA O=Microsec Ltd. OU=e-Szigno CA
|
2506 |
+
# Subject: CN=Microsec e-Szigno Root CA O=Microsec Ltd. OU=e-Szigno CA
|
2507 |
+
# Label: "Microsec e-Szigno Root CA"
|
2508 |
+
# Serial: 272122594155480254301341951808045322001
|
2509 |
+
# MD5 Fingerprint: f0:96:b6:2f:c5:10:d5:67:8e:83:25:32:e8:5e:2e:e5
|
2510 |
+
# SHA1 Fingerprint: 23:88:c9:d3:71:cc:9e:96:3d:ff:7d:3c:a7:ce:fc:d6:25:ec:19:0d
|
2511 |
+
# SHA256 Fingerprint: 32:7a:3d:76:1a:ba:de:a0:34:eb:99:84:06:27:5c:b1:a4:77:6e:fd:ae:2f:df:6d:01:68:ea:1c:4f:55:67:d0
|
2512 |
+
-----BEGIN CERTIFICATE-----
|
2513 |
+
MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAw
|
2514 |
+
cjELMAkGA1UEBhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNy
|
2515 |
+
b3NlYyBMdGQuMRQwEgYDVQQLEwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9z
|
2516 |
+
ZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0MDYxMjI4NDRaFw0xNzA0MDYxMjI4
|
2517 |
+
NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEWMBQGA1UEChMN
|
2518 |
+
TWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMTGU1p
|
2519 |
+
Y3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
2520 |
+
ggEKAoIBAQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2u
|
2521 |
+
uO/TEdyB5s87lozWbxXGd36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+
|
2522 |
+
LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/NoqdNAoI/gqyFxuEPkEeZlApxcpMqyabA
|
2523 |
+
vjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjcQR/Ji3HWVBTji1R4P770
|
2524 |
+
Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJPqW+jqpx
|
2525 |
+
62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcB
|
2526 |
+
AQRbMFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3Aw
|
2527 |
+
LQYIKwYBBQUHMAKGIWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAP
|
2528 |
+
BgNVHRMBAf8EBTADAQH/MIIBcwYDVR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIB
|
2529 |
+
AQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3LmUtc3ppZ25vLmh1L1NaU1ov
|
2530 |
+
MIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0AdAB2AOEAbgB5
|
2531 |
+
ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn
|
2532 |
+
AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABT
|
2533 |
+
AHoAbwBsAGcA4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABh
|
2534 |
+
ACAAcwB6AGUAcgBpAG4AdAAgAGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABo
|
2535 |
+
AHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMAegBpAGcAbgBvAC4AaAB1AC8AUwBa
|
2536 |
+
AFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6Ly93d3cuZS1zemln
|
2537 |
+
bm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NOPU1p
|
2538 |
+
Y3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxP
|
2539 |
+
PU1pY3Jvc2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZv
|
2540 |
+
Y2F0aW9uTGlzdDtiaW5hcnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuB
|
2541 |
+
EGluZm9AZS1zemlnbm8uaHWkdzB1MSMwIQYDVQQDDBpNaWNyb3NlYyBlLVN6aWdu
|
2542 |
+
w7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhTWjEWMBQGA1UEChMNTWlj
|
2543 |
+
cm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhVMIGsBgNV
|
2544 |
+
HSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJI
|
2545 |
+
VTERMA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDAS
|
2546 |
+
BgNVBAsTC2UtU3ppZ25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBS
|
2547 |
+
b290IENBghEAzLjnv04pGv2i3GalHCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS
|
2548 |
+
8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMTnGZjWS7KXHAM/IO8VbH0jgds
|
2549 |
+
ZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FEaGAHQzAxQmHl
|
2550 |
+
7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a
|
2551 |
+
86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfR
|
2552 |
+
hUZLphK3dehKyVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/
|
2553 |
+
MPMMNz7UwiiAc7EBt51alhQBS6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU=
|
2554 |
+
-----END CERTIFICATE-----
|
2555 |
+
|
2556 |
+
# Issuer: CN=Certigna O=Dhimyotis
|
2557 |
+
# Subject: CN=Certigna O=Dhimyotis
|
2558 |
+
# Label: "Certigna"
|
2559 |
+
# Serial: 18364802974209362175
|
2560 |
+
# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff
|
2561 |
+
# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97
|
2562 |
+
# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d
|
2563 |
+
-----BEGIN CERTIFICATE-----
|
2564 |
+
MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV
|
2565 |
+
BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X
|
2566 |
+
DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ
|
2567 |
+
BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3
|
2568 |
+
DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4
|
2569 |
+
QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny
|
2570 |
+
gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw
|
2571 |
+
zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q
|
2572 |
+
130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2
|
2573 |
+
JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw
|
2574 |
+
DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw
|
2575 |
+
ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT
|
2576 |
+
AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj
|
2577 |
+
AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG
|
2578 |
+
9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h
|
2579 |
+
bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc
|
2580 |
+
fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu
|
2581 |
+
HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w
|
2582 |
+
t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
|
2583 |
+
WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
|
2584 |
+
-----END CERTIFICATE-----
|
2585 |
+
|
2586 |
+
# Issuer: CN=AC Raíz Certicámara S.A. O=Sociedad Cameral de Certificación Digital - Certicámara S.A.
|
2587 |
+
# Subject: CN=AC Raíz Certicámara S.A. O=Sociedad Cameral de Certificación Digital - Certicámara S.A.
|
2588 |
+
# Label: "AC Ra\xC3\xADz Certic\xC3\xA1mara S.A."
|
2589 |
+
# Serial: 38908203973182606954752843738508300
|
2590 |
+
# MD5 Fingerprint: 93:2a:3e:f6:fd:23:69:0d:71:20:d4:2b:47:99:2b:a6
|
2591 |
+
# SHA1 Fingerprint: cb:a1:c5:f8:b0:e3:5e:b8:b9:45:12:d3:f9:34:a2:e9:06:10:d3:36
|
2592 |
+
# SHA256 Fingerprint: a6:c5:1e:0d:a5:ca:0a:93:09:d2:e4:c0:e4:0c:2a:f9:10:7a:ae:82:03:85:7f:e1:98:e3:e7:69:e3:43:08:5c
|
2593 |
+
-----BEGIN CERTIFICATE-----
|
2594 |
+
MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsx
|
2595 |
+
CzAJBgNVBAYTAkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRp
|
2596 |
+
ZmljYWNpw7NuIERpZ2l0YWwgLSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwa
|
2597 |
+
QUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4wHhcNMDYxMTI3MjA0NjI5WhcNMzAw
|
2598 |
+
NDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+U29jaWVkYWQgQ2Ft
|
2599 |
+
ZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJhIFMu
|
2600 |
+
QS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkq
|
2601 |
+
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeG
|
2602 |
+
qentLhM0R7LQcNzJPNCNyu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzL
|
2603 |
+
fDe3fezTf3MZsGqy2IiKLUV0qPezuMDU2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQ
|
2604 |
+
Y5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU34ojC2I+GdV75LaeHM/J4
|
2605 |
+
Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP2yYe68yQ
|
2606 |
+
54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+b
|
2607 |
+
MMCm8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48j
|
2608 |
+
ilSH5L887uvDdUhfHjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++Ej
|
2609 |
+
YfDIJss2yKHzMI+ko6Kh3VOz3vCaMh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/zt
|
2610 |
+
A/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK5lw1omdMEWux+IBkAC1vImHF
|
2611 |
+
rEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1bczwmPS9KvqfJ
|
2612 |
+
pxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
|
2613 |
+
AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCB
|
2614 |
+
lTCBkgYEVR0gADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFy
|
2615 |
+
YS5jb20vZHBjLzBaBggrBgEFBQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW50
|
2616 |
+
7WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2UgcHVlZGVuIGVuY29udHJhciBlbiBs
|
2617 |
+
YSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEfAygPU3zmpFmps4p6
|
2618 |
+
xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuXEpBc
|
2619 |
+
unvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/
|
2620 |
+
Jre7Ir5v/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dp
|
2621 |
+
ezy4ydV/NgIlqmjCMRW3MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42
|
2622 |
+
gzmRkBDI8ck1fj+404HGIGQatlDCIaR43NAvO2STdPCWkPHv+wlaNECW8DYSwaN0
|
2623 |
+
jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wkeZBWN7PGKX6jD/EpOe9+
|
2624 |
+
XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f/RWmnkJD
|
2625 |
+
W2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/
|
2626 |
+
RL5hRqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35r
|
2627 |
+
MDOhYil/SrnhLecUIw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxk
|
2628 |
+
BYn8eNZcLCZDqQ==
|
2629 |
+
-----END CERTIFICATE-----
|
2630 |
+
|
2631 |
+
# Issuer: CN=TC TrustCenter Class 2 CA II O=TC TrustCenter GmbH OU=TC TrustCenter Class 2 CA
|
2632 |
+
# Subject: CN=TC TrustCenter Class 2 CA II O=TC TrustCenter GmbH OU=TC TrustCenter Class 2 CA
|
2633 |
+
# Label: "TC TrustCenter Class 2 CA II"
|
2634 |
+
# Serial: 941389028203453866782103406992443
|
2635 |
+
# MD5 Fingerprint: ce:78:33:5c:59:78:01:6e:18:ea:b9:36:a0:b9:2e:23
|
2636 |
+
# SHA1 Fingerprint: ae:50:83:ed:7c:f4:5c:bc:8f:61:c6:21:fe:68:5d:79:42:21:15:6e
|
2637 |
+
# SHA256 Fingerprint: e6:b8:f8:76:64:85:f8:07:ae:7f:8d:ac:16:70:46:1f:07:c0:a1:3e:ef:3a:1f:f7:17:53:8d:7a:ba:d3:91:b4
|
2638 |
+
-----BEGIN CERTIFICATE-----
|
2639 |
+
MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjEL
|
2640 |
+
MAkGA1UEBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNV
|
2641 |
+
BAsTGVRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0
|
2642 |
+
Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYwMTEyMTQzODQzWhcNMjUxMjMxMjI1
|
2643 |
+
OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1c3RDZW50ZXIgR21i
|
2644 |
+
SDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UEAxMc
|
2645 |
+
VEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQAD
|
2646 |
+
ggEPADCCAQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jf
|
2647 |
+
tMjWQ+nEdVl//OEd+DFwIxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKg
|
2648 |
+
uNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2J
|
2649 |
+
XjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQXa7pIXSSTYtZgo+U4+lK
|
2650 |
+
8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7uSNQZu+99
|
2651 |
+
5OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1Ud
|
2652 |
+
EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3
|
2653 |
+
kUrL84J6E1wIqzCB7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRy
|
2654 |
+
dXN0Y2VudGVyLmRlL2NybC92Mi90Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6
|
2655 |
+
Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBUcnVzdENlbnRlciUyMENsYXNz
|
2656 |
+
JTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21iSCxPVT1yb290
|
2657 |
+
Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
|
2658 |
+
TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iS
|
2659 |
+
GNn3Bzn1LL4GdXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprt
|
2660 |
+
ZjluS5TmVfwLG4t3wVMTZonZKNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8
|
2661 |
+
au0WOB9/WIFaGusyiC2y8zl3gK9etmF1KdsjTYjKUCjLhdLTEKJZbtOTVAB6okaV
|
2662 |
+
hgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kPJOzHdiEoZa5X6AeI
|
2663 |
+
dUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfkvQ==
|
2664 |
+
-----END CERTIFICATE-----
|
2665 |
+
|
2666 |
+
# Issuer: CN=TC TrustCenter Class 3 CA II O=TC TrustCenter GmbH OU=TC TrustCenter Class 3 CA
|
2667 |
+
# Subject: CN=TC TrustCenter Class 3 CA II O=TC TrustCenter GmbH OU=TC TrustCenter Class 3 CA
|
2668 |
+
# Label: "TC TrustCenter Class 3 CA II"
|
2669 |
+
# Serial: 1506523511417715638772220530020799
|
2670 |
+
# MD5 Fingerprint: 56:5f:aa:80:61:12:17:f6:67:21:e6:2b:6d:61:56:8e
|
2671 |
+
# SHA1 Fingerprint: 80:25:ef:f4:6e:70:c8:d4:72:24:65:84:fe:40:3b:8a:8d:6a:db:f5
|
2672 |
+
# SHA256 Fingerprint: 8d:a0:84:fc:f9:9c:e0:77:22:f8:9b:32:05:93:98:06:fa:5c:b8:11:e1:c8:13:f6:a1:08:c7:d3:36:b3:40:8e
|
2673 |
+
-----BEGIN CERTIFICATE-----
|
2674 |
+
MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjEL
|
2675 |
+
MAkGA1UEBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNV
|
2676 |
+
BAsTGVRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0
|
2677 |
+
Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYwMTEyMTQ0MTU3WhcNMjUxMjMxMjI1
|
2678 |
+
OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1c3RDZW50ZXIgR21i
|
2679 |
+
SDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UEAxMc
|
2680 |
+
VEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQAD
|
2681 |
+
ggEPADCCAQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJW
|
2682 |
+
Ht4bNwcwIi9v8Qbxq63WyKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+Q
|
2683 |
+
Vl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo6SI7dYnWRBpl8huXJh0obazovVkdKyT2
|
2684 |
+
1oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZuV3bOx4a+9P/FRQI2Alq
|
2685 |
+
ukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk2ZyqBwi1
|
2686 |
+
Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1Ud
|
2687 |
+
EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NX
|
2688 |
+
XAek0CSnwPIA1DCB7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRy
|
2689 |
+
dXN0Y2VudGVyLmRlL2NybC92Mi90Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6
|
2690 |
+
Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBUcnVzdENlbnRlciUyMENsYXNz
|
2691 |
+
JTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21iSCxPVT1yb290
|
2692 |
+
Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
|
2693 |
+
TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlN
|
2694 |
+
irTzwppVMXzEO2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8
|
2695 |
+
TtXqluJucsG7Kv5sbviRmEb8yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6
|
2696 |
+
g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9IJqDnxrcOfHFcqMRA/07QlIp2+gB
|
2697 |
+
95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal092Y+tTmBvTwtiBj
|
2698 |
+
S+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc5A==
|
2699 |
+
-----END CERTIFICATE-----
|
2700 |
+
|
2701 |
+
# Issuer: CN=TC TrustCenter Universal CA I O=TC TrustCenter GmbH OU=TC TrustCenter Universal CA
|
2702 |
+
# Subject: CN=TC TrustCenter Universal CA I O=TC TrustCenter GmbH OU=TC TrustCenter Universal CA
|
2703 |
+
# Label: "TC TrustCenter Universal CA I"
|
2704 |
+
# Serial: 601024842042189035295619584734726
|
2705 |
+
# MD5 Fingerprint: 45:e1:a5:72:c5:a9:36:64:40:9e:f5:e4:58:84:67:8c
|
2706 |
+
# SHA1 Fingerprint: 6b:2f:34:ad:89:58:be:62:fd:b0:6b:5c:ce:bb:9d:d9:4f:4e:39:f3
|
2707 |
+
# SHA256 Fingerprint: eb:f3:c0:2a:87:89:b1:fb:7d:51:19:95:d6:63:b7:29:06:d9:13:ce:0d:5e:10:56:8a:8a:77:e2:58:61:67:e7
|
2708 |
+
-----BEGIN CERTIFICATE-----
|
2709 |
+
MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTEL
|
2710 |
+
MAkGA1UEBhMCREUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNV
|
2711 |
+
BAsTG1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1
|
2712 |
+
c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcNMDYwMzIyMTU1NDI4WhcNMjUxMjMx
|
2713 |
+
MjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1c3RDZW50ZXIg
|
2714 |
+
R21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYwJAYD
|
2715 |
+
VQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcN
|
2716 |
+
AQEBBQADggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSR
|
2717 |
+
JJZ4Hgmgm5qVSkr1YnwCqMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3T
|
2718 |
+
fCZdzHd55yx4Oagmcw6iXSVphU9VDprvxrlE4Vc93x9UIuVvZaozhDrzznq+VZeu
|
2719 |
+
jRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtwag+1m7Z3W0hZneTvWq3z
|
2720 |
+
wZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9OgdwZu5GQ
|
2721 |
+
fezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYD
|
2722 |
+
VR0jBBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAO
|
2723 |
+
BgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0G
|
2724 |
+
CSqGSIb3DQEBBQUAA4IBAQAo0uCG1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X1
|
2725 |
+
7caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/CyvwbZ71q+s2IhtNerNXxTPqYn
|
2726 |
+
8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3ghUJGooWMNjs
|
2727 |
+
ydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT
|
2728 |
+
ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/
|
2729 |
+
2TYcuiUaUj0a7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY
|
2730 |
+
-----END CERTIFICATE-----
|
2731 |
+
|
2732 |
+
# Issuer: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center
|
2733 |
+
# Subject: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center
|
2734 |
+
# Label: "Deutsche Telekom Root CA 2"
|
2735 |
+
# Serial: 38
|
2736 |
+
# MD5 Fingerprint: 74:01:4a:91:b1:08:c4:58:ce:47:cd:f0:dd:11:53:08
|
2737 |
+
# SHA1 Fingerprint: 85:a4:08:c0:9c:19:3e:5d:51:58:7d:cd:d6:13:30:fd:8c:de:37:bf
|
2738 |
+
# SHA256 Fingerprint: b6:19:1a:50:d0:c3:97:7f:7d:a9:9b:cd:aa:c8:6a:22:7d:ae:b9:67:9e:c7:0b:a3:b0:c9:d9:22:71:c1:70:d3
|
2739 |
+
-----BEGIN CERTIFICATE-----
|
2740 |
+
MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc
|
2741 |
+
MBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj
|
2742 |
+
IFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB
|
2743 |
+
IDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE
|
2744 |
+
RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl
|
2745 |
+
U2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290
|
2746 |
+
IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU
|
2747 |
+
ha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC
|
2748 |
+
QN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr
|
2749 |
+
rFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S
|
2750 |
+
NNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc
|
2751 |
+
QqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH
|
2752 |
+
txa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP
|
2753 |
+
BgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC
|
2754 |
+
AQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp
|
2755 |
+
tJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa
|
2756 |
+
IzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl
|
2757 |
+
6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+
|
2758 |
+
xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
|
2759 |
+
Cm26OWMohpLzGITY+9HPBVZkVw==
|
2760 |
+
-----END CERTIFICATE-----
|
2761 |
+
|
2762 |
+
# Issuer: CN=ComSign Secured CA O=ComSign
|
2763 |
+
# Subject: CN=ComSign Secured CA O=ComSign
|
2764 |
+
# Label: "ComSign Secured CA"
|
2765 |
+
# Serial: 264725503855295744117309814499492384489
|
2766 |
+
# MD5 Fingerprint: 40:01:25:06:8d:21:43:6a:0e:43:00:9c:e7:43:f3:d5
|
2767 |
+
# SHA1 Fingerprint: f9:cd:0e:2c:da:76:24:c1:8f:bd:f0:f0:ab:b6:45:b8:f7:fe:d5:7a
|
2768 |
+
# SHA256 Fingerprint: 50:79:41:c7:44:60:a0:b4:70:86:22:0d:4e:99:32:57:2a:b5:d1:b5:bb:cb:89:80:ab:1c:b1:76:51:a8:44:d2
|
2769 |
+
-----BEGIN CERTIFICATE-----
|
2770 |
+
MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAw
|
2771 |
+
PDEbMBkGA1UEAxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWdu
|
2772 |
+
MQswCQYDVQQGEwJJTDAeFw0wNDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwx
|
2773 |
+
GzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBDQTEQMA4GA1UEChMHQ29tU2lnbjEL
|
2774 |
+
MAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGtWhf
|
2775 |
+
HZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs49oh
|
2776 |
+
gHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sW
|
2777 |
+
v+bznkqH7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ue
|
2778 |
+
Mv5WJDmyVIRD9YTC2LxBkMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr
|
2779 |
+
9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d19guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt
|
2780 |
+
6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUwAwEB/zBEBgNVHR8EPTA7
|
2781 |
+
MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29tU2lnblNl
|
2782 |
+
Y3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58
|
2783 |
+
ADsAj8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkq
|
2784 |
+
hkiG9w0BAQUFAAOCAQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7p
|
2785 |
+
iL1DRYHjZiM/EoZNGeQFsOY3wo3aBijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtC
|
2786 |
+
dsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtpFhpFfTMDZflScZAmlaxMDPWL
|
2787 |
+
kz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP51qJThRv4zdL
|
2788 |
+
hfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz
|
2789 |
+
OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw==
|
2790 |
+
-----END CERTIFICATE-----
|
2791 |
+
|
2792 |
+
# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc
|
2793 |
+
# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc
|
2794 |
+
# Label: "Cybertrust Global Root"
|
2795 |
+
# Serial: 4835703278459682877484360
|
2796 |
+
# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1
|
2797 |
+
# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6
|
2798 |
+
# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3
|
2799 |
+
-----BEGIN CERTIFICATE-----
|
2800 |
+
MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG
|
2801 |
+
A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh
|
2802 |
+
bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE
|
2803 |
+
ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS
|
2804 |
+
b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5
|
2805 |
+
7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS
|
2806 |
+
J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y
|
2807 |
+
HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP
|
2808 |
+
t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz
|
2809 |
+
FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY
|
2810 |
+
XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/
|
2811 |
+
MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw
|
2812 |
+
hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js
|
2813 |
+
MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA
|
2814 |
+
A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj
|
2815 |
+
Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx
|
2816 |
+
XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o
|
2817 |
+
omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc
|
2818 |
+
A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
|
2819 |
+
WL1WMRJOEcgh4LMRkWXbtKaIOM5V
|
2820 |
+
-----END CERTIFICATE-----
|
2821 |
+
|
2822 |
+
# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority
|
2823 |
+
# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority
|
2824 |
+
# Label: "ePKI Root Certification Authority"
|
2825 |
+
# Serial: 28956088682735189655030529057352760477
|
2826 |
+
# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3
|
2827 |
+
# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0
|
2828 |
+
# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5
|
2829 |
+
-----BEGIN CERTIFICATE-----
|
2830 |
+
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
|
2860 |
+
hNQ+IIX3Sj0rnP0qCglN6oH4EZw=
|
2861 |
+
-----END CERTIFICATE-----
|
2862 |
+
|
2863 |
+
# Issuer: CN=TÜBİTAK UEKAE Kök Sertifika Hizmet Sağlayıcısı - Sürüm 3 O=Türkiye Bilimsel ve Teknolojik Araştırma Kurumu - TÜBİTAK OU=Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü - UEKAE/Kamu Sertifikasyon Merkezi
|
2864 |
+
# Subject: CN=TÜBİTAK UEKAE Kök Sertifika Hizmet Sağlayıcısı - Sürüm 3 O=Türkiye Bilimsel ve Teknolojik Araştırma Kurumu - TÜBİTAK OU=Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü - UEKAE/Kamu Sertifikasyon Merkezi
|
2865 |
+
# Label: "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"
|
2866 |
+
# Serial: 17
|
2867 |
+
# MD5 Fingerprint: ed:41:f5:8c:50:c5:2b:9c:73:e6:ee:6c:eb:c2:a8:26
|
2868 |
+
# SHA1 Fingerprint: 1b:4b:39:61:26:27:6b:64:91:a2:68:6d:d7:02:43:21:2d:1f:1d:96
|
2869 |
+
# SHA256 Fingerprint: e4:c7:34:30:d7:a5:b5:09:25:df:43:37:0a:0d:21:6e:9a:79:b9:d6:db:83:73:a0:c6:9e:b1:cc:31:c7:c5:2a
|
2870 |
+
-----BEGIN CERTIFICATE-----
|
2871 |
+
MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRS
|
2872 |
+
MRgwFgYDVQQHDA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJp
|
2873 |
+
bGltc2VsIHZlIFRla25vbG9qaWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSw
|
2874 |
+
VEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ryb25payB2ZSBLcmlwdG9sb2ppIEFy
|
2875 |
+
YcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNVBAsMGkthbXUgU2Vy
|
2876 |
+
dGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUgS8O2
|
2877 |
+
ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAe
|
2878 |
+
Fw0wNzA4MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIx
|
2879 |
+
GDAWBgNVBAcMD0dlYnplIC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmls
|
2880 |
+
aW1zZWwgdmUgVGVrbm9sb2ppayBBcmHFn3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBU
|
2881 |
+
QUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZlIEtyaXB0b2xvamkgQXJh
|
2882 |
+
xZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2FtdSBTZXJ0
|
2883 |
+
aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7Zr
|
2884 |
+
IFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIB
|
2885 |
+
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4h
|
2886 |
+
gb46ezzb8R1Sf1n68yJMlaCQvEhOEav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yK
|
2887 |
+
O7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1xnnRFDDtG1hba+818qEhTsXO
|
2888 |
+
fJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR6Oqeyjh1jmKw
|
2889 |
+
lZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL
|
2890 |
+
hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQID
|
2891 |
+
AQABo0IwQDAdBgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/
|
2892 |
+
BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmP
|
2893 |
+
NOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4N5EY3ATIZJkrGG2AA1nJrvhY0D7t
|
2894 |
+
wyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLTy9LQQfMmNkqblWwM
|
2895 |
+
7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYhLBOh
|
2896 |
+
gLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5n
|
2897 |
+
oN+J1q2MdqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUs
|
2898 |
+
yZyQ2uypQjyttgI=
|
2899 |
+
-----END CERTIFICATE-----
|
2900 |
+
|
2901 |
+
# Issuer: CN=Buypass Class 2 CA 1 O=Buypass AS-983163327
|
2902 |
+
# Subject: CN=Buypass Class 2 CA 1 O=Buypass AS-983163327
|
2903 |
+
# Label: "Buypass Class 2 CA 1"
|
2904 |
+
# Serial: 1
|
2905 |
+
# MD5 Fingerprint: b8:08:9a:f0:03:cc:1b:0d:c8:6c:0b:76:a1:75:64:23
|
2906 |
+
# SHA1 Fingerprint: a0:a1:ab:90:c9:fc:84:7b:3b:12:61:e8:97:7d:5f:d3:22:61:d3:cc
|
2907 |
+
# SHA256 Fingerprint: 0f:4e:9c:dd:26:4b:02:55:50:d1:70:80:63:40:21:4f:e9:44:34:c9:b0:2f:69:7e:c7:10:fc:5f:ea:fb:5e:38
|
2908 |
+
-----BEGIN CERTIFICATE-----
|
2909 |
+
MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEd
|
2910 |
+
MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3Mg
|
2911 |
+
Q2xhc3MgMiBDQSAxMB4XDTA2MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzEL
|
2912 |
+
MAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MR0wGwYD
|
2913 |
+
VQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
2914 |
+
ADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7McXA0
|
2915 |
+
ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLX
|
2916 |
+
l18xoS830r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVB
|
2917 |
+
HfCuuCkslFJgNJQ72uA40Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B
|
2918 |
+
5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/RuFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3
|
2919 |
+
WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
|
2920 |
+
AwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0PAQH/BAQD
|
2921 |
+
AgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLP
|
2922 |
+
gcIV1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+
|
2923 |
+
DKhQ7SLHrQVMdvvt7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKu
|
2924 |
+
BctN518fV4bVIJwo+28TOPX2EZL2fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHs
|
2925 |
+
h7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5wwDX3OaJdZtB7WZ+oRxKaJyOk
|
2926 |
+
LY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho
|
2927 |
+
-----END CERTIFICATE-----
|
2928 |
+
|
2929 |
+
# Issuer: CN=Buypass Class 3 CA 1 O=Buypass AS-983163327
|
2930 |
+
# Subject: CN=Buypass Class 3 CA 1 O=Buypass AS-983163327
|
2931 |
+
# Label: "Buypass Class 3 CA 1"
|
2932 |
+
# Serial: 2
|
2933 |
+
# MD5 Fingerprint: df:3c:73:59:81:e7:39:50:81:04:4c:34:a2:cb:b3:7b
|
2934 |
+
# SHA1 Fingerprint: 61:57:3a:11:df:0e:d8:7e:d5:92:65:22:ea:d0:56:d7:44:b3:23:71
|
2935 |
+
# SHA256 Fingerprint: b7:b1:2b:17:1f:82:1d:aa:99:0c:d0:fe:50:87:b1:28:44:8b:a8:e5:18:4f:84:c5:1e:02:b5:c8:fb:96:2b:24
|
2936 |
+
-----BEGIN CERTIFICATE-----
|
2937 |
+
MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEd
|
2938 |
+
MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3Mg
|
2939 |
+
Q2xhc3MgMyBDQSAxMB4XDTA1MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzEL
|
2940 |
+
MAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MR0wGwYD
|
2941 |
+
VQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
2942 |
+
ADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKxifZg
|
2943 |
+
isRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//z
|
2944 |
+
NIqeKNc0n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI
|
2945 |
+
+MkcVyzwPX6UvCWThOiaAJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2R
|
2946 |
+
hzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+
|
2947 |
+
mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
|
2948 |
+
AwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0PAQH/BAQD
|
2949 |
+
AgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFP
|
2950 |
+
Bdy7pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27s
|
2951 |
+
EzNxZy5p+qksP2bAEllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2
|
2952 |
+
mSlf56oBzKwzqBwKu5HEA6BvtjT5htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yC
|
2953 |
+
e/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQjel/wroQk5PMr+4okoyeYZdow
|
2954 |
+
dXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915
|
2955 |
+
-----END CERTIFICATE-----
|
2956 |
+
|
2957 |
+
# Issuer: CN=EBG Elektronik Sertifika Hizmet Sağlayıcısı O=EBG Bilişim Teknolojileri ve Hizmetleri A.Ş.
|
2958 |
+
# Subject: CN=EBG Elektronik Sertifika Hizmet Sağlayıcısı O=EBG Bilişim Teknolojileri ve Hizmetleri A.Ş.
|
2959 |
+
# Label: "EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1"
|
2960 |
+
# Serial: 5525761995591021570
|
2961 |
+
# MD5 Fingerprint: 2c:20:26:9d:cb:1a:4a:00:85:b5:b7:5a:ae:c2:01:37
|
2962 |
+
# SHA1 Fingerprint: 8c:96:ba:eb:dd:2b:07:07:48:ee:30:32:66:a0:f3:98:6e:7c:ae:58
|
2963 |
+
# SHA256 Fingerprint: 35:ae:5b:dd:d8:f7:ae:63:5c:ff:ba:56:82:a8:f0:0b:95:f4:84:62:c7:10:8e:e9:a0:e5:29:2b:07:4a:af:b2
|
2964 |
+
-----BEGIN CERTIFICATE-----
|
2965 |
+
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
|
2996 |
+
QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT
|
2997 |
+
-----END CERTIFICATE-----
|
2998 |
+
|
2999 |
+
# Issuer: O=certSIGN OU=certSIGN ROOT CA
|
3000 |
+
# Subject: O=certSIGN OU=certSIGN ROOT CA
|
3001 |
+
# Label: "certSIGN ROOT CA"
|
3002 |
+
# Serial: 35210227249154
|
3003 |
+
# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17
|
3004 |
+
# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b
|
3005 |
+
# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb
|
3006 |
+
-----BEGIN CERTIFICATE-----
|
3007 |
+
MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT
|
3008 |
+
AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD
|
3009 |
+
QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP
|
3010 |
+
MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC
|
3011 |
+
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do
|
3012 |
+
0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ
|
3013 |
+
UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d
|
3014 |
+
RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ
|
3015 |
+
OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv
|
3016 |
+
JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C
|
3017 |
+
AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O
|
3018 |
+
BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ
|
3019 |
+
LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY
|
3020 |
+
MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ
|
3021 |
+
44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I
|
3022 |
+
Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw
|
3023 |
+
i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN
|
3024 |
+
9u6wWk5JRFRYX0KD
|
3025 |
+
-----END CERTIFICATE-----
|
3026 |
+
|
3027 |
+
# Issuer: CN=CNNIC ROOT O=CNNIC
|
3028 |
+
# Subject: CN=CNNIC ROOT O=CNNIC
|
3029 |
+
# Label: "CNNIC ROOT"
|
3030 |
+
# Serial: 1228079105
|
3031 |
+
# MD5 Fingerprint: 21:bc:82:ab:49:c4:13:3b:4b:b2:2b:5c:6b:90:9c:19
|
3032 |
+
# SHA1 Fingerprint: 8b:af:4c:9b:1d:f0:2a:92:f7:da:12:8e:b9:1b:ac:f4:98:60:4b:6f
|
3033 |
+
# SHA256 Fingerprint: e2:83:93:77:3d:a8:45:a6:79:f2:08:0c:c7:fb:44:a3:b7:a1:c3:79:2c:b7:eb:77:29:fd:cb:6a:8d:99:ae:a7
|
3034 |
+
-----BEGIN CERTIFICATE-----
|
3035 |
+
MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJD
|
3036 |
+
TjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2
|
3037 |
+
MDcwOTE0WhcNMjcwNDE2MDcwOTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMF
|
3038 |
+
Q05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
3039 |
+
DwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzDo+/hn7E7SIX1mlwh
|
3040 |
+
IhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tizVHa6
|
3041 |
+
dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZO
|
3042 |
+
V/kbZKKTVrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrC
|
3043 |
+
GHn2emU1z5DrvTOTn1OrczvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gN
|
3044 |
+
v7Sg2Ca+I19zN38m5pIEo3/PIKe38zrKy5nLAgMBAAGjczBxMBEGCWCGSAGG+EIB
|
3045 |
+
AQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscCwQ7vptU7ETAPBgNVHRMB
|
3046 |
+
Af8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991SlgrHAsEO
|
3047 |
+
76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnK
|
3048 |
+
OOK5Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvH
|
3049 |
+
ugDnuL8BV8F3RTIMO/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7Hgvi
|
3050 |
+
yJA/qIYM/PmLXoXLT1tLYhFHxUV8BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fL
|
3051 |
+
buXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2G8kS1sHNzYDzAgE8yGnLRUhj
|
3052 |
+
2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5mmxE=
|
3053 |
+
-----END CERTIFICATE-----
|
3054 |
+
|
3055 |
+
# Issuer: O=Japanese Government OU=ApplicationCA
|
3056 |
+
# Subject: O=Japanese Government OU=ApplicationCA
|
3057 |
+
# Label: "ApplicationCA - Japanese Government"
|
3058 |
+
# Serial: 49
|
3059 |
+
# MD5 Fingerprint: 7e:23:4e:5b:a7:a5:b4:25:e9:00:07:74:11:62:ae:d6
|
3060 |
+
# SHA1 Fingerprint: 7f:8a:b0:cf:d0:51:87:6a:66:f3:36:0f:47:c8:8d:8c:d3:35:fc:74
|
3061 |
+
# SHA256 Fingerprint: 2d:47:43:7d:e1:79:51:21:5a:12:f3:c5:8e:51:c7:29:a5:80:26:ef:1f:cc:0a:5f:b3:d9:dc:01:2f:60:0d:19
|
3062 |
+
-----BEGIN CERTIFICATE-----
|
3063 |
+
MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEc
|
3064 |
+
MBoGA1UEChMTSmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRp
|
3065 |
+
b25DQTAeFw0wNzEyMTIxNTAwMDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYT
|
3066 |
+
AkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zlcm5tZW50MRYwFAYDVQQLEw1BcHBs
|
3067 |
+
aWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp23gdE6H
|
3068 |
+
j6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4fl+K
|
3069 |
+
f5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55
|
3070 |
+
IrmTwcrNwVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cw
|
3071 |
+
FO5cjFW6WY2H/CPek9AEjP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDiht
|
3072 |
+
QWEjdnjDuGWk81quzMKq2edY3rZ+nYVunyoKb58DKTCXKB28t89UKU5RMfkntigm
|
3073 |
+
/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRUWssmP3HMlEYNllPqa0jQ
|
3074 |
+
k/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNVBAYTAkpQ
|
3075 |
+
MRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOC
|
3076 |
+
seODvOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
|
3077 |
+
ggEBADlqRHZ3ODrso2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJ
|
3078 |
+
hyzjVOGjprIIC8CFqMjSnHH2HZ9g/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+
|
3079 |
+
eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYDio+nEhEMy/0/ecGc/WLuo89U
|
3080 |
+
DNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmWdupwX3kSa+Sj
|
3081 |
+
B1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL
|
3082 |
+
rosot4LKGAfmt1t06SAZf7IbiVQ=
|
3083 |
+
-----END CERTIFICATE-----
|
3084 |
+
|
3085 |
+
# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only
|
3086 |
+
# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only
|
3087 |
+
# Label: "GeoTrust Primary Certification Authority - G3"
|
3088 |
+
# Serial: 28809105769928564313984085209975885599
|
3089 |
+
# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05
|
3090 |
+
# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd
|
3091 |
+
# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4
|
3092 |
+
-----BEGIN CERTIFICATE-----
|
3093 |
+
MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB
|
3094 |
+
mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT
|
3095 |
+
MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s
|
3096 |
+
eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv
|
3097 |
+
cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ
|
3098 |
+
BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
|
3099 |
+
MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0
|
3100 |
+
BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
|
3101 |
+
LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz
|
3102 |
+
+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm
|
3103 |
+
hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn
|
3104 |
+
5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W
|
3105 |
+
JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL
|
3106 |
+
DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC
|
3107 |
+
huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw
|
3108 |
+
HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB
|
3109 |
+
AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB
|
3110 |
+
zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN
|
3111 |
+
kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
|
3112 |
+
AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH
|
3113 |
+
SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G
|
3114 |
+
spki4cErx5z481+oghLrGREt
|
3115 |
+
-----END CERTIFICATE-----
|
3116 |
+
|
3117 |
+
# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only
|
3118 |
+
# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only
|
3119 |
+
# Label: "thawte Primary Root CA - G2"
|
3120 |
+
# Serial: 71758320672825410020661621085256472406
|
3121 |
+
# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f
|
3122 |
+
# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12
|
3123 |
+
# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57
|
3124 |
+
-----BEGIN CERTIFICATE-----
|
3125 |
+
MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL
|
3126 |
+
MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp
|
3127 |
+
IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi
|
3128 |
+
BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw
|
3129 |
+
MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
|
3130 |
+
d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig
|
3131 |
+
YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v
|
3132 |
+
dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/
|
3133 |
+
BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6
|
3134 |
+
papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E
|
3135 |
+
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K
|
3136 |
+
DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3
|
3137 |
+
KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox
|
3138 |
+
XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
|
3139 |
+
-----END CERTIFICATE-----
|
3140 |
+
|
3141 |
+
# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only
|
3142 |
+
# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only
|
3143 |
+
# Label: "thawte Primary Root CA - G3"
|
3144 |
+
# Serial: 127614157056681299805556476275995414779
|
3145 |
+
# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31
|
3146 |
+
# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2
|
3147 |
+
# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c
|
3148 |
+
-----BEGIN CERTIFICATE-----
|
3149 |
+
MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB
|
3150 |
+
rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
|
3151 |
+
Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
|
3152 |
+
MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV
|
3153 |
+
BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa
|
3154 |
+
Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl
|
3155 |
+
LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u
|
3156 |
+
MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl
|
3157 |
+
ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz
|
3158 |
+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm
|
3159 |
+
gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8
|
3160 |
+
YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf
|
3161 |
+
b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9
|
3162 |
+
9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S
|
3163 |
+
zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk
|
3164 |
+
OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
|
3165 |
+
HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA
|
3166 |
+
2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW
|
3167 |
+
oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
|
3168 |
+
t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c
|
3169 |
+
KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM
|
3170 |
+
m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu
|
3171 |
+
MdRAGmI0Nj81Aa6sY6A=
|
3172 |
+
-----END CERTIFICATE-----
|
3173 |
+
|
3174 |
+
# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only
|
3175 |
+
# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only
|
3176 |
+
# Label: "GeoTrust Primary Certification Authority - G2"
|
3177 |
+
# Serial: 80682863203381065782177908751794619243
|
3178 |
+
# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a
|
3179 |
+
# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0
|
3180 |
+
# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66
|
3181 |
+
-----BEGIN CERTIFICATE-----
|
3182 |
+
MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL
|
3183 |
+
MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj
|
3184 |
+
KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2
|
3185 |
+
MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
|
3186 |
+
eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV
|
3187 |
+
BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw
|
3188 |
+
NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV
|
3189 |
+
BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH
|
3190 |
+
MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL
|
3191 |
+
So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal
|
3192 |
+
tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO
|
3193 |
+
BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG
|
3194 |
+
CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT
|
3195 |
+
qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz
|
3196 |
+
rD6ogRLQy7rQkgu2npaqBA+K
|
3197 |
+
-----END CERTIFICATE-----
|
3198 |
+
|
3199 |
+
# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only
|
3200 |
+
# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only
|
3201 |
+
# Label: "VeriSign Universal Root Certification Authority"
|
3202 |
+
# Serial: 85209574734084581917763752644031726877
|
3203 |
+
# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19
|
3204 |
+
# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54
|
3205 |
+
# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c
|
3206 |
+
-----BEGIN CERTIFICATE-----
|
3207 |
+
MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB
|
3208 |
+
vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
|
3209 |
+
ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp
|
3210 |
+
U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W
|
3211 |
+
ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe
|
3212 |
+
Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX
|
3213 |
+
MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0
|
3214 |
+
IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y
|
3215 |
+
IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh
|
3216 |
+
bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
|
3217 |
+
AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF
|
3218 |
+
9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH
|
3219 |
+
H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H
|
3220 |
+
LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN
|
3221 |
+
/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT
|
3222 |
+
rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud
|
3223 |
+
EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw
|
3224 |
+
WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs
|
3225 |
+
exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
|
3226 |
+
DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4
|
3227 |
+
sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+
|
3228 |
+
seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz
|
3229 |
+
4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+
|
3230 |
+
BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR
|
3231 |
+
lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3
|
3232 |
+
7M2CYfE45k+XmCpajQ==
|
3233 |
+
-----END CERTIFICATE-----
|
3234 |
+
|
3235 |
+
# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only
|
3236 |
+
# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only
|
3237 |
+
# Label: "VeriSign Class 3 Public Primary Certification Authority - G4"
|
3238 |
+
# Serial: 63143484348153506665311985501458640051
|
3239 |
+
# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41
|
3240 |
+
# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a
|
3241 |
+
# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79
|
3242 |
+
-----BEGIN CERTIFICATE-----
|
3243 |
+
MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL
|
3244 |
+
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW
|
3245 |
+
ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln
|
3246 |
+
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp
|
3247 |
+
U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y
|
3248 |
+
aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG
|
3249 |
+
A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp
|
3250 |
+
U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg
|
3251 |
+
SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln
|
3252 |
+
biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
|
3253 |
+
IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm
|
3254 |
+
GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve
|
3255 |
+
fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw
|
3256 |
+
AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ
|
3257 |
+
aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj
|
3258 |
+
aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW
|
3259 |
+
kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC
|
3260 |
+
4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga
|
3261 |
+
FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
|
3262 |
+
-----END CERTIFICATE-----
|
3263 |
+
|
3264 |
+
# Issuer: CN=NetLock Arany (Class Gold) Főtanúsítvány O=NetLock Kft. OU=Tanúsítványkiadók (Certification Services)
|
3265 |
+
# Subject: CN=NetLock Arany (Class Gold) Főtanúsítvány O=NetLock Kft. OU=Tanúsítványkiadók (Certification Services)
|
3266 |
+
# Label: "NetLock Arany (Class Gold) Főtanúsítvány"
|
3267 |
+
# Serial: 80544274841616
|
3268 |
+
# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88
|
3269 |
+
# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91
|
3270 |
+
# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98
|
3271 |
+
-----BEGIN CERTIFICATE-----
|
3272 |
+
MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG
|
3273 |
+
EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3
|
3274 |
+
MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl
|
3275 |
+
cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR
|
3276 |
+
dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB
|
3277 |
+
pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM
|
3278 |
+
b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm
|
3279 |
+
aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz
|
3280 |
+
IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
3281 |
+
MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT
|
3282 |
+
lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz
|
3283 |
+
AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5
|
3284 |
+
VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG
|
3285 |
+
ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2
|
3286 |
+
BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG
|
3287 |
+
AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M
|
3288 |
+
U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh
|
3289 |
+
bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C
|
3290 |
+
+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
|
3291 |
+
bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F
|
3292 |
+
uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2
|
3293 |
+
XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
|
3294 |
+
-----END CERTIFICATE-----
|
3295 |
+
|
3296 |
+
# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden
|
3297 |
+
# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden
|
3298 |
+
# Label: "Staat der Nederlanden Root CA - G2"
|
3299 |
+
# Serial: 10000012
|
3300 |
+
# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a
|
3301 |
+
# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16
|
3302 |
+
# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f
|
3303 |
+
-----BEGIN CERTIFICATE-----
|
3304 |
+
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
|
3335 |
+
-----END CERTIFICATE-----
|
3336 |
+
|
3337 |
+
# Issuer: CN=CA Disig O=Disig a.s.
|
3338 |
+
# Subject: CN=CA Disig O=Disig a.s.
|
3339 |
+
# Label: "CA Disig"
|
3340 |
+
# Serial: 1
|
3341 |
+
# MD5 Fingerprint: 3f:45:96:39:e2:50:87:f7:bb:fe:98:0c:3c:20:98:e6
|
3342 |
+
# SHA1 Fingerprint: 2a:c8:d5:8b:57:ce:bf:2f:49:af:f2:fc:76:8f:51:14:62:90:7a:41
|
3343 |
+
# SHA256 Fingerprint: 92:bf:51:19:ab:ec:ca:d0:b1:33:2d:c4:e1:d0:5f:ba:75:b5:67:90:44:ee:0c:a2:6e:93:1f:74:4f:2f:33:cf
|
3344 |
+
-----BEGIN CERTIFICATE-----
|
3345 |
+
MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzET
|
3346 |
+
MBEGA1UEBxMKQnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UE
|
3347 |
+
AxMIQ0EgRGlzaWcwHhcNMDYwMzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQsw
|
3348 |
+
CQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcg
|
3349 |
+
YS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
3350 |
+
ggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgmGErE
|
3351 |
+
Nx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnX
|
3352 |
+
mjxUizkDPw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYD
|
3353 |
+
XcDtab86wYqg6I7ZuUUohwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhW
|
3354 |
+
S8+2rT+MitcE5eN4TPWGqvWP+j1scaMtymfraHtuM6kMgiioTGohQBUgDCZbg8Kp
|
3355 |
+
FhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8wgfwwDwYDVR0TAQH/BAUw
|
3356 |
+
AwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0PAQH/BAQD
|
3357 |
+
AgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cu
|
3358 |
+
ZGlzaWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5z
|
3359 |
+
ay9jYS9jcmwvY2FfZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2sv
|
3360 |
+
Y2EvY3JsL2NhX2Rpc2lnLmNybDAaBgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEw
|
3361 |
+
DQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59tWDYcPQuBDRIrRhCA/ec8J9B6
|
3362 |
+
yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3mkkp7M5+cTxq
|
3363 |
+
EEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/
|
3364 |
+
CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeB
|
3365 |
+
EicTXxChds6KezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFN
|
3366 |
+
PGO+I++MzVpQuGhU+QqZMxEA4Z7CRneC9VkGjCFMhwnN5ag=
|
3367 |
+
-----END CERTIFICATE-----
|
3368 |
+
|
3369 |
+
# Issuer: CN=Juur-SK O=AS Sertifitseerimiskeskus
|
3370 |
+
# Subject: CN=Juur-SK O=AS Sertifitseerimiskeskus
|
3371 |
+
# Label: "Juur-SK"
|
3372 |
+
# Serial: 999181308
|
3373 |
+
# MD5 Fingerprint: aa:8e:5d:d9:f8:db:0a:58:b7:8d:26:87:6c:82:35:55
|
3374 |
+
# SHA1 Fingerprint: 40:9d:4b:d9:17:b5:5c:27:b6:9b:64:cb:98:22:44:0d:cd:09:b8:89
|
3375 |
+
# SHA256 Fingerprint: ec:c3:e9:c3:40:75:03:be:e0:91:aa:95:2f:41:34:8f:f8:8b:aa:86:3b:22:64:be:fa:c8:07:90:15:74:e9:39
|
3376 |
+
-----BEGIN CERTIFICATE-----
|
3377 |
+
MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcN
|
3378 |
+
AQkBFglwa2lAc2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZp
|
3379 |
+
dHNlZXJpbWlza2Vza3VzMRAwDgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMw
|
3380 |
+
MVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMQsw
|
3381 |
+
CQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEQ
|
3382 |
+
MA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
3383 |
+
AIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOB
|
3384 |
+
SvZiF3tfTQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkz
|
3385 |
+
ABpTpyHhOEvWgxutr2TC+Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvH
|
3386 |
+
LCu3GFH+4Hv2qEivbDtPL+/40UceJlfwUR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMP
|
3387 |
+
PbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDaTpxt4brNj3pssAki14sL
|
3388 |
+
2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQFMAMBAf8w
|
3389 |
+
ggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwIC
|
3390 |
+
MIHDHoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDk
|
3391 |
+
AGwAagBhAHMAdABhAHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0
|
3392 |
+
AHMAZQBlAHIAaQBtAGkAcwBrAGUAcwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABz
|
3393 |
+
AGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABrAGkAbgBuAGkAdABhAG0AaQBz
|
3394 |
+
AGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nwcy8wKwYDVR0f
|
3395 |
+
BCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE
|
3396 |
+
FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcY
|
3397 |
+
P2/v6X2+MA4GA1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOi
|
3398 |
+
CfP+JmeaUOTDBS8rNXiRTHyoERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+g
|
3399 |
+
kcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyLabVAyJRld/JXIWY7zoVAtjNjGr95
|
3400 |
+
HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678IIbsSt4beDI3poHS
|
3401 |
+
na9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkhMp6q
|
3402 |
+
qIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0Z
|
3403 |
+
TbvGRNs2yyqcjg==
|
3404 |
+
-----END CERTIFICATE-----
|
3405 |
+
|
3406 |
+
# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post
|
3407 |
+
# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post
|
3408 |
+
# Label: "Hongkong Post Root CA 1"
|
3409 |
+
# Serial: 1000
|
3410 |
+
# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca
|
3411 |
+
# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58
|
3412 |
+
# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2
|
3413 |
+
-----BEGIN CERTIFICATE-----
|
3414 |
+
MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx
|
3415 |
+
FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg
|
3416 |
+
Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG
|
3417 |
+
A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr
|
3418 |
+
b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
3419 |
+
AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ
|
3420 |
+
jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn
|
3421 |
+
PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh
|
3422 |
+
ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9
|
3423 |
+
nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h
|
3424 |
+
q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED
|
3425 |
+
MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC
|
3426 |
+
mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3
|
3427 |
+
7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB
|
3428 |
+
oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs
|
3429 |
+
EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO
|
3430 |
+
fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi
|
3431 |
+
AmvZWg==
|
3432 |
+
-----END CERTIFICATE-----
|
3433 |
+
|
3434 |
+
# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc.
|
3435 |
+
# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc.
|
3436 |
+
# Label: "SecureSign RootCA11"
|
3437 |
+
# Serial: 1
|
3438 |
+
# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26
|
3439 |
+
# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3
|
3440 |
+
# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12
|
3441 |
+
-----BEGIN CERTIFICATE-----
|
3442 |
+
MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr
|
3443 |
+
MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG
|
3444 |
+
A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0
|
3445 |
+
MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp
|
3446 |
+
Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD
|
3447 |
+
QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz
|
3448 |
+
i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8
|
3449 |
+
h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV
|
3450 |
+
MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9
|
3451 |
+
UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni
|
3452 |
+
8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC
|
3453 |
+
h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD
|
3454 |
+
VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB
|
3455 |
+
AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm
|
3456 |
+
KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ
|
3457 |
+
X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr
|
3458 |
+
QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5
|
3459 |
+
pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN
|
3460 |
+
QSdJQO7e5iNEOdyhIta6A/I=
|
3461 |
+
-----END CERTIFICATE-----
|
3462 |
+
|
3463 |
+
# Issuer: CN=ACEDICOM Root O=EDICOM OU=PKI
|
3464 |
+
# Subject: CN=ACEDICOM Root O=EDICOM OU=PKI
|
3465 |
+
# Label: "ACEDICOM Root"
|
3466 |
+
# Serial: 7029493972724711941
|
3467 |
+
# MD5 Fingerprint: 42:81:a0:e2:1c:e3:55:10:de:55:89:42:65:96:22:e6
|
3468 |
+
# SHA1 Fingerprint: e0:b4:32:2e:b2:f6:a5:68:b6:54:53:84:48:18:4a:50:36:87:43:84
|
3469 |
+
# SHA256 Fingerprint: 03:95:0f:b4:9a:53:1f:3e:19:91:94:23:98:df:a9:e0:ea:32:d7:ba:1c:dd:9b:c8:5d:b5:7e:d9:40:0b:43:4a
|
3470 |
+
-----BEGIN CERTIFICATE-----
|
3471 |
+
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
|
3501 |
+
Z05phkOTOPu220+DkdRgfks+KzgHVZhepA==
|
3502 |
+
-----END CERTIFICATE-----
|
3503 |
+
|
3504 |
+
# Issuer: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority
|
3505 |
+
# Subject: O=VeriSign, Inc. OU=Class 3 Public Primary Certification Authority
|
3506 |
+
# Label: "Verisign Class 3 Public Primary Certification Authority"
|
3507 |
+
# Serial: 80507572722862485515306429940691309246
|
3508 |
+
# MD5 Fingerprint: ef:5a:f1:33:ef:f1:cd:bb:51:02:ee:12:14:4b:96:c4
|
3509 |
+
# SHA1 Fingerprint: a1:db:63:93:91:6f:17:e4:18:55:09:40:04:15:c7:02:40:b0:ae:6b
|
3510 |
+
# SHA256 Fingerprint: a4:b6:b3:99:6f:c2:f3:06:b3:fd:86:81:bd:63:41:3d:8c:50:09:cc:4f:a3:29:c2:cc:f0:e2:fa:1b:14:03:05
|
3511 |
+
-----BEGIN CERTIFICATE-----
|
3512 |
+
MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkG
|
3513 |
+
A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
|
3514 |
+
cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
|
3515 |
+
MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
|
3516 |
+
BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
|
3517 |
+
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
|
3518 |
+
ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
|
3519 |
+
BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
|
3520 |
+
I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
|
3521 |
+
CSqGSIb3DQEBBQUAA4GBABByUqkFFBkyCEHwxWsKzH4PIRnN5GfcX6kb5sroc50i
|
3522 |
+
2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWXbj9T/UWZYB2oK0z5XqcJ
|
3523 |
+
2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/D/xwzoiQ
|
3524 |
+
-----END CERTIFICATE-----
|
3525 |
+
|
3526 |
+
# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd.
|
3527 |
+
# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd.
|
3528 |
+
# Label: "Microsec e-Szigno Root CA 2009"
|
3529 |
+
# Serial: 14014712776195784473
|
3530 |
+
# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1
|
3531 |
+
# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e
|
3532 |
+
# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78
|
3533 |
+
-----BEGIN CERTIFICATE-----
|
3534 |
+
MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD
|
3535 |
+
VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0
|
3536 |
+
ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G
|
3537 |
+
CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y
|
3538 |
+
OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx
|
3539 |
+
FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp
|
3540 |
+
Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
|
3541 |
+
dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP
|
3542 |
+
kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc
|
3543 |
+
cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U
|
3544 |
+
fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7
|
3545 |
+
N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC
|
3546 |
+
xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1
|
3547 |
+
+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
|
3548 |
+
A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM
|
3549 |
+
Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG
|
3550 |
+
SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h
|
3551 |
+
mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk
|
3552 |
+
ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
|
3553 |
+
tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c
|
3554 |
+
2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t
|
3555 |
+
HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW
|
3556 |
+
-----END CERTIFICATE-----
|
3557 |
+
|
3558 |
+
# Issuer: CN=e-Guven Kok Elektronik Sertifika Hizmet Saglayicisi O=Elektronik Bilgi Guvenligi A.S.
|
3559 |
+
# Subject: CN=e-Guven Kok Elektronik Sertifika Hizmet Saglayicisi O=Elektronik Bilgi Guvenligi A.S.
|
3560 |
+
# Label: "E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi"
|
3561 |
+
# Serial: 91184789765598910059173000485363494069
|
3562 |
+
# MD5 Fingerprint: 3d:41:29:cb:1e:aa:11:74:cd:5d:b0:62:af:b0:43:5b
|
3563 |
+
# SHA1 Fingerprint: dd:e1:d2:a9:01:80:2e:1d:87:5e:84:b3:80:7e:4b:b1:fd:99:41:34
|
3564 |
+
# SHA256 Fingerprint: e6:09:07:84:65:a4:19:78:0c:b6:ac:4c:1c:0b:fb:46:53:d9:d9:cc:6e:b3:94:6e:b7:f3:d6:99:97:ba:d5:98
|
3565 |
+
-----BEGIN CERTIFICATE-----
|
3566 |
+
MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1
|
3567 |
+
MQswCQYDVQQGEwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxp
|
3568 |
+
Z2kgQS5TLjE8MDoGA1UEAxMzZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZp
|
3569 |
+
a2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3MDEwNDExMzI0OFoXDTE3MDEwNDEx
|
3570 |
+
MzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0cm9uaWsgQmlsZ2kg
|
3571 |
+
R3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9uaWsg
|
3572 |
+
U2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQAD
|
3573 |
+
ggEPADCCAQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdU
|
3574 |
+
MZTe1RK6UxYC6lhj71vY8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlT
|
3575 |
+
L/jDj/6z/P2douNffb7tC+Bg62nsM+3YjfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H
|
3576 |
+
5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAIJjjcJRFHLfO6IxClv7wC
|
3577 |
+
90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk9Ok0oSy1
|
3578 |
+
c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/
|
3579 |
+
BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoE
|
3580 |
+
VtstxNulMA0GCSqGSIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLP
|
3581 |
+
qk/CaOv/gKlR6D1id4k9CnU58W5dF4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S
|
3582 |
+
/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwqD2fK/A+JYZ1lpTzlvBNbCNvj
|
3583 |
+
/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4Vwpm+Vganf2X
|
3584 |
+
KWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq
|
3585 |
+
fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX
|
3586 |
+
-----END CERTIFICATE-----
|
3587 |
+
|
3588 |
+
# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3
|
3589 |
+
# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3
|
3590 |
+
# Label: "GlobalSign Root CA - R3"
|
3591 |
+
# Serial: 4835703278459759426209954
|
3592 |
+
# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28
|
3593 |
+
# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad
|
3594 |
+
# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b
|
3595 |
+
-----BEGIN CERTIFICATE-----
|
3596 |
+
MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
|
3597 |
+
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
|
3598 |
+
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
|
3599 |
+
MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
|
3600 |
+
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
|
3601 |
+
hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
|
3602 |
+
RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
|
3603 |
+
gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
|
3604 |
+
KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
|
3605 |
+
QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
|
3606 |
+
XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
|
3607 |
+
DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
|
3608 |
+
LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
|
3609 |
+
RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
|
3610 |
+
jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
|
3611 |
+
6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
|
3612 |
+
mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
|
3613 |
+
Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
|
3614 |
+
WD9f
|
3615 |
+
-----END CERTIFICATE-----
|
3616 |
+
|
3617 |
+
# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068
|
3618 |
+
# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068
|
3619 |
+
# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068"
|
3620 |
+
# Serial: 6047274297262753887
|
3621 |
+
# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3
|
3622 |
+
# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa
|
3623 |
+
# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef
|
3624 |
+
-----BEGIN CERTIFICATE-----
|
3625 |
+
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
|
3657 |
+
jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
|
3658 |
+
-----END CERTIFICATE-----
|
3659 |
+
|
3660 |
+
# Issuer: CN=Izenpe.com O=IZENPE S.A.
|
3661 |
+
# Subject: CN=Izenpe.com O=IZENPE S.A.
|
3662 |
+
# Label: "Izenpe.com"
|
3663 |
+
# Serial: 917563065490389241595536686991402621
|
3664 |
+
# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73
|
3665 |
+
# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19
|
3666 |
+
# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f
|
3667 |
+
-----BEGIN CERTIFICATE-----
|
3668 |
+
MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4
|
3669 |
+
MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6
|
3670 |
+
ZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD
|
3671 |
+
VQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j
|
3672 |
+
b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq
|
3673 |
+
scIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO
|
3674 |
+
xdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H
|
3675 |
+
LmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX
|
3676 |
+
uaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD
|
3677 |
+
yCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+
|
3678 |
+
JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q
|
3679 |
+
rLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN
|
3680 |
+
BjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L
|
3681 |
+
hij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB
|
3682 |
+
QFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+
|
3683 |
+
HMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu
|
3684 |
+
Zm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg
|
3685 |
+
QTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB
|
3686 |
+
BgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
|
3687 |
+
MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
|
3688 |
+
AQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA
|
3689 |
+
A4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb
|
3690 |
+
laQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56
|
3691 |
+
awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo
|
3692 |
+
JNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw
|
3693 |
+
LDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT
|
3694 |
+
VyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk
|
3695 |
+
LhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb
|
3696 |
+
UjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/
|
3697 |
+
QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+
|
3698 |
+
naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls
|
3699 |
+
QyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
|
3700 |
+
-----END CERTIFICATE-----
|
3701 |
+
|
3702 |
+
# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A.
|
3703 |
+
# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A.
|
3704 |
+
# Label: "Chambers of Commerce Root - 2008"
|
3705 |
+
# Serial: 11806822484801597146
|
3706 |
+
# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7
|
3707 |
+
# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c
|
3708 |
+
# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0
|
3709 |
+
-----BEGIN CERTIFICATE-----
|
3710 |
+
MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD
|
3711 |
+
VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0
|
3712 |
+
IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3
|
3713 |
+
MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz
|
3714 |
+
IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz
|
3715 |
+
MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj
|
3716 |
+
dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw
|
3717 |
+
EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp
|
3718 |
+
MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G
|
3719 |
+
CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9
|
3720 |
+
28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq
|
3721 |
+
VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q
|
3722 |
+
DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR
|
3723 |
+
5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL
|
3724 |
+
ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a
|
3725 |
+
Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl
|
3726 |
+
UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s
|
3727 |
+
+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5
|
3728 |
+
Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
|
3729 |
+
ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx
|
3730 |
+
hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV
|
3731 |
+
HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1
|
3732 |
+
+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN
|
3733 |
+
YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t
|
3734 |
+
L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy
|
3735 |
+
ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt
|
3736 |
+
IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV
|
3737 |
+
HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w
|
3738 |
+
DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW
|
3739 |
+
PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF
|
3740 |
+
5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1
|
3741 |
+
glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH
|
3742 |
+
FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2
|
3743 |
+
pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD
|
3744 |
+
xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG
|
3745 |
+
tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq
|
3746 |
+
jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De
|
3747 |
+
fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
|
3748 |
+
OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ
|
3749 |
+
d0jQ
|
3750 |
+
-----END CERTIFICATE-----
|
3751 |
+
|
3752 |
+
# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A.
|
3753 |
+
# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A.
|
3754 |
+
# Label: "Global Chambersign Root - 2008"
|
3755 |
+
# Serial: 14541511773111788494
|
3756 |
+
# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3
|
3757 |
+
# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c
|
3758 |
+
# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca
|
3759 |
+
-----BEGIN CERTIFICATE-----
|
3760 |
+
MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD
|
3761 |
+
VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0
|
3762 |
+
IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3
|
3763 |
+
MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
|
3764 |
+
aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx
|
3765 |
+
MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy
|
3766 |
+
cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG
|
3767 |
+
A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl
|
3768 |
+
BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI
|
3769 |
+
hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed
|
3770 |
+
KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7
|
3771 |
+
G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2
|
3772 |
+
zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4
|
3773 |
+
ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG
|
3774 |
+
HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2
|
3775 |
+
Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V
|
3776 |
+
yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e
|
3777 |
+
beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r
|
3778 |
+
6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
|
3779 |
+
wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog
|
3780 |
+
zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW
|
3781 |
+
BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr
|
3782 |
+
ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp
|
3783 |
+
ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk
|
3784 |
+
cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt
|
3785 |
+
YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC
|
3786 |
+
CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow
|
3787 |
+
KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI
|
3788 |
+
hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ
|
3789 |
+
UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz
|
3790 |
+
X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x
|
3791 |
+
fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz
|
3792 |
+
a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd
|
3793 |
+
Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd
|
3794 |
+
SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O
|
3795 |
+
AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso
|
3796 |
+
M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge
|
3797 |
+
v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
|
3798 |
+
09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
|
3799 |
+
-----END CERTIFICATE-----
|
3800 |
+
|
3801 |
+
# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc.
|
3802 |
+
# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc.
|
3803 |
+
# Label: "Go Daddy Root Certificate Authority - G2"
|
3804 |
+
# Serial: 0
|
3805 |
+
# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01
|
3806 |
+
# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b
|
3807 |
+
# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da
|
3808 |
+
-----BEGIN CERTIFICATE-----
|
3809 |
+
MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
|
3810 |
+
EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
|
3811 |
+
EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
|
3812 |
+
ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz
|
3813 |
+
NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
|
3814 |
+
EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE
|
3815 |
+
AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw
|
3816 |
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD
|
3817 |
+
E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH
|
3818 |
+
/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy
|
3819 |
+
DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh
|
3820 |
+
GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR
|
3821 |
+
tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA
|
3822 |
+
AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
|
3823 |
+
FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX
|
3824 |
+
WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu
|
3825 |
+
9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr
|
3826 |
+
gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo
|
3827 |
+
2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
|
3828 |
+
LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI
|
3829 |
+
4uJEvlz36hz1
|
3830 |
+
-----END CERTIFICATE-----
|
3831 |
+
|
3832 |
+
# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc.
|
3833 |
+
# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc.
|
3834 |
+
# Label: "Starfield Root Certificate Authority - G2"
|
3835 |
+
# Serial: 0
|
3836 |
+
# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96
|
3837 |
+
# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e
|
3838 |
+
# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5
|
3839 |
+
-----BEGIN CERTIFICATE-----
|
3840 |
+
MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx
|
3841 |
+
EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT
|
3842 |
+
HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs
|
3843 |
+
ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw
|
3844 |
+
MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
|
3845 |
+
b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj
|
3846 |
+
aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp
|
3847 |
+
Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
3848 |
+
ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg
|
3849 |
+
nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1
|
3850 |
+
HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N
|
3851 |
+
Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN
|
3852 |
+
dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0
|
3853 |
+
HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO
|
3854 |
+
BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G
|
3855 |
+
CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU
|
3856 |
+
sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3
|
3857 |
+
4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg
|
3858 |
+
8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
|
3859 |
+
pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1
|
3860 |
+
mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
|
3861 |
+
-----END CERTIFICATE-----
|
3862 |
+
|
3863 |
+
# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc.
|
3864 |
+
# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc.
|
3865 |
+
# Label: "Starfield Services Root Certificate Authority - G2"
|
3866 |
+
# Serial: 0
|
3867 |
+
# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2
|
3868 |
+
# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f
|
3869 |
+
# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5
|
3870 |
+
-----BEGIN CERTIFICATE-----
|
3871 |
+
MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx
|
3872 |
+
EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT
|
3873 |
+
HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs
|
3874 |
+
ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
|
3875 |
+
MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD
|
3876 |
+
VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy
|
3877 |
+
ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy
|
3878 |
+
dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
|
3879 |
+
hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p
|
3880 |
+
OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2
|
3881 |
+
8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K
|
3882 |
+
Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe
|
3883 |
+
hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk
|
3884 |
+
6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw
|
3885 |
+
DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q
|
3886 |
+
AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI
|
3887 |
+
bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB
|
3888 |
+
ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z
|
3889 |
+
qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
|
3890 |
+
iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn
|
3891 |
+
0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN
|
3892 |
+
sSi6
|
3893 |
+
-----END CERTIFICATE-----
|
3894 |
+
|
3895 |
+
# Issuer: CN=AffirmTrust Commercial O=AffirmTrust
|
3896 |
+
# Subject: CN=AffirmTrust Commercial O=AffirmTrust
|
3897 |
+
# Label: "AffirmTrust Commercial"
|
3898 |
+
# Serial: 8608355977964138876
|
3899 |
+
# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7
|
3900 |
+
# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7
|
3901 |
+
# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7
|
3902 |
+
-----BEGIN CERTIFICATE-----
|
3903 |
+
MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE
|
3904 |
+
BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz
|
3905 |
+
dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL
|
3906 |
+
MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp
|
3907 |
+
cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
3908 |
+
AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP
|
3909 |
+
Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr
|
3910 |
+
ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL
|
3911 |
+
MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1
|
3912 |
+
yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr
|
3913 |
+
VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/
|
3914 |
+
nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
|
3915 |
+
KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG
|
3916 |
+
XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj
|
3917 |
+
vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt
|
3918 |
+
Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g
|
3919 |
+
N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC
|
3920 |
+
nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
|
3921 |
+
-----END CERTIFICATE-----
|
3922 |
+
|
3923 |
+
# Issuer: CN=AffirmTrust Networking O=AffirmTrust
|
3924 |
+
# Subject: CN=AffirmTrust Networking O=AffirmTrust
|
3925 |
+
# Label: "AffirmTrust Networking"
|
3926 |
+
# Serial: 8957382827206547757
|
3927 |
+
# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f
|
3928 |
+
# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f
|
3929 |
+
# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b
|
3930 |
+
-----BEGIN CERTIFICATE-----
|
3931 |
+
MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE
|
3932 |
+
BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz
|
3933 |
+
dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL
|
3934 |
+
MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp
|
3935 |
+
cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
3936 |
+
AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y
|
3937 |
+
YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua
|
3938 |
+
kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL
|
3939 |
+
QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp
|
3940 |
+
6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG
|
3941 |
+
yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i
|
3942 |
+
QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
|
3943 |
+
KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO
|
3944 |
+
tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu
|
3945 |
+
QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ
|
3946 |
+
Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u
|
3947 |
+
olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48
|
3948 |
+
x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
|
3949 |
+
-----END CERTIFICATE-----
|
3950 |
+
|
3951 |
+
# Issuer: CN=AffirmTrust Premium O=AffirmTrust
|
3952 |
+
# Subject: CN=AffirmTrust Premium O=AffirmTrust
|
3953 |
+
# Label: "AffirmTrust Premium"
|
3954 |
+
# Serial: 7893706540734352110
|
3955 |
+
# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57
|
3956 |
+
# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27
|
3957 |
+
# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a
|
3958 |
+
-----BEGIN CERTIFICATE-----
|
3959 |
+
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
|
3987 |
+
KeC2uAloGRwYQw==
|
3988 |
+
-----END CERTIFICATE-----
|
3989 |
+
|
3990 |
+
# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust
|
3991 |
+
# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust
|
3992 |
+
# Label: "AffirmTrust Premium ECC"
|
3993 |
+
# Serial: 8401224907861490260
|
3994 |
+
# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d
|
3995 |
+
# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb
|
3996 |
+
# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23
|
3997 |
+
-----BEGIN CERTIFICATE-----
|
3998 |
+
MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC
|
3999 |
+
VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ
|
4000 |
+
cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ
|
4001 |
+
BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt
|
4002 |
+
VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D
|
4003 |
+
0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9
|
4004 |
+
ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G
|
4005 |
+
A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G
|
4006 |
+
A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs
|
4007 |
+
aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I
|
4008 |
+
flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ==
|
4009 |
+
-----END CERTIFICATE-----
|
4010 |
+
|
4011 |
+
# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority
|
4012 |
+
# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority
|
4013 |
+
# Label: "Certum Trusted Network CA"
|
4014 |
+
# Serial: 279744
|
4015 |
+
# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78
|
4016 |
+
# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e
|
4017 |
+
# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e
|
4018 |
+
-----BEGIN CERTIFICATE-----
|
4019 |
+
MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM
|
4020 |
+
MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D
|
4021 |
+
ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU
|
4022 |
+
cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3
|
4023 |
+
WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg
|
4024 |
+
Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw
|
4025 |
+
IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B
|
4026 |
+
AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH
|
4027 |
+
UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM
|
4028 |
+
TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU
|
4029 |
+
BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM
|
4030 |
+
kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x
|
4031 |
+
AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV
|
4032 |
+
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV
|
4033 |
+
HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y
|
4034 |
+
sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL
|
4035 |
+
I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8
|
4036 |
+
J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY
|
4037 |
+
VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
|
4038 |
+
03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
|
4039 |
+
-----END CERTIFICATE-----
|
4040 |
+
|
4041 |
+
# Issuer: CN=Certinomis - Autorité Racine O=Certinomis OU=0002 433998903
|
4042 |
+
# Subject: CN=Certinomis - Autorité Racine O=Certinomis OU=0002 433998903
|
4043 |
+
# Label: "Certinomis - Autorité Racine"
|
4044 |
+
# Serial: 1
|
4045 |
+
# MD5 Fingerprint: 7f:30:78:8c:03:e3:ca:c9:0a:e2:c9:ea:1e:aa:55:1a
|
4046 |
+
# SHA1 Fingerprint: 2e:14:da:ec:28:f0:fa:1e:8e:38:9a:4e:ab:eb:26:c0:0a:d3:83:c3
|
4047 |
+
# SHA256 Fingerprint: fc:bf:e2:88:62:06:f7:2b:27:59:3c:8b:07:02:97:e1:2d:76:9e:d1:0e:d7:93:07:05:a8:09:8e:ff:c1:4d:17
|
4048 |
+
-----BEGIN CERTIFICATE-----
|
4049 |
+
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
|
4079 |
+
-----END CERTIFICATE-----
|
4080 |
+
|
4081 |
+
# Issuer: CN=Root CA Generalitat Valenciana O=Generalitat Valenciana OU=PKIGVA
|
4082 |
+
# Subject: CN=Root CA Generalitat Valenciana O=Generalitat Valenciana OU=PKIGVA
|
4083 |
+
# Label: "Root CA Generalitat Valenciana"
|
4084 |
+
# Serial: 994436456
|
4085 |
+
# MD5 Fingerprint: 2c:8c:17:5e:b1:54:ab:93:17:b5:36:5a:db:d1:c6:f2
|
4086 |
+
# SHA1 Fingerprint: a0:73:e5:c5:bd:43:61:0d:86:4c:21:13:0a:85:58:57:cc:9c:ea:46
|
4087 |
+
# SHA256 Fingerprint: 8c:4e:df:d0:43:48:f3:22:96:9e:7e:29:a4:cd:4d:ca:00:46:55:06:1c:16:e1:b0:76:42:2e:f3:42:ad:63:0e
|
4088 |
+
-----BEGIN CERTIFICATE-----
|
4089 |
+
MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJF
|
4090 |
+
UzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJ
|
4091 |
+
R1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcN
|
4092 |
+
MDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3WjBoMQswCQYDVQQGEwJFUzEfMB0G
|
4093 |
+
A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScw
|
4094 |
+
JQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0GCSqG
|
4095 |
+
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+
|
4096 |
+
WmmmO3I2F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKj
|
4097 |
+
SgbwJ/BXufjpTjJ3Cj9BZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGl
|
4098 |
+
u6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQD0EbtFpKd71ng+CT516nDOeB0/RSrFOy
|
4099 |
+
A8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXteJajCq+TA81yc477OMUxk
|
4100 |
+
Hl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMBAAGjggM7
|
4101 |
+
MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBr
|
4102 |
+
aS5ndmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIIC
|
4103 |
+
IwYKKwYBBAG/VQIBADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8A
|
4104 |
+
cgBpAGQAYQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIA
|
4105 |
+
YQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIAYQBsAGkAdABhAHQAIABWAGEA
|
4106 |
+
bABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQByAGEAYwBpAPMA
|
4107 |
+
bgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA
|
4108 |
+
aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMA
|
4109 |
+
aQBvAG4AYQBtAGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQA
|
4110 |
+
ZQAgAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEA
|
4111 |
+
YwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBuAHQAcgBhACAAZQBuACAAbABhACAA
|
4112 |
+
ZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAAOgAvAC8AdwB3AHcA
|
4113 |
+
LgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0dHA6
|
4114 |
+
Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+y
|
4115 |
+
eAT8MIGVBgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQsw
|
4116 |
+
CQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0G
|
4117 |
+
A1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVu
|
4118 |
+
Y2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRhTvW1yEICKrNcda3Fbcrn
|
4119 |
+
lD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdzCkj+IHLt
|
4120 |
+
b8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg
|
4121 |
+
9J63NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XF
|
4122 |
+
ducTZnV+ZfsBn5OHiJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmC
|
4123 |
+
IoaZM3Fa6hlXPZHNqcCjbgcTpsnt+GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=
|
4124 |
+
-----END CERTIFICATE-----
|
4125 |
+
|
4126 |
+
# Issuer: CN=A-Trust-nQual-03 O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH OU=A-Trust-nQual-03
|
4127 |
+
# Subject: CN=A-Trust-nQual-03 O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH OU=A-Trust-nQual-03
|
4128 |
+
# Label: "A-Trust-nQual-03"
|
4129 |
+
# Serial: 93214
|
4130 |
+
# MD5 Fingerprint: 49:63:ae:27:f4:d5:95:3d:d8:db:24:86:b8:9c:07:53
|
4131 |
+
# SHA1 Fingerprint: d3:c0:63:f2:19:ed:07:3e:34:ad:5d:75:0b:32:76:29:ff:d5:9a:f2
|
4132 |
+
# SHA256 Fingerprint: 79:3c:bf:45:59:b9:fd:e3:8a:b2:2d:f1:68:69:f6:98:81:ae:14:c4:b0:13:9a:c7:88:a7:8a:1a:fc:ca:02:fb
|
4133 |
+
-----BEGIN CERTIFICATE-----
|
4134 |
+
MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB
|
4135 |
+
VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
|
4136 |
+
bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R
|
4137 |
+
dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTA1MDgxNzIyMDAw
|
4138 |
+
MFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy
|
4139 |
+
dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52
|
4140 |
+
ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMM
|
4141 |
+
EEEtVHJ1c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
4142 |
+
AQCtPWFuA/OQO8BBC4SAzewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUj
|
4143 |
+
lUC5B3ilJfYKvUWG6Nm9wASOhURh73+nyfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZ
|
4144 |
+
znF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPESU7l0+m0iKsMrmKS1GWH
|
4145 |
+
2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4iHQF63n1
|
4146 |
+
k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs
|
4147 |
+
2e3Vcuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYD
|
4148 |
+
VR0OBAoECERqlWdVeRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC
|
4149 |
+
AQEAVdRU0VlIXLOThaq/Yy/kgM40ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fG
|
4150 |
+
KOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmrsQd7TZjTXLDR8KdCoLXEjq/+
|
4151 |
+
8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZdJXDRZslo+S4R
|
4152 |
+
FGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS
|
4153 |
+
mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmE
|
4154 |
+
DNuxUCAKGkq6ahq97BvIxYSazQ==
|
4155 |
+
-----END CERTIFICATE-----
|
4156 |
+
|
4157 |
+
# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA
|
4158 |
+
# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA
|
4159 |
+
# Label: "TWCA Root Certification Authority"
|
4160 |
+
# Serial: 1
|
4161 |
+
# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79
|
4162 |
+
# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48
|
4163 |
+
# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44
|
4164 |
+
-----BEGIN CERTIFICATE-----
|
4165 |
+
MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES
|
4166 |
+
MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU
|
4167 |
+
V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz
|
4168 |
+
WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO
|
4169 |
+
LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm
|
4170 |
+
aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
4171 |
+
AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE
|
4172 |
+
AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH
|
4173 |
+
K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX
|
4174 |
+
RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z
|
4175 |
+
rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx
|
4176 |
+
3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
|
4177 |
+
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq
|
4178 |
+
hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC
|
4179 |
+
MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls
|
4180 |
+
XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D
|
4181 |
+
lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn
|
4182 |
+
aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ
|
4183 |
+
YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
|
4184 |
+
-----END CERTIFICATE-----
|
4185 |
+
|
4186 |
+
# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2
|
4187 |
+
# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2
|
4188 |
+
# Label: "Security Communication RootCA2"
|
4189 |
+
# Serial: 0
|
4190 |
+
# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43
|
4191 |
+
# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74
|
4192 |
+
# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6
|
4193 |
+
-----BEGIN CERTIFICATE-----
|
4194 |
+
MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl
|
4195 |
+
MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe
|
4196 |
+
U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX
|
4197 |
+
DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy
|
4198 |
+
dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj
|
4199 |
+
YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV
|
4200 |
+
OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr
|
4201 |
+
zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM
|
4202 |
+
VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ
|
4203 |
+
hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO
|
4204 |
+
ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw
|
4205 |
+
awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs
|
4206 |
+
OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3
|
4207 |
+
DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF
|
4208 |
+
coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc
|
4209 |
+
okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8
|
4210 |
+
t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy
|
4211 |
+
1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/
|
4212 |
+
SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
|
4213 |
+
-----END CERTIFICATE-----
|
4214 |
+
|
4215 |
+
# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority
|
4216 |
+
# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority
|
4217 |
+
# Label: "Hellenic Academic and Research Institutions RootCA 2011"
|
4218 |
+
# Serial: 0
|
4219 |
+
# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9
|
4220 |
+
# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d
|
4221 |
+
# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71
|
4222 |
+
-----BEGIN CERTIFICATE-----
|
4223 |
+
MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix
|
4224 |
+
RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1
|
4225 |
+
dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p
|
4226 |
+
YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw
|
4227 |
+
NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK
|
4228 |
+
EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl
|
4229 |
+
cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl
|
4230 |
+
c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB
|
4231 |
+
BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz
|
4232 |
+
dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ
|
4233 |
+
fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns
|
4234 |
+
bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD
|
4235 |
+
75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP
|
4236 |
+
FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV
|
4237 |
+
HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp
|
4238 |
+
5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu
|
4239 |
+
b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA
|
4240 |
+
A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p
|
4241 |
+
6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
|
4242 |
+
TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7
|
4243 |
+
dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys
|
4244 |
+
Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI
|
4245 |
+
l7WdmplNsDz4SgCbZN2fOUvRJ9e4
|
4246 |
+
-----END CERTIFICATE-----
|
4247 |
+
|
4248 |
+
# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967
|
4249 |
+
# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967
|
4250 |
+
# Label: "Actalis Authentication Root CA"
|
4251 |
+
# Serial: 6271844772424770508
|
4252 |
+
# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6
|
4253 |
+
# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac
|
4254 |
+
# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66
|
4255 |
+
-----BEGIN CERTIFICATE-----
|
4256 |
+
MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE
|
4257 |
+
BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w
|
4258 |
+
MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
|
4259 |
+
IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC
|
4260 |
+
SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1
|
4261 |
+
ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB
|
4262 |
+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv
|
4263 |
+
UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX
|
4264 |
+
4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9
|
4265 |
+
KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/
|
4266 |
+
gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb
|
4267 |
+
rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ
|
4268 |
+
51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F
|
4269 |
+
be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe
|
4270 |
+
KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F
|
4271 |
+
v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn
|
4272 |
+
fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7
|
4273 |
+
jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz
|
4274 |
+
ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
|
4275 |
+
ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL
|
4276 |
+
e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70
|
4277 |
+
jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz
|
4278 |
+
WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V
|
4279 |
+
SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j
|
4280 |
+
pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX
|
4281 |
+
X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok
|
4282 |
+
fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R
|
4283 |
+
K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU
|
4284 |
+
ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU
|
4285 |
+
LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT
|
4286 |
+
LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
|
4287 |
+
-----END CERTIFICATE-----
|
4288 |
+
|
4289 |
+
# Issuer: O=Trustis Limited OU=Trustis FPS Root CA
|
4290 |
+
# Subject: O=Trustis Limited OU=Trustis FPS Root CA
|
4291 |
+
# Label: "Trustis FPS Root CA"
|
4292 |
+
# Serial: 36053640375399034304724988975563710553
|
4293 |
+
# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d
|
4294 |
+
# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04
|
4295 |
+
# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d
|
4296 |
+
-----BEGIN CERTIFICATE-----
|
4297 |
+
MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF
|
4298 |
+
MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL
|
4299 |
+
ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx
|
4300 |
+
MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc
|
4301 |
+
MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD
|
4302 |
+
ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+
|
4303 |
+
AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH
|
4304 |
+
iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj
|
4305 |
+
vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA
|
4306 |
+
0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB
|
4307 |
+
OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/
|
4308 |
+
BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E
|
4309 |
+
FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01
|
4310 |
+
GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW
|
4311 |
+
zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4
|
4312 |
+
1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE
|
4313 |
+
f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F
|
4314 |
+
jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN
|
4315 |
+
ZetX2fNXlrtIzYE=
|
4316 |
+
-----END CERTIFICATE-----
|
4317 |
+
|
4318 |
+
# Issuer: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing
|
4319 |
+
# Subject: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing
|
4320 |
+
# Label: "StartCom Certification Authority"
|
4321 |
+
# Serial: 45
|
4322 |
+
# MD5 Fingerprint: c9:3b:0d:84:41:fc:a4:76:79:23:08:57:de:10:19:16
|
4323 |
+
# SHA1 Fingerprint: a3:f1:33:3f:e2:42:bf:cf:c5:d1:4e:8f:39:42:98:40:68:10:d1:a0
|
4324 |
+
# SHA256 Fingerprint: e1:78:90:ee:09:a3:fb:f4:f4:8b:9c:41:4a:17:d6:37:b7:a5:06:47:e9:bc:75:23:22:72:7f:cc:17:42:a9:11
|
4325 |
+
-----BEGIN CERTIFICATE-----
|
4326 |
+
MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEW
|
4327 |
+
MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg
|
4328 |
+
Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh
|
4329 |
+
dGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM3WhcNMzYwOTE3MTk0NjM2WjB9
|
4330 |
+
MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi
|
4331 |
+
U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh
|
4332 |
+
cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA
|
4333 |
+
A4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk
|
4334 |
+
pMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf
|
4335 |
+
OQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C
|
4336 |
+
Ji/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT
|
4337 |
+
Kqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi
|
4338 |
+
HzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM
|
4339 |
+
Av+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w
|
4340 |
+
+2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+
|
4341 |
+
Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3
|
4342 |
+
Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B
|
4343 |
+
26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID
|
4344 |
+
AQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
|
4345 |
+
VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFul
|
4346 |
+
F2mHMMo0aEPQQa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCC
|
4347 |
+
ATgwLgYIKwYBBQUHAgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5w
|
4348 |
+
ZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL2ludGVybWVk
|
4349 |
+
aWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENvbW1lcmNpYWwgKFN0
|
4350 |
+
YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0aGUg
|
4351 |
+
c2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0
|
4352 |
+
aWZpY2F0aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93
|
4353 |
+
d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgG
|
4354 |
+
CWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1
|
4355 |
+
dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5fPGFf59Jb2vKXfuM/gTF
|
4356 |
+
wWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWmN3PH/UvS
|
4357 |
+
Ta0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst
|
4358 |
+
0OcNOrg+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNc
|
4359 |
+
pRJvkrKTlMeIFw6Ttn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKl
|
4360 |
+
CcWw0bdT82AUuoVpaiF8H3VhFyAXe2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVF
|
4361 |
+
P0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA2MFrLH9ZXF2RsXAiV+uKa0hK
|
4362 |
+
1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBsHvUwyKMQ5bLm
|
4363 |
+
KhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
|
4364 |
+
JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ
|
4365 |
+
8dCAWZvLMdibD4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnm
|
4366 |
+
fyWl8kgAwKQB2j8=
|
4367 |
+
-----END CERTIFICATE-----
|
4368 |
+
|
4369 |
+
# Issuer: CN=StartCom Certification Authority G2 O=StartCom Ltd.
|
4370 |
+
# Subject: CN=StartCom Certification Authority G2 O=StartCom Ltd.
|
4371 |
+
# Label: "StartCom Certification Authority G2"
|
4372 |
+
# Serial: 59
|
4373 |
+
# MD5 Fingerprint: 78:4b:fb:9e:64:82:0a:d3:b8:4c:62:f3:64:f2:90:64
|
4374 |
+
# SHA1 Fingerprint: 31:f1:fd:68:22:63:20:ee:c6:3b:3f:9d:ea:4a:3e:53:7c:7c:39:17
|
4375 |
+
# SHA256 Fingerprint: c7:ba:65:67:de:93:a7:98:ae:1f:aa:79:1e:71:2d:37:8f:ae:1f:93:c4:39:7f:ea:44:1b:b7:cb:e6:fd:59:95
|
4376 |
+
-----BEGIN CERTIFICATE-----
|
4377 |
+
MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEW
|
4378 |
+
MBQGA1UEChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlm
|
4379 |
+
aWNhdGlvbiBBdXRob3JpdHkgRzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1
|
4380 |
+
OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEsMCoG
|
4381 |
+
A1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRzIwggIiMA0G
|
4382 |
+
CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8Oo1XJ
|
4383 |
+
JZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsD
|
4384 |
+
vfOpL9HG4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnoo
|
4385 |
+
D/Uefyf3lLE3PbfHkffiAez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/
|
4386 |
+
Q0kGi4xDuFby2X8hQxfqp0iVAXV16iulQ5XqFYSdCI0mblWbq9zSOdIxHWDirMxW
|
4387 |
+
RST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbsO+wmETRIjfaAKxojAuuK
|
4388 |
+
HDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8HvKTlXcxN
|
4389 |
+
nw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM
|
4390 |
+
0D4LnMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/i
|
4391 |
+
UUjXuG+v+E5+M5iSFGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9
|
4392 |
+
Ha90OrInwMEePnWjFqmveiJdnxMaz6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHg
|
4393 |
+
TuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
|
4394 |
+
AwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJKoZIhvcNAQEL
|
4395 |
+
BQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K
|
4396 |
+
2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfX
|
4397 |
+
UfEpY9Z1zRbkJ4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl
|
4398 |
+
6/2o1PXWT6RbdejF0mCy2wl+JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK
|
4399 |
+
9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG/+gyRr61M3Z3qAFdlsHB1b6uJcDJ
|
4400 |
+
HgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTcnIhT76IxW1hPkWLI
|
4401 |
+
wpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/XldblhY
|
4402 |
+
XzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5l
|
4403 |
+
IxKVCCIcl85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoo
|
4404 |
+
hdVddLHRDiBYmxOlsGOm7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulr
|
4405 |
+
so8uBtjRkcfGEvRM/TAXw8HaOFvjqermobp573PYtlNXLfbQ4ddI
|
4406 |
+
-----END CERTIFICATE-----
|
4407 |
+
|
4408 |
+
# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327
|
4409 |
+
# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327
|
4410 |
+
# Label: "Buypass Class 2 Root CA"
|
4411 |
+
# Serial: 2
|
4412 |
+
# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29
|
4413 |
+
# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99
|
4414 |
+
# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48
|
4415 |
+
-----BEGIN CERTIFICATE-----
|
4416 |
+
MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd
|
4417 |
+
MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg
|
4418 |
+
Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow
|
4419 |
+
TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw
|
4420 |
+
HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB
|
4421 |
+
BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr
|
4422 |
+
6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV
|
4423 |
+
L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91
|
4424 |
+
1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx
|
4425 |
+
MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ
|
4426 |
+
QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB
|
4427 |
+
arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr
|
4428 |
+
Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi
|
4429 |
+
FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS
|
4430 |
+
P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN
|
4431 |
+
9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP
|
4432 |
+
AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz
|
4433 |
+
uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h
|
4434 |
+
9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
|
4435 |
+
A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t
|
4436 |
+
OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo
|
4437 |
+
+fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7
|
4438 |
+
KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2
|
4439 |
+
DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us
|
4440 |
+
H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ
|
4441 |
+
I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7
|
4442 |
+
5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h
|
4443 |
+
3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz
|
4444 |
+
Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA=
|
4445 |
+
-----END CERTIFICATE-----
|
4446 |
+
|
4447 |
+
# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327
|
4448 |
+
# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327
|
4449 |
+
# Label: "Buypass Class 3 Root CA"
|
4450 |
+
# Serial: 2
|
4451 |
+
# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec
|
4452 |
+
# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57
|
4453 |
+
# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d
|
4454 |
+
-----BEGIN CERTIFICATE-----
|
4455 |
+
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
|
4483 |
+
4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc=
|
4484 |
+
-----END CERTIFICATE-----
|
4485 |
+
|
4486 |
+
# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center
|
4487 |
+
# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center
|
4488 |
+
# Label: "T-TeleSec GlobalRoot Class 3"
|
4489 |
+
# Serial: 1
|
4490 |
+
# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef
|
4491 |
+
# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1
|
4492 |
+
# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd
|
4493 |
+
-----BEGIN CERTIFICATE-----
|
4494 |
+
MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx
|
4495 |
+
KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd
|
4496 |
+
BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl
|
4497 |
+
YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1
|
4498 |
+
OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy
|
4499 |
+
aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50
|
4500 |
+
ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G
|
4501 |
+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN
|
4502 |
+
8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/
|
4503 |
+
RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4
|
4504 |
+
hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5
|
4505 |
+
ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM
|
4506 |
+
EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj
|
4507 |
+
QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1
|
4508 |
+
A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy
|
4509 |
+
WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ
|
4510 |
+
1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30
|
4511 |
+
6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT
|
4512 |
+
91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
|
4513 |
+
e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p
|
4514 |
+
TpPDpFQUWw==
|
4515 |
+
-----END CERTIFICATE-----
|
4516 |
+
|
4517 |
+
# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus
|
4518 |
+
# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus
|
4519 |
+
# Label: "EE Certification Centre Root CA"
|
4520 |
+
# Serial: 112324828676200291871926431888494945866
|
4521 |
+
# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f
|
4522 |
+
# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7
|
4523 |
+
# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76
|
4524 |
+
-----BEGIN CERTIFICATE-----
|
4525 |
+
MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1
|
4526 |
+
MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1
|
4527 |
+
czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG
|
4528 |
+
CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy
|
4529 |
+
MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl
|
4530 |
+
ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS
|
4531 |
+
b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB
|
4532 |
+
AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy
|
4533 |
+
euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO
|
4534 |
+
bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw
|
4535 |
+
WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d
|
4536 |
+
MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE
|
4537 |
+
1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD
|
4538 |
+
VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/
|
4539 |
+
zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB
|
4540 |
+
BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF
|
4541 |
+
BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV
|
4542 |
+
v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG
|
4543 |
+
E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
|
4544 |
+
uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW
|
4545 |
+
iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v
|
4546 |
+
GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0=
|
4547 |
+
-----END CERTIFICATE-----
|
4548 |
+
|
4549 |
+
# Issuer: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Aralık 2007
|
4550 |
+
# Subject: CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Aralık 2007
|
4551 |
+
# Label: "TURKTRUST Certificate Services Provider Root 2007"
|
4552 |
+
# Serial: 1
|
4553 |
+
# MD5 Fingerprint: 2b:70:20:56:86:82:a0:18:c8:07:53:12:28:70:21:72
|
4554 |
+
# SHA1 Fingerprint: f1:7f:6f:b6:31:dc:99:e3:a3:c8:7f:fe:1c:f1:81:10:88:d9:60:33
|
4555 |
+
# SHA256 Fingerprint: 97:8c:d9:66:f2:fa:a0:7b:a7:aa:95:00:d9:c0:2e:9d:77:f2:cd:ad:a6:ad:6b:a7:4a:f4:b9:1c:66:59:3c:50
|
4556 |
+
-----BEGIN CERTIFICATE-----
|
4557 |
+
MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOc
|
4558 |
+
UktUUlVTVCBFbGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sx
|
4559 |
+
c8SxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xS
|
4560 |
+
S1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kg
|
4561 |
+
SGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4XDTA3MTIyNTE4Mzcx
|
4562 |
+
OVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxla3Ry
|
4563 |
+
b25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMC
|
4564 |
+
VFIxDzANBgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDE
|
4565 |
+
sGxldGnFn2ltIHZlIEJpbGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7F
|
4566 |
+
ni4gKGMpIEFyYWzEsWsgMjAwNzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
4567 |
+
ggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9NYvDdE3ePYakqtdTyuTFY
|
4568 |
+
KTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQvKUmi8wUG
|
4569 |
+
+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveG
|
4570 |
+
HtyaKhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6P
|
4571 |
+
IzdezKKqdfcYbwnTrqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M
|
4572 |
+
733WB2+Y8a+xwXrXgTW4qhe04MsCAwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHk
|
4573 |
+
Yb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0G
|
4574 |
+
CSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/sPx+EnWVUXKgW
|
4575 |
+
AkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I
|
4576 |
+
aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5
|
4577 |
+
mxRZNTZPz/OOXl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsa
|
4578 |
+
XRik7r4EW5nVcV9VZWRi1aKbBFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZ
|
4579 |
+
qxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAKpoRq0Tl9
|
4580 |
+
-----END CERTIFICATE-----
|
4581 |
+
|
4582 |
+
# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH
|
4583 |
+
# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH
|
4584 |
+
# Label: "D-TRUST Root Class 3 CA 2 2009"
|
4585 |
+
# Serial: 623603
|
4586 |
+
# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f
|
4587 |
+
# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0
|
4588 |
+
# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1
|
4589 |
+
-----BEGIN CERTIFICATE-----
|
4590 |
+
MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF
|
4591 |
+
MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD
|
4592 |
+
bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha
|
4593 |
+
ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM
|
4594 |
+
HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB
|
4595 |
+
BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03
|
4596 |
+
UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42
|
4597 |
+
tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R
|
4598 |
+
ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM
|
4599 |
+
lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp
|
4600 |
+
/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G
|
4601 |
+
A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G
|
4602 |
+
A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj
|
4603 |
+
dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy
|
4604 |
+
MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl
|
4605 |
+
cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js
|
4606 |
+
L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL
|
4607 |
+
BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni
|
4608 |
+
acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
|
4609 |
+
o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K
|
4610 |
+
zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8
|
4611 |
+
PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y
|
4612 |
+
Johw1+qRzT65ysCQblrGXnRl11z+o+I=
|
4613 |
+
-----END CERTIFICATE-----
|
4614 |
+
|
4615 |
+
# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH
|
4616 |
+
# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH
|
4617 |
+
# Label: "D-TRUST Root Class 3 CA 2 EV 2009"
|
4618 |
+
# Serial: 623604
|
4619 |
+
# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6
|
4620 |
+
# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83
|
4621 |
+
# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81
|
4622 |
+
-----BEGIN CERTIFICATE-----
|
4623 |
+
MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF
|
4624 |
+
MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD
|
4625 |
+
bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw
|
4626 |
+
NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV
|
4627 |
+
BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI
|
4628 |
+
hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn
|
4629 |
+
ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0
|
4630 |
+
3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z
|
4631 |
+
qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR
|
4632 |
+
p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8
|
4633 |
+
HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw
|
4634 |
+
ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea
|
4635 |
+
HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw
|
4636 |
+
Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh
|
4637 |
+
c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E
|
4638 |
+
RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt
|
4639 |
+
dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku
|
4640 |
+
Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp
|
4641 |
+
3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
|
4642 |
+
nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF
|
4643 |
+
CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na
|
4644 |
+
xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX
|
4645 |
+
KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1
|
4646 |
+
-----END CERTIFICATE-----
|
4647 |
+
|
4648 |
+
# Issuer: CN=Autoridad de Certificacion Raiz del Estado Venezolano O=Sistema Nacional de Certificacion Electronica OU=Superintendencia de Servicios de Certificacion Electronica
|
4649 |
+
# Subject: CN=PSCProcert O=Sistema Nacional de Certificacion Electronica OU=Proveedor de Certificados PROCERT
|
4650 |
+
# Label: "PSCProcert"
|
4651 |
+
# Serial: 11
|
4652 |
+
# MD5 Fingerprint: e6:24:e9:12:01:ae:0c:de:8e:85:c4:ce:a3:12:dd:ec
|
4653 |
+
# SHA1 Fingerprint: 70:c1:8d:74:b4:28:81:0a:e4:fd:a5:75:d7:01:9f:99:b0:3d:50:74
|
4654 |
+
# SHA256 Fingerprint: 3c:fc:3c:14:d1:f6:84:ff:17:e3:8c:43:ca:44:0c:00:b9:67:ec:93:3e:8b:fe:06:4c:a1:d7:2c:90:f2:ad:b0
|
4655 |
+
-----BEGIN CERTIFICATE-----
|
4656 |
+
MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1
|
4657 |
+
dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9s
|
4658 |
+
YW5vMQswCQYDVQQGEwJWRTEQMA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlz
|
4659 |
+
dHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0
|
4660 |
+
aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBlcmludGVuZGVuY2lh
|
4661 |
+
IGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUwIwYJ
|
4662 |
+
KoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEw
|
4663 |
+
MFoXDTIwMTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHBy
|
4664 |
+
b2NlcnQubmV0LnZlMQ8wDQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGEx
|
4665 |
+
KjAoBgNVBAsTIVByb3ZlZWRvciBkZSBDZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQG
|
4666 |
+
A1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9u
|
4667 |
+
aWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIwDQYJKoZI
|
4668 |
+
hvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo9
|
4669 |
+
7BVCwfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74
|
4670 |
+
BCXfgI8Qhd19L3uA3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38G
|
4671 |
+
ieU89RLAu9MLmV+QfI4tL3czkkohRqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9
|
4672 |
+
JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmOEO8GqQKJ/+MMbpfg353bIdD0
|
4673 |
+
PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG20qCZyFSTXai2
|
4674 |
+
0b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH
|
4675 |
+
0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/
|
4676 |
+
6mnbVSKVUyqUtd+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1m
|
4677 |
+
v6JpIzi4mWCZDlZTOpx+FIywBm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7
|
4678 |
+
K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvpr2uKGcfLFFb14dq12fy/czja+eev
|
4679 |
+
bqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/AgEBMDcGA1UdEgQw
|
4680 |
+
MC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAzNi0w
|
4681 |
+
MB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFD
|
4682 |
+
gBStuyIdxuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0
|
4683 |
+
b3JpZGFkIGRlIENlcnRpZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xh
|
4684 |
+
bm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQHEwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0
|
4685 |
+
cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5hY2lvbmFsIGRlIENlcnRp
|
4686 |
+
ZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5kZW5jaWEg
|
4687 |
+
ZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkq
|
4688 |
+
hkiG9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQD
|
4689 |
+
AgEGME0GA1UdEQRGMESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0w
|
4690 |
+
MDAwMDKgGwYFYIZeAgKgEgwQUklGLUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEag
|
4691 |
+
RKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9sY3IvQ0VSVElGSUNBRE8t
|
4692 |
+
UkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNyYWl6LnN1c2Nl
|
4693 |
+
cnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v
|
4694 |
+
Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsG
|
4695 |
+
AQUFBwIBFh5odHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcN
|
4696 |
+
AQELBQADggIBACtZ6yKZu4SqT96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS
|
4697 |
+
1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmNg7+mvTV+LFwxNG9s2/NkAZiqlCxB
|
4698 |
+
3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4quxtxj7mkoP3Yldmv
|
4699 |
+
Wb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1n8Gh
|
4700 |
+
HVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHm
|
4701 |
+
pHmJWhSnFFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXz
|
4702 |
+
sOfIt+FTvZLm8wyWuevo5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bE
|
4703 |
+
qCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq3TNWOByyrYDT13K9mmyZY+gAu0F2Bbdb
|
4704 |
+
mRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5poLWccret9W6aAjtmcz9
|
4705 |
+
opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3YeMLEYC/H
|
4706 |
+
YvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
|
4707 |
+
-----END CERTIFICATE-----
|
4708 |
+
|
4709 |
+
# Issuer: CN=China Internet Network Information Center EV Certificates Root O=China Internet Network Information Center
|
4710 |
+
# Subject: CN=China Internet Network Information Center EV Certificates Root O=China Internet Network Information Center
|
4711 |
+
# Label: "China Internet Network Information Center EV Certificates Root"
|
4712 |
+
# Serial: 1218379777
|
4713 |
+
# MD5 Fingerprint: 55:5d:63:00:97:bd:6a:97:f5:67:ab:4b:fb:6e:63:15
|
4714 |
+
# SHA1 Fingerprint: 4f:99:aa:93:fb:2b:d1:37:26:a1:99:4a:ce:7f:f0:05:f2:93:5d:1e
|
4715 |
+
# SHA256 Fingerprint: 1c:01:c6:f4:db:b2:fe:fc:22:55:8b:2b:ca:32:56:3f:49:84:4a:cf:c3:2b:7b:e4:b0:ff:59:9f:9e:8c:7a:f7
|
4716 |
+
-----BEGIN CERTIFICATE-----
|
4717 |
+
MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
|
4718 |
+
Q04xMjAwBgNVBAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24g
|
4719 |
+
Q2VudGVyMUcwRQYDVQQDDD5DaGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0
|
4720 |
+
aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMgUm9vdDAeFw0xMDA4MzEwNzExMjVa
|
4721 |
+
Fw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAGA1UECgwpQ2hpbmEg
|
4722 |
+
SW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMMPkNo
|
4723 |
+
aW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRp
|
4724 |
+
ZmljYXRlcyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z
|
4725 |
+
7r07eKpkQ0H1UN+U8i6yjUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//
|
4726 |
+
DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV98YPjUesWgbdYavi7NifFy2cyjw1l1Vx
|
4727 |
+
zUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2HklY0bBoQCxfVWhyXWIQ8
|
4728 |
+
hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23KzhmBsUs
|
4729 |
+
4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54u
|
4730 |
+
gQEC7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oY
|
4731 |
+
NJKiyoOCWTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4E
|
4732 |
+
FgQUfHJLOcfA22KlT5uqGDSSosqDglkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3
|
4733 |
+
j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd50XPFtQO3WKwMVC/GVhMPMdoG
|
4734 |
+
52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM7+czV0I664zB
|
4735 |
+
echNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws
|
4736 |
+
ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrI
|
4737 |
+
zo9uoV1/A3U05K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATy
|
4738 |
+
wy39FCqQmbkHzJ8=
|
4739 |
+
-----END CERTIFICATE-----
|
4740 |
+
|
4741 |
+
# Issuer: CN=Swisscom Root CA 2 O=Swisscom OU=Digital Certificate Services
|
4742 |
+
# Subject: CN=Swisscom Root CA 2 O=Swisscom OU=Digital Certificate Services
|
4743 |
+
# Label: "Swisscom Root CA 2"
|
4744 |
+
# Serial: 40698052477090394928831521023204026294
|
4745 |
+
# MD5 Fingerprint: 5b:04:69:ec:a5:83:94:63:18:a7:86:d0:e4:f2:6e:19
|
4746 |
+
# SHA1 Fingerprint: 77:47:4f:c6:30:e4:0f:4c:47:64:3f:84:ba:b8:c6:95:4a:8a:41:ec
|
4747 |
+
# SHA256 Fingerprint: f0:9b:12:2c:71:14:f4:a0:9b:d4:ea:4f:4a:99:d5:58:b4:6e:4c:25:cd:81:14:0d:29:c0:56:13:91:4c:38:41
|
4748 |
+
-----BEGIN CERTIFICATE-----
|
4749 |
+
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
|
4780 |
+
wSsSnqaeG8XmDtkx2Q==
|
4781 |
+
-----END CERTIFICATE-----
|
4782 |
+
|
4783 |
+
# Issuer: CN=Swisscom Root EV CA 2 O=Swisscom OU=Digital Certificate Services
|
4784 |
+
# Subject: CN=Swisscom Root EV CA 2 O=Swisscom OU=Digital Certificate Services
|
4785 |
+
# Label: "Swisscom Root EV CA 2"
|
4786 |
+
# Serial: 322973295377129385374608406479535262296
|
4787 |
+
# MD5 Fingerprint: 7b:30:34:9f:dd:0a:4b:6b:35:ca:31:51:28:5d:ae:ec
|
4788 |
+
# SHA1 Fingerprint: e7:a1:90:29:d3:d5:52:dc:0d:0f:c6:92:d3:ea:88:0d:15:2e:1a:6b
|
4789 |
+
# SHA256 Fingerprint: d9:5f:ea:3c:a4:ee:dc:e7:4c:d7:6e:75:fc:6d:1f:f6:2c:44:1f:0f:a8:bc:77:f0:34:b1:9e:5d:b2:58:01:5d
|
4790 |
+
-----BEGIN CERTIFICATE-----
|
4791 |
+
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
|
4822 |
+
I+2ksx0WckNLIOFZfsLorSa/ovc=
|
4823 |
+
-----END CERTIFICATE-----
|
4824 |
+
|
4825 |
+
# Issuer: CN=CA Disig Root R1 O=Disig a.s.
|
4826 |
+
# Subject: CN=CA Disig Root R1 O=Disig a.s.
|
4827 |
+
# Label: "CA Disig Root R1"
|
4828 |
+
# Serial: 14052245610670616104
|
4829 |
+
# MD5 Fingerprint: be:ec:11:93:9a:f5:69:21:bc:d7:c1:c0:67:89:cc:2a
|
4830 |
+
# SHA1 Fingerprint: 8e:1c:74:f8:a6:20:b9:e5:8a:f4:61:fa:ec:2b:47:56:51:1a:52:c6
|
4831 |
+
# SHA256 Fingerprint: f9:6f:23:f4:c3:e7:9c:07:7a:46:98:8d:5a:f5:90:06:76:a0:f0:39:cb:64:5d:d1:75:49:b2:16:c8:24:40:ce
|
4832 |
+
-----BEGIN CERTIFICATE-----
|
4833 |
+
MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNV
|
4834 |
+
BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu
|
4835 |
+
MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQy
|
4836 |
+
MDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx
|
4837 |
+
EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjEw
|
4838 |
+
ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy3QRk
|
4839 |
+
D2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/o
|
4840 |
+
OI7bm+V8u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3A
|
4841 |
+
fQ+lekLZWnDZv6fXARz2m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJe
|
4842 |
+
IgpFy4QxTaz+29FHuvlglzmxZcfe+5nkCiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8n
|
4843 |
+
oc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTaYVKvJrT1cU/J19IG32PK
|
4844 |
+
/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6vpmumwKj
|
4845 |
+
rckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD
|
4846 |
+
3AjLLhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE
|
4847 |
+
7cderVC6xkGbrPAXZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkC
|
4848 |
+
yC2fg69naQanMVXVz0tv/wQFx1isXxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLd
|
4849 |
+
qvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
|
4850 |
+
DwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ04IwDQYJKoZI
|
4851 |
+
hvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR
|
4852 |
+
xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaA
|
4853 |
+
SfX8MPWbTx9BLxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXo
|
4854 |
+
HqJPYNcHKfyyo6SdbhWSVhlMCrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpB
|
4855 |
+
emOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5GfbVSUZP/3oNn6z4eGBrxEWi1CXYBmC
|
4856 |
+
AMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85YmLLW1AL14FABZyb
|
4857 |
+
7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKSds+x
|
4858 |
+
DzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvk
|
4859 |
+
F7mGnjixlAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqF
|
4860 |
+
a3qdnom2piiZk4hA9z7NUaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsT
|
4861 |
+
Q6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJa7+h89n07eLw4+1knj0vllJPgFOL
|
4862 |
+
-----END CERTIFICATE-----
|
4863 |
+
|
4864 |
+
# Issuer: CN=CA Disig Root R2 O=Disig a.s.
|
4865 |
+
# Subject: CN=CA Disig Root R2 O=Disig a.s.
|
4866 |
+
# Label: "CA Disig Root R2"
|
4867 |
+
# Serial: 10572350602393338211
|
4868 |
+
# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03
|
4869 |
+
# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71
|
4870 |
+
# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03
|
4871 |
+
-----BEGIN CERTIFICATE-----
|
4872 |
+
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
|
4901 |
+
-----END CERTIFICATE-----
|
4902 |
+
|
4903 |
+
# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV
|
4904 |
+
# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV
|
4905 |
+
# Label: "ACCVRAIZ1"
|
4906 |
+
# Serial: 6828503384748696800
|
4907 |
+
# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02
|
4908 |
+
# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17
|
4909 |
+
# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13
|
4910 |
+
-----BEGIN CERTIFICATE-----
|
4911 |
+
MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE
|
4912 |
+
AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw
|
4913 |
+
CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ
|
4914 |
+
BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND
|
4915 |
+
VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb
|
4916 |
+
qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY
|
4917 |
+
HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo
|
4918 |
+
G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA
|
4919 |
+
lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr
|
4920 |
+
IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/
|
4921 |
+
0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH
|
4922 |
+
k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47
|
4923 |
+
4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO
|
4924 |
+
m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa
|
4925 |
+
cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl
|
4926 |
+
uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI
|
4927 |
+
KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls
|
4928 |
+
ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG
|
4929 |
+
AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
|
4930 |
+
VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT
|
4931 |
+
VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG
|
4932 |
+
CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA
|
4933 |
+
cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA
|
4934 |
+
QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA
|
4935 |
+
7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA
|
4936 |
+
cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA
|
4937 |
+
QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA
|
4938 |
+
czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu
|
4939 |
+
aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt
|
4940 |
+
aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud
|
4941 |
+
DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF
|
4942 |
+
BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp
|
4943 |
+
D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU
|
4944 |
+
JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m
|
4945 |
+
AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD
|
4946 |
+
vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms
|
4947 |
+
tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH
|
4948 |
+
7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
|
4949 |
+
I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA
|
4950 |
+
h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF
|
4951 |
+
d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H
|
4952 |
+
pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7
|
4953 |
+
-----END CERTIFICATE-----
|
4954 |
+
|
4955 |
+
# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA
|
4956 |
+
# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA
|
4957 |
+
# Label: "TWCA Global Root CA"
|
4958 |
+
# Serial: 3262
|
4959 |
+
# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96
|
4960 |
+
# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65
|
4961 |
+
# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b
|
4962 |
+
-----BEGIN CERTIFICATE-----
|
4963 |
+
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
|
4991 |
+
KwbQBM0=
|
4992 |
+
-----END CERTIFICATE-----
|
4993 |
+
|
4994 |
+
# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera
|
4995 |
+
# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera
|
4996 |
+
# Label: "TeliaSonera Root CA v1"
|
4997 |
+
# Serial: 199041966741090107964904287217786801558
|
4998 |
+
# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c
|
4999 |
+
# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37
|
5000 |
+
# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89
|
5001 |
+
-----BEGIN CERTIFICATE-----
|
5002 |
+
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
|
5030 |
+
-----END CERTIFICATE-----
|
5031 |
+
|
5032 |
+
# Issuer: CN=E-Tugra Certification Authority O=E-Tuğra EBG Bilişim Teknolojileri ve Hizmetleri A.Ş. OU=E-Tugra Sertifikasyon Merkezi
|
5033 |
+
# Subject: CN=E-Tugra Certification Authority O=E-Tuğra EBG Bilişim Teknolojileri ve Hizmetleri A.Ş. OU=E-Tugra Sertifikasyon Merkezi
|
5034 |
+
# Label: "E-Tugra Certification Authority"
|
5035 |
+
# Serial: 7667447206703254355
|
5036 |
+
# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49
|
5037 |
+
# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39
|
5038 |
+
# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c
|
5039 |
+
-----BEGIN CERTIFICATE-----
|
5040 |
+
MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV
|
5041 |
+
BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC
|
5042 |
+
aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV
|
5043 |
+
BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1
|
5044 |
+
Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz
|
5045 |
+
MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+
|
5046 |
+
BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp
|
5047 |
+
em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN
|
5048 |
+
ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
|
5049 |
+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY
|
5050 |
+
B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH
|
5051 |
+
D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF
|
5052 |
+
Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo
|
5053 |
+
q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D
|
5054 |
+
k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH
|
5055 |
+
fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut
|
5056 |
+
dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM
|
5057 |
+
ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8
|
5058 |
+
zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn
|
5059 |
+
rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX
|
5060 |
+
U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6
|
5061 |
+
Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5
|
5062 |
+
XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF
|
5063 |
+
Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR
|
5064 |
+
HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY
|
5065 |
+
GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c
|
5066 |
+
77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3
|
5067 |
+
+GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK
|
5068 |
+
vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6
|
5069 |
+
FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl
|
5070 |
+
yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P
|
5071 |
+
AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD
|
5072 |
+
y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d
|
5073 |
+
NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA==
|
5074 |
+
-----END CERTIFICATE-----
|
5075 |
+
|
5076 |
+
# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center
|
5077 |
+
# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center
|
5078 |
+
# Label: "T-TeleSec GlobalRoot Class 2"
|
5079 |
+
# Serial: 1
|
5080 |
+
# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a
|
5081 |
+
# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9
|
5082 |
+
# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52
|
5083 |
+
-----BEGIN CERTIFICATE-----
|
5084 |
+
MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx
|
5085 |
+
KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd
|
5086 |
+
BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl
|
5087 |
+
YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1
|
5088 |
+
OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy
|
5089 |
+
aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50
|
5090 |
+
ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G
|
5091 |
+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd
|
5092 |
+
AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC
|
5093 |
+
FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi
|
5094 |
+
1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq
|
5095 |
+
jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ
|
5096 |
+
wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj
|
5097 |
+
QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/
|
5098 |
+
WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy
|
5099 |
+
NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC
|
5100 |
+
uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw
|
5101 |
+
IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6
|
5102 |
+
g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
|
5103 |
+
9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP
|
5104 |
+
BSeOE6Fuwg==
|
5105 |
+
-----END CERTIFICATE-----
|
5106 |
+
|
5107 |
+
# Issuer: CN=Atos TrustedRoot 2011 O=Atos
|
5108 |
+
# Subject: CN=Atos TrustedRoot 2011 O=Atos
|
5109 |
+
# Label: "Atos TrustedRoot 2011"
|
5110 |
+
# Serial: 6643877497813316402
|
5111 |
+
# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56
|
5112 |
+
# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21
|
5113 |
+
# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74
|
5114 |
+
-----BEGIN CERTIFICATE-----
|
5115 |
+
MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE
|
5116 |
+
AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG
|
5117 |
+
EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM
|
5118 |
+
FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC
|
5119 |
+
REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp
|
5120 |
+
Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM
|
5121 |
+
VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+
|
5122 |
+
SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ
|
5123 |
+
4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L
|
5124 |
+
cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi
|
5125 |
+
eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV
|
5126 |
+
HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG
|
5127 |
+
A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3
|
5128 |
+
DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j
|
5129 |
+
vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP
|
5130 |
+
DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc
|
5131 |
+
maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D
|
5132 |
+
lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv
|
5133 |
+
KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
|
5134 |
+
-----END CERTIFICATE-----
|