diff --git a/bro-path-dev.in b/bro-path-dev.in index 394462924d..5499f48860 100755 --- a/bro-path-dev.in +++ b/bro-path-dev.in @@ -10,12 +10,12 @@ # BROPATH=`./bro-path-dev` ./src/bro # -broPolicies=${PROJECT_SOURCE_DIR}/policy:${PROJECT_SOURCE_DIR}/policy/sigs:${PROJECT_SOURCE_DIR}/policy/time-machine +broPolicies=${PROJECT_SOURCE_DIR}/policy:${PROJECT_SOURCE_DIR}/policy/frameworks:${PROJECT_SOURCE_DIR}/policy/protocols:${PROJECT_SOURCE_DIR}/policy/detectors:${PROJECT_SOURCE_DIR}/policy/time-machine broGenPolicies=${CMAKE_BINARY_DIR}/src broctlPolicies=${PROJECT_SOURCE_DIR}/aux/broctl/policy:${CMAKE_BINARY_DIR}/aux/broctl/policy/local -installedPolicies=${POLICYDIR}:${POLICYDIR}/sigs:${POLICYDIR}/time-machine:${POLICYDIR}/site +installedPolicies=${POLICYDIR}:${POLICYDIR}/frameworks:${POLICYDIR}/protocols:${POLICYDIR}/detectors:${POLICYDIR}/time-machine:${POLICYDIR}/site echo .:$broPolicies:$broGenPolicies:$broctlPolicies diff --git a/doc/scripts/CMakeLists.txt b/doc/scripts/CMakeLists.txt index 582676a9b3..3523806f4f 100644 --- a/doc/scripts/CMakeLists.txt +++ b/doc/scripts/CMakeLists.txt @@ -59,8 +59,6 @@ macro(REST_TARGET srcDir broInput) set(basename "${basename}.init") endif () - set (restFile "${basename}.rst") - if (NOT relDstDir) set(docName "${basename}") set(dstDir "${RST_OUTPUT_DIR}") @@ -69,7 +67,9 @@ macro(REST_TARGET srcDir broInput) set(dstDir "${RST_OUTPUT_DIR}/${relDstDir}") endif () - set(restOutput "${dstDir}/${restFile}") + set(restFile "${docName}.rst") + string(REPLACE "/" "^" restFile ${restFile}) + set(restOutput "${dstDir}/${basename}.rst") set(indexEntry " ${docName} <${docName}>") set(MASTER_POLICY_INDEX_TEXT "${MASTER_POLICY_INDEX_TEXT}\n${indexEntry}") @@ -97,7 +97,7 @@ macro(REST_TARGET srcDir broInput) if (${group} STREQUAL "default" OR ${group} STREQUAL "bifs") set(BRO_ARGS --doc-scripts --exec '') else () - set(BRO_ARGS --doc-scripts ${srcDir}/${broInput}) + set(BRO_ARGS --doc-scripts ${broInput}) endif () add_custom_command(OUTPUT ${restOutput} @@ -105,7 +105,7 @@ macro(REST_TARGET srcDir broInput) COMMAND "${CMAKE_COMMAND}" ARGS -E remove_directory .state # generate the reST documentation using bro - COMMAND BROPATH=${BROPATH} ${CMAKE_BINARY_DIR}/src/bro + COMMAND BROPATH=${BROPATH}:${srcDir} ${CMAKE_BINARY_DIR}/src/bro ARGS ${BRO_ARGS} || (rm -rf .state *.log *.rst && exit 1) # move generated doc into a new directory tree that # defines the final structure of documents @@ -129,39 +129,115 @@ endmacro(REST_TARGET) # Schedule Bro scripts for which to generate documentation. # Note: the script may be located in a subdirectory off of one of the main # directories in BROPATH. In that case, just list the script as 'foo/bar.bro' -rest_target(${POLICY_SRC_DIR} alarm.bro user) -rest_target(${POLICY_SRC_DIR} arp.bro user) -rest_target(${POLICY_SRC_DIR} conn.bro user) -rest_target(${POLICY_SRC_DIR} dhcp.bro user) -rest_target(${POLICY_SRC_DIR} dns.bro user) -rest_target(${POLICY_SRC_DIR} ftp.bro user) -rest_target(${POLICY_SRC_DIR} http.bro user) -rest_target(${POLICY_SRC_DIR} http-reply.bro user) -rest_target(${POLICY_SRC_DIR} http-request.bro user) -rest_target(${POLICY_SRC_DIR} irc.bro user) -rest_target(${POLICY_SRC_DIR} smtp.bro user) -rest_target(${POLICY_SRC_DIR} ssl.bro user) -rest_target(${POLICY_SRC_DIR} ssl-ciphers.bro user) -rest_target(${POLICY_SRC_DIR} ssl-errors.bro user) -rest_target(${POLICY_SRC_DIR} synflood.bro user) -rest_target(${POLICY_SRC_DIR} tcp.bro user) -rest_target(${POLICY_SRC_DIR} udp.bro user) -rest_target(${POLICY_SRC_DIR} weird.bro user) -rest_target(${CMAKE_CURRENT_SOURCE_DIR} example.bro internal) +rest_target(${CMAKE_CURRENT_SOURCE_DIR} example.bro internal) + +rest_target(${POLICY_SRC_DIR} conn.bro user) +rest_target(${POLICY_SRC_DIR} conn/base.bro user) +rest_target(${POLICY_SRC_DIR} conn/contents.bro user) + +rest_target(${POLICY_SRC_DIR} dns.bro policy/dns-index) +rest_target(${POLICY_SRC_DIR} dns/auth-addl.bro policy/dns-index) +rest_target(${POLICY_SRC_DIR} dns/base.bro policy/dns-index) +rest_target(${POLICY_SRC_DIR} dns/consts.bro policy/dns-index) +rest_target(${POLICY_SRC_DIR} dns/detect.bro policy/dns-index) +rest_target(${POLICY_SRC_DIR} dns/passive-replication.bro policy/dns-index) + +# TODO: these don't currently work due to something that looks like a +# circular dependency. They'll also change to the 'default' group once +# loaded from bro.init. +#rest_target(${POLICY_SRC_DIR} dpd.bro policy/dpd-index) +#rest_target(${POLICY_SRC_DIR} dpd/base.bro policy/dpd-index) +#rest_target(${POLICY_SRC_DIR} dpd/dyn-disable.bro policy/dpd-index) +#rest_target(${POLICY_SRC_DIR} dpd/packet-segment-logging.bro policy/dpd-index) + +rest_target(${POLICY_SRC_DIR} ftp.bro policy/ftp-index) +rest_target(${POLICY_SRC_DIR} ftp/base.bro policy/ftp-index) +rest_target(${POLICY_SRC_DIR} ftp/detect.bro policy/ftp-index) +rest_target(${POLICY_SRC_DIR} ftp/file-extract.bro policy/ftp-index) +rest_target(${POLICY_SRC_DIR} ftp/software.bro policy/ftp-index) +rest_target(${POLICY_SRC_DIR} ftp/utils-commands.bro policy/ftp-index) + +rest_target(${POLICY_SRC_DIR} functions.bro user) + +# TODO: hot.conn.bro currently won't load because hot.bro doesn't exist +#rest_target(${POLICY_SRC_DIR} hot.conn.bro user) + +rest_target(${POLICY_SRC_DIR} http.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/base-extended.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/base.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/detect-intel.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/detect-sqli.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/detect-webapps.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/file-extract.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/file-hash.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/file-ident.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/headers.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/software.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/utils.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/var-extraction-cookies.bro policy/http-index) +rest_target(${POLICY_SRC_DIR} http/var-extraction-uri.bro policy/http-index) + +rest_target(${POLICY_SRC_DIR} irc.bro policy/irc-index) +rest_target(${POLICY_SRC_DIR} irc/base.bro policy/irc-index) +rest_target(${POLICY_SRC_DIR} irc/dcc-send.bro policy/irc-index) + +rest_target(${POLICY_SRC_DIR} known-services.bro user) +rest_target(${POLICY_SRC_DIR} known-hosts.bro user) + +rest_target(${POLICY_SRC_DIR} metrics.bro policy/metrics-index) +rest_target(${POLICY_SRC_DIR} metrics/base.bro policy/metrics-index) +rest_target(${POLICY_SRC_DIR} metrics/conn-example.bro policy/metrics-index) +rest_target(${POLICY_SRC_DIR} metrics/http-example.bro policy/metrics-index) + +rest_target(${POLICY_SRC_DIR} mime.bro policy/mime-index) +rest_target(${POLICY_SRC_DIR} mime/base.bro policy/mime-index) +rest_target(${POLICY_SRC_DIR} mime/file-extract.bro policy/mime-index) +rest_target(${POLICY_SRC_DIR} mime/file-hash.bro policy/mime-index) +rest_target(${POLICY_SRC_DIR} mime/file-ident.bro policy/mime-index) + +rest_target(${POLICY_SRC_DIR} notice-action-filters.bro user) +rest_target(${POLICY_SRC_DIR} notice.bro user) +rest_target(${POLICY_SRC_DIR} site.bro user) + +rest_target(${POLICY_SRC_DIR} signatures.bro policy/sig-index) +rest_target(${POLICY_SRC_DIR} signatures/base.bro policy/sig-index) + +rest_target(${POLICY_SRC_DIR} smtp.bro policy/smtp-index) +rest_target(${POLICY_SRC_DIR} smtp/base-extended.bro policy/smtp-index) +rest_target(${POLICY_SRC_DIR} smtp/base.bro policy/smtp-index) +rest_target(${POLICY_SRC_DIR} smtp/detect.bro policy/smtp-index) +rest_target(${POLICY_SRC_DIR} smtp/software.bro policy/smtp-index) +rest_target(${POLICY_SRC_DIR} smtp/utils.bro policy/smtp-index) +rest_target(${POLICY_SRC_DIR} smtp/webmail-ident.bro policy/smtp-index) + +rest_target(${POLICY_SRC_DIR} software.bro policy/software-index) +rest_target(${POLICY_SRC_DIR} software/base.bro policy/software-index) +rest_target(${POLICY_SRC_DIR} software/vulnerable.bro policy/software-index) + +rest_target(${POLICY_SRC_DIR} ssh.bro policy/ssh-index) +rest_target(${POLICY_SRC_DIR} ssh/base.bro policy/ssh-index) +rest_target(${POLICY_SRC_DIR} ssh/software.bro policy/ssh-index) + +rest_target(${POLICY_SRC_DIR} ssl-ciphers.bro policy/ssl-index) +rest_target(${POLICY_SRC_DIR} ssl-errors.bro policy/ssl-index) +rest_target(${POLICY_SRC_DIR} ssl.bro policy/ssl-index) + +rest_target(${POLICY_SRC_DIR} utils/pattern.bro user) +rest_target(${POLICY_SRC_DIR} weird.bro user) # Finding out what scripts bro will generate documentation for by default # can be done like: `bro --doc-scripts --exec ""` -rest_target(${POLICY_SRC_DIR} bro.init default) -rest_target(${POLICY_SRC_DIR} logging-ascii.bro default) -rest_target(${POLICY_SRC_DIR} logging.bro default) -rest_target(${POLICY_SRC_DIR} pcap.bro default) -rest_target(${POLICY_SRC_DIR} server-ports.bro default) -rest_target(${CMAKE_BINARY_DIR}/src bro.bif.bro bifs) -rest_target(${CMAKE_BINARY_DIR}/src const.bif.bro bifs) -rest_target(${CMAKE_BINARY_DIR}/src event.bif.bro bifs) -rest_target(${CMAKE_BINARY_DIR}/src logging.bif.bro bifs) -rest_target(${CMAKE_BINARY_DIR}/src strings.bif.bro bifs) -rest_target(${CMAKE_BINARY_DIR}/src types.bif.bro bifs) +rest_target(${POLICY_SRC_DIR} bro.init default) +rest_target(${POLICY_SRC_DIR} logging-ascii.bro default) +rest_target(${POLICY_SRC_DIR} logging.bro default) +rest_target(${POLICY_SRC_DIR} pcap.bro default) +rest_target(${POLICY_SRC_DIR} server-ports.bro default) +rest_target(${CMAKE_BINARY_DIR}/src bro.bif.bro bifs) +rest_target(${CMAKE_BINARY_DIR}/src const.bif.bro bifs) +rest_target(${CMAKE_BINARY_DIR}/src event.bif.bro bifs) +rest_target(${CMAKE_BINARY_DIR}/src logging.bif.bro bifs) +rest_target(${CMAKE_BINARY_DIR}/src strings.bif.bro bifs) +rest_target(${CMAKE_BINARY_DIR}/src types.bif.bro bifs) # create temporary list of all docs to include in the master policy/index file file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/tmp_policy_index diff --git a/doc/scripts/example.bro b/doc/scripts/example.bro index 2e2a8977ec..0699cc7237 100644 --- a/doc/scripts/example.bro +++ b/doc/scripts/example.bro @@ -66,7 +66,7 @@ redef dpd_config += { # redefinitions of "Notice::Type" are self-documenting, but # more information can be supplied in two different ways -redef enum Notice += { +redef enum Notice::Type += { ## any number of this type of comment ## will document "Notice_One" Notice_One, diff --git a/doc/scripts/source/bifs.rst b/doc/scripts/source/bifs.rst index 0c40404058..6a42cafafc 100644 --- a/doc/scripts/source/bifs.rst +++ b/doc/scripts/source/bifs.rst @@ -1,4 +1,5 @@ +.. This is a stub doc to which the build process can append. + Built-In Functions (BIFs) ========================= -Here's a list of all documentation for BIFs that Bro provides: diff --git a/doc/scripts/source/index.rst b/doc/scripts/source/index.rst index ef642d70c7..91864f1881 100644 --- a/doc/scripts/source/index.rst +++ b/doc/scripts/source/index.rst @@ -11,11 +11,22 @@ Contents: common builtins - policy/index default bifs user + policy/dns-index + policy/ftp-index + policy/http-index + policy/irc-index + policy/metrics-index + policy/mime-index + policy/sig-index + policy/smtp-index + policy/software-index + policy/ssh-index + policy/ssl-index internal + policy/index Indices and tables ================== diff --git a/doc/scripts/source/internal.rst b/doc/scripts/source/internal.rst index 864ee75f8a..d9b914df65 100644 --- a/doc/scripts/source/internal.rst +++ b/doc/scripts/source/internal.rst @@ -1,3 +1,5 @@ +.. This is a stub doc to which the build process can append. + Internal Policy Scripts ======================= diff --git a/doc/scripts/source/policy/dns-index.rst b/doc/scripts/source/policy/dns-index.rst new file mode 100644 index 0000000000..69a3ef0c52 --- /dev/null +++ b/doc/scripts/source/policy/dns-index.rst @@ -0,0 +1,5 @@ +.. This is a stub doc to which the build process can append. + +DNS Policy Scripts +================== + diff --git a/doc/scripts/source/policy/ftp-index.rst b/doc/scripts/source/policy/ftp-index.rst new file mode 100644 index 0000000000..01aafb28f0 --- /dev/null +++ b/doc/scripts/source/policy/ftp-index.rst @@ -0,0 +1,5 @@ +.. This is a stub doc to which the build process can append. + +FTP Policy Scripts +================== + diff --git a/doc/scripts/source/policy/http-index.rst b/doc/scripts/source/policy/http-index.rst new file mode 100644 index 0000000000..67216d6f1f --- /dev/null +++ b/doc/scripts/source/policy/http-index.rst @@ -0,0 +1,5 @@ +.. This is a stub doc to which the build process can append. + +HTTP Policy Scripts +=================== + diff --git a/doc/scripts/source/policy/irc-index.rst b/doc/scripts/source/policy/irc-index.rst new file mode 100644 index 0000000000..5b34d3795f --- /dev/null +++ b/doc/scripts/source/policy/irc-index.rst @@ -0,0 +1,5 @@ +.. This is a stub doc to which the build process can append. + +IRC Policy Scripts +================== + diff --git a/doc/scripts/source/policy/metrics-index.rst b/doc/scripts/source/policy/metrics-index.rst new file mode 100644 index 0000000000..3cef07d231 --- /dev/null +++ b/doc/scripts/source/policy/metrics-index.rst @@ -0,0 +1,5 @@ +.. This is a stub doc to which the build process can append. + +Metrics Policy Scripts +====================== + diff --git a/doc/scripts/source/policy/mime-index.rst b/doc/scripts/source/policy/mime-index.rst new file mode 100644 index 0000000000..87d73dd392 --- /dev/null +++ b/doc/scripts/source/policy/mime-index.rst @@ -0,0 +1,5 @@ +.. This is a stub doc to which the build process can append. + +MIME Policy Scripts +=================== + diff --git a/doc/scripts/source/policy/sig-index.rst b/doc/scripts/source/policy/sig-index.rst new file mode 100644 index 0000000000..2ba63ea28c --- /dev/null +++ b/doc/scripts/source/policy/sig-index.rst @@ -0,0 +1,5 @@ +.. This is a stub doc to which the build process can append. + +Signature Policy Scripts +======================== + diff --git a/doc/scripts/source/policy/smtp-index.rst b/doc/scripts/source/policy/smtp-index.rst new file mode 100644 index 0000000000..ba0b29996c --- /dev/null +++ b/doc/scripts/source/policy/smtp-index.rst @@ -0,0 +1,5 @@ +.. This is a stub doc to which the build process can append. + +SMTP Policy Scripts +=================== + diff --git a/doc/scripts/source/policy/software-index.rst b/doc/scripts/source/policy/software-index.rst new file mode 100644 index 0000000000..01683de20b --- /dev/null +++ b/doc/scripts/source/policy/software-index.rst @@ -0,0 +1,5 @@ +.. This is a stub doc to which the build process can append. + +Software Policy Scripts +======================= + diff --git a/doc/scripts/source/policy/ssh-index.rst b/doc/scripts/source/policy/ssh-index.rst new file mode 100644 index 0000000000..31c3455f3d --- /dev/null +++ b/doc/scripts/source/policy/ssh-index.rst @@ -0,0 +1,5 @@ +.. This is a stub doc to which the build process can append. + +SSH Policy Scripts +================== + diff --git a/doc/scripts/source/policy/ssl-index.rst b/doc/scripts/source/policy/ssl-index.rst new file mode 100644 index 0000000000..348b91584c --- /dev/null +++ b/doc/scripts/source/policy/ssl-index.rst @@ -0,0 +1,5 @@ +.. This is a stub doc to which the build process can append. + +SSL Policy Scripts +================== + diff --git a/doc/scripts/source/user.rst b/doc/scripts/source/user.rst index 7a3bba29cb..3d5804b7df 100644 --- a/doc/scripts/source/user.rst +++ b/doc/scripts/source/user.rst @@ -1,3 +1,5 @@ -User-Facing Policy Scripts -========================== +.. This is a stub doc to which the build process can append. + +Other User-Facing Policy Scripts +================================ diff --git a/policy/OS-fingerprint.bro b/policy.old/OS-fingerprint.bro similarity index 100% rename from policy/OS-fingerprint.bro rename to policy.old/OS-fingerprint.bro diff --git a/policy/adu.bro b/policy.old/adu.bro similarity index 100% rename from policy/adu.bro rename to policy.old/adu.bro diff --git a/policy/alarm.bro b/policy.old/alarm.bro similarity index 100% rename from policy/alarm.bro rename to policy.old/alarm.bro diff --git a/policy.old/all.bro b/policy.old/all.bro new file mode 100644 index 0000000000..4bbe3e8afe --- /dev/null +++ b/policy.old/all.bro @@ -0,0 +1,141 @@ +@load heavy-analysis +@load OS-fingerprint +@load adu +@load alarm +@load analy +@load anon +@load arp +@load backdoor +@load bittorrent +@load blaster +@load bt-tracker +@load brolite-backdoor +@load capture-events +@load capture-loss +@load capture-state-updates +@load checkpoint +@load clear-passwords +@load conn-flood +@load conn-id +@load conn +@load contents +@load cpu-adapt +@load dce +@load demux +@load detect-protocols-http +@load detect-protocols +@load dhcp +@load dns-info +@load dns-lookup +@load dns +@load dpd +@load drop-adapt +@load dyn-disable +@load file-flush +@load finger +@load firewall +@load flag-irc +@load flag-warez +@load frag +@load ftp +@load gnutella +@load hot-ids +@load hot +@load http-abstract +@load http-anon-server +@load http-anon-useragent +@load http-anon-utils +@load http-body +@load http-detect-passwd +@load http-entity +@load http-event +@load http-header +@load http-identified-files.bro +@load http-reply +@load http-request +@load http-rewriter +@load http +@load icmp +@load ident-rewriter +@load ident +@load inactivity +@load interconn +@load irc-bot-syslog +@load irc-bot +@load irc +@load large-conns +@load listen-clear +@load listen-ssl +@load load-level +@load load-sample +@load log-append +@load login +@load mime-pop +@load mime +@load mt +@load ncp +@load netflow +@load netstats +@load nfs +@load notice-action-filters +@load notice +@load ntp +@load passwords +@load pcap +@load pkt-profile +@load pop3 +@load port-name +@load portmapper +@load print-filter +@load print-globals +@load print-resources +@load print-sig-states +@load profiling +@load proxy +@load remote-pcap +@load remote-ping +@load remote-print-id-reply +@load remote-print-id +@load remote-print +@load remote-report-notices +@load remote-send-id +@load remote +@load rotate-logs +@load rsh +@load scan +@load secondary-filter +@load sensor-sshd +@load server-ports +@load service-probe +@load signatures +@load site +@load smb +@load smtp-relay +@load smtp-rewriter +@load smtp +@load snort +@load software +@load ssh +@load ssh-stepping +@load ssl-alerts +@load ssl-ciphers +@load ssl-errors +@load ssl-worm +@load ssl +@load stats +@load stepping +@load synflood +@load targeted-scan +@load tcp +@load tftp +@load trw-impl +@load trw +@load udp-common +@load udp +@load vlan +@load weird +@load worm +@load notice-policy + +# The following keeps us running after the bro_init event. +redef PrintFilter::terminate_bro = F; diff --git a/policy/analy.bro b/policy.old/analy.bro similarity index 100% rename from policy/analy.bro rename to policy.old/analy.bro diff --git a/policy/anon.bro b/policy.old/anon.bro similarity index 100% rename from policy/anon.bro rename to policy.old/anon.bro diff --git a/policy/arp.bro b/policy.old/arp.bro similarity index 100% rename from policy/arp.bro rename to policy.old/arp.bro diff --git a/policy/backdoor.bro b/policy.old/backdoor.bro similarity index 100% rename from policy/backdoor.bro rename to policy.old/backdoor.bro diff --git a/policy/bittorrent.bro b/policy.old/bittorrent.bro similarity index 100% rename from policy/bittorrent.bro rename to policy.old/bittorrent.bro diff --git a/policy/blaster.bro b/policy.old/blaster.bro similarity index 100% rename from policy/blaster.bro rename to policy.old/blaster.bro diff --git a/policy/brolite-backdoor.bro b/policy.old/brolite-backdoor.bro similarity index 100% rename from policy/brolite-backdoor.bro rename to policy.old/brolite-backdoor.bro diff --git a/policy/brolite-sigs.bro b/policy.old/brolite-sigs.bro similarity index 100% rename from policy/brolite-sigs.bro rename to policy.old/brolite-sigs.bro diff --git a/policy/brolite.bro b/policy.old/brolite.bro similarity index 100% rename from policy/brolite.bro rename to policy.old/brolite.bro diff --git a/policy/bt-tracker.bro b/policy.old/bt-tracker.bro similarity index 100% rename from policy/bt-tracker.bro rename to policy.old/bt-tracker.bro diff --git a/policy/capture-events.bro b/policy.old/capture-events.bro similarity index 100% rename from policy/capture-events.bro rename to policy.old/capture-events.bro diff --git a/policy/capture-loss.bro b/policy.old/capture-loss.bro similarity index 100% rename from policy/capture-loss.bro rename to policy.old/capture-loss.bro diff --git a/policy/capture-state-updates.bro b/policy.old/capture-state-updates.bro similarity index 100% rename from policy/capture-state-updates.bro rename to policy.old/capture-state-updates.bro diff --git a/policy/checkpoint.bro b/policy.old/checkpoint.bro similarity index 100% rename from policy/checkpoint.bro rename to policy.old/checkpoint.bro diff --git a/policy/clear-passwords.bro b/policy.old/clear-passwords.bro similarity index 100% rename from policy/clear-passwords.bro rename to policy.old/clear-passwords.bro diff --git a/policy/conn-flood.bro b/policy.old/conn-flood.bro similarity index 100% rename from policy/conn-flood.bro rename to policy.old/conn-flood.bro diff --git a/policy/conn-id.bro b/policy.old/conn-id.bro similarity index 100% rename from policy/conn-id.bro rename to policy.old/conn-id.bro diff --git a/policy/conn.bro b/policy.old/conn.bro similarity index 90% rename from policy/conn.bro rename to policy.old/conn.bro index 1c9b434ff4..6491c9b8e1 100644 --- a/policy/conn.bro +++ b/policy.old/conn.bro @@ -15,22 +15,13 @@ const conn_closed = { TCP_CLOSED, TCP_RESET }; global have_FTP = F; # if true, we've loaded ftp.bro global have_SMTP = F; # if true, we've loaded smtp.bro -# TODO: Do we have a nicer way of defining this prototype? +# TODO: Do we have a nicer way of doing this? export { global FTP::is_ftp_data_conn: function(c: connection): bool; } # Whether to include connection state history in the logs generated # by record_connection. const record_state_history = F &redef; -# Whether to add 4 more columns to conn.log with -# orig_packet orig_ip_bytes resp_packets resp_ip_bytes -# Requires use_conn_size_analyzer=T -# Columns are added after history but before addl -const report_conn_size_analyzer = F &redef; - -# Activate conn-size analyzer if necessary. -redef use_conn_size_analyzer = (! report_conn_size_analyzer); - # Whether to translate the local address in SensitiveConnection notices # to a hostname. Meant as a demonstration of the "when" construct. const xlate_hot_local_addr = F &redef; @@ -105,12 +96,6 @@ function conn_size(e: endpoint, trans: transport_proto): string return "?"; } -function conn_size_from_analyzer(e: endpoint): string - { - return fmt("%d %d", (e?$num_pkts) ? e$num_pkts : 0, - (e?$num_bytes_ip) ? e$num_bytes_ip : 0); - } - function service_name(c: connection): string { local p = c$id$resp_p; @@ -319,35 +304,12 @@ function record_connection(f: file, c: connection) log_msg = fmt("%s %s", log_msg, c$history == "" ? "X" : c$history); - if ( use_conn_size_analyzer && report_conn_size_analyzer ) - log_msg = fmt("%s %s %s", log_msg, - conn_size_from_analyzer(c$orig), conn_size_from_analyzer(c$resp)); - if ( addl != "" ) log_msg = fmt("%s %s", log_msg, addl); print f, log_msg; } -event protocol_confirmation(c: connection, atype: count, aid: count) - { - if ( ! dpd_conn_logs ) - return; - - delete c$service[fmt("-%s",analyzer_name(atype))]; - add c$service[analyzer_name(atype)]; - } - -event protocol_violation(c: connection, atype: count, aid: count, - reason: string) &priority = 10 - { - if ( ! dpd_conn_logs ) - return; - - delete c$service[analyzer_name(atype)]; - add c$service[fmt("-%s",analyzer_name(atype))]; - } - event connection_established(c: connection) { Hot::check_hot(c, Hot::CONN_ESTABLISHED); diff --git a/policy/contents.bro b/policy.old/contents.bro similarity index 100% rename from policy/contents.bro rename to policy.old/contents.bro diff --git a/policy/cpu-adapt.bro b/policy.old/cpu-adapt.bro similarity index 100% rename from policy/cpu-adapt.bro rename to policy.old/cpu-adapt.bro diff --git a/policy/dce.bro b/policy.old/dce.bro similarity index 100% rename from policy/dce.bro rename to policy.old/dce.bro diff --git a/policy/demux.bro b/policy.old/demux.bro similarity index 100% rename from policy/demux.bro rename to policy.old/demux.bro diff --git a/policy/detect-protocols-http.bro b/policy.old/detect-protocols-http.bro similarity index 100% rename from policy/detect-protocols-http.bro rename to policy.old/detect-protocols-http.bro diff --git a/policy/detect-protocols.bro b/policy.old/detect-protocols.bro similarity index 100% rename from policy/detect-protocols.bro rename to policy.old/detect-protocols.bro diff --git a/policy/dhcp.bro b/policy.old/dhcp.bro similarity index 100% rename from policy/dhcp.bro rename to policy.old/dhcp.bro diff --git a/policy/dns-info.bro b/policy.old/dns-info.bro similarity index 100% rename from policy/dns-info.bro rename to policy.old/dns-info.bro diff --git a/policy/dns-lookup.bro b/policy.old/dns-lookup.bro similarity index 100% rename from policy/dns-lookup.bro rename to policy.old/dns-lookup.bro diff --git a/policy/dns.bro b/policy.old/dns.bro similarity index 100% rename from policy/dns.bro rename to policy.old/dns.bro diff --git a/policy/drop-adapt.bro b/policy.old/drop-adapt.bro similarity index 100% rename from policy/drop-adapt.bro rename to policy.old/drop-adapt.bro diff --git a/policy/drop.bro b/policy.old/drop.bro similarity index 100% rename from policy/drop.bro rename to policy.old/drop.bro diff --git a/policy/dyn-disable.bro b/policy.old/dyn-disable.bro similarity index 100% rename from policy/dyn-disable.bro rename to policy.old/dyn-disable.bro diff --git a/policy/file-flush.bro b/policy.old/file-flush.bro similarity index 100% rename from policy/file-flush.bro rename to policy.old/file-flush.bro diff --git a/policy/finger.bro b/policy.old/finger.bro similarity index 100% rename from policy/finger.bro rename to policy.old/finger.bro diff --git a/policy/firewall.bro b/policy.old/firewall.bro similarity index 100% rename from policy/firewall.bro rename to policy.old/firewall.bro diff --git a/policy/flag-irc.bro b/policy.old/flag-irc.bro similarity index 100% rename from policy/flag-irc.bro rename to policy.old/flag-irc.bro diff --git a/policy/flag-warez.bro b/policy.old/flag-warez.bro similarity index 100% rename from policy/flag-warez.bro rename to policy.old/flag-warez.bro diff --git a/policy/frag.bro b/policy.old/frag.bro similarity index 100% rename from policy/frag.bro rename to policy.old/frag.bro diff --git a/policy/ftp-reply-pattern.bro b/policy.old/ftp-reply-pattern.bro similarity index 100% rename from policy/ftp-reply-pattern.bro rename to policy.old/ftp-reply-pattern.bro diff --git a/policy/ftp-safe-words.bro b/policy.old/ftp-safe-words.bro similarity index 100% rename from policy/ftp-safe-words.bro rename to policy.old/ftp-safe-words.bro diff --git a/policy/gnutella.bro b/policy.old/gnutella.bro similarity index 100% rename from policy/gnutella.bro rename to policy.old/gnutella.bro diff --git a/policy/hand-over.bro b/policy.old/hand-over.bro similarity index 100% rename from policy/hand-over.bro rename to policy.old/hand-over.bro diff --git a/policy/heavy-analysis.bro b/policy.old/heavy-analysis.bro similarity index 100% rename from policy/heavy-analysis.bro rename to policy.old/heavy-analysis.bro diff --git a/policy/heavy.irc.bro b/policy.old/heavy.irc.bro similarity index 100% rename from policy/heavy.irc.bro rename to policy.old/heavy.irc.bro diff --git a/policy/heavy.scan.bro b/policy.old/heavy.scan.bro similarity index 100% rename from policy/heavy.scan.bro rename to policy.old/heavy.scan.bro diff --git a/policy/heavy.software.bro b/policy.old/heavy.software.bro similarity index 100% rename from policy/heavy.software.bro rename to policy.old/heavy.software.bro diff --git a/policy/heavy.trw.bro b/policy.old/heavy.trw.bro similarity index 100% rename from policy/heavy.trw.bro rename to policy.old/heavy.trw.bro diff --git a/policy/hot-ids.bro b/policy.old/hot-ids.bro similarity index 100% rename from policy/hot-ids.bro rename to policy.old/hot-ids.bro diff --git a/policy/hot.bro b/policy.old/hot.bro similarity index 100% rename from policy/hot.bro rename to policy.old/hot.bro diff --git a/policy/http-abstract.bro b/policy.old/http-abstract.bro similarity index 100% rename from policy/http-abstract.bro rename to policy.old/http-abstract.bro diff --git a/policy/http-anon-server.bro b/policy.old/http-anon-server.bro similarity index 100% rename from policy/http-anon-server.bro rename to policy.old/http-anon-server.bro diff --git a/policy/http-anon-useragent.bro b/policy.old/http-anon-useragent.bro similarity index 100% rename from policy/http-anon-useragent.bro rename to policy.old/http-anon-useragent.bro diff --git a/policy/http-anon-utils.bro b/policy.old/http-anon-utils.bro similarity index 100% rename from policy/http-anon-utils.bro rename to policy.old/http-anon-utils.bro diff --git a/policy/http-body.bro b/policy.old/http-body.bro similarity index 100% rename from policy/http-body.bro rename to policy.old/http-body.bro diff --git a/policy/http-detect-passwd.bro b/policy.old/http-detect-passwd.bro similarity index 100% rename from policy/http-detect-passwd.bro rename to policy.old/http-detect-passwd.bro diff --git a/policy/http-entity.bro b/policy.old/http-entity.bro similarity index 100% rename from policy/http-entity.bro rename to policy.old/http-entity.bro diff --git a/policy/http-event.bro b/policy.old/http-event.bro similarity index 100% rename from policy/http-event.bro rename to policy.old/http-event.bro diff --git a/policy/http-extract-items.bro b/policy.old/http-extract-items.bro similarity index 100% rename from policy/http-extract-items.bro rename to policy.old/http-extract-items.bro diff --git a/policy/http-header.bro b/policy.old/http-header.bro similarity index 100% rename from policy/http-header.bro rename to policy.old/http-header.bro diff --git a/policy/http-identified-files.bro b/policy.old/http-identified-files.bro similarity index 100% rename from policy/http-identified-files.bro rename to policy.old/http-identified-files.bro diff --git a/policy/http-reply.bro b/policy.old/http-reply.bro similarity index 100% rename from policy/http-reply.bro rename to policy.old/http-reply.bro diff --git a/policy/http-request.bro b/policy.old/http-request.bro similarity index 100% rename from policy/http-request.bro rename to policy.old/http-request.bro diff --git a/policy/http.bro b/policy.old/http.bro similarity index 100% rename from policy/http.bro rename to policy.old/http.bro diff --git a/policy/icmp.bro b/policy.old/icmp.bro similarity index 100% rename from policy/icmp.bro rename to policy.old/icmp.bro diff --git a/policy/ident.bro b/policy.old/ident.bro similarity index 100% rename from policy/ident.bro rename to policy.old/ident.bro diff --git a/policy/inactivity.bro b/policy.old/inactivity.bro similarity index 100% rename from policy/inactivity.bro rename to policy.old/inactivity.bro diff --git a/policy/interconn.bro b/policy.old/interconn.bro similarity index 100% rename from policy/interconn.bro rename to policy.old/interconn.bro diff --git a/policy/irc-bot-syslog.bro b/policy.old/irc-bot-syslog.bro similarity index 100% rename from policy/irc-bot-syslog.bro rename to policy.old/irc-bot-syslog.bro diff --git a/policy/irc-bot.bro b/policy.old/irc-bot.bro similarity index 100% rename from policy/irc-bot.bro rename to policy.old/irc-bot.bro diff --git a/policy/irc.bro b/policy.old/irc.bro similarity index 100% rename from policy/irc.bro rename to policy.old/irc.bro diff --git a/policy/large-conns.bro b/policy.old/large-conns.bro similarity index 100% rename from policy/large-conns.bro rename to policy.old/large-conns.bro diff --git a/policy/listen-clear.bro b/policy.old/listen-clear.bro similarity index 100% rename from policy/listen-clear.bro rename to policy.old/listen-clear.bro diff --git a/policy/listen-ssl.bro b/policy.old/listen-ssl.bro similarity index 100% rename from policy/listen-ssl.bro rename to policy.old/listen-ssl.bro diff --git a/policy/load-level.bro b/policy.old/load-level.bro similarity index 100% rename from policy/load-level.bro rename to policy.old/load-level.bro diff --git a/policy/load-sample.bro b/policy.old/load-sample.bro similarity index 100% rename from policy/load-sample.bro rename to policy.old/load-sample.bro diff --git a/policy/log-append.bro b/policy.old/log-append.bro similarity index 100% rename from policy/log-append.bro rename to policy.old/log-append.bro diff --git a/policy/login.bro b/policy.old/login.bro similarity index 100% rename from policy/login.bro rename to policy.old/login.bro diff --git a/policy/mime-pop.bro b/policy.old/mime-pop.bro similarity index 100% rename from policy/mime-pop.bro rename to policy.old/mime-pop.bro diff --git a/policy/mt.bro b/policy.old/mt.bro similarity index 100% rename from policy/mt.bro rename to policy.old/mt.bro diff --git a/policy/ncp.bro b/policy.old/ncp.bro similarity index 100% rename from policy/ncp.bro rename to policy.old/ncp.bro diff --git a/policy/netflow.bro b/policy.old/netflow.bro similarity index 100% rename from policy/netflow.bro rename to policy.old/netflow.bro diff --git a/policy/netstats.bro b/policy.old/netstats.bro similarity index 100% rename from policy/netstats.bro rename to policy.old/netstats.bro diff --git a/policy/nfs.bro b/policy.old/nfs.bro similarity index 100% rename from policy/nfs.bro rename to policy.old/nfs.bro diff --git a/policy/notice-policy.bro b/policy.old/notice-policy.bro similarity index 100% rename from policy/notice-policy.bro rename to policy.old/notice-policy.bro diff --git a/policy/ntp.bro b/policy.old/ntp.bro similarity index 100% rename from policy/ntp.bro rename to policy.old/ntp.bro diff --git a/policy/passwords.bro b/policy.old/passwords.bro similarity index 100% rename from policy/passwords.bro rename to policy.old/passwords.bro diff --git a/policy/peer-status.bro b/policy.old/peer-status.bro similarity index 100% rename from policy/peer-status.bro rename to policy.old/peer-status.bro diff --git a/policy/pkt-profile.bro b/policy.old/pkt-profile.bro similarity index 100% rename from policy/pkt-profile.bro rename to policy.old/pkt-profile.bro diff --git a/policy/pop3.bro b/policy.old/pop3.bro similarity index 100% rename from policy/pop3.bro rename to policy.old/pop3.bro diff --git a/policy/port-name.bro b/policy.old/port-name.bro similarity index 100% rename from policy/port-name.bro rename to policy.old/port-name.bro diff --git a/policy/portmapper.bro b/policy.old/portmapper.bro similarity index 100% rename from policy/portmapper.bro rename to policy.old/portmapper.bro diff --git a/policy/print-filter.bro b/policy.old/print-filter.bro similarity index 100% rename from policy/print-filter.bro rename to policy.old/print-filter.bro diff --git a/policy/print-globals.bro b/policy.old/print-globals.bro similarity index 100% rename from policy/print-globals.bro rename to policy.old/print-globals.bro diff --git a/policy/print-resources.bro b/policy.old/print-resources.bro similarity index 100% rename from policy/print-resources.bro rename to policy.old/print-resources.bro diff --git a/policy/print-sig-states.bro b/policy.old/print-sig-states.bro similarity index 100% rename from policy/print-sig-states.bro rename to policy.old/print-sig-states.bro diff --git a/policy/profiling.bro b/policy.old/profiling.bro similarity index 100% rename from policy/profiling.bro rename to policy.old/profiling.bro diff --git a/policy/proxy.bro b/policy.old/proxy.bro similarity index 100% rename from policy/proxy.bro rename to policy.old/proxy.bro diff --git a/policy/remote-pcap.bro b/policy.old/remote-pcap.bro similarity index 100% rename from policy/remote-pcap.bro rename to policy.old/remote-pcap.bro diff --git a/policy/remote-ping.bro b/policy.old/remote-ping.bro similarity index 100% rename from policy/remote-ping.bro rename to policy.old/remote-ping.bro diff --git a/policy/remote-print-id-reply.bro b/policy.old/remote-print-id-reply.bro similarity index 100% rename from policy/remote-print-id-reply.bro rename to policy.old/remote-print-id-reply.bro diff --git a/policy/remote-print-id.bro b/policy.old/remote-print-id.bro similarity index 100% rename from policy/remote-print-id.bro rename to policy.old/remote-print-id.bro diff --git a/policy/remote-print.bro b/policy.old/remote-print.bro similarity index 100% rename from policy/remote-print.bro rename to policy.old/remote-print.bro diff --git a/policy/remote-report-notices.bro b/policy.old/remote-report-notices.bro similarity index 100% rename from policy/remote-report-notices.bro rename to policy.old/remote-report-notices.bro diff --git a/policy/remote-send-id.bro b/policy.old/remote-send-id.bro similarity index 100% rename from policy/remote-send-id.bro rename to policy.old/remote-send-id.bro diff --git a/policy/remote.bro b/policy.old/remote.bro similarity index 100% rename from policy/remote.bro rename to policy.old/remote.bro diff --git a/policy/rotate-logs.bro b/policy.old/rotate-logs.bro similarity index 100% rename from policy/rotate-logs.bro rename to policy.old/rotate-logs.bro diff --git a/policy/rsh.bro b/policy.old/rsh.bro similarity index 100% rename from policy/rsh.bro rename to policy.old/rsh.bro diff --git a/policy/save-peer-status.bro b/policy.old/save-peer-status.bro similarity index 100% rename from policy/save-peer-status.bro rename to policy.old/save-peer-status.bro diff --git a/policy/scan.bro b/policy.old/scan.bro similarity index 100% rename from policy/scan.bro rename to policy.old/scan.bro diff --git a/policy/secondary-filter.bro b/policy.old/secondary-filter.bro similarity index 100% rename from policy/secondary-filter.bro rename to policy.old/secondary-filter.bro diff --git a/policy/sensor-sshd.bro b/policy.old/sensor-sshd.bro similarity index 100% rename from policy/sensor-sshd.bro rename to policy.old/sensor-sshd.bro diff --git a/policy/service-probe.bro b/policy.old/service-probe.bro similarity index 100% rename from policy/service-probe.bro rename to policy.old/service-probe.bro diff --git a/policy/sigs/http-bots.sig b/policy.old/sigs/http-bots.sig similarity index 100% rename from policy/sigs/http-bots.sig rename to policy.old/sigs/http-bots.sig diff --git a/policy/sigs/p0fsyn.osf b/policy.old/sigs/p0fsyn.osf similarity index 100% rename from policy/sigs/p0fsyn.osf rename to policy.old/sigs/p0fsyn.osf diff --git a/policy/smb.bro b/policy.old/smb.bro similarity index 100% rename from policy/smb.bro rename to policy.old/smb.bro diff --git a/policy/smtp-relay.bro b/policy.old/smtp-relay.bro similarity index 100% rename from policy/smtp-relay.bro rename to policy.old/smtp-relay.bro diff --git a/policy/smtp.bro b/policy.old/smtp.bro similarity index 98% rename from policy/smtp.bro rename to policy.old/smtp.bro index 7baeff9a21..cddb926456 100644 --- a/policy/smtp.bro +++ b/policy.old/smtp.bro @@ -505,9 +505,15 @@ event connection_state_remove(c: connection) } } +global rewrite_smtp_header_line: + function(c: connection, is_orig: bool, + session: smtp_session_info, line: string); + function smtp_header_line(c: connection, is_orig: bool, session: smtp_session_info, line: string) { + if ( rewriting_smtp_trace ) + rewrite_smtp_header_line(c, is_orig, session, line); } function smtp_body_line(c: connection, is_orig: bool, diff --git a/policy/snort.bro b/policy.old/snort.bro similarity index 100% rename from policy/snort.bro rename to policy.old/snort.bro diff --git a/policy/ssh-stepping.bro b/policy.old/ssh-stepping.bro similarity index 100% rename from policy/ssh-stepping.bro rename to policy.old/ssh-stepping.bro diff --git a/policy/ssl-alerts.bro b/policy.old/ssl-alerts.bro similarity index 100% rename from policy/ssl-alerts.bro rename to policy.old/ssl-alerts.bro diff --git a/policy/ssl-worm.bro b/policy.old/ssl-worm.bro similarity index 100% rename from policy/ssl-worm.bro rename to policy.old/ssl-worm.bro diff --git a/policy/stats.bro b/policy.old/stats.bro similarity index 100% rename from policy/stats.bro rename to policy.old/stats.bro diff --git a/policy/stepping.bro b/policy.old/stepping.bro similarity index 100% rename from policy/stepping.bro rename to policy.old/stepping.bro diff --git a/policy/summaries/app-summary.bro b/policy.old/summaries/app-summary.bro similarity index 100% rename from policy/summaries/app-summary.bro rename to policy.old/summaries/app-summary.bro diff --git a/policy/summaries/conn-app-reduced.bro b/policy.old/summaries/conn-app-reduced.bro similarity index 100% rename from policy/summaries/conn-app-reduced.bro rename to policy.old/summaries/conn-app-reduced.bro diff --git a/policy/summaries/conn-app.bro b/policy.old/summaries/conn-app.bro similarity index 100% rename from policy/summaries/conn-app.bro rename to policy.old/summaries/conn-app.bro diff --git a/policy/summaries/conn-size.bro b/policy.old/summaries/conn-size.bro similarity index 100% rename from policy/summaries/conn-size.bro rename to policy.old/summaries/conn-size.bro diff --git a/policy/summaries/conn-summary.bro b/policy.old/summaries/conn-summary.bro similarity index 100% rename from policy/summaries/conn-summary.bro rename to policy.old/summaries/conn-summary.bro diff --git a/policy/summaries/conn-util.bro b/policy.old/summaries/conn-util.bro similarity index 100% rename from policy/summaries/conn-util.bro rename to policy.old/summaries/conn-util.bro diff --git a/policy/summaries/dce-rpc-summary.bro b/policy.old/summaries/dce-rpc-summary.bro similarity index 100% rename from policy/summaries/dce-rpc-summary.bro rename to policy.old/summaries/dce-rpc-summary.bro diff --git a/policy/summaries/dce-rpc-tag.bro b/policy.old/summaries/dce-rpc-tag.bro similarity index 100% rename from policy/summaries/dce-rpc-tag.bro rename to policy.old/summaries/dce-rpc-tag.bro diff --git a/policy/summaries/dns-common-summary.bro b/policy.old/summaries/dns-common-summary.bro similarity index 100% rename from policy/summaries/dns-common-summary.bro rename to policy.old/summaries/dns-common-summary.bro diff --git a/policy/summaries/dns-summary.bro b/policy.old/summaries/dns-summary.bro similarity index 100% rename from policy/summaries/dns-summary.bro rename to policy.old/summaries/dns-summary.bro diff --git a/policy/summaries/http-rps-summary.bro b/policy.old/summaries/http-rps-summary.bro similarity index 100% rename from policy/summaries/http-rps-summary.bro rename to policy.old/summaries/http-rps-summary.bro diff --git a/policy/summaries/http-summary.bro b/policy.old/summaries/http-summary.bro similarity index 100% rename from policy/summaries/http-summary.bro rename to policy.old/summaries/http-summary.bro diff --git a/policy/summaries/ipp-summary.bro b/policy.old/summaries/ipp-summary.bro similarity index 100% rename from policy/summaries/ipp-summary.bro rename to policy.old/summaries/ipp-summary.bro diff --git a/policy/summaries/ncp-summary.bro b/policy.old/summaries/ncp-summary.bro similarity index 100% rename from policy/summaries/ncp-summary.bro rename to policy.old/summaries/ncp-summary.bro diff --git a/policy/summaries/ncp-tag.bro b/policy.old/summaries/ncp-tag.bro similarity index 100% rename from policy/summaries/ncp-tag.bro rename to policy.old/summaries/ncp-tag.bro diff --git a/policy/summaries/netbios-ns-summary.bro b/policy.old/summaries/netbios-ns-summary.bro similarity index 100% rename from policy/summaries/netbios-ns-summary.bro rename to policy.old/summaries/netbios-ns-summary.bro diff --git a/policy/summaries/netbios-ssn-summary.bro b/policy.old/summaries/netbios-ssn-summary.bro similarity index 100% rename from policy/summaries/netbios-ssn-summary.bro rename to policy.old/summaries/netbios-ssn-summary.bro diff --git a/policy/summaries/nfs-summary.bro b/policy.old/summaries/nfs-summary.bro similarity index 100% rename from policy/summaries/nfs-summary.bro rename to policy.old/summaries/nfs-summary.bro diff --git a/policy/summaries/rexmit-summary.bro b/policy.old/summaries/rexmit-summary.bro similarity index 100% rename from policy/summaries/rexmit-summary.bro rename to policy.old/summaries/rexmit-summary.bro diff --git a/policy/summaries/smb-summary.bro b/policy.old/summaries/smb-summary.bro similarity index 100% rename from policy/summaries/smb-summary.bro rename to policy.old/summaries/smb-summary.bro diff --git a/policy/summaries/smb-tag.bro b/policy.old/summaries/smb-tag.bro similarity index 100% rename from policy/summaries/smb-tag.bro rename to policy.old/summaries/smb-tag.bro diff --git a/policy/summaries/sun-rpc-summary.bro b/policy.old/summaries/sun-rpc-summary.bro similarity index 100% rename from policy/summaries/sun-rpc-summary.bro rename to policy.old/summaries/sun-rpc-summary.bro diff --git a/policy/synflood.bro b/policy.old/synflood.bro similarity index 100% rename from policy/synflood.bro rename to policy.old/synflood.bro diff --git a/policy/targeted-scan.bro b/policy.old/targeted-scan.bro similarity index 100% rename from policy/targeted-scan.bro rename to policy.old/targeted-scan.bro diff --git a/policy/tcp.bro b/policy.old/tcp.bro similarity index 100% rename from policy/tcp.bro rename to policy.old/tcp.bro diff --git a/policy/terminate-connection.bro b/policy.old/terminate-connection.bro similarity index 82% rename from policy/terminate-connection.bro rename to policy.old/terminate-connection.bro index 8ee6c4f090..5242afaf6d 100644 --- a/policy/terminate-connection.bro +++ b/policy.old/terminate-connection.bro @@ -7,6 +7,18 @@ # it because it in turn loads us. global full_id_string: function(c: connection): string; +# TODO: this is a notice action filter but it shouldn't cause this +# script to be come a dependency on notice-action-filters.bro +# Figure out where to put this! +function drop_source_and_terminate(n: Notice::Info, a: Notice::Action): Notice::Action + { + if ( n?$conn ) + TerminateConnection::terminate_connection(n$conn); + + return NOTICE_DROP; + } + + module TerminateConnection; export { diff --git a/policy/tftp.bro b/policy.old/tftp.bro similarity index 100% rename from policy/tftp.bro rename to policy.old/tftp.bro diff --git a/policy/time-machine/time-machine.bro b/policy.old/time-machine/time-machine.bro similarity index 100% rename from policy/time-machine/time-machine.bro rename to policy.old/time-machine/time-machine.bro diff --git a/policy/time-machine/tm-capture.bro b/policy.old/time-machine/tm-capture.bro similarity index 100% rename from policy/time-machine/tm-capture.bro rename to policy.old/time-machine/tm-capture.bro diff --git a/policy/time-machine/tm-class.bro b/policy.old/time-machine/tm-class.bro similarity index 100% rename from policy/time-machine/tm-class.bro rename to policy.old/time-machine/tm-class.bro diff --git a/policy/time-machine/tm-contents.bro b/policy.old/time-machine/tm-contents.bro similarity index 100% rename from policy/time-machine/tm-contents.bro rename to policy.old/time-machine/tm-contents.bro diff --git a/policy/time-machine/tm-ftp.bro b/policy.old/time-machine/tm-ftp.bro similarity index 100% rename from policy/time-machine/tm-ftp.bro rename to policy.old/time-machine/tm-ftp.bro diff --git a/policy/time-machine/tm-gap.bro b/policy.old/time-machine/tm-gap.bro similarity index 100% rename from policy/time-machine/tm-gap.bro rename to policy.old/time-machine/tm-gap.bro diff --git a/policy/time-machine/tm-http.bro b/policy.old/time-machine/tm-http.bro similarity index 100% rename from policy/time-machine/tm-http.bro rename to policy.old/time-machine/tm-http.bro diff --git a/policy/trw-impl.bro b/policy.old/trw-impl.bro similarity index 100% rename from policy/trw-impl.bro rename to policy.old/trw-impl.bro diff --git a/policy/trw.bro b/policy.old/trw.bro similarity index 100% rename from policy/trw.bro rename to policy.old/trw.bro diff --git a/policy/udp-common.bro b/policy.old/udp-common.bro similarity index 100% rename from policy/udp-common.bro rename to policy.old/udp-common.bro diff --git a/policy/udp.bro b/policy.old/udp.bro similarity index 100% rename from policy/udp.bro rename to policy.old/udp.bro diff --git a/policy/weird.bro b/policy.old/weird.bro similarity index 100% rename from policy/weird.bro rename to policy.old/weird.bro diff --git a/policy/worm.bro b/policy.old/worm.bro similarity index 100% rename from policy/worm.bro rename to policy.old/worm.bro diff --git a/policy/all.bro b/policy/all.bro index 637e0a3391..242e7df36a 100644 --- a/policy/all.bro +++ b/policy/all.bro @@ -1,138 +1,22 @@ -@load heavy-analysis -@load OS-fingerprint -@load adu -@load alarm -@load analy -@load anon -@load arp -@load backdoor -@load bittorrent -@load blaster -@load bt-tracker -@load brolite-backdoor -@load capture-events -@load capture-loss -@load capture-state-updates -@load checkpoint -@load clear-passwords -@load conn-flood -@load conn-id -@load conn -@load contents -@load cpu-adapt -@load dce -@load demux -@load detect-protocols-http -@load detect-protocols -@load dhcp -@load dns-info -@load dns-lookup -@load dns -@load dpd -@load drop-adapt -@load dyn-disable -@load file-flush -@load finger -@load firewall -@load flag-irc -@load flag-warez -@load frag -@load ftp -@load gnutella -@load hot-ids -@load hot -@load http-abstract -@load http-anon-server -@load http-anon-useragent -@load http-anon-utils -@load http-body -@load http-detect-passwd -@load http-entity -@load http-event -@load http-header -@load http-identified-files.bro -@load http-reply -@load http-request -@load http -@load icmp -@load ident -@load inactivity -@load interconn -@load irc-bot-syslog -@load irc-bot -@load irc -@load large-conns -@load listen-clear -@load listen-ssl -@load load-level -@load load-sample -@load log-append -@load login -@load mime-pop -@load mime -@load mt -@load ncp -@load netflow -@load netstats -@load nfs -@load notice-action-filters -@load notice -@load ntp -@load passwords -@load pcap -@load pkt-profile -@load pop3 -@load port-name -@load portmapper -@load print-filter -@load print-globals -@load print-resources -@load print-sig-states -@load profiling -@load proxy -@load remote-pcap -@load remote-ping -@load remote-print-id-reply -@load remote-print-id -@load remote-print -@load remote-report-notices -@load remote-send-id -@load remote -@load rotate-logs -@load rsh -@load scan -@load secondary-filter -@load sensor-sshd -@load server-ports -@load service-probe -@load signatures -@load site -@load smb -@load smtp-relay -@load smtp -@load snort -@load software -@load ssh -@load ssh-stepping -@load ssl-alerts -@load ssl-ciphers -@load ssl-errors -@load ssl-worm -@load ssl -@load stats -@load stepping -@load synflood -@load targeted-scan -@load tcp -@load tftp -@load trw-impl -@load trw -@load udp-common -@load udp -@load vlan -@load weird -@load worm -@load notice-policy +##! This script only aims at loading all of the base analysis scripts. -# The following keeps us running after the bro_init event. -redef PrintFilter::terminate_bro = F; +@load conn +@load dns +@load ftp +@load http +@load irc +@load mime +@load smtp +@load ssh +#@load ssl +@load syslog + +#@load communication +@load metrics +@load notice +@load signatures +@load software + +@load detectors/http-MHR + +@load tuning/defaults \ No newline at end of file diff --git a/policy/bro.init b/policy/bro.init index 43f26097f1..18f3c09cc1 100644 --- a/policy/bro.init +++ b/policy/bro.init @@ -1,16 +1,10 @@ -# $Id: bro.init 6887 2009-08-20 05:17:33Z vern $ - @load const.bif.bro @load types.bif.bro -global bro_signal: event(signal: count); - -# Called (one day) if there's no handler for an internal event. -global no_handler: event(name: string, val: any); - # Type declarations type string_array: table[count] of string; type string_set: set[string]; +type addr_set: set[addr]; type count_set: set[count]; type index_vec: vector of count; type string_vec: vector of string; @@ -49,8 +43,6 @@ type icmp_context: record { DF: bool; }; -type addr_set: set[addr]; - type dns_mapping: record { creation_time: time; @@ -191,6 +183,13 @@ type script_id: record { value: any &optional; }; +# The following two variables are defined here until the core is not +# dependent on the names remaining as they are now. +## This is the list of capture filters indexed by some user-definable ID. +global capture_filters: table[string] of string &redef; +## This is the list of restriction filters indexed by some user-definable ID. +global restrict_filters: table[string] of string &redef; + type id_table: table[string] of script_id; # {precompile,install}_pcap_filter identify the filter by IDs @@ -274,12 +273,12 @@ type pcap_packet: record { # GeoIP support. type geo_location: record { - country_code: string; - region: string; - city: string; - latitude: double; - longitude: double; -}; + country_code: string &optional; + region: string &optional; + city: string &optional; + latitude: double &optional; + longitude: double &optional; +} &log; type entropy_test_result: record { entropy: double; @@ -294,7 +293,6 @@ type entropy_test_result: record { @load bro.bif.bro @load logging # sic! Not logging.bif. -@load logging-ascii global bro_alarm_file: file &redef; global alarm_hook: function(msg: string): bool &redef; @@ -310,16 +308,6 @@ const state_write_delay = 0.01 secs &redef; global done_with_network = F; event net_done(t: time) { done_with_network = T; } -const SIGHUP = 1; -event bro_signal(signal: count) - { - if ( signal == SIGHUP ) - { - flush_all(); - checkpoint_state(); - } - } - function log_file_name(tag: string): string { local suffix = getenv("BRO_LOG_SUFFIX") == "" ? "log" : getenv("BRO_LOG_SUFFIX"); @@ -338,7 +326,6 @@ function add_interface(iold: string, inew: string): string else return fmt("%s %s", iold, inew); } - global interfaces = "" &add_func = add_interface; function add_signature_file(sold: string, snew: string): string @@ -348,22 +335,22 @@ function add_signature_file(sold: string, snew: string): string else return cat(sold, " ", snew); } - global signature_files = "" &add_func = add_signature_file; -const passive_fingerprint_file = "sigs/p0fsyn" &redef; +const passive_fingerprint_file = "signatures/p0f.fp" &redef; -const ftp = 21/tcp; -const ssh = 22/tcp; -const telnet = 23/tcp; -const smtp = 25/tcp; -const domain = 53/tcp; # note, doesn't include UDP version -const gopher = 70/tcp; -const finger = 79/tcp; -const http = 80/tcp; -const ident = 113/tcp; -const bgp = 179/tcp; -const rlogin = 513/tcp; +# TODO: testing to see if I can remove these without causing problems. +#const ftp = 21/tcp; +#const ssh = 22/tcp; +#const telnet = 23/tcp; +#const smtp = 25/tcp; +#const domain = 53/tcp; # note, doesn't include UDP version +#const gopher = 70/tcp; +#const finger = 79/tcp; +#const http = 80/tcp; +#const ident = 113/tcp; +#const bgp = 179/tcp; +#const rlogin = 513/tcp; const TCP_INACTIVE = 0; const TCP_SYN_SENT = 1; @@ -1156,13 +1143,15 @@ type backdoor_endp_stats: record { }; type signature_state: record { - id: string; # ID of the signature - conn: connection; # Current connection - is_orig: bool; # True if current endpoint is originator - payload_size: count; # Payload size of the first pkt of curr. endpoint + sig_id: string; # ID of the signature + conn: connection; # Current connection + is_orig: bool; # True if current endpoint is originator + payload_size: count; # Payload size of the first pkt of curr. endpoint }; +# This type is no longer used +# TODO: remove any use of this from the core. type software_version: record { major: int; # Major version number minor: int; # Minor version number @@ -1170,6 +1159,8 @@ type software_version: record { addl: string; # Additional version string (e.g. "beta42") }; +# This type is no longer used +# TODO: remove any use of this from the core. type software: record { name: string; # Unique name of a software, e.g., "OS" version: software_version; @@ -1269,61 +1260,12 @@ type bt_tracker_headers: table[string] of string; @load event.bif.bro -function subst(s: string, from: pattern, to: string): string - { - local p = split_all(s, from); - - for ( p_i in p ) - if ( p_i % 2 == 0 ) - p[p_i] = to; - - return cat_string_array(p); - } - - -type pattern_match_result: record { - matched: bool; - str: string; - off: count; -}; - -function match_pattern(s: string, p:pattern): pattern_match_result - { - local a = split_n(s, p, T, 1); - - if ( length(a) == 1 ) - # no match - return [$matched = F, $str = "", $off = 0]; - else - return [$matched = T, $str = a[2], $off = byte_len(a[1]) + 1]; - } - -function cut_tail(s: string, tail_len: count): string - { - local len = byte_len(s); - - if ( tail_len > len ) - tail_len = len; - - return sub_bytes(s, 1, int_to_count(len - tail_len)); - } - -# Given a string, returns an escaped version. This means that -# (1) any occurrences of any character in "chars" are escaped using '\', and -# (2) any '\'s are likewise escaped. -function string_escape(s: string, chars: string): string - { - s = subst_string(s, "\\", "\\\\"); - for ( c in chars ) - s = subst_string(s, c, cat("\\", c)); - return s; - } - # The filter the user has set via the -f command line options, or # empty if none. const cmd_line_bpf_filter = "" &redef; -@load pcap.bro +# Load the packet filtering framework. +@load packet-filter # Rotate logs every x seconds. const log_rotate_interval = 0 sec &redef; @@ -1405,7 +1347,7 @@ const packet_filter_default = F &redef; const sig_max_group_size = 50 &redef; # If true, send logger messages to syslog. -const enable_syslog = T &redef; +const enable_syslog = F &redef; # This is transmitted to peers receiving our events. const peer_description = "" &redef; @@ -1470,7 +1412,7 @@ function prefixed_id(id: count): string # ANALYZER_*, e.g., ANALYZER_HTTP. type AnalyzerTag: count; -# DPM configuration. +# DPD configuration. type dpd_protocol_config: record { ports: set[port] &optional; @@ -1498,29 +1440,9 @@ const likely_server_ports: set[port] &redef; # Set of all ports for which we know an analyzer. global dpd_analyzer_ports: table[port] of set[AnalyzerTag]; -event bro_init() - { - for ( a in dpd_config ) - for ( p in dpd_config[a]$ports ) - { - if ( p !in dpd_analyzer_ports ) - { - local empty_set: set[AnalyzerTag]; - dpd_analyzer_ports[p] = empty_set; - } - - add dpd_analyzer_ports[p][a]; - } - } - -@load server-ports - # Per-incident timer managers are drained after this amount of inactivity. const timer_mgr_inactivity_timeout = 1 min &redef; -# Time-out for expected connections. -const expected_connection_timeout = 5 min &redef; - # If true, output profiling for time-machine queries. const time_machine_profiling = F &redef; @@ -1557,3 +1479,6 @@ const skip_http_data = F &redef; # Whether the analysis engine parses IP packets encapsulated in # UDP tunnels. See also: udp_tunnel_port, policy/udp-tunnel.bro. const parse_udp_tunnels = F &redef; + +#@load site +#@load dpd diff --git a/policy/detectors/http-MHR.bro b/policy/detectors/http-MHR.bro new file mode 100644 index 0000000000..8f3f5cc00c --- /dev/null +++ b/policy/detectors/http-MHR.bro @@ -0,0 +1,34 @@ +##! This script takes MD5 sums of files transferred over HTTP and checks them with +##! Team Cymru's Malware Hash Registry (http://www.team-cymru.org/Services/MHR/). +##! By default, not all file transfers will have MD5 sums calculated. Read the +##! documentation for the protocols/http/file-hash.bro script to see how to +##! configure which transfers will have hashes calculated. + +@load notice +@load http/file-hash + +export { + redef enum Notice::Type += { + ## If the MD5 sum of a file transferred over HTTP + Malware_Hash_Registry_Match + }; +} + +event log_http(rec: HTTP::Info) + { + if ( rec?$md5 ) + { + local hash_domain = fmt("%s.malware.hash.cymru.com", rec$md5); + when ( local addrs = lookup_hostname(hash_domain) ) + { + # 127.0.0.2 indicates that the md5 sum was found in the MHR. + if ( 127.0.0.2 in addrs ) + { + local url = HTTP::build_url_http(rec); + local message = fmt("%s %s %s", rec$id$orig_h, rec$md5, url); + NOTICE([$note=Malware_Hash_Registry_Match, + $msg=message, $id=rec$id, $URL=url]); + } + } + } + } diff --git a/policy/dpd.bro b/policy/dpd.bro deleted file mode 100644 index 5963e5e7a3..0000000000 --- a/policy/dpd.bro +++ /dev/null @@ -1,5 +0,0 @@ -# $Id: dpd.bro,v 1.1.2.1 2006/05/10 02:10:26 sommer Exp $ -# -# Activates port-independent protocol detection. - -redef signature_files += "dpd.sig"; diff --git a/policy/frameworks/communication/__load__.bro b/policy/frameworks/communication/__load__.bro new file mode 100644 index 0000000000..aac2bf3740 --- /dev/null +++ b/policy/frameworks/communication/__load__.bro @@ -0,0 +1 @@ +@load communication/base \ No newline at end of file diff --git a/policy/frameworks/communication/base.bro b/policy/frameworks/communication/base.bro new file mode 100644 index 0000000000..5ab469ca8e --- /dev/null +++ b/policy/frameworks/communication/base.bro @@ -0,0 +1,287 @@ +##! Connect to remote Bro or Broccoli instances to share state and/or transfer +##! events. + +@load packet-filter + +module Communication; + +export { + redef enum Log::ID += { COMMUNICATION }; + + const default_port_ssl = 47756/tcp &redef; + const default_port_clear = 47757/tcp &redef; + + ## Default compression level. Compression level is 0-9, with 0 = no + ## compression. + global default_compression = 0 &redef; + + type Info: record { + ts: time &log; + level: string &log &optional; + src_name: string &log &optional; + remote_node: string &log &optional; + msg: string &log; + }; + + ## A remote peer to which we would like to talk. + ## If there's no entry for a peer, it may still connect + ## and request state, but not send us any. + type Node: record { + ## Remote address. + host: addr; + + ## Port of the remote Bro communication endpoint if we are initiating + ## the connection based on the :bro:id:`connect` field. + p: port &optional; + + ## When accepting a connection, the configuration only + ## applies if the class matches the one transmitted by + ## the peer. + ## + ## When initiating a connection, the class is sent to + ## the other side. + class: string &optional; + + ## Events requested from remote side. + events: pattern &optional; + + ## Whether we are going to connect (rather than waiting + ## for the other sie to connect to us). + connect: bool &default = F; + + ## If disconnected, reconnect after this many seconds. + retry: interval &default = 0 secs; + + ## Whether to accept remote events. + accept_input: bool &default = T; + + ## Whether to perform state synchronization with peer. + sync: bool &default = F; + + ## Whether to request logs from the peer. + request_logs: bool &default = F; + + ## When performing state synchronization, whether we consider + ## our state to be authoritative. If so, we will send the peer + ## our current set when the connection is set up. + ## (Only one side can be authoritative) + auth: bool &default = F; + + ## If not set, no capture filter is sent. + ## If set to "", the default cature filter is sent. + capture_filter: string &optional; + + ## Whether to use SSL-based communication. + ssl: bool &default = F; + + ## Take-over state from this host (activated by loading hand-over.bro) + hand_over: bool &default = F; + + ## Compression level is 0-9, with 0 = no compression. + compression: count &default = default_compression; + + ## The remote peer. + peer: event_peer &optional; + + ## Indicates the status of the node. + connected: bool &default = F; + }; + + ## The table of Bro or Broccoli nodes that Bro will initiate connections + ## to or respond to connections from. + global nodes: table[string] of Node &redef; + + global pending_peers: table[peer_id] of Node; + global connected_peers: table[peer_id] of Node; + + ## Connect to nodes[node], independent of its "connect" flag. + global connect_peer: function(peer: string); +} + +const src_names = { + [REMOTE_SRC_CHILD] = "child", + [REMOTE_SRC_PARENT] = "parent", + [REMOTE_SRC_SCRIPT] = "script", +}; + +event bro_init() + { + Log::create_stream(COMMUNICATION, [$columns=Info]); + } + +function do_script_log_common(level: count, src: count, msg: string) + { + Log::write(COMMUNICATION, [$ts = network_time(), + $level = (level == REMOTE_LOG_INFO ? "info" : "error"), + $src_name = src_names[src], + $msg = msg]); + } + +# This is a core generated event. +event remote_log(level: count, src: count, msg: string) + { + do_script_log_common(level, src, msg); + } + +function do_script_log(p: event_peer, msg: string) + { + do_script_log_common(REMOTE_LOG_INFO, REMOTE_SRC_SCRIPT, + fmt("[#%d/%s:%d] %s", p$id, p$host, p$p, msg)); + } + +function connect_peer(peer: string) + { + local node = nodes[peer]; + local p = node$ssl ? default_port_ssl : default_port_clear; + + if ( node?$p ) + p = node$p; + + local class = node?$class ? node$class : ""; + local id = connect(node$host, p, class, node$retry, node$ssl); + + if ( id == PEER_ID_NONE ) + Log::write(COMMUNICATION, [$ts = network_time(), + $remote_node = fmt("%s:%d", node$host, p), + $msg = "can't trigger connect"]); + pending_peers[id] = node; + } + + +function setup_peer(p: event_peer, node: Node) + { + if ( node?$events ) + { + do_script_log(p, fmt("requesting events matching %s", node$events)); + request_remote_events(p, node$events); + } + + if ( node?$capture_filter ) + { + local filter = node$capture_filter; + if ( filter == "" ) + filter = PacketFilter::default_filter; + + do_script_log(p, fmt("sending capture_filter: %s", filter)); + send_capture_filter(p, filter); + } + + if ( node$accept_input ) + { + do_script_log(p, "accepting state"); + set_accept_state(p, T); + } + + set_compression_level(p, node$compression); + + if ( node$sync ) + { + do_script_log(p, "requesting synchronized state"); + request_remote_sync(p, node$auth); + } + + if ( node$request_logs ) + { + do_script_log(p, "requesting logs"); + request_remote_logs(p); + } + + node$peer = p; + node$connected = T; + connected_peers[p$id] = node; + } + +event remote_connection_established(p: event_peer) + { + if ( is_remote_event() ) + return; + + do_script_log(p, "connection established"); + + if ( p$id in pending_peers ) + { + # We issued the connect. + local node = pending_peers[p$id]; + setup_peer(p, node); + delete pending_peers[p$id]; + } + else + { # The other side connected to us. + local found = F; + for ( i in nodes ) + { + node = nodes[i]; + if ( node$host == p$host ) + { + local c = 0; + + # See if classes match = either both have + # the same class, or neither of them has + # a class. + if ( p?$class && p$class != "" ) + ++c; + + if ( node?$class && node$class != "" ) + ++c; + + if ( c == 1 || + (c == 2 && p$class != node$class) ) + next; + + found = T; + setup_peer(p, node); + break; + } + } + + if ( ! found ) + set_compression_level(p, default_compression); + } + + complete_handshake(p); + } + +event remote_connection_closed(p: event_peer) + { + if ( is_remote_event() ) + return; + + do_script_log(p, "connection closed"); + + if ( p$id in connected_peers ) + { + local node = connected_peers[p$id]; + node$connected = F; + + delete connected_peers[p$id]; + + if ( node$retry != 0secs ) + # The core will retry. + pending_peers[p$id] = node; + } + } + +event remote_state_inconsistency(operation: string, id: string, + expected_old: string, real_old: string) + { + if ( is_remote_event() ) + return; + + local msg = fmt("state inconsistency: %s should be %s but is %s before %s", + id, expected_old, real_old, operation); + Log::write(COMMUNICATION, [$ts = network_time(), + $msg = msg]); + } + + +# Actually initiate the connections that need to be established. +event bro_init() &priority = -10 # let others modify nodes + { + for ( tag in nodes ) + { + if ( ! nodes[tag]$connect ) + next; + + connect_peer(tag); + } + } diff --git a/policy/frameworks/communication/listen-clear.bro b/policy/frameworks/communication/listen-clear.bro new file mode 100644 index 0000000000..2e2df17852 --- /dev/null +++ b/policy/frameworks/communication/listen-clear.bro @@ -0,0 +1,19 @@ +##! Listen for other Bro instances to make unencrypted connections. + +@load communication/base + +module Communication; + +export { + ## Which port to listen on for clear connections. + const listen_port_clear = Communication::default_port_clear &redef; + + ## Which IP address to bind to (0.0.0.0 for any interface). + const listen_if_clear = 0.0.0.0 &redef; + +} + +event bro_init() + { + listen(listen_if_clear, listen_port_clear, F); + } diff --git a/policy/frameworks/communication/listen-ssl.bro b/policy/frameworks/communication/listen-ssl.bro new file mode 100644 index 0000000000..76ee932989 --- /dev/null +++ b/policy/frameworks/communication/listen-ssl.bro @@ -0,0 +1,20 @@ +##! Listen for other Bro instances and encrypt the connection with SSL. + +@load communication/base + +module Communication; + +export { + ## Which port to listen on for SSL encrypted connections. + const listen_port_ssl = Communication::default_port_ssl &redef; + + ## Which IP address to bind to for SSL encrypted connections + ## (0.0.0.0 for any interface). + const listen_if_ssl = 0.0.0.0 &redef; + +} + +event bro_init() + { + listen(listen_if_ssl, listen_port_ssl, T); + } diff --git a/policy/frameworks/dpd/__load__.bro b/policy/frameworks/dpd/__load__.bro new file mode 100644 index 0000000000..6fdb165ffb --- /dev/null +++ b/policy/frameworks/dpd/__load__.bro @@ -0,0 +1,3 @@ +@load dpd/base +@load dpd/dyn-disable +@load dpd/packet-segment-logging \ No newline at end of file diff --git a/policy/frameworks/dpd/base.bro b/policy/frameworks/dpd/base.bro new file mode 100644 index 0000000000..6a16b6d1f9 --- /dev/null +++ b/policy/frameworks/dpd/base.bro @@ -0,0 +1,72 @@ +##! Activates port-independent protocol detection. + +@load functions +@load signatures + +module DPD; + +## Add the DPD signatures to the signature framework. +redef signature_files += "dpd/dpd.sig"; + +export { + redef enum Log::ID += { DPD }; + + type Info: record { + ts: time &log; + uid: string &log; + id: conn_id &log; + proto: transport_proto &log; + analyzer: string &log; + failure_reason: string &log; + }; +} + +redef record connection += { + dpd: Info &optional; +}; + +event bro_init() + { + Log::create_stream(DPD, [$columns=Info]); + + for ( a in dpd_config ) + { + for ( p in dpd_config[a]$ports ) + { + if ( p !in dpd_analyzer_ports ) + dpd_analyzer_ports[p] = set(); + add dpd_analyzer_ports[p][a]; + } + } + } + +event protocol_confirmation(c: connection, atype: count, aid: count) &priority=10 + { + if ( fmt("-%s",analyzer_name(atype)) in c$service ) + delete c$service[fmt("-%s", analyzer_name(atype))]; + + add c$service[analyzer_name(atype)]; + } + +event protocol_violation(c: connection, atype: count, aid: count, + reason: string) &priority=5 + { + if ( analyzer_name(atype) in c$service ) + delete c$service[analyzer_name(atype)]; + add c$service[fmt("-%s", analyzer_name(atype))]; + + local info: Info; + info$ts=network_time(); + info$uid=c$uid; + info$id=c$id; + info$proto=get_conn_transport_proto(c$id); + info$analyzer=analyzer_name(atype); + info$failure_reason=reason; + c$dpd = info; + } + +event protocol_violation(c: connection, atype: count, aid: count, + reason: string) &priority=-5 + { + Log::write(DPD, c$dpd); + } \ No newline at end of file diff --git a/policy/sigs/dpd.sig b/policy/frameworks/dpd/dpd.sig similarity index 98% rename from policy/sigs/dpd.sig rename to policy/frameworks/dpd/dpd.sig index abc66d8db1..8e07095b41 100644 --- a/policy/sigs/dpd.sig +++ b/policy/frameworks/dpd/dpd.sig @@ -1,4 +1,4 @@ -# ALS signatures for protocol detection. +# Signatures to initiate dynamic protocol detection. signature dpd_ftp_client { ip-proto == tcp diff --git a/policy/frameworks/dpd/dyn-disable.bro b/policy/frameworks/dpd/dyn-disable.bro new file mode 100644 index 0000000000..d7b34413f6 --- /dev/null +++ b/policy/frameworks/dpd/dyn-disable.bro @@ -0,0 +1,42 @@ +##! When this script is loaded, analyzers that raise protocol_violation events +##! are disabled for the affected connection. + +@load dpd/base +@load notice + +module DPD; + +export { + redef enum Notice::Type += { + ProtocolViolation + }; + + redef record DPD::Info += { + ## Disabled analyzer IDs. + # TODO: This is waiting on ticket #460 to remove the '0'. + disabled_aids: set[count] &default=set(0); + }; + + ## Ignore violations which go this many bytes into the connection. + const max_data_volume = 10 * 1024 &redef; +} + + +event protocol_violation(c: connection, atype: count, aid: count, + reason: string) &priority=5 + { + if ( aid in c$dpd$disabled_aids ) + return; + + local size = c$orig$size + c$resp$size; + if ( max_data_volume > 0 && size > max_data_volume ) + return; + + # Disable the analyzer that raised the last core-generated event. + disable_analyzer(c$id, aid); + add c$dpd$disabled_aids[aid]; + + NOTICE([$note=ProtocolViolation, $conn=c, + $msg=fmt("%s disabled due to protocol violation", analyzer_name(atype)), + $sub=reason, $n=atype]); + } diff --git a/policy/frameworks/dpd/packet-segment-logging.bro b/policy/frameworks/dpd/packet-segment-logging.bro new file mode 100644 index 0000000000..a7c305bf00 --- /dev/null +++ b/policy/frameworks/dpd/packet-segment-logging.bro @@ -0,0 +1,25 @@ +##! This script enables logging of packet segment data when a protocol +##! parsing violation is encountered. The amount of +##! data from the packet logged is set by the packet_segment_size variable. +##! A caveat to logging packet data is that in some cases, the packet may +##! not be the packet that actually caused the protocol violation. + +@load dpd/base + +module DPD; + +export { + redef record Info += { + packet_segment: string &optional &log; + }; + + ## Size of the packet segment to display in the DPD log. + const packet_segment_size: int = 255 &redef; +} + + +event protocol_violation(c: connection, atype: count, aid: count, + reason: string) &priority=4 + { + c$dpd$packet_segment=fmt("%s", sub_bytes(get_current_packet()$data, 0, packet_segment_size)); + } \ No newline at end of file diff --git a/policy/frameworks/intel/__load__.bro b/policy/frameworks/intel/__load__.bro new file mode 100644 index 0000000000..a69c2cc41c --- /dev/null +++ b/policy/frameworks/intel/__load__.bro @@ -0,0 +1 @@ +@load intel/base \ No newline at end of file diff --git a/policy/frameworks/intel/base.bro b/policy/frameworks/intel/base.bro new file mode 100644 index 0000000000..ce5e7aec19 --- /dev/null +++ b/policy/frameworks/intel/base.bro @@ -0,0 +1,277 @@ +##! The intelligence framework provides a way to store and query IP addresses, +##! strings (with a subtype), and numeric (with a subtype) data. Metadata +##! also be associated with the intelligence like tags which are arbitrary +##! strings, time values, and longer descriptive strings. + +# Example string subtypes: +# url +# email +# domain +# software +# user_name +# file_name +# file_md5 +# x509_cert - DER encoded, not PEM (ascii armored) + +# Example tags: +# infrastructure +# malicious +# sensitive +# canary +# friend + +@load notice + +module Intel; + +export { + redef enum Log::ID += { INTEL }; + + redef enum Notice::Type += { + ## This notice should be used in all detector scripts to indicate + ## an intelligence based detection. + Detection, + }; + + type Info: record { + ts: time &log; + ## This value should be one of: "info", "warn", "error" + level: string &log; + message: string &log; + }; + + type MetaData: record { + desc: string &optional; + url: string &optional; + first_seen: time &optional; + latest_seen: time &optional; + tags: set[string]; + }; + + type Item: record { + ip: addr &optional; + str: string &optional; + num: int &optional; + subtype: string &optional; + + desc: string &optional; + url: string &optional; + first_seen: time &optional; + latest_seen: time &optional; + tags: set[string]; + + ## These single string tags are throw away until pybroccoli supports sets + tag1: string &optional; + tag2: string &optional; + tag3: string &optional; + }; + + type QueryItem: record { + ip: addr &optional; + str: string &optional; + num: int &optional; + subtype: string &optional; + + or_tags: set[string] &optional; + and_tags: set[string] &optional; + + ## The predicate can be given when searching for a match. It will + ## be tested against every :bro:type:`MetaData` item associated with + ## the data being matched on. If it returns T a single time, the + ## matcher will consider that the item has matched. + pred: function(meta: Intel::MetaData): bool &optional; + }; + + + global insert: function(item: Item): bool; + global insert_event: event(item: Item); + global matcher: function(item: QueryItem): bool; + + type MetaDataStore: table[count] of MetaData; + type DataStore: record { + ip_data: table[addr] of MetaDataStore; + ## The first string is the actual value and the second string is the subtype. + string_data: table[string, string] of MetaDataStore; + int_data: table[int, string] of MetaDataStore; + }; + global data_store: DataStore; + + +} + +event bro_init() + { + Log::create_stream(INTEL, [$columns=Info]); + } + + +function insert(item: Item): bool + { + local err_msg = ""; + if ( (item?$str || item?$num) && ! item?$subtype ) + err_msg = "You must provide a subtype to insert_sync or this item doesn't make sense."; + + if ( err_msg == "" ) + { + # Create and fill out the meta data item. + local meta: MetaData; + if ( item?$first_seen ) + meta$first_seen = item$first_seen; + if ( item?$latest_seen ) + meta$latest_seen = item$latest_seen; + if ( item?$tags ) + meta$tags = item$tags; + if ( item?$desc ) + meta$desc = item$desc; + if ( item?$url ) + meta$url = item$url; + + + # This is hopefully only temporary until pybroccoli supports sets. + if ( item?$tag1 ) + add item$tags[item$tag1]; + if ( item?$tag2 ) + add item$tags[item$tag2]; + if ( item?$tag3 ) + add item$tags[item$tag3]; + + if ( item?$ip ) + { + if ( item$ip !in data_store$ip_data ) + data_store$ip_data[item$ip] = table(); + data_store$ip_data[item$ip][|data_store$ip_data[item$ip]|] = meta; + return T; + } + else if ( item?$str ) + { + if ( [item$str, item$subtype] !in data_store$string_data ) + data_store$string_data[item$str, item$subtype] = table(); + + data_store$string_data[item$str, item$subtype][|data_store$string_data[item$str, item$subtype]|] = meta; + return T; + } + else if ( item?$num ) + { + if ( [item$num, item$subtype] !in data_store$int_data ) + data_store$int_data[item$num, item$subtype] = table(); + + data_store$int_data[item$num, item$subtype][|data_store$int_data[item$num, item$subtype]|] = meta; + return T; + } + else + err_msg = "Failed to insert intelligence item for some unknown reason."; + } + + if ( err_msg != "" ) + Log::write(INTEL, [$ts=network_time(), $level="warn", $message=fmt(err_msg)]); + return F; + } + +event insert_event(item: Item) + { + insert(item); + } + +function match_item_with_metadata(item: QueryItem, meta: MetaData): bool + { + if ( item?$and_tags ) + { + local matched = T; + # Every tag given has to match in a single MetaData entry. + for ( tag in item$and_tags ) + { + if ( tag !in meta$tags ) + matched = F; + } + if ( matched ) + return T; + } + else if ( item?$or_tags ) + { + # For OR tags, only a single tag has to match. + for ( tag in item$or_tags ) + { + if ( tag in meta$tags ) + return T; + } + } + else if ( item?$pred ) + return item$pred(meta); + + # This indicates some sort of failure in the query + return F; + } + +function matcher(item: QueryItem): bool + { + local err_msg = ""; + if ( ! (item?$ip || item?$str || item?$num) ) + err_msg = "You must supply one of the $ip, $str, or $num fields to search on"; + else if ( (item?$or_tags || item?$and_tags) && item?$pred ) + err_msg = "You can't match with both tags and a predicate."; + else if ( item?$or_tags && item?$and_tags ) + err_msg = "You can't match with both OR'd together tags and AND'd together tags"; + else if ( (item?$str || item?$num) && ! item?$subtype ) + err_msg = "You must provide a subtype to matcher or this item doesn't make sense."; + else if ( item?$str && item?$num ) + err_msg = "You must only provide $str or $num, not both."; + + local meta: MetaData; + + if ( err_msg == "" ) + { + if ( item?$ip ) + { + if ( item$ip in data_store$ip_data ) + { + if ( ! item?$and_tags && ! item?$or_tags && ! item?$pred ) + return T; + + for ( i in data_store$ip_data[item$ip] ) + { + meta = data_store$ip_data[item$ip][i]; + if ( match_item_with_metadata(item, meta) ) + return T; + } + } + } + + else if ( item?$str ) + { + if ( [item$str, item$subtype] in data_store$string_data ) + { + if ( ! item?$and_tags && ! item?$or_tags && ! item?$pred ) + return T; + + for ( i in data_store$string_data[item$str, item$subtype] ) + { + meta = data_store$string_data[item$str, item$subtype][i]; + if ( match_item_with_metadata(item, meta) ) + return T; + } + } + } + + else if ( item?$num ) + { + if ( [item$num, item$subtype] in data_store$int_data ) + { + if ( ! item?$and_tags && ! item?$or_tags && ! item?$pred ) + return T; + + for ( i in data_store$int_data[item$num, item$subtype] ) + { + meta = data_store$int_data[item$num, item$subtype][i]; + if ( match_item_with_metadata(item, meta) ) + return T; + } + } + } + else + err_msg = "Failed to query intelligence data for some unknown reason."; + } + + if ( err_msg != "" ) + Log::write(INTEL, [$ts=network_time(), $level="error", $message=fmt(err_msg)]); + return F; + } diff --git a/policy/frameworks/logging/__load__.bro b/policy/frameworks/logging/__load__.bro new file mode 100644 index 0000000000..749cec71b3 --- /dev/null +++ b/policy/frameworks/logging/__load__.bro @@ -0,0 +1,3 @@ +@load logging/base + +@load logging/plugins/ascii \ No newline at end of file diff --git a/policy/logging.bro b/policy/frameworks/logging/base.bro similarity index 100% rename from policy/logging.bro rename to policy/frameworks/logging/base.bro diff --git a/policy/logging-ascii.bro b/policy/frameworks/logging/plugins/ascii.bro similarity index 88% rename from policy/logging-ascii.bro rename to policy/frameworks/logging/plugins/ascii.bro index ad59e8dcf5..bf9fb84d01 100644 --- a/policy/logging-ascii.bro +++ b/policy/frameworks/logging/plugins/ascii.bro @@ -10,7 +10,7 @@ export { ## If true, include a header line with column names. const include_header = T &redef; - # Prefix for the header line if included. + ## Prefix for the header line if included. const header_prefix = "# " &redef; ## Separator between fields. @@ -20,7 +20,7 @@ export { const set_separator = "," &redef; ## String to use for empty fields. - const empty_field = "" &redef; + const empty_field = "-" &redef; ## String to use for an unset &optional field. const unset_field = "-" &redef; diff --git a/policy/frameworks/metrics/__load__.bro b/policy/frameworks/metrics/__load__.bro new file mode 100644 index 0000000000..785edcfbd6 --- /dev/null +++ b/policy/frameworks/metrics/__load__.bro @@ -0,0 +1,4 @@ +@load metrics/base + +@load metrics/http-example +@load metrics/conn-example \ No newline at end of file diff --git a/policy/frameworks/metrics/base.bro b/policy/frameworks/metrics/base.bro new file mode 100644 index 0000000000..354172fd42 --- /dev/null +++ b/policy/frameworks/metrics/base.bro @@ -0,0 +1,140 @@ +##! This is the implementation of the metrics framework + +module Metrics; + +redef enum Log::ID += { METRICS }; + +export { + type ID: enum { + ALL, + }; + + const default_aggregation_mask = 24 &redef; + const default_break_interval = 5mins &redef; + + # TODO: configure a metrics config logging stream to log the current + # metrics configuration in case someone is looking through + # old logs and the configuration has changed since then. + type Config: record { + name: ID &optional; + ## Global mask by which you'd like to aggregate traffic. + aggregation_mask: count &optional; + ## This is essentially applying names to various subnets. + aggregation_table: table[subnet] of string &optional; + break_interval: interval &default=default_break_interval; + }; + + type Index: record { + ## Host is the value to which this metric applies. + host: addr &optional; + + ## A non-address related metric or a sub-key for an address based metric. + ## An example might be successful SSH connections by client IP address + ## where the client string would be the index value. + ## Another example might be number of HTTP requests to a particular + ## value in a Host header. This is an example of a non-host based + ## metric since multiple IP addresses could respond for the same Host + ## header value. + index: string &default=""; + }; + + type Info: record { + ts: time &log; + name: ID &log; + index: string &log &optional; + agg_subnet: string &log &optional; + value: count &log; + }; + + global configure: function(name: ID, config: Config); + global add_data: function(name: ID, index: Index, increment: count); + + global log_metrics: event(rec: Info); +} + +global metric_configs: table[ID] of Config = table(); + +type MetricIndex: table[string] of count &default=0; +type MetricTable: table[string] of MetricIndex; +global store: table[ID] of MetricTable = table(); + +event bro_init() + { + Log::create_stream(METRICS, [$columns=Info, $ev=log_metrics]); + } + +function reset(name: ID) + { + store[name] = table(); + } + +event log_it(config: Config) + { + # If this node is the manager in a cluster, this needs to request values + # for this metric from all of the workers. + + local name = config$name; + for ( agg_subnet in store[name] ) + { + local metric_values = store[name][agg_subnet]; + for ( index in metric_values ) + { + local val = metric_values[index]; + local m: Info = [$ts=network_time(), + $name=name, + $agg_subnet=fmt("%s", agg_subnet), + $index=index, + $value=val]; + if ( index == "" ) + delete m$index; + if ( agg_subnet == "" ) + delete m$agg_subnet; + Log::write(METRICS, m); + } + } + reset(name); + schedule config$break_interval { log_it(config) }; + } + +function configure(name: ID, config: Config) + { + if ( config?$aggregation_table && config?$aggregation_mask ) + { + print "INVALID Metric configuration: Defined $aggregation_table and $aggregation_mask."; + return; + } + + config$name = name; + metric_configs[name] = config; + store[name] = table(); + + # Only do this on the manager if in a cluster. + schedule config$break_interval { log_it(config) }; + } + +function add_data(name: ID, index: Index, increment: count) + { + local conf = metric_configs[name]; + + local agg_subnet = ""; + if ( index?$host ) + { + if ( conf?$aggregation_mask ) + { + local agg_mask = conf$aggregation_mask; + local agg = mask_addr(index$host, agg_mask); + agg_subnet = fmt("%s/%d", agg, agg_mask); + } + else if ( conf?$aggregation_table ) + agg_subnet = fmt("%s", conf$aggregation_table[index$host]); + } + + if ( agg_subnet !in store[name] ) + store[name][agg_subnet] = table([index$index] = increment); + else + { + if ( index$index !in store[name][agg_subnet] ) + store[name][agg_subnet][index$index] = 0; + store[name][agg_subnet][index$index] = store[name][agg_subnet][index$index] + increment; + } + } diff --git a/policy/frameworks/metrics/conn-example.bro b/policy/frameworks/metrics/conn-example.bro new file mode 100644 index 0000000000..0e10ee2a1f --- /dev/null +++ b/policy/frameworks/metrics/conn-example.bro @@ -0,0 +1,19 @@ +@load metrics/base + +redef enum Metrics::ID += { + CONNS_ORIGINATED, + CONNS_RESPONDED +}; + +event bro_init() + { + Metrics::configure(CONNS_ORIGINATED, [$aggregation_mask=24, $break_interval=5mins]); + Metrics::configure(CONNS_RESPONDED, [$aggregation_mask=24, $break_interval=5mins]); + } + +event connection_established(c: connection) + { + Metrics::add_data(CONNS_ORIGINATED, [$host=c$id$orig_h], 1); + Metrics::add_data(CONNS_RESPONDED, [$host=c$id$resp_h], 1); + } + \ No newline at end of file diff --git a/policy/frameworks/metrics/http-example.bro b/policy/frameworks/metrics/http-example.bro new file mode 100644 index 0000000000..d2887fc93a --- /dev/null +++ b/policy/frameworks/metrics/http-example.bro @@ -0,0 +1,21 @@ +@load metrics/base +@load http + +redef enum Metrics::ID += { + HTTP_REQUESTS_BY_STATUS_CODE, + HTTP_REQUESTS_BY_HOST, +}; + +event bro_init() + { + Metrics::configure(HTTP_REQUESTS_BY_STATUS_CODE, [$aggregation_mask=24, $break_interval=10secs]); + Metrics::configure(HTTP_REQUESTS_BY_HOST, [$break_interval=10secs]); + } + +event HTTP::log_http(rec: HTTP::Info) + { + if ( rec?$host ) + Metrics::add_data(HTTP_REQUESTS_BY_HOST, [$index=rec$host], 1); + if ( rec?$status_code ) + Metrics::add_data(HTTP_REQUESTS_BY_STATUS_CODE, [$host=rec$id$orig_h, $index=fmt("%d", rec$status_code)], 1); + } \ No newline at end of file diff --git a/policy/frameworks/notice/__load__.bro b/policy/frameworks/notice/__load__.bro new file mode 100644 index 0000000000..b0c5addbe1 --- /dev/null +++ b/policy/frameworks/notice/__load__.bro @@ -0,0 +1,3 @@ +@load frameworks/notice/base +@load frameworks/notice/weird +#@load notice/action-filters \ No newline at end of file diff --git a/policy/frameworks/notice/action-filters.bro b/policy/frameworks/notice/action-filters.bro new file mode 100644 index 0000000000..3f45f96adf --- /dev/null +++ b/policy/frameworks/notice/action-filters.bro @@ -0,0 +1,131 @@ +##! A few predefined notice_action_filters. +##! This is completely and utterly not working right now!!!!! + + +@load notice/base + +module Notice; + +export { + const ignore_tallies_at_shutdown = T &redef; + const notice_once_per_orig_tally_interval = 1hr &redef; + + global tallies: table[string] of count &default = 0; + + ## Reports a specific NoticeType the first time we see it for a source. + ## From then on, tally instances per source. + #global notice_once_per_orig: table[Info, addr] of count + # &default=0 &read_expire=5hrs; + + global ignore_it: function(nt: Notice::Type): Notice::PolicyItem; + global file_it: function(nt: Notice::Type): Notice::PolicyItem; + global send_email: function(nt: Notice::Type): Notice::PolicyItem; + global send_page: function(nt: Notice::Type): Notice::PolicyItem; + global tally_notice_type: function(nt: Notice::Type): Notice::PolicyItem; + global tally_notice_type_and_ignore: function(nt: Notice::Type): Notice::PolicyItem; + global file_local_bro_notices: function(nt: Notice::Type): Notice::PolicyItem; + global file_if_remote: function(nt: Notice::Type): Notice::PolicyItem; +} + +function action2policy_item(nt: Notice::Type, action: Notice::Action): Notice::PolicyItem + { + return [$result=action, + $pred(n: Notice::Info) = { return n$note == nt; }, + $priority=5]; + } + +function ignore_it(nt: Notice::Type): Notice::PolicyItem + { + return action2policy_item(nt, ACTION_IGNORE); + } + +function file_it(nt: Notice::Type): Notice::PolicyItem + { + return action2policy_item(nt, ACTION_FILE); + } + +function send_email(nt: Notice::Type): Notice::PolicyItem + { + return action2policy_item(nt, ACTION_EMAIL); + } + +function send_page_action(nt: Notice::Type): Notice::PolicyItem + { + return action2policy_item(nt, ACTION_PAGE); + } + + +#function tally_notice(s: string) +# { +# ++tallies[s]; +# } +# +#function tally_notice_type(nt: Notice::Type): Notice::PolicyItem +# { +# tally_notice(fmt("%s", n$note)); +# return action2policy_item(nt, ACTION_FILE); +# } +# +#function tally_notice_type_and_ignore(nt: Notice::Type): Notice::PolicyItem +# { +# tally_notice(fmt("%s", n$note)); +# return action2policy_item(nt, ACTION_IGNORE); +# } +# +#function file_local_bro_notices(nt: Notice::Type): Notice::PolicyItem +# { +# if ( n$src_peer$is_local ) +# return action2policy_item(nt, ACTION_FILE); +# else +# return action2policy_item(nt, n$action); +# } +# +#function file_if_remote(nt: Notice::Type): Notice::PolicyItem +# { +# if ( n?$src && ! is_local_addr(n$src) ) +# return action2policy_item(nt, ACTION_FILE); +# else +# return action2policy_item(nt, n$action); +# } + + + + +#event notice_alarm_per_orig_tally(n: Notice::Info, host: addr) +# { +# local i = notice_once_per_orig[n$note, host]; +# if ( i > 1 ) +# { +# local msg = fmt("%s seen %d time%s from %s", +# n$note, i, i > 1 ? "s" : "", host); +# NOTICE([$note=Notice_Tally, $msg=msg, $src=host, $n=i]); +# } +# } +# +#function notice_alarm_per_orig(n: Notice::Info, a: Notice::Action): Notice::Action +# { +# local host = n$src; +# +# ++notice_once_per_orig[n$note, host]; +# +# if ( notice_once_per_orig[n$note, host] > 1 ) +# return ACTION_FILE; +# +# schedule notice_once_per_orig_tally_interval +# { notice_alarm_per_orig_tally(n, host) }; +# +# return ACTION_ALARM_ALWAYS; +# } + +event bro_done() + { + if ( ignore_tallies_at_shutdown ) + return; + + for ( s in tallies ) + { + local n = tallies[s]; + local msg = fmt("%s (%d time%s)", s, n, n > 1 ? "s" : ""); + NOTICE([$note=Notice::Tally, $msg=msg, $n=n]); + } + } diff --git a/policy/frameworks/notice/base.bro b/policy/frameworks/notice/base.bro new file mode 100644 index 0000000000..b89e6a7f16 --- /dev/null +++ b/policy/frameworks/notice/base.bro @@ -0,0 +1,398 @@ +##! This is the notice framework which enables Bro to "notice" things which +##! are odd or potentially bad. Decisions of the meaning of various notices +##! need to be done per site because Bro does not ship with assumptions about +##! what is bad activity for sites. More extensive documetation about using +##! the notice framework can be found in the documentation section of the +##! http://www.bro-ids.org/ website. + +@load conn/base + +module Notice; + +export { + redef enum Log::ID += { + ## This is the primary logging stream for notices. It must always be + ## referenced with the module name included because the name is + ## also used by the global function :bro:id:`NOTICE`. + NOTICE, + ## This is the notice policy auditing log. It records what the current + ## notice policy is at Bro init time. + NOTICE_POLICY, + }; + + ## Scripts creating new notices need to redef this enum to add their own + ## specific notice types which would then get used when they call the + ## :bro:id:`NOTICE` function. The convention is to give a general category + ## along with the specific notice separating words with underscores and using + ## leading capitals on each word except for abbreviations which are kept in + ## all capitals. For example, SSH::Login is for heuristically guessed + ## successful SSH logins. + type Type: enum { + ## Notice reporting a count of how often a notice occurred. + Tally, + }; + + ## These are values representing actions that can be taken with notices. + type Action: enum { + ## Indicates that there is no action to be taken. + ACTION_NONE, + ## Indicates that the notice should be sent to the notice file. + ACTION_FILE, + ## Indicates that the notice should be alarmed on. + ACTION_ALARM, + ## Indicates that the notice should be sent to the email address(es) + ## configured in the :bro:id:`mail_dest` variable. + ACTION_EMAIL, + ## Indicate that the generated email should be addressed to the + ## appropriate email addresses as found in the + ## :bro:id:`Site::addr_to_emails` variable based on the originator + ## of the connection or the $src field. + ACTION_EMAIL_ADMIN_ORIG, + ## Indicate that the generated email should be addressed to the + ## appropriate email addresses as found in the + ## :bro:id:`Site::addr_to_emails` variable based on the responder + ## of the connection or the $dst field. + ACTION_EMAIL_ADMIN_RESP, + ## Indicates that the notice should be sent to the pager email address + ## configured in the :bro:id:`mail_page_dest` variable. + ACTION_PAGE, + }; + + type Info: record { + ts: time &log &optional; + uid: string &log &optional; + id: conn_id &log &optional; + + ## The victim of the notice. This can be used in cases where there + ## is a definite loser for a notice. In cases where there isn't a + ## victim, this field should be left empty. + victim: addr &log &optional; + + ## The :bro:enum:`Notice::Type` of the notice. + note: Type &log; + ## The human readable message for the notice. + msg: string &log &optional; + ## Sub-message. + sub: string &log &optional; + + ## Source address, if we don't have a connection. + src: addr &log &optional; + ## Destination address. + dst: addr &log &optional; + ## Associated port, if we don't have a connection. + p: port &log &optional; + ## Associated count, or perhaps a status code. + n: count &log &optional; + + ## Connection associated with the notice. + conn: connection &optional; + ## Associated ICMP "connection". + iconn: icmp_conn &optional; + + ## Peer that raised this notice. + src_peer: event_peer &log &optional; + ## Uniquely identifying tag associated with this notice. + tag: string &log &optional; + + ## The set of actions that are to be applied to this notice. + ## TODO: there is a problem setting a &default=set() attribute + ## for sets containing enum values. + actions: set[Notice::Action] &log &optional; + + ## By adding chunks of text into this element, other scripts can + ## expand on notices that being emailed. The normal way to add text + ## is to extend the vector by handling the :bro:id:`Notice::notice` + ## event and modifying the notice in place. + email_body_sections: vector of string &default=vector(); + }; + + ## Ignored notice types. + const ignored_types: set[Notice::Type] = {} &redef; + ## Emailed notice types. + const emailed_types: set[Notice::Type] = {} &redef; + + ## This is the record that defines the items that make up the notice policy. + type PolicyItem: record { + ## Define the priority for this check. Items are checked in ordered + ## from highest value (10) to lowest value (0). + priority: count &log &default=5; + ## An action given to the notice if the predicate return true. + result: Notice::Action &log &default=ACTION_NONE; + ## The pred (predicate) field is a function that returns a boolean T + ## or F value. If the predicate function return true, the action in + ## this record is applied to the notice that is given as an argument + ## to the predicate function. + pred: function(n: Notice::Info): bool; + ## Indicates this item should terminate policy processing if the + ## predicate returns T. + halt: bool &log &default=F; + }; + + # This is the :bro:id:`Notice::policy` where the local notice conversion + # policy is set. + const policy: set[Notice::PolicyItem] = { + [$pred(n: Notice::Info) = { return (n$note in Notice::ignored_types); }, + $halt=T, $priority = 10], + [$pred(n: Notice::Info) = { return (n$note in Notice::emailed_types); }, + $result = ACTION_EMAIL, + $priority = 9], + [$pred(n: Notice::Info) = { return T; }, + $result = ACTION_FILE, + $priority = 0], + } &redef; + + ## Local system mail program. + const mail_script = "/bin/mail" &redef; + ## Email address to send notices with the :bro:enum:`ACTION_EMAIL` action. + const mail_dest = "" &redef; + ## Email address to send notices with the :bro:enum:`ACTION_PAGE` action. + const mail_page_dest = "" &redef; + + ## This is the event that is called as the entry point to the + ## notice framework by the global :bro:id:`NOTICE` function. By the time + ## this event is generated, default values have already been filled out in + ## the :bro:type:`Notice::Info` record and synchronous functions in the + ## :bro:id:`Notice:notice_functions` have already been called. The notice + ## policy has also been applied. + global notice: event(n: Info); + + ## This is a set of functions that provide a synchronous way for scripts + ## extending the notice framework to run before the normal event based + ## notice pathway that most of the notice framework takes. This is helpful + ## in cases where an action against a notice needs to happen immediately + ## and can't wait the short time for the event to bubble up to the top of + ## the event queue. An example is the IP address dropping script that + ## can block IP addresses that have notices generated because it + ## needs to operate closer to real time than the event queue allows it to. + ## Normally the event based extension model using the + ## :bro:id:`Notice::notice` event will work fine if there aren't harder + ## real time constraints. + const notice_functions: set[function(n: Notice::Info)] = set() &redef; + + ## Call this function to send a notice in an email. It is already used + ## by default with the built in :bro:enum:`ACTION_EMAIL` and + ## :bro:enum:`ACTION_PAGE` actions. + global email_notice_to: function(n: Info, dest: string, extend: bool); + + ## This is an internally used function, please ignore it. It's only used + ## for filling out missing details of :bro:type:`Notice:Info` records + ## before the synchronous and asynchronous event pathways have begun. + global apply_policy: function(n: Notice::Info); + + ## This event can be handled to access the :bro:type:`Info` + ## record as it is sent on to the logging framework. + global log_notice: event(rec: Info); +} + +# This is an internal variable used to store the notice policy ordered by +# priority. +global ordered_policy: vector of PolicyItem = vector(); + + +redef record Conn::Info += { + notice_tags: set[string] &log &optional; +}; + +event bro_init() + { + Log::create_stream(NOTICE_POLICY, [$columns=PolicyItem]); + + Log::create_stream(Notice::NOTICE, [$columns=Info, $ev=log_notice]); + + # Add a filter to create the alarm log. + Log::add_filter(Notice::NOTICE, [$name = "alarm", $path = "alarm", + $pred(rec: Notice::Info) = { return (ACTION_ALARM in rec$actions); }]); + + } + +# TODO: fix this. +#function notice_tags(n: Notice::Info) : table[string] of string +# { +# local tgs: table[string] of string = table(); +# if ( is_remote_event() ) +# { +# if ( n$src_peer$descr != "" ) +# tgs["es"] = n$src_peer$descr; +# else +# tgs["es"] = fmt("%s/%s", n$src_peer$host, n$src_peer$p); +# } +# else +# { +# tgs["es"] = peer_description; +# } +# return tgs; +# } + +function email_notice_to(n: Notice::Info, dest: string, extend: bool) + { + if ( reading_traces() || dest == "" ) + return; + + # The notice emails always start off with the human readable message. + local email_text = n$msg; + if ( extend ) + { + email_text = cat(email_text, "\n\n------------------\n"); + for ( i in n$email_body_sections ) + email_text = cat(email_text, n$email_body_sections[i]); + } + + # The contortions here ensure that the arguments to the mail + # script will not be confused. Re-evaluate if 'system' is reworked. + local mail_cmd = + fmt("echo \"%s\" | %s -s \"[Bro Alarm] %s\" %s", + str_shell_escape(email_text), mail_script, n$note, dest); + + system(mail_cmd); + } + +# Executes a script with all of the notice fields put into the +# new process' environment as "BRO_ARG_" variables. +function execute_with_notice(cmd: string, n: Notice::Info) + { + # TODO: fix system calls + #local tgs = tags(n); + #system_env(cmd, tags); + } + +# This is run synchronously as a function before all of the other +# notice related functions and events. It also modifies the +# :bro:type:`Notice::Info` record in place. +function apply_policy(n: Notice::Info) + { + # Fill in some defaults. + n$ts = network_time(); + + if ( n?$conn ) + { + if ( ! n?$uid ) + n$uid = n$conn$uid; + if ( ! n?$id ) + n$id = n$conn$id; + } + + if ( ! n?$src && n?$id ) + n$src = n$id$orig_h; + if ( ! n?$dst && n?$id ) + n$dst = n$id$resp_h; + + if ( ! n?$p && n?$id ) + n$p = n$id$resp_p; + + if ( ! n?$src && n?$iconn ) + n$src = n$iconn$orig_h; + if ( ! n?$dst && n?$iconn ) + n$dst = n$iconn$resp_h; + + if ( ! n?$src_peer ) + n$src_peer = get_event_peer(); + + if ( ! n?$actions ) + n$actions = set(); + + # Generate a unique ID for this notice. + n$tag = unique_id("@"); + + for ( i in ordered_policy ) + { + if ( ordered_policy[i]$pred(n) ) + { + # If the predicate matched, the result of the PolicyItem is added + # to the notices actions. + add n$actions[ordered_policy[i]$result]; + + # If the policy item wants to halt policy processing, do it now! + if ( ordered_policy[i]$halt ) + break; + } + } + } + +event notice(n: Notice::Info) &priority=-5 + { + if ( ACTION_EMAIL in n$actions ) + email_notice_to(n, mail_dest, T); + + if ( ACTION_PAGE in n$actions ) + email_notice_to(n, mail_page_dest, F); + + if ( |Site::local_admins| > 0 ) + { + local email = ""; + if ( n?$src && ACTION_EMAIL_ADMIN_ORIG in n$actions ) + { + email = Site::get_emails(n$src); + if ( email != "" ) + email_notice_to(n, email, T); + } + + if ( n?$dst && ACTION_EMAIL_ADMIN_RESP in n$actions ) + { + email = Site::get_emails(n$dst); + if ( email != "" ) + email_notice_to(n, email, T); + } + } + + if ( ACTION_FILE in n$actions ) + Log::write(Notice::NOTICE, n); + + # Add the tag to the connection's notice_tags if there is a connection. + # TODO: figure out how to move this to the conn scripts. This shouldn't + # cause protocols/conn to be a dependency. + if ( n?$conn && n$conn?$conn ) + { + if ( ! n$conn$conn?$notice_tags ) + n$conn$conn$notice_tags = set(); + add n$conn$conn$notice_tags[n$tag]; + } + } + +# Create the ordered notice policy automatically which will be used at runtime +# for prioritized matching of the notice policy. +event bro_init() + { + local tmp: table[count] of set[PolicyItem] = table(); + for ( pi in policy ) + { + if ( pi$priority < 0 || pi$priority > 10 ) + { + print "All Notice::PolicyItem priorities must be within 0 and 10"; + exit(); + } + + if ( pi$priority !in tmp ) + tmp[pi$priority] = set(); + add tmp[pi$priority][pi]; + } + + local rev_count = vector(10,9,8,7,6,5,4,3,2,1,0); + for ( i in rev_count ) + { + local j = rev_count[i]; + if ( j in tmp ) + { + for ( pi in tmp[j] ) + { + ordered_policy[|ordered_policy|] = pi; + Log::write(NOTICE_POLICY, pi); + } + } + } + } + +module GLOBAL; + +## This is the entry point in the global namespace for notice framework. +function NOTICE(n: Notice::Info) + { + # Fill out fields that might be empty and do the policy processing. + Notice::apply_policy(n); + + # Run the synchronous functions with the notice. + for ( func in Notice::notice_functions ) + func(n); + + # Generate the notice event with the notice. + event Notice::notice(n); + } diff --git a/policy/frameworks/notice/weird.bro b/policy/frameworks/notice/weird.bro new file mode 100644 index 0000000000..9a95c85374 --- /dev/null +++ b/policy/frameworks/notice/weird.bro @@ -0,0 +1,432 @@ +@load frameworks/notice/base +@load utils/conn_ids + +module Weird; + +export { + redef enum Notice::Type += { + ## Generic unusual but alarm-worthy activity. + WeirdActivity, + ## Possible evasion; usually just chud. + RetransmissionInconsistency, + ## Could mean packet drop; could also be chud. + AckAboveHole, + ## Data has sequence hole; perhaps due to filtering. + ContentGap, + }; + + redef enum Log::ID += { WEIRD }; + + type Info: record { + ts: time &log; + uid: string &log &optional; + id: conn_id &log &optional; + msg: string &log; + addl: string &log &optional; + notice: bool &log &default=F; + }; + + type WeirdAction: enum { + WEIRD_UNSPECIFIED, WEIRD_IGNORE, WEIRD_FILE, + WEIRD_NOTICE_ALWAYS, WEIRD_NOTICE_PER_CONN, + WEIRD_NOTICE_PER_ORIG, WEIRD_NOTICE_ONCE, + }; + + # Which of the above actions lead to logging. For internal use. + const notice_actions = { + WEIRD_NOTICE_ALWAYS, WEIRD_NOTICE_PER_CONN, + WEIRD_NOTICE_PER_ORIG, WEIRD_NOTICE_ONCE, + }; + + const weird_action: table[string] of WeirdAction = { + # tcp_weird + ["above_hole_data_without_any_acks"] = WEIRD_FILE, + ["active_connection_reuse"] = WEIRD_FILE, + ["bad_HTTP_reply"] = WEIRD_FILE, + ["bad_HTTP_version"] = WEIRD_FILE, + ["bad_ICMP_checksum"] = WEIRD_FILE, + ["bad_ident_port"] = WEIRD_FILE, + ["bad_ident_reply"] = WEIRD_FILE, + ["bad_ident_request"] = WEIRD_FILE, + ["bad_rlogin_prolog"] = WEIRD_FILE, + ["bad_rsh_prolog"] = WEIRD_FILE, + ["rsh_text_after_rejected"] = WEIRD_FILE, + ["bad_RPC"] = WEIRD_NOTICE_PER_ORIG, + ["bad_RPC_program"] = WEIRD_FILE, + ["bad_SYN_ack"] = WEIRD_FILE, + ["bad_TCP_checksum"] = WEIRD_FILE, + ["bad_UDP_checksum"] = WEIRD_FILE, + ["baroque_SYN"] = WEIRD_FILE, + ["base64_illegal_encoding"] = WEIRD_FILE, + ["connection_originator_SYN_ack"] = WEIRD_FILE, + ["corrupt_tcp_options"] = WEIRD_FILE, + ["crud_trailing_HTTP_request"] = WEIRD_FILE, + ["data_after_reset"] = WEIRD_FILE, + ["data_before_established"] = WEIRD_FILE, + ["data_without_SYN_ACK"] = WEIRD_FILE, + ["DHCP_no_type_option"] = WEIRD_FILE, + ["DHCP_wrong_msg_type"] = WEIRD_FILE, + ["DHCP_wrong_op_type"] = WEIRD_FILE, + ["DNS_AAAA_neg_length"] = WEIRD_FILE, + ["DNS_Conn_count_too_large"] = WEIRD_FILE, + ["DNS_NAME_too_long"] = WEIRD_FILE, + ["DNS_RR_bad_length"] = WEIRD_FILE, + ["DNS_RR_length_mismatch"] = WEIRD_FILE, + ["DNS_RR_unknown_type"] = WEIRD_FILE, + ["DNS_label_forward_compress_offset"] = WEIRD_NOTICE_PER_ORIG, + ["DNS_label_len_gt_name_len"] = WEIRD_NOTICE_PER_ORIG, + ["DNS_label_len_gt_pkt"] = WEIRD_NOTICE_PER_ORIG, + ["DNS_label_too_long"] = WEIRD_NOTICE_PER_ORIG, + ["DNS_truncated_RR_rdlength_lt_len"] = WEIRD_FILE, + ["DNS_truncated_ans_too_short"] = WEIRD_FILE, + ["DNS_truncated_len_lt_hdr_len"] = WEIRD_FILE, + ["DNS_truncated_quest_too_short"] = WEIRD_FILE, + ["excessive_data_without_further_acks"] = WEIRD_FILE, + ["excess_RPC"] = WEIRD_NOTICE_PER_ORIG, + ["excessive_RPC_len"] = WEIRD_NOTICE_PER_ORIG, + ["FIN_advanced_last_seq"] = WEIRD_FILE, + ["FIN_after_reset"] = WEIRD_IGNORE, + ["FIN_storm"] = WEIRD_NOTICE_ALWAYS, + ["HTTP_bad_chunk_size"] = WEIRD_FILE, + ["HTTP_chunked_transfer_for_multipart_message"] = WEIRD_FILE, + ["HTTP_overlapping_messages"] = WEIRD_FILE, + ["HTTP_unknown_method"] = WEIRD_FILE, + ["HTTP_version_mismatch"] = WEIRD_FILE, + ["ident_request_addendum"] = WEIRD_FILE, + ["inappropriate_FIN"] = WEIRD_FILE, + ["inflate_data_failed"] = WEIRD_FILE, + ["inflate_failed"] = WEIRD_FILE, + ["invalid_irc_global_users_reply"] = WEIRD_FILE, + ["irc_invalid_command"] = WEIRD_FILE, + ["irc_invalid_dcc_message_format"] = WEIRD_FILE, + ["irc_invalid_invite_message_format"] = WEIRD_FILE, + ["irc_invalid_join_line"] = WEIRD_FILE, + ["irc_invalid_kick_message_format"] = WEIRD_FILE, + ["irc_invalid_line"] = WEIRD_FILE, + ["irc_invalid_mode_message_format"] = WEIRD_FILE, + ["irc_invalid_names_line"] = WEIRD_FILE, + ["irc_invalid_njoin_line"] = WEIRD_FILE, + ["irc_invalid_notice_message_format"] = WEIRD_FILE, + ["irc_invalid_oper_message_format"] = WEIRD_FILE, + ["irc_invalid_privmsg_message_format"] = WEIRD_FILE, + ["irc_invalid_reply_number"] = WEIRD_FILE, + ["irc_invalid_squery_message_format"] = WEIRD_FILE, + ["irc_invalid_topic_reply"] = WEIRD_FILE, + ["irc_invalid_who_line"] = WEIRD_FILE, + ["irc_invalid_who_message_format"] = WEIRD_FILE, + ["irc_invalid_whois_channel_line"] = WEIRD_FILE, + ["irc_invalid_whois_message_format"] = WEIRD_FILE, + ["irc_invalid_whois_operator_line"] = WEIRD_FILE, + ["irc_invalid_whois_user_line"] = WEIRD_FILE, + ["irc_line_size_exceeded"] = WEIRD_FILE, + ["irc_line_too_short"] = WEIRD_FILE, + ["irc_too_many_invalid"] = WEIRD_FILE, + ["line_terminated_with_single_CR"] = WEIRD_FILE, + ["line_terminated_with_single_LF"] = WEIRD_FILE, + ["malformed_ssh_identification"] = WEIRD_FILE, + ["malformed_ssh_version"] = WEIRD_FILE, + ["matching_undelivered_data"] = WEIRD_FILE, + ["multiple_HTTP_request_elements"] = WEIRD_FILE, + ["multiple_RPCs"] = WEIRD_NOTICE_PER_ORIG, + ["non_IPv4_packet"] = WEIRD_NOTICE_ONCE, + ["NUL_in_line"] = WEIRD_FILE, + ["originator_RPC_reply"] = WEIRD_NOTICE_PER_ORIG, + ["partial_finger_request"] = WEIRD_FILE, + ["partial_ftp_request"] = WEIRD_FILE, + ["partial_ident_request"] = WEIRD_FILE, + ["partial_RPC"] = WEIRD_NOTICE_PER_ORIG, + ["partial_RPC_request"] = WEIRD_FILE, + ["pending_data_when_closed"] = WEIRD_FILE, + ["pop3_bad_base64_encoding"] = WEIRD_FILE, + ["pop3_client_command_unknown"] = WEIRD_FILE, + ["pop3_client_sending_server_commands"] = WEIRD_FILE, + ["pop3_malformed_auth_plain"] = WEIRD_FILE, + ["pop3_server_command_unknown"] = WEIRD_FILE, + ["pop3_server_sending_client_commands"] = WEIRD_FILE, + ["possible_split_routing"] = WEIRD_FILE, + ["premature_connection_reuse"] = WEIRD_FILE, + ["repeated_SYN_reply_wo_ack"] = WEIRD_FILE, + ["repeated_SYN_with_ack"] = WEIRD_FILE, + ["responder_RPC_call"] = WEIRD_NOTICE_PER_ORIG, + ["rlogin_text_after_rejected"] = WEIRD_FILE, + ["RPC_rexmit_inconsistency"] = WEIRD_FILE, + ["RPC_underflow"] = WEIRD_FILE, + ["RST_storm"] = WEIRD_NOTICE_ALWAYS, + ["RST_with_data"] = WEIRD_FILE, # PC's do this + ["simultaneous_open"] = WEIRD_NOTICE_PER_CONN, + ["spontaneous_FIN"] = WEIRD_IGNORE, + ["spontaneous_RST"] = WEIRD_IGNORE, + ["SMB_parsing_error"] = WEIRD_FILE, + ["no_smb_session_using_parsesambamsg"] = WEIRD_FILE, + ["smb_andx_command_failed_to_parse"] = WEIRD_FILE, + ["transaction_subcmd_missing"] = WEIRD_FILE, + ["SSLv3_data_without_full_handshake"] = WEIRD_FILE, + ["unexpected_SSLv3_record"] = WEIRD_FILE, + ["successful_RPC_reply_to_invalid_request"] = WEIRD_NOTICE_PER_ORIG, + ["SYN_after_close"] = WEIRD_FILE, + ["SYN_after_partial"] = WEIRD_NOTICE_PER_ORIG, + ["SYN_after_reset"] = WEIRD_FILE, + ["SYN_inside_connection"] = WEIRD_FILE, + ["SYN_seq_jump"] = WEIRD_FILE, + ["SYN_with_data"] = WEIRD_FILE, + ["TCP_christmas"] = WEIRD_FILE, + ["truncated_ARP"] = WEIRD_FILE, + ["truncated_NTP"] = WEIRD_FILE, + ["UDP_datagram_length_mismatch"] = WEIRD_NOTICE_PER_ORIG, + ["unexpected_client_HTTP_data"] = WEIRD_FILE, + ["unexpected_multiple_HTTP_requests"] = WEIRD_FILE, + ["unexpected_server_HTTP_data"] = WEIRD_FILE, + ["unmatched_HTTP_reply"] = WEIRD_FILE, + ["unpaired_RPC_response"] = WEIRD_FILE, + ["unsolicited_SYN_response"] = WEIRD_IGNORE, + ["window_recision"] = WEIRD_FILE, + ["double_%_in_URI"] = WEIRD_FILE, + ["illegal_%_at_end_of_URI"] = WEIRD_FILE, + ["unescaped_%_in_URI"] = WEIRD_FILE, + ["unescaped_special_URI_char"] = WEIRD_FILE, + + ["UDP_zone_transfer"] = WEIRD_NOTICE_ONCE, + + ["deficit_netbios_hdr_len"] = WEIRD_FILE, + ["excess_netbios_hdr_len"] = WEIRD_FILE, + ["netbios_client_session_reply"] = WEIRD_FILE, + ["netbios_raw_session_msg"] = WEIRD_FILE, + ["netbios_server_session_request"] = WEIRD_FILE, + ["unknown_netbios_type"] = WEIRD_FILE, + + # flow_weird + ["excessively_large_fragment"] = WEIRD_NOTICE_ALWAYS, + + # Code Red generates slews ... + ["excessively_small_fragment"] = WEIRD_NOTICE_PER_ORIG, + + ["fragment_inconsistency"] = WEIRD_NOTICE_ALWAYS, + ["fragment_overlap"] = WEIRD_NOTICE_ALWAYS, + ["fragment_protocol_inconsistency"] = WEIRD_NOTICE_ALWAYS, + ["fragment_size_inconsistency"] = WEIRD_NOTICE_ALWAYS, + ["fragment_with_DF"] = WEIRD_FILE, # these do indeed happen! + ["incompletely_captured_fragment"] = WEIRD_NOTICE_ALWAYS, + + # net_weird + ["bad_IP_checksum"] = WEIRD_FILE, + ["bad_TCP_header_len"] = WEIRD_FILE, + ["internally_truncated_header"] = WEIRD_NOTICE_ALWAYS, + ["truncated_IP"] = WEIRD_FILE, + ["truncated_header"] = WEIRD_FILE, + + # generated by policy script + ["Land_attack"] = WEIRD_NOTICE_PER_ORIG, + ["bad_pm_port"] = WEIRD_NOTICE_PER_ORIG, + } &redef; + + # table that maps weird types into a function that should be called + # to determine the action. + const weird_action_filters: + table[string] of function(c: connection): WeirdAction &redef; + + const weird_ignore_host: set[addr, string] &redef; + + # But don't ignore these (for the weird file), it's handy keeping + # track of clustered checksum errors. + const weird_do_not_ignore_repeats = { + "bad_IP_checksum", "bad_TCP_checksum", "bad_UDP_checksum", + "bad_ICMP_checksum", + } &redef; + + global log_weird: event(rec: Info); +} + +# id/msg pairs that should be ignored (because the problem has already +# been reported). +global weird_ignore: table[string] of set[string] &write_expire = 10 min; + +# For WEIRD_NOTICE_PER_CONN. +global did_notice_conn: set[addr, port, addr, port, string] + &read_expire = 1 day; + +# For WEIRD_NOTICE_PER_ORIG. +global did_notice_orig: set[addr, string] &read_expire = 1 day; + +# For WEIRD_NOTICE_ONCE. +global did_weird_log: set[string] &read_expire = 1 day; + +global did_inconsistency_msg: set[conn_id]; + +# Used to pass the optional connection into report_weird(). +global current_conn: connection; + +event bro_init() + { + Log::create_stream(WEIRD, [$columns=Info, $ev=log_weird]); + } + +function report_weird(t: time, name: string, id: string, have_conn: bool, + addl: string, action: WeirdAction, no_log: bool) + { + local info: Info; + info$ts = t; + info$msg = name; + if ( addl != "" ) + info$addl = addl; + if ( have_conn ) + { + info$uid = current_conn$uid; + info$id = current_conn$id; + } + + if ( action == WEIRD_IGNORE || + (id in weird_ignore && name in weird_ignore[id]) ) + return; + + if ( action == WEIRD_UNSPECIFIED ) + { + if ( name in weird_action && weird_action[name] == WEIRD_IGNORE ) + return; + else + { + action = WEIRD_NOTICE_ALWAYS; + info$notice = T; + } + } + + if ( action in notice_actions && ! no_log ) + { + local n: Notice::Info; + n$note = WeirdActivity; + n$msg = info$msg; + if ( have_conn ) + n$conn = current_conn; + if ( info?$addl ) + n$sub = info$addl; + NOTICE(n); + } + else if ( id != "" && name !in weird_do_not_ignore_repeats ) + { + if ( id !in weird_ignore ) + weird_ignore[id] = set() &mergeable; + add weird_ignore[id][name]; + } + + Log::write(WEIRD, info); + } + +function report_weird_conn(t: time, name: string, id: string, addl: string, + c: connection) + { + if ( [c$id$orig_h, name] in weird_ignore_host || + [c$id$resp_h, name] in weird_ignore_host ) + return; + + local no_log = F; + local action = WEIRD_UNSPECIFIED; + + if ( name in weird_action ) + { + if ( name in weird_action_filters ) + action = weird_action_filters[name](c); + + if ( action == WEIRD_UNSPECIFIED ) + action = weird_action[name]; + + local cid = c$id; + + if ( action == WEIRD_NOTICE_PER_CONN ) + { + if ( [cid$orig_h, cid$orig_p, cid$resp_h, cid$resp_p, name] in did_notice_conn ) + no_log = T; + else + add did_notice_conn[cid$orig_h, cid$orig_p, cid$resp_h, cid$resp_p, name]; + } + + else if ( action == WEIRD_NOTICE_PER_ORIG ) + { + if ( [c$id$orig_h, name] in did_notice_orig ) + no_log = T; + else + add did_notice_orig[c$id$orig_h, name]; + } + + else if ( action == WEIRD_NOTICE_ONCE ) + { + if ( name in did_weird_log ) + no_log = T; + else + add did_weird_log[name]; + } + } + + current_conn = c; + report_weird(t, name, id, T, addl, action, no_log); + } + +function report_weird_orig(t: time, name: string, id: string, orig: addr) + { + local no_log = F; + local action = WEIRD_UNSPECIFIED; + + if ( name in weird_action ) + { + action = weird_action[name]; + if ( action == WEIRD_NOTICE_PER_ORIG ) + { + if ( [orig, name] in did_notice_orig ) + no_log = T; + else + add did_notice_orig[orig, name]; + } + } + + report_weird(t, name, id, F, "", action, no_log); + } + +event conn_weird(name: string, c: connection) + { + report_weird_conn(network_time(), name, id_string(c$id), "", c); + } + +event conn_weird_addl(name: string, c: connection, addl: string) + { + report_weird_conn(network_time(), name, id_string(c$id), addl, c); + } + +event flow_weird(name: string, src: addr, dst: addr) + { + report_weird_orig(network_time(), name, fmt("%s -> %s", src, dst), src); + } + +event net_weird(name: string) + { + report_weird(network_time(), name, "", F, "", WEIRD_UNSPECIFIED, F); + } + +event rexmit_inconsistency(c: connection, t1: string, t2: string) + { + if ( c$id !in did_inconsistency_msg ) + { + NOTICE([$note=RetransmissionInconsistency, + $conn=c, + $msg=fmt("%s rexmit inconsistency (%s) (%s)", + id_string(c$id), t1, t2)]); + add did_inconsistency_msg[c$id]; + } + } + +event ack_above_hole(c: connection) + { + NOTICE([$note=AckAboveHole, $conn=c, + $msg=fmt("%s ack above a hole", id_string(c$id))]); + } + +event content_gap(c: connection, is_orig: bool, seq: count, length: count) + { + NOTICE([$note=ContentGap, $conn=c, + $msg=fmt("%s content gap (%s %d/%d)%s", + id_string(c$id), is_orig ? ">" : "<", seq, length, + is_external_connection(c) ? " [external]" : "")]); + } + +event connection_state_remove(c: connection) + { + delete weird_ignore[id_string(c$id)]; + delete did_inconsistency_msg[c$id]; + } diff --git a/policy/frameworks/packet-filter/__load__.bro b/policy/frameworks/packet-filter/__load__.bro new file mode 100644 index 0000000000..d287fb8133 --- /dev/null +++ b/policy/frameworks/packet-filter/__load__.bro @@ -0,0 +1,2 @@ +@load packet-filter/base +@load packet-filter/netstats \ No newline at end of file diff --git a/policy/frameworks/packet-filter/base.bro b/policy/frameworks/packet-filter/base.bro new file mode 100644 index 0000000000..548ba8d706 --- /dev/null +++ b/policy/frameworks/packet-filter/base.bro @@ -0,0 +1,154 @@ +##! This script supports how Bro sets it's BPF capture filter. By default +##! Bro sets an unrestricted filter that allows all traffic. If a filter +##! is set on the command line, that filter takes precedence over the default +##! open filter and all filters defined in Bro scripts with the +##! :bro:id:`capture_filters` and :bro:id:`restrict_filters` variables. + +@load notice + +module PacketFilter; + +export { + redef enum Log::ID += { PACKET_FILTER }; + + redef enum Notice::Type += { + ## This notice is generated if a packet filter is unable to be compiled. + Compile_Failure, + + ## This notice is generated if a packet filter is unable to be installed. + Install_Failure, + }; + + type Info: record { + ts: time &log; + + ## This is a string representation of the node that applied this + ## packet filter. It's mostly useful in the context of dynamically + ## changing filters on clusters. + node: string &log &optional; + + ## The packet filter that is being set. + filter: string &log; + + ## Indicate if this is the filter set during initialization. + init: bool &log &default=F; + + ## Indicate if the filter was applied successfully. + success: bool &log &default=T; + }; + + ## By default, Bro will examine all packets. If this is set to false, + ## it will dynamically build a BPF filter that only select protocols + ## for which the user has loaded a corresponding analysis script. + ## The latter used to be default for Bro versions < 1.6. That has now + ## changed however to enable port-independent protocol analysis. + const all_packets = T &redef; + + ## Filter string which is unconditionally or'ed to every dynamically + ## built filter. + const unrestricted_filter = "" &redef; + + ## Call this function to build and install a new dynamically build + ## packet filter. + global install: function(); + + ## This is where the default packet filter is stored and it should not + ## normally be modified by users. + global default_filter = ""; +} + +redef enum PcapFilterID += { + DefaultPcapFilter, +}; + +function combine_filters(lfilter: string, rfilter: string, op: string): string + { + if ( lfilter == "" && rfilter == "" ) + return ""; + else if ( lfilter == "" ) + return rfilter; + else if ( rfilter == "" ) + return lfilter; + else + return fmt("(%s) %s (%s)", lfilter, op, rfilter); + } + +function build_default_filter(): string + { + if ( cmd_line_bpf_filter != "" ) + # Return what the user specified on the command line; + return cmd_line_bpf_filter; + + if ( all_packets ) + { + # Return an "always true" filter. + if ( bro_has_ipv6() ) + return "ip or not ip"; + else + return "not ip6"; + } + + # Build filter dynamically. + + # First the capture_filter. + local cfilter = ""; + for ( id in capture_filters ) + cfilter = combine_filters(cfilter, capture_filters[id], "or"); + + # Then the restrict_filter. + local rfilter = ""; + for ( id in restrict_filters ) + rfilter = combine_filters(rfilter, restrict_filters[id], "and"); + + # Finally, join them into one filter. + local filter = combine_filters(rfilter, cfilter, "and"); + if ( unrestricted_filter != "" ) + filter = combine_filters(unrestricted_filter, filter, "or"); + + # Exclude IPv6 if we don't support it. + if ( ! bro_has_ipv6() ) + filter = combine_filters(filter, "not ip6", "and"); + + return filter; + } + +function install() + { + default_filter = build_default_filter(); + + if ( ! precompile_pcap_filter(DefaultPcapFilter, default_filter) ) + { + NOTICE([$note=Compile_Failure, + $msg=fmt("Compiling packet filter failed"), + $sub=default_filter]); + exit(); + } + + # Do an audit log for the packet filter. + local info: Info; + info$ts = network_time(); + # If network_time() is 0.0 we're at init time so use the wall clock. + if ( info$ts == 0.0 ) + { + info$ts = current_time(); + info$init = T; + } + info$filter = default_filter; + + if ( ! install_pcap_filter(DefaultPcapFilter) ) + { + # Installing the filter failed for some reason. + info$success = F; + NOTICE([$note=Install_Failure, + $msg=fmt("Installing packet filter failed"), + $sub=default_filter]); + } + + Log::write(PACKET_FILTER, info); + } + +event bro_init() &priority=10 + { + Log::create_stream(PACKET_FILTER, [$columns=Info]); + PacketFilter::install(); + } diff --git a/policy/frameworks/packet-filter/netstats.bro b/policy/frameworks/packet-filter/netstats.bro new file mode 100644 index 0000000000..b23aa60306 --- /dev/null +++ b/policy/frameworks/packet-filter/netstats.bro @@ -0,0 +1,37 @@ +##! This script reports on packet loss from the various packet sources. + +@load notice + +module PacketFilter; + +export { + redef enum Notice::Type += { + ## Bro reported packets dropped by the packet filter. + DroppedPackets, + }; + + ## This is the interval between individual statistics collection. + const stats_collection_interval = 10secs; +} + +event net_stats_update(last_stat: NetStats) + { + local ns = net_stats(); + local new_dropped = ns$pkts_dropped - last_stat$pkts_dropped; + if ( new_dropped > 0 ) + { + local new_recvd = ns$pkts_recvd - last_stat$pkts_recvd; + local new_link = ns$pkts_link - last_stat$pkts_link; + NOTICE([$note=DroppedPackets, + $msg=fmt("%d packets dropped after filtering, %d received%s", + new_dropped, new_recvd + new_dropped, + new_link != 0 ? fmt(", %d on link", new_link) : "")]); + } + + schedule stats_collection_interval { net_stats_update(ns) }; + } + +event bro_init() + { + schedule stats_collection_interval { net_stats_update(net_stats()) }; + } \ No newline at end of file diff --git a/policy/frameworks/signatures/__load__.bro b/policy/frameworks/signatures/__load__.bro new file mode 100644 index 0000000000..7bdc7a8a9a --- /dev/null +++ b/policy/frameworks/signatures/__load__.bro @@ -0,0 +1,3 @@ +@load signatures/base + +redef signature_files += "signatures/detect-windows-shells.sig"; diff --git a/policy/frameworks/signatures/base.bro b/policy/frameworks/signatures/base.bro new file mode 100644 index 0000000000..4567f85f99 --- /dev/null +++ b/policy/frameworks/signatures/base.bro @@ -0,0 +1,283 @@ +##! Script level signature support script. + +@load notice + +module Signatures; + +export { + redef enum Notice::Type += { + ## Generic for alarm-worthy + Sensitive_Signature, + ## Host has triggered many signatures on the same host. The number of + ## signatures is defined by the :bro:id:`vert_scan_thresholds` variable. + Multiple_Signatures, + ## Host has triggered the same signature on multiple hosts as defined by the + ## :bro:id:`horiz_scan_thresholds` variable. + Multiple_Sig_Responders, + ## The same signature has triggered multiple times for a host. The number + ## of times the signature has be trigger is defined by the + ## :bro:id:`count_thresholds` variable. To generate this notice, the + ## :bro:enum:`SIG_COUNT_PER_RESP` action must be set for the signature. + Count_Signature, + ## Summarize the number of times a host triggered a signature. The + ## interval between summaries is defined by the :bro:id:`summary_interval` + ## variable. + Signature_Summary, + }; + + redef enum Log::ID += { SIGNATURES }; + + ## These are the default actions you can apply to signature matches. + ## All of them write the signature record to the logging stream unless + ## declared otherwise. + type Action: enum { + ## Ignore this signature completely (even for scan detection). Don't + ## write to the signatures logging stream. + SIG_IGNORE, + ## Process through the various aggregate techniques, but don't report + ## individually and don't write to the signatures logging stream. + SIG_QUIET, + ## Generate a notice. + SIG_LOG, + ## The same as :bro:enum:`SIG_FILE`, but ignore for aggregate/scan + ## processing. + SIG_FILE_BUT_NO_SCAN, + ## Generate a notice and set it to be alarmed upon. + SIG_ALARM, + ## Alarm once per originator. + SIG_ALARM_PER_ORIG, + ## Alarm once and then never again. + SIG_ALARM_ONCE, + ## Count signatures per responder host and alarm with the + ## :bro:enum:`Count_Signature` notice if a threshold defined by + ## :bro:id:`count_thresholds` is reached. + SIG_COUNT_PER_RESP, + ## Don't alarm, but generate per-orig summary. + SIG_SUMMARY, + }; + + type Info: record { + ts: time &log; + src_addr: addr &log &optional; + src_port: port &log &optional; + dst_addr: addr &log &optional; + dst_port: port &log &optional; + ## Notice associated with signature event + note: Notice::Type &log; + sig_id: string &log &optional; + event_msg: string &log &optional; + ## Extracted payload data or extra message. + sub_msg: string &log &optional; + ## Number of sigs, usually from summary count. + sig_count: count &log &optional; + ## Number of hosts, from a summary count. + host_count: count &log &optional; + }; + + ## Actions for a signature. + const actions: table[string] of Action = { + ["unspecified"] = SIG_IGNORE, # place-holder + } &redef &default = SIG_ALARM; + + ## Signature IDs that should always be ignored. + const ignored_ids = /NO_DEFAULT_MATCHES/ &redef; + + ## Alarm if, for a pair [orig, signature], the number of different + ## responders has reached one of the thresholds. + const horiz_scan_thresholds = { 5, 10, 50, 100, 500, 1000 } &redef; + + ## Alarm if, for a pair [orig, resp], the number of different signature + ## matches has reached one of the thresholds. + const vert_scan_thresholds = { 5, 10, 50, 100, 500, 1000 } &redef; + + ## Alarm if a :bro:enum:`SIG_COUNT_PER_RESP` signature is triggered as + ## often as given by one of these thresholds. + const count_thresholds = { 5, 10, 50, 100, 500, 1000, 10000, 1000000, } &redef; + + ## The interval between when :bro:id:`Signature_Summary` notices are + ## generated. + const summary_interval = 1 day &redef; + + global log_signature: event(rec: Info); +} + +global horiz_table: table[addr, string] of addr_set &read_expire = 1 hr; +global vert_table: table[addr, addr] of string_set &read_expire = 1 hr; +global last_hthresh: table[addr] of count &default = 0 &read_expire = 1 hr; +global last_vthresh: table[addr] of count &default = 0 &read_expire = 1 hr; +global count_per_resp: table[addr, string] of count + &default = 0 &read_expire = 1 hr; +global count_per_orig: table[addr, string] of count + &default = 0 &read_expire = 1 hr; +global did_sig_log: set[string] &read_expire = 1 hr; + + +event bro_init() + { + Log::create_stream(SIGNATURES, [$columns=Info, $ev=log_signature]); + } + +# Returns true if the given signature has already been triggered for the given +# [orig, resp] pair. +function has_signature_matched(id: string, orig: addr, resp: addr): bool + { + return [orig, resp] in vert_table ? id in vert_table[orig, resp] : F; + } + +event sig_summary(orig: addr, id: string, msg: string) + { + NOTICE([$note=Signature_Summary, $src=orig, + $filename=id, $msg=fmt("%s: %s", orig, msg), + $n=count_per_orig[orig,id] ]); + } + +event signature_match(state: signature_state, msg: string, data: string) + { + local sig_id = state$sig_id; + local action = actions[sig_id]; + + if ( action == SIG_IGNORE || ignored_ids in sig_id ) + return; + + # Trim the matched data down to something reasonable + if ( byte_len(data) > 140 ) + data = fmt("%s...", sub_bytes(data, 0, 140)); + + local src_addr: addr; + local src_port: port; + local dst_addr: addr; + local dst_port: port; + + if ( state$is_orig ) + { + src_addr = state$conn$id$orig_h; + src_port = state$conn$id$orig_p; + dst_addr = state$conn$id$resp_h; + dst_port = state$conn$id$resp_p; + } + else + { + src_addr = state$conn$id$resp_h; + src_port = state$conn$id$resp_p; + dst_addr = state$conn$id$orig_h; + dst_port = state$conn$id$orig_p; + } + + if ( action != SIG_QUIET && action != SIG_COUNT_PER_RESP ) + { + local info: Info = [$ts=network_time(), + $note=Sensitive_Signature, + $src_addr=src_addr, + $src_port=src_port, + $dst_addr=dst_addr, + $dst_port=dst_port, + $event_msg=fmt("%s: %s", src_addr, msg), + $sig_id=sig_id, + $sub_msg=data]; + Log::write(SIGNATURES, info); + } + + local notice = F; + if ( action == SIG_ALARM ) + notice = T; + + if ( action == SIG_COUNT_PER_RESP ) + { + local dst = state$conn$id$resp_h; + if ( ++count_per_resp[dst,sig_id] in count_thresholds ) + { + NOTICE([$note=Count_Signature, $conn=state$conn, + $msg=msg, + $filename=sig_id, + $n=count_per_resp[dst,sig_id], + $sub=fmt("%d matches of signature %s on host %s", + count_per_resp[dst,sig_id], + sig_id, dst)]); + } + } + + if ( (action == SIG_ALARM_PER_ORIG || action == SIG_SUMMARY) && + ++count_per_orig[state$conn$id$orig_h, sig_id] == 1 ) + { + if ( action == SIG_ALARM_PER_ORIG ) + notice = T; + else + schedule summary_interval { + sig_summary(state$conn$id$orig_h, sig_id, msg) + }; + } + + if ( action == SIG_ALARM_ONCE ) + { + if ( [sig_id] !in did_sig_log ) + { + notice = T; + add did_sig_log[sig_id]; + } + } + + if ( notice ) + NOTICE([$note=Sensitive_Signature, + $conn=state$conn, $src=src_addr, + $dst=dst_addr, $filename=sig_id, $msg=fmt("%s: %s", src_addr, msg), + $sub=data]); + + if ( action == SIG_FILE_BUT_NO_SCAN || action == SIG_SUMMARY ) + return; + + # Keep track of scans. + local orig = state$conn$id$orig_h; + local resp = state$conn$id$resp_h; + + if ( [orig, sig_id] !in horiz_table ) + horiz_table[orig, sig_id] = set(); + + add horiz_table[orig, sig_id][resp]; + + if ( [orig, resp] !in vert_table ) + vert_table[orig, resp] = set(); + + add vert_table[orig, resp][sig_id]; + + local hcount = length(horiz_table[orig, sig_id]); + local vcount = length(vert_table[orig, resp]); + + if ( hcount in horiz_scan_thresholds && hcount != last_hthresh[orig] ) + { + local horz_scan_msg = + fmt("%s has triggered signature %s on %d hosts", + orig, sig_id, hcount); + + Log::write(SIGNATURES, + [$note=Multiple_Sig_Responders, + $src_addr=orig, $sig_id=sig_id, $event_msg=msg, + $host_count=hcount, $sub_msg=horz_scan_msg]); + + NOTICE([$note=Multiple_Sig_Responders, $src=orig, $filename=sig_id, + $msg=msg, $n=hcount, $sub=horz_scan_msg]); + + last_hthresh[orig] = hcount; + } + + if ( vcount in vert_scan_thresholds && vcount != last_vthresh[orig] ) + { + local vert_scan_msg = + fmt("%s has triggered %d different signatures on host %s", + orig, vcount, resp); + + Log::write(SIGNATURES, + [$note=Multiple_Signatures, + $src_addr=orig, + $dst_addr=resp, $sig_id=sig_id, $sig_count=vcount, + $event_msg=fmt("%s different signatures triggered", vcount), + $sub_msg=vert_scan_msg]); + + NOTICE([$note=Multiple_Signatures, $src=orig, $dst=resp, + $filename=sig_id, + $msg=fmt("%s different signatures triggered", vcount), + $n=vcount, $sub=vert_scan_msg]); + + last_vthresh[orig] = vcount; + } + } + diff --git a/policy/frameworks/signatures/detect-windows-shells.sig b/policy/frameworks/signatures/detect-windows-shells.sig new file mode 100644 index 0000000000..39b1fd91e2 --- /dev/null +++ b/policy/frameworks/signatures/detect-windows-shells.sig @@ -0,0 +1,13 @@ +signature windows_reverse_shell { + ip-proto == tcp + tcp-state established,originator + event "ATTACK-RESPONSES Microsoft cmd.exe banner (reverse-shell originator)" + payload /.*Microsoft Windows.*\x28C\x29 Copyright 1985-.*Microsoft Corp/ +} + +signature windows_shell { + ip-proto == tcp + tcp-state established,responder + event "ATTACK-RESPONSES Microsoft cmd.exe banner (normal-shell responder)" + payload /.*Microsoft Windows.*\x28C\x29 Copyright 1985-.*Microsoft Corp/ +} diff --git a/policy/frameworks/signatures/p0f.fp b/policy/frameworks/signatures/p0f.fp new file mode 100644 index 0000000000..0ee37b4e37 --- /dev/null +++ b/policy/frameworks/signatures/p0f.fp @@ -0,0 +1,834 @@ +# +# p0f - SYN fingerprints +# ---------------------- +# +# .-------------------------------------------------------------------------. +# | The purpose of this file is to cover signatures for incoming TCP/IP | +# | connections (SYN packets). This is the default mode of operation for | +# | p0f. This is also the biggest and most up-to-date set of signatures | +# | shipped with this project. The file also contains a detailed discussion | +# | of all metrics examined by p0f, and some practical notes on how to | +# | add new signatures. | +# `-------------------------------------------------------------------------' +# +# (C) Copyright 2000-2006 by Michal Zalewski +# +# Each line in this file specifies a single fingerprint. Please read the +# information below carefully before attempting to append any signatures +# reported by p0f as UNKNOWN to this file to avoid mistakes. Note that +# this file is compatible only with the default operation mode, and not +# with -R or -A options (SYN+ACK and RST+ modes). +# +# We use the following set metrics for fingerprinting: +# +# - Window size (WSS) - a highly OS dependent setting used for TCP/IP +# performance control (max. amount of data to be sent without ACK). +# Some systems use a fixed value for initial packets. On other +# systems, it is a multiple of MSS or MTU (MSS+40). In some rare +# cases, the value is just arbitrary. +# +# NEW SIGNATURE: if p0f reported a special value of 'Snn', the number +# appears to be a multiple of MSS (MSS*nn); a special value of 'Tnn' +# means it is a multiple of MTU ((MSS+40)*nn). Unless you notice the +# value of nn is not fixed (unlikely), just copy the Snn or Tnn token +# literally. If you know this device has a simple stack and a fixed +# MTU, you can however multiply S value by MSS, or T value by MSS+40, +# and put it instead of Snn or Tnn. One system may exhibit several T +# or S values. In some situations, this might be a source of some +# additional information about the setup if you have some time to dig +# thru the kernel sources; in some other cases, like Windows, there seem +# to be a multitude of variants and WSS selection algorithms, but it's +# rather difficult to find a pattern without having the source. +# +# If WSS looks like a regular fixed value (for example is a power of two), +# or if you can confirm the value is fixed by looking at several +# fingerprints, please quote it literaly. If there's no apparent pattern +# in WSS chosen, you should consider wildcarding this value - but this +# should be the last option. +# +# NOTE: Some NAT devices, such as Linux iptables with --set-mss, will +# modify MSS, but not WSS. As a result, MSS is changed to reflect +# the MTU of the NAT device, but WSS remains a multiple of the original +# MSS. Fortunately for us, the source device would almost always be +# hooked up to Ethernet. P0f handles it automatically for the original +# MSS of 1460, by adding "NAT!" tag to the result. +# +# In certain configurations, Linux erratically (?) uses MTU from another +# interface on the default gw interface. This only happens on systems with +# two network interfaces. Thus, some Linux systems that do not go thru NAT, +# but have multiple interfaces instead, will be also tagged this way. +# +# P0f recognizes and automatically wildcards WSS of 12345, as generated +# by sendack and sendsyn utilities shipped with the program, when +# reporting a new signature. See test/sendack.c and test/sendsyn.c for more +# information about this. +# +# - Overall packet size - a function of all IP and TCP options and bugs. +# While this is partly redundant in the real world, we record this value +# to capture rare cases when there are IP options (which we do not currently +# examine) or packet data past the headers. Both situations are rare. +# +# Packet size MAY be wildcarded, but the meaning of the wildcard is +# very special, and means the packet must be larger than PACKET_BIG +# (defined in config.h as 100). This is usually not necessary, except +# for some really broken implementations in RST+ mode. For more information, +# see p0fr.fp. P0f automatically wildcards big packets when reporting +# new signatures. +# +# NEW SIGNATURE: Copy this value literally. +# +# - Initial TTL - We check the actual TTL of a received packet. It can't +# be higher than the initial TTL, and also shouldn't be dramatically +# lower (maximum distance is defined in config.h as 40 hops). +# +# NEW SIGNATURE: *Never* copy TTL from a p0f-reported signature literally. +# You need to determine the initial TTL. The best way to do it is to +# check the documentation for a remote system, or check its settings. +# A fairly good method is to simply round the observed TTL up to +# 32, 64, 128, or 255, but it should be noted that some obscure devices +# might not use round TTLs (in particular, some shoddy appliances and +# IRIX and Tru64 are known to use "original" initial TTL settings). If not +# sure, use traceroute or mtr to see how far you are from the host. +# +# Note that -F option overrides this check if no signature can be found. +# +# - Don't fragment flag (DF) - some modern OSes set this to implement PMTU +# discovery. Others do not bother. +# +# NEW SIGNATURE: Copy this value literally. Note: this setting is +# sometimes cleared by firewalls and/or certain connectivity clients. +# Try to find out what's the actual state for a given OS if you see both, +# and add the right one. P0f will automatically detect a case when a +# firewall removed the DF flag and will append "(firewall!)" suffix to +# the signature, so if the DF version is the right one, don't add no-DF +# variant, unless it has a different meaning. +# +# - Maximum segment size (MSS) - this setting is usually link-dependent. P0f +# uses it to determine link type of the remote host. +# +# NEW SIGNATURE: Always wildcard this value, except for rare cases when +# you have an appliance with a fixed value, know the system supports only +# a very limited number of network interface types, or know the system +# is using a value it pulled out of nowhere. I use specific unique MSS +# to tell Google crawlbots from the rest of Linux population, for example. +# +# If a specific MSS/MTU is unique to a certain link type, be sure to +# add it to mtu.h instead of creating several variants of each signature. +# +# - Window scaling (WSCALE) - this feature is used to scale WSS. +# It extends the size of a TCP/IP window to 32 bits, of sorts. Some modern +# systems implement this feature. +# +# NEW SIGNATURE: Observe several signatures. Initial WSCALE is often set +# to zero or other low value. There's usually no need to wildcard this +# parameter. +# +# - Timestamp - some systems that implement timestamps set them to +# zero in the initial SYN. This case is detected and handled appropriately. +# +# NEW SIGNATURE: Copy T or T0 option literally. +# +# - Selective ACK permitted - a flag set by systems that implement +# selective ACK functionality, +# +# NEW SIGNATURE: copy S option literally. +# +# - NOP option - its presence, count and sequence is a useful OS-dependent +# characteristic, +# +# NEW SIGNATURE: copy N options literally. +# +# - Other and unrecognized options (TTCP-related and such) - implemented by +# some eccentric or very buggy TCP/IP stacks ;-), +# +# NEW SIGNATURE: copy ? options literally. +# +# - EOL option. Contrary to the popular belief, the presence of EOL +# option is actually quite rare, most systems just NOP-pad to the +# packet boundary. +# +# NEW SIGNATURE: copy E option literally. +# +# - The sequence of TCP all options mentioned above - this is very +# specific to the implementation, +# +# NEW SIGNATURE: Copy the sequence literally. +# +# - Quirks. Some buggy stacks set certain values that should be zeroed in a +# TCP packet to non-zero values. This has no effect as of today, but is +# a valuable source of information. Some systems actually seem to leak +# memory there. Other systems just exhibit harmful but very specific +# behavior. This section captures all unusual yes-no properties not +# related to the main and expected header layout. We detect the following: +# +# - Data past the headers. Neither SYN nor SYN+ACK packets are supposed +# to carry any payload. If they do, we should take notice. The actual +# payload is not examined, but will be displayed if use the -X option. +# Note that payload is not unusual in RST+ mode (see p0fr.fp), very +# rare otherwise. +# +# - Options past EOL. Some systems have some trailing data past EOL +# in the options section of TCP/IP headers. P0f does not examine this +# data as of today, simply detects its presence. If there is a +# confirmed sizable population of systems that have data past EOL, it +# might be a good idea to look at it. Until then, you have to recompile +# p0f with DEBUG_EXTRAS set or use -x to display this data, +# +# - Zero IP ID. This again is a (mostly) harmless setting to use a fixed +# IP ID for packets with DF set. Some systems reportedly use zero ID, +# most OSes do not. There is a very slight probability of a false +# positive when IP ID is "naturally" chosen to be zero on a system +# that otherwise does set proper values, but the probability is +# neglible (if it becomes a problem, recompile p0f with IGNORE_ZEROID +# set in the sources). +# +# - IP options specified. Usually, packets do not have any IP options +# set, but there can be some. Until there is a confirmed sizable +# population of systems that do have IP options in a packet, p0f +# does not examine those in detail, but it might change (use +# DEBUG_EXTRAS or -x to display IP options if any found), +# +# - URG pointer value. SYN packets do not have URG flag set, so the +# value in URG pointer in TCP header is ignored. Most systems set it +# to zero, but some OSes (some versions of Windows, for example) do +# not zero this field or even simply leak memory; the actual value is +# not examined, because most cases seem to be just random garbage +# (you can use DEBUG_EXTRAS or -x to report this information though); +# see doc/win-memleak.txt for more information, +# +# - "Unused" field value. This should be always zero, but some systems +# forget to clear it. This might result in some funny issues in the +# future. P0f checks for non-zero value (and will display it if +# DEBUG_EXTRAS is set, or you can use -x), +# +# - ACK number non-zero. ACK value in SYN packets with no ACK flag +# is disregarded and is usually set to zero (just like with URG +# pointer), but some systems forget to do it. The exact value is +# not examined (but will be displayed with DEBUG_EXTRAS, or you can +# use -x). Note that this is not an anomaly in SYN+ACK and RST+ modes, +# +# - Non-zero second timestamp. The initial SYN packet should have the +# second timestamp always zeroed. SYN+ACK and RST+ may "legally" have +# this quirk though, +# +# - Unusual flags. If, in addition to SYN (or SYN+ACK), there are some +# auxilinary flags that do not modify the very meaning of a packet, +# p0f records this (this can be URG, PUSH, or something else). +# +# Note: ECN flags (ECE and CWR) are ignored and denoted in a separate +# way. ECN is never by default, because some systems can't handle it, +# and it probably does not make much sense to include it in signatures +# right now. +# +# - TCP option segment parsing problems. If p0f fails to decode options +# because of a badly broken packet, it records this fact. +# +# There are several other quirks valid only in RST+ mode, see p0fr.fp for +# more information. Those quirks are unheard of in SYN and SYN+ACK +# modes. +# +# NEW SIGNATURE: Copy "quirks" section literally. +# +# We DO NOT use ToS for fingerprinting. While the original TCP/IP +# fingerprinting research believed this value would be useful for this +# purpose, it is not. The setting is way too often tweaked by network +# devices. +# +# To wildcard MSS, WSS or WSCALE, replace it with '*'. You can also use a +# modulo operator to match any values that divide by nnn - '%nnn' (and, +# as stated above, WSS also supports special values Snn and Tnn). +# +# Fingerprint entry format: +# +# wwww:ttt:D:ss:OOO...:QQ:OS:Details +# +# wwww - window size (can be * or %nnn or Sxx or Txx) +# "Snn" (multiple of MSS) and "Tnn" (multiple of MTU) are allowed. +# ttt - initial TTL +# D - don't fragment bit (0 - not set, 1 - set) +# ss - overall SYN packet size (* has a special meaning) +# OOO - option value and order specification (see below) +# QQ - quirks list (see below) +# OS - OS genre (Linux, Solaris, Windows) +# details - OS description (2.0.27 on x86, etc) +# +# If OS genre starts with '*', p0f will not show distance, link type +# and timestamp data. It is useful for userland TCP/IP stacks of +# network scanners and so on, where many settings are randomized or +# bogus. +# +# If OS genre starts with @, it denotes an approximate hit for a group +# of operating systems (signature reporting still enabled in this case). +# Use this feature at the end of this file to catch cases for which +# you don't have a precise match, but can tell it's Windows or FreeBSD +# or whatnot by looking at, say, flag layout alone. +# +# If OS genre starts with - (which can prefix @ or *), the entry is +# not considered to be a real operating system (but userland stack +# instead). It is important to mark all scanners and so on with -, +# so that they are not used for masquerade detection (also add this +# prefix for signatures of application-induced behavior, such as +# increased window size with Opera browser). +# +# Option block description is a list of comma or space separated +# options in the order they appear in the packet: +# +# N - NOP option +# E - EOL option +# Wnnn - window scaling option, value nnn (or * or %nnn) +# Mnnn - maximum segment size option, value nnn (or * or %nnn) +# S - selective ACK OK +# T - timestamp +# T0 - timestamp with zero value +# ?n - unrecognized option number n. +# +# P0f can sometimes report ?nn among the options. This means it couldn't +# recognize this option (option number nn). It's either a bug in p0f, or +# a faulty TCP/IP stack, or, if the number is listed here: +# +# http://www.iana.org/assignments/tcp-parameters +# +# ...the stack might be simply quite exotic. +# +# To denote no TCP options, use a single '.'. +# +# Quirks section is usually an empty list ('.') of oddities or bugs of this +# particular stack. List items are not separated in any way. Possible values: +# +# P - options past EOL, +# Z - zero IP ID, +# I - IP options specified, +# U - urg pointer non-zero, +# X - unused (x2) field non-zero, +# A - ACK number non-zero, +# T - non-zero second timestamp, +# F - unusual flags (PUSH, URG, etc), +# D - data payload, +# ! - broken options segment. +# +# WARNING WARNING WARNING +# ----------------------- +# +# Do not add a system X as OS Y just because NMAP says so. It is often +# the case that X is a NAT firewall. While nmap is talking to the +# device itself, p0f is fingerprinting the guy behind the firewall +# instead. +# +# When in doubt, use common sense, don't add something that looks like +# a completely different system as Linux or FreeBSD or LinkSys router. +# Check DNS name, establish a connection to the remote host and look +# at SYN+ACK (p0f -A -S should do) - does it look similar? +# +# Some users tweak their TCP/IP settings - enable or disable RFC1323, +# RFC1644 or RFC2018 support, disable PMTU discovery, change MTU, initial +# TTL and so on. Always compare a new rule to other fingerprints for +# this system, and verify the system isn't "customized". It is OK to +# add signature variants caused by commonly used software (PFs, security +# packages, etc), but it makes no sense to try to add every single +# possible /proc/sys/net/ipv4/* tweak on Linux or so. +# +# KEEP IN MIND: Some packet firewalls configured to normalize outgoing +# traffic (OpenBSD pf with "scrub" enabled, for example) will, well, +# normalize packets. Signatures will not correspond to the originating +# system (and probably not quite to the firewall either). +# +# NOTE: Try to keep this file in some reasonable order, from most to +# least likely systems. This will speed up operation. Also keep most +# generic and broad rules near ehe end. +# +# Still decided to add signature? Let us know - mail a copy of your discovery +# to lcamtuf@coredump.cx. You can help make p0f better, and I can help you +# make your signature more accurate. +# + +########################## +# Standard OS signatures # +########################## + +# ----------------- AIX --------------------- + +# AIX is first because its signatures are close to NetBSD, MacOS X and +# Linux 2.0, but it uses a fairly rare MSSes, at least sometimes... +# This is a shoddy hack, though. + +45046:64:0:44:M*:.:AIX:4.3 + +16384:64:0:44:M512:.:AIX:4.3.2 and earlier + +16384:64:0:60:M512,N,W%2,N,N,T:.:AIX:4.3.3-5.2 (1) +32768:64:0:60:M512,N,W%2,N,N,T:.:AIX:4.3.3-5.2 (2) +65535:64:0:60:M512,N,W%2,N,N,T:.:AIX:4.3.3-5.2 (3) + +65535:64:0:64:M*,N,W1,N,N,T,N,N,S:.:AIX:5.3 ML1 + +# ----------------- Linux ------------------- + +S1:64:0:44:M*:A:Linux:1.2.x +512:64:0:44:M*:.:Linux:2.0.3x (1) +16384:64:0:44:M*:.:Linux:2.0.3x (2) + +# Endian snafu! Nelson says "ha-ha": +2:64:0:44:M*:.:Linux:2.0.3x (MkLinux) on Mac (1) +64:64:0:44:M*:.:Linux:2.0.3x (MkLinux) on Mac (2) + +S4:64:1:60:M1360,S,T,N,W0:.:Linux:2.4 (Google crawlbot) +S4:64:1:60:M1430,S,T,N,W0:.:Linux:2.4-2.6 (Google crawlbot) + +S2:64:1:60:M*,S,T,N,W0:.:Linux:2.4 (large MTU?) +S3:64:1:60:M*,S,T,N,W0:.:Linux:2.4 (newer) +S4:64:1:60:M*,S,T,N,W0:.:Linux:2.4-2.6 + +S3:64:1:60:M*,S,T,N,W1:.:Linux:2.6, seldom 2.4 (older, 1) +S4:64:1:60:M*,S,T,N,W1:.:Linux:2.6, seldom 2.4 (older, 2) +S3:64:1:60:M*,S,T,N,W2:.:Linux:2.6, seldom 2.4 (older, 3) +S4:64:1:60:M*,S,T,N,W2:.:Linux:2.6, seldom 2.4 (older, 4) +T4:64:1:60:M*,S,T,N,W2:.:Linux:2.6 (older, 5) + +S4:64:1:60:M*,S,T,N,W5:.:Linux:2.6 (newer, 1) +S4:64:1:60:M*,S,T,N,W6:.:Linux:2.6 (newer, 2) +S4:64:1:60:M*,S,T,N,W7:.:Linux:2.6 (newer, 3) +T4:64:1:60:M*,S,T,N,W7:.:Linux:2.6 (newer, 4) + + +S20:64:1:60:M*,S,T,N,W0:.:Linux:2.2 (1) +S22:64:1:60:M*,S,T,N,W0:.:Linux:2.2 (2) +S11:64:1:60:M*,S,T,N,W0:.:Linux:2.2 (3) + +# Popular cluster config scripts disable timestamps and +# selective ACK: + +S4:64:1:48:M1460,N,W0:.:Linux:2.4 in cluster + +# This happens only over loopback, but let's make folks happy: +32767:64:1:60:M16396,S,T,N,W0:.:Linux:2.4 (loopback) +32767:64:1:60:M16396,S,T,N,W2:.:Linux:2.6 (newer, loopback) +S8:64:1:60:M3884,S,T,N,W0:.:Linux:2.2 (loopback) + +# Opera visitors: +16384:64:1:60:M*,S,T,N,W0:.:-Linux:2.2 (Opera?) +32767:64:1:60:M*,S,T,N,W0:.:-Linux:2.4 (Opera?) + +# Some fairly common mods & oddities: +S22:64:1:52:M*,N,N,S,N,W0:.:Linux:2.2 (tstamp-) +S4:64:1:52:M*,N,N,S,N,W0:.:Linux:2.4 (tstamp-) +S4:64:1:52:M*,N,N,S,N,W2:.:Linux:2.6 (tstamp-) +S4:64:1:44:M*:.:Linux:2.6? (barebone, rare!) +T4:64:1:60:M1412,S,T,N,W0:.:Linux:2.4 (rare!) + +# ----------------- FreeBSD ----------------- + +16384:64:1:44:M*:.:FreeBSD:2.0-4.2 +16384:64:1:60:M*,N,W0,N,N,T:.:FreeBSD:4.4 (1) + +1024:64:1:60:M*,N,W0,N,N,T:.:FreeBSD:4.4 (2) + +57344:64:1:44:M*:.:FreeBSD:4.6-4.8 (RFC1323-) +57344:64:1:60:M*,N,W0,N,N,T:.:FreeBSD:4.6-4.9 + +32768:64:1:60:M*,N,W0,N,N,T:.:FreeBSD:4.8-5.1 (or MacOS X 10.2-10.3) +65535:64:1:60:M*,N,W0,N,N,T:.:FreeBSD:4.7-5.2 (or MacOS X 10.2-10.4) (1) +65535:64:1:60:M*,N,W1,N,N,T:.:FreeBSD:4.7-5.2 (or MacOS X 10.2-10.4) (2) + +65535:64:1:60:M*,N,W0,N,N,T:Z:FreeBSD:5.1 (1) +65535:64:1:60:M*,N,W1,N,N,T:Z:FreeBSD:5.1 (2) +65535:64:1:60:M*,N,W2,N,N,T:Z:FreeBSD:5.1 (3) +65535:64:1:64:M*,N,N,S,N,W1,N,N,T:.:FreeBSD:5.3-5.4 +65535:64:1:64:M*,N,W1,N,N,T,S,E:P:FreeBSD:6.x (1) +65535:64:1:64:M*,N,W0,N,N,T,S,E:P:FreeBSD:6.x (2) + +65535:64:1:44:M*:Z:FreeBSD:5.2 (RFC1323-) + +# 16384:64:1:60:M*,N,N,N,N,N,N,T:.:FreeBSD:4.4 (tstamp-) + +# ----------------- NetBSD ------------------ + +16384:64:0:60:M*,N,W0,N,N,T:.:NetBSD:1.3 +65535:64:0:60:M*,N,W0,N,N,T0:.:-NetBSD:1.6 (Opera) +16384:64:1:60:M*,N,W0,N,N,T0:.:NetBSD:1.6 +65535:64:1:60:M*,N,W1,N,N,T0:.:NetBSD:1.6W-current (DF) +65535:64:1:60:M*,N,W0,N,N,T0:.:NetBSD:1.6X (DF) +32768:64:1:60:M*,N,W0,N,N,T0:.:NetBSD:1.6Z or 2.0 (DF) +32768:64:1:64:M1416,N,W0,S,N,N,N,N,T0:.:NetBSD:2.0G (DF) +32768:64:1:64:M*,N,W0,S,N,N,N,N,T0:.:NetBSD:3.0 (DF) + +# ----------------- OpenBSD ----------------- + +16384:64:1:64:M*,N,N,S,N,W0,N,N,T:.:OpenBSD:3.0-3.9 +57344:64:1:64:M*,N,N,S,N,W0,N,N,T:.:OpenBSD:3.3-3.4 +16384:64:0:64:M*,N,N,S,N,W0,N,N,T:.:OpenBSD:3.0-3.4 (scrub) +65535:64:1:64:M*,N,N,S,N,W0,N,N,T:.:-OpenBSD:3.0-3.4 (Opera?) +32768:64:1:64:M*,N,N,S,N,W0,N,N,T:.:OpenBSD:3.7 + +# ----------------- Solaris ----------------- + +S17:64:1:64:N,W3,N,N,T0,N,N,S,M*:.:Solaris:8 (RFC1323 on) +S17:64:1:48:N,N,S,M*:.:Solaris:8 (1) +S17:255:1:44:M*:.:Solaris:2.5-7 (1) + +# Sometimes, just sometimes, Solaris feels like coming up with +# rather arbitrary MSS values ;-) + +S6:255:1:44:M*:.:Solaris:2.5-7 (2) +S23:64:1:48:N,N,S,M*:.:Solaris:8 (2) +S34:64:1:48:M*,N,N,S:.:Solaris:9 +S34:64:1:48:M*,N,N,N,N:.:Solaris:9 (no sack) +S44:255:1:44:M*:.:Solaris:7 + +4096:64:0:44:M1460:.:SunOS:4.1.x + +S34:64:1:52:M*,N,W0,N,N,S:.:Solaris:10 (beta) +32850:64:1:64:M*,N,N,T,N,W1,N,N,S:.:Solaris:10 (1203?) +32850:64:1:64:M*,N,W1,N,N,T,N,N,S:.:Solaris:9.1 + +# ----------------- IRIX -------------------- + +49152:60:0:44:M*:.:IRIX:6.2-6.4 +61440:60:0:44:M*:.:IRIX:6.2-6.5 +49152:60:0:52:M*,N,W2,N,N,S:.:IRIX:6.5 (RFC1323+) (1) +49152:60:0:52:M*,N,W3,N,N,S:.:IRIX:6.5 (RFC1323+) (2) + +61440:60:0:48:M*,N,N,S:.:IRIX:6.5.12-6.5.21 (1) +49152:60:0:48:M*,N,N,S:.:IRIX:6.5.12-6.5.21 (2) + +49152:60:0:64:M*,N,W2,N,N,T,N,N,S:.:IRIX:6.5 IP27 + +# ----------------- Tru64 ------------------- +# Tru64 and OpenVMS share the same stack on occassions. +# Relax. + +32768:60:1:48:M*,N,W0:.:Tru64:4.0 (or OS/2 Warp 4) +32768:60:0:48:M*,N,W0:.:Tru64:5.0 (or OpenVMS 7.x on Compaq 5.0 stack) +8192:60:0:44:M1460:.:Tru64:5.1 (no RFC1323) (or QNX 6) +61440:60:0:48:M*,N,W0:.:Tru64:v5.1a JP4 (or OpenVMS 7.x on Compaq 5.x stack) + +# ----------------- OpenVMS ----------------- + +6144:64:1:60:M*,N,W0,N,N,T:.:OpenVMS:7.2 (Multinet 4.3-4.4 stack) + +# ----------------- MacOS ------------------- + +S2:255:1:48:M*,W0,E:.:MacOS:8.6 classic + +16616:255:1:48:M*,W0,E:.:MacOS:7.3-8.6 (OTTCP) +16616:255:1:48:M*,N,N,N,E:.:MacOS:8.1-8.6 (OTTCP) +32768:255:1:48:M*,W0,N:.:MacOS:9.0-9.2 + +32768:255:1:48:M1380,N,N,N,N:.:MacOS:9.1 (OT 2.7.4) (1) +65535:255:1:48:M*,N,N,N,N:.:MacOS:9.1 (OT 2.7.4) (2) + +# ----------------- Windows ----------------- + +# Windows TCP/IP stack is a mess. For most recent XP, 2000 and +# even 98, the pathlevel, not the actual OS version, is more +# relevant to the signature. They share the same code, so it would +# seem. Luckily for us, almost all Windows 9x boxes have an +# awkward MSS of 536, which I use to tell one from another +# in most difficult cases. + +8192:32:1:44:M*:.:Windows:3.11 (Tucows) +S44:64:1:64:M*,N,W0,N,N,T0,N,N,S:.:Windows:95 +8192:128:1:64:M*,N,W0,N,N,T0,N,N,S:.:Windows:95b + +# There were so many tweaking tools and so many stack versions for +# Windows 98 it is no longer possible to tell them from each other +# without some very serious research. Until then, there's an insane +# number of signatures, for your amusement: + +S44:32:1:48:M*,N,N,S:.:Windows:98 (low TTL) (1) +8192:32:1:48:M*,N,N,S:.:Windows:98 (low TTL) (2) +%8192:64:1:48:M536,N,N,S:.:Windows:98 (13) +%8192:128:1:48:M536,N,N,S:.:Windows:98 (15) +S4:64:1:48:M*,N,N,S:.:Windows:98 (1) +S6:64:1:48:M*,N,N,S:.:Windows:98 (2) +S12:64:1:48:M*,N,N,S:.:Windows:98 (3 +T30:64:1:64:M1460,N,W0,N,N,T0,N,N,S:.:Windows:98 (16) +32767:64:1:48:M*,N,N,S:.:Windows:98 (4) +37300:64:1:48:M*,N,N,S:.:Windows:98 (5) +46080:64:1:52:M*,N,W3,N,N,S:.:Windows:98 (RFC1323+) +65535:64:1:44:M*:.:Windows:98 (no sack) +S16:128:1:48:M*,N,N,S:.:Windows:98 (6) +S16:128:1:64:M*,N,W0,N,N,T0,N,N,S:.:Windows:98 (7) +S26:128:1:48:M*,N,N,S:.:Windows:98 (8) +T30:128:1:48:M*,N,N,S:.:Windows:98 (9) +32767:128:1:52:M*,N,W0,N,N,S:.:Windows:98 (10) +60352:128:1:48:M*,N,N,S:.:Windows:98 (11) +60352:128:1:64:M*,N,W2,N,N,T0,N,N,S:.:Windows:98 (12) + +# What's with 1414 on NT? +T31:128:1:44:M1414:.:Windows:NT 4.0 SP6a (1) +64512:128:1:44:M1414:.:Windows:NT 4.0 SP6a (2) +8192:128:1:44:M*:.:Windows:NT 4.0 (older) + +# Windows XP and 2000. Most of the signatures that were +# either dubious or non-specific (no service pack data) +# were deleted and replaced with generics at the end. + +65535:128:1:48:M*,N,N,S:.:Windows:2000 SP4, XP SP1+ +%8192:128:1:48:M*,N,N,S:.:Windows:2000 SP2+, XP SP1+ (seldom 98) +S20:128:1:48:M*,N,N,S:.:Windows:SP3 +S45:128:1:48:M*,N,N,S:.:Windows:2000 SP4, XP SP1+ (2) +40320:128:1:48:M*,N,N,S:.:Windows:2000 SP4 + +S6:128:1:48:M*,N,N,S:.:Windows:XP, 2000 SP2+ +S12:128:1:48:M*,N,N,S:.:Windows:XP SP1+ (1) +S44:128:1:48:M*,N,N,S:.:Windows:XP SP1+, 2000 SP3 +64512:128:1:48:M*,N,N,S:.:Windows:XP SP1+, 2000 SP3 (2) +32767:128:1:48:M*,N,N,S:.:Windows:XP SP1+, 2000 SP4 (3) + +# Windows 2003 & Vista + +8192:128:1:52:M*,W8,N,N,N,S:.:Windows:Vista (beta) +32768:32:1:52:M1460,N,W0,N,N,S:.:Windows:2003 AS +65535:64:1:52:M1460,N,W2,N,N,S:.:Windows:2003 (1) +65535:64:1:48:M1460,N,N,S:.:Windows:2003 (2) + +# Odds, ends, mods: + +S52:128:1:48:M1260,N,N,S:.:Windows:XP/2000 via Cisco +65520:128:1:48:M*,N,N,S:.:Windows:XP bare-bone +16384:128:1:52:M536,N,W0,N,N,S:.:Windows:2000 w/ZoneAlarm? +2048:255:0:40:.:.:Windows:.NET Enterprise Server +44620:64:0:48:M*,N,N,S:.:Windows:ME no SP (?) +S6:255:1:48:M536,N,N,S:.:Windows:95 winsock 2 +32000:128:0:48:M*,N,N,S:.:Windows:XP w/Winroute? +16384:64:1:48:M1452,N,N,S:.:Windows:XP w/Sygate? (1) +17256:64:1:48:M1460,N,N,S:.:Windows:XP w/Sygate? (2) + +# No need to be more specific, it passes: +*:128:1:48:M*,N,N,S:U:-Windows:XP/2000 while downloading (leak!) + +# ----------------- HP/UX ------------------- + +32768:64:1:44:M*:.:HP-UX:B.10.20 +32768:64:1:48:M*,W0,N:.:HP-UX:11.00-11.11 + +# Whoa. Hardcore WSS. +0:64:0:48:M*,W0,N:.:HP-UX:B.11.00 A (RFC1323+) + +# ----------------- RiscOS ------------------ + +16384:64:1:68:M1460,N,W0,N,N,T,N,N,?12:.:RISC OS:3.70-4.36 (inet 5.04) +12288:32:0:44:M536:.:RISC OS:3.70 inet 4.10 +4096:64:1:56:M1460,N,N,T:T:RISC OS:3.70 freenet 2.00 + +# ----------------- BSD/OS ------------------ + +8192:64:1:60:M1460,N,W0,N,N,T:.:BSD/OS:3.1-4.3 (or MacOS X 10.2) + +# ---------------- NetwonOS ----------------- + +4096:64:0:44:M1420:.:NewtonOS:2.1 + +# ---------------- NeXTSTEP ----------------- + +S8:64:0:44:M512:.:NeXTSTEP:3.3 (1) +S4:64:0:44:M1024:.:NeXTSTEP:3.3 (2) + +# ------------------ BeOS ------------------- + +1024:255:0:48:M*,N,W0:.:BeOS:5.0-5.1 +12288:255:0:44:M*:.:BeOS:5.0.x + +# ------------------ OS/400 ----------------- + +8192:64:1:60:M1440,N,W0,N,N,T:.:OS/400:V4R4/R5 +8192:64:0:44:M536:.:OS/400:V4R3/M0 +4096:64:1:60:M1440,N,W0,N,N,T:.:OS/400:V4R5 + CF67032 + +28672:64:0:44:M1460:A:OS/390:? + +# ------------------ ULTRIX ----------------- + +16384:64:0:40:.:.:ULTRIX:4.5 + +# ------------------- QNX ------------------- + +S16:64:0:44:M512:.:QNX:demodisk +16384:64:0:60:M1460,N,W0,N,N,T0:.:QNX:6.x + +# ------------------ Novell ----------------- + +16384:128:1:44:M1460:.:Novell:NetWare 5.0 +6144:128:1:44:M1460:.:Novell:IntranetWare 4.11 +6144:128:1:44:M1368:.:Novell:BorderManager ? + +# According to rfp: +6144:128:1:52:M*,W0,N,S,N,N:.:Novell:Netware 6 SP3 + +# -------------- SCO UnixWare --------------- + +S3:64:1:60:M1460,N,W0,N,N,T:.:SCO:UnixWare 7.1 +S17:64:1:60:M*,N,W0,N,N,T:.:SCO:UnixWare 7.1.x +S23:64:1:44:M1380:.:SCO:OpenServer 5.0 + +# ------------------- DOS ------------------- + +2048:255:0:44:M536:.:DOS:Arachne via WATTCP/1.05 +T2:255:0:44:M984:.:DOS:Arachne via WATTCP/1.05 (eepro) +16383:64:0:44:M536:.:DOS:Unknown via WATTCP (epppd) + +# ------------------ OS/2 ------------------- + +S56:64:0:44:M512:.:OS/2:4 +28672:64:0:44:M1460:.:OS/2:Warp 4.0 + +# ----------------- TOPS-20 ----------------- + +# Another hardcore MSS, one of the ACK leakers hunted down. +0:64:0:44:M1460:A:TOPS-20:version 7 + +# ------------------ AMIGA ------------------ + +S32:64:1:56:M*,N,N,S,N,N,?12:.:AMIGA:3.9 BB2 with Miami stack + +# ------------------ Minix ------------------ + +# Not quite sure. +# 8192:210:0:44:M1460:X:@Minix:? + +# ------------------ Plan9 ------------------ + +65535:255:0:48:M1460,W0,N:.:Plan9:edition 4 + +# ----------------- AMIGAOS ----------------- + +16384:64:1:48:M1560,N,N,S:.:AMIGAOS:3.9 BB2 MiamiDX + +# ----------------- FreeMiNT ---------------- + +S44:255:0:44:M536:.:FreeMiNT:1 patch 16A (Atari) + +########################################### +# Appliance / embedded / other signatures # +########################################### + +# ---------- Firewalls / routers ------------ + +S12:64:1:44:M1460:.:@Checkpoint:(unknown 1) +S12:64:1:48:N,N,S,M1460:.:@Checkpoint:(unknown 2) +4096:32:0:44:M1460:.:ExtremeWare:4.x + +S32:64:0:68:M512,N,W0,N,N,T,N,N,?12:.:Nokia:IPSO w/Checkpoint NG FP3 +S16:64:0:68:M1024,N,W0,N,N,T,N,N,?12:.:Nokia:IPSO 3.7 build 026 + +S4:64:1:60:W0,N,S,T,M1460:.:FortiNet:FortiGate 50 + +8192:64:1:44:M1460:.:@Eagle:Secure Gateway + +# ------- Switches and other stuff ---------- + +4128:255:0:44:M*:Z:Cisco:7200, Catalyst 3500, etc +S8:255:0:44:M*:.:Cisco:12008 +S4:255:0:44:M536:Z:Cisco:IOS 11.0 +60352:128:1:64:M1460,N,W2,N,N,T,N,N,S:.:Alteon:ACEswitch +64512:128:1:44:M1370:.:Nortel:Contivity Client + +# ---------- Caches and whatnots ------------ + +8190:255:0:44:M1428:.:Google:Wireless Transcoder (1) +8190:255:0:44:M1460:.:Google:Wireless Transcoder (2) +8192:64:1:64:M1460,N,N,S,N,W0,N,N,T:.:NetCache:5.2 +16384:64:1:64:M1460,N,N,S,N,W0,N:.:NetCache:5.3 +65535:64:1:64:M1460,N,N,S,N,W*,N,N,T:.:NetCache:5.3-5.5 (or FreeBSD 5.4) +20480:64:1:64:M1460,N,N,S,N,W0,N,N,T:.:NetCache:4.1 +S44:64:1:64:M1460,N,N,S,N,W0,N,N,T:.:NetCache:5.5 + +32850:64:1:64:N,W1,N,N,T,N,N,S,M*:.:NetCache:Data OnTap 5.x + +65535:64:0:60:M1460,N,W0,N,N,T:.:CacheFlow:CacheOS 4.1 +8192:64:0:60:M1380,N,N,N,N,N,N,T:.:CacheFlow:CacheOS 1.1 + +S4:64:0:48:M1460,N,N,S:.:Cisco:Content Engine + +27085:128:0:40:.:.:Dell:PowerApp cache (Linux-based) + +65535:255:1:48:N,W1,M1460:.:Inktomi:crawler +S1:255:1:60:M1460,S,T,N,W0:.:LookSmart:ZyBorg + +16384:255:0:40:.:.:Proxyblocker:(what's this?) + +65535:255:0:48:M*,N,N,S:.:Redline: T|X 2200 + +# ----------- Embedded systems -------------- + +S9:255:0:44:M536:.:PalmOS:Tungsten T3/C +S5:255:0:44:M536:.:PalmOS:3/4 +S4:255:0:44:M536:.:PalmOS:3.5 +2948:255:0:44:M536:.:PalmOS:3.5.3 (Handera) +S29:255:0:44:M536:.:PalmOS:5.0 +16384:255:0:44:M1398:.:PalmOS:5.2 (Clie) +S14:255:0:44:M1350:.:PalmOS:5.2.1 (Treo) +16384:255:0:44:M1400:.:PalmOS:5.2 (Sony) + +S23:64:1:64:N,W1,N,N,T,N,N,S,M1460:.:SymbianOS:7 +8192:255:0:44:M1460:.:SymbianOS:6048 (Nokia 7650?) +8192:255:0:44:M536:.:SymbianOS:(Nokia 9210?) +S22:64:1:56:M1460,T,S:.:SymbianOS:? (SE P800?) +S36:64:1:56:M1360,T,S:.:SymbianOS:60xx (Nokia 6600?) +S36:64:1:60:M1360,T,S,W0,E:.:SymbianOS:60xx + +32768:32:1:44:M1460:.:Windows:CE 3 + +# Perhaps S4? +5840:64:1:60:M1452,S,T,N,W1:.:Zaurus:3.10 + +32768:128:1:64:M1460,N,W0,N,N,T0,N,N,S:.:PocketPC:2002 + +S1:255:0:44:M346:.:Contiki:1.1-rc0 + +4096:128:0:44:M1460:.:Sega:Dreamcast Dreamkey 3.0 +T5:64:0:44:M536:.:Sega:Dreamcast HKT-3020 (browser disc 51027) +S22:64:1:44:M1460:.:Sony:Playstation 2 (SOCOM?) + +S12:64:0:44:M1452:.:AXIS:Printer Server 5600 v5.64 + +3100:32:1:44:M1460:.:Windows:CE 2.0 + +#################### +# Fancy signatures # +#################### + +1024:64:0:40:.:.:-*NMAP:syn scan (1) +2048:64:0:40:.:.:-*NMAP:syn scan (2) +3072:64:0:40:.:.:-*NMAP:syn scan (3) +4096:64:0:40:.:.:-*NMAP:syn scan (4) + +1024:64:0:40:.:A:-*NMAP:TCP sweep probe (1) +2048:64:0:40:.:A:-*NMAP:TCP sweep probe (2) +3072:64:0:40:.:A:-*NMAP:TCP sweep probe (3) +4096:64:0:40:.:A:-*NMAP:TCP sweep probe (4) + +1024:64:0:60:W10,N,M265,T,E:P:-*NMAP:OS detection probe (1) +2048:64:0:60:W10,N,M265,T,E:P:-*NMAP:OS detection probe (2) +3072:64:0:60:W10,N,M265,T,E:P:-*NMAP:OS detection probe (3) +4096:64:0:60:W10,N,M265,T,E:P:-*NMAP:OS detection probe (4) + +1024:64:0:60:W10,N,M265,T,E:PF:-*NMAP:OS detection probe w/flags (1) +2048:64:0:60:W10,N,M265,T,E:PF:-*NMAP:OS detection probe w/flags (2) +3072:64:0:60:W10,N,M265,T,E:PF:-*NMAP:OS detection probe w/flags (3) +4096:64:0:60:W10,N,M265,T,E:PF:-*NMAP:OS detection probe w/flags (4) + +32767:64:0:40:.:.:-*NAST:syn scan + +12345:255:0:40:.:A:-p0f:sendsyn utility + +# UFO - see tmp/*: +56922:128:0:40:.:A:-@Mysterious:port scanner (?) +5792:64:1:60:M1460,S,T,N,W0:T:-@Mysterious:NAT device (2nd tstamp) +S12:128:1:48:M1460,E:P:@Mysterious:Chello proxy (?) +S23:64:1:64:N,W1,N,N,T,N,N,S,M1380:.:@Mysterious:GPRS gateway (?) + +##################################### +# Generic signatures - just in case # +##################################### + +*:128:1:52:M*,N,W0,N,N,S:.:@Windows:XP/2000 (RFC1323+, w, tstamp-) +*:128:1:52:M*,N,W*,N,N,S:.:@Windows:XP/2000 (RFC1323+, w+, tstamp-) +*:128:1:52:M*,N,N,T0,N,N,S:.:@Windows:XP/2000 (RFC1323+, w-, tstamp+) +*:128:1:64:M*,N,W0,N,N,T0,N,N,S:.:@Windows:XP/2000 (RFC1323+, w, tstamp+) +*:128:1:64:M*,N,W*,N,N,T0,N,N,S:.:@Windows:XP/2000 (RFC1323+, w+, tstamp+) + +*:128:1:48:M536,N,N,S:.:@Windows:98 +*:128:1:48:M*,N,N,S:.:@Windows:XP/2000 + + diff --git a/policy/frameworks/software/__load__.bro b/policy/frameworks/software/__load__.bro new file mode 100644 index 0000000000..678597793b --- /dev/null +++ b/policy/frameworks/software/__load__.bro @@ -0,0 +1,2 @@ +@load software/base +@load software/vulnerable diff --git a/policy/frameworks/software/base.bro b/policy/frameworks/software/base.bro new file mode 100644 index 0000000000..7f06de3fe0 --- /dev/null +++ b/policy/frameworks/software/base.bro @@ -0,0 +1,424 @@ +##! This script provides the framework for software version detection and +##! parsing, but doesn't actually do any detection on it's own. It relys on +##! other protocol specific scripts to parse out software from the protocols +##! that they analyze. The entry point for providing new software detections +##! to this framework is through the :bro:id:`Software::found` function. + +@load functions +@load notice +@load utils/directions-and-hosts +@load utils/numbers + +module Software; + +export { + redef enum Notice::Type += { + ## For certain softwares, a version changing may matter. In that case, + ## this notice will be generated. Software that matters if the version + ## changes can be configured with the + ## :bro:id:`Software::interesting_version_changes` variable. + Software_Version_Change, + }; + + redef enum Log::ID += { SOFTWARE }; + + type Type: enum { + UNKNOWN, + OPERATING_SYSTEM, + DATABASE_SERVER, + # There are a number of ways to detect printers on the + # network, we just need to codify them in a script and move + # this out of here. It isn't currently used for anything. + PRINTER, + }; + + type Version: record { + major: count &optional; ##< Major version number + minor: count &optional; ##< Minor version number + minor2: count &optional; ##< Minor subversion number + addl: string &optional; ##< Additional version string (e.g. "beta42") + } &log; + + type Info: record { + ## The time at which the software was first detected. + ts: time &log; + ## The IP address detected running the software. + host: addr &log; + ## The type of software detected (e.g. WEB_SERVER) + software_type: Type &log &default=UNKNOWN; + ## Name of the software (e.g. Apache) + name: string &log; + ## Version of the software + version: Version &log; + ## The full unparsed version string found because the version parsing + ## doesn't work 100% reliably and this acts as a fall back in the logs. + unparsed_version: string &log &optional; + + ## This can indicate that this software being detected should + ## definitely be sent onward to the logging framework. By + ## default, only software that is "interesting" due to a change + ## in version or it being currently unknown is sent to the + ## logging framework. This can be set to T to force the record + ## to be sent to the logging framework. + force_log: bool &default=F; + }; + + ## The hosts whose software should be detected and tracked. + ## Choices are: LOCAL_HOSTS, REMOTE_HOSTS, ALL_HOSTS, NO_HOSTS + const asset_tracking = LOCAL_HOSTS &redef; + + ## Some software is more interesting when the version changes and this + ## a set of all software that should raise a notice when a different + ## version is seen on a host. + const interesting_version_changes: set[string] = { + "SSH" + } &redef; + + ## Some software is more interesting when the version changes and this + ## a set of all software that should raise a notice when a different + ## version is seen on a host. + const interesting_type_changes: set[string] = set(); + + ## Other scripts should call this function when they detect software. + ## unparsed_version: This is the full string from which the + ## :bro:type:`Software::Info` was extracted. + ## Returns: T if the software was logged, F otherwise. + global found: function(id: conn_id, info: Software::Info): bool; + + ## This function can take many software version strings and parse them + ## into a sensible :bro:type:`Software::Version` record. There are + ## still many cases where scripts may have to have their own specific + ## version parsing though. + global parse: function(unparsed_version: string, + host: addr, + software_type: Type): Info; + + ## Compare two versions. + ## Returns: -1 for v1 < v2, 0 for v1 == v2, 1 for v1 > v2. + ## If the numerical version numbers match, the addl string + ## is compared lexicographically. + global cmp_versions: function(v1: Version, v2: Version): int; + + ## This type represents a set of software. It's used by the + ## :bro:id:`tracked` variable to store all known pieces of software + ## for a particular host. It's indexed with the name of a piece of + ## software such as "Firefox" and it yields a + ## :bro:type:`Software::Info` record with more information about the + ## software. + type SoftwareSet: table[string] of Info; + + ## The set of software associated with an address. Data expires from + ## this table after one day by default so that a detected piece of + ## software will be logged once each day. + global tracked: table[addr] of SoftwareSet + &create_expire=1day + &synchronized + &redef; + + ## This event can be handled to access the :bro:type:`Software::Info` + ## record as it is sent on to the logging framework. + global log_software: event(rec: Info); +} + +event bro_init() + { + Log::create_stream(SOFTWARE, [$columns=Info, $ev=log_software]); + } + +function parse_mozilla(unparsed_version: string, + host: addr, + software_type: Type): Info + { + local software_name = ""; + local v: Version; + local parts: table[count] of string; + + if ( /Opera [0-9\.]*$/ in unparsed_version ) + { + software_name = "Opera"; + parts = split_all(unparsed_version, /Opera [0-9\.]*$/); + if ( 2 in parts ) + v = parse(parts[2], host, software_type)$version; + } + else if ( /MSIE 7.*Trident\/4\.0/ in unparsed_version ) + { + software_name = "MSIE"; + v = [$major=8,$minor=0]; + } + else if ( / MSIE [0-9\.]*b?[0-9]*;/ in unparsed_version ) + { + software_name = "MSIE"; + parts = split_all(unparsed_version, /MSIE [0-9\.]*b?[0-9]*/); + if ( 2 in parts ) + v = parse(parts[2], host, software_type)$version; + } + else if ( /Version\/.*Safari\// in unparsed_version ) + { + software_name = "Safari"; + parts = split_all(unparsed_version, /Version\/[0-9\.]*/); + if ( 2 in parts ) + { + v = parse(parts[2], host, software_type)$version; + if ( / Mobile\/?.* Safari/ in unparsed_version ) + v$addl = "Mobile"; + } + } + else if ( /(Firefox|Netscape|Thunderbird)\/[0-9\.]*/ in unparsed_version ) + { + parts = split_all(unparsed_version, /(Firefox|Netscape|Thunderbird)\/[0-9\.]*/); + if ( 2 in parts ) + { + local tmp_s = parse(parts[2], host, software_type); + software_name = tmp_s$name; + v = tmp_s$version; + } + } + else if ( /Chrome\/.*Safari\// in unparsed_version ) + { + software_name = "Chrome"; + parts = split_all(unparsed_version, /Chrome\/[0-9\.]*/); + if ( 2 in parts ) + v = parse(parts[2], host, software_type)$version; + } + else if ( /^Opera\// in unparsed_version ) + { + if ( /Opera M(ini|obi)\// in unparsed_version ) + { + parts = split_all(unparsed_version, /Opera M(ini|obi)/); + if ( 2 in parts ) + software_name = parts[2]; + parts = split_all(unparsed_version, /Version\/[0-9\.]*/); + if ( 2 in parts ) + v = parse(parts[2], host, software_type)$version; + else + { + parts = split_all(unparsed_version, /Opera Mini\/[0-9\.]*/); + if ( 2 in parts ) + v = parse(parts[2], host, software_type)$version; + } + } + else + { + software_name = "Opera"; + parts = split_all(unparsed_version, /Version\/[0-9\.]*/); + if ( 2 in parts ) + v = parse(parts[2], host, software_type)$version; + } + } + else if ( /AppleWebKit\/[0-9\.]*/ in unparsed_version ) + { + software_name = "Unspecified WebKit"; + parts = split_all(unparsed_version, /AppleWebKit\/[0-9\.]*/); + if ( 2 in parts ) + v = parse(parts[2], host, software_type)$version; + } + + return [$ts=network_time(), $host=host, $name=software_name, $version=v, + $software_type=software_type, $unparsed_version=unparsed_version]; + } + +# Don't even try to understand this now, just make sure the tests are +# working. +function parse(unparsed_version: string, + host: addr, + software_type: Type): Info + { + local software_name = ""; + local v: Version; + + # Parse browser-alike versions separately + if ( /^(Mozilla|Opera)\/[0-9]\./ in unparsed_version ) + { + return parse_mozilla(unparsed_version, host, software_type); + } + else + { + # The regular expression should match the complete version number + # and software name. + local version_parts = split_n(unparsed_version, /\/?( [\(])?v?[0-9\-\._, ]{2,}/, T, 1); + if ( 1 in version_parts ) + { + if ( /^\(/ in version_parts[1] ) + software_name = strip(sub(version_parts[1], /[\(]/, "")); + else + software_name = strip(version_parts[1]); + } + if ( |version_parts| >= 2 ) + { + # Remove the name/version separator if it's left at the beginning + # of the version number from the previous split_all. + local sv = strip(version_parts[2]); + if ( /^[\/\-\._v\(]/ in sv ) + sv = strip(sub(version_parts[2], /^\(?[\/\-\._v\(]/, "")); + local version_numbers = split_n(sv, /[\-\._,\[\(\{ ]/, F, 3); + if ( 4 in version_numbers && version_numbers[4] != "" ) + v$addl = strip(version_numbers[4]); + else if ( 3 in version_parts && version_parts[3] != "" && + version_parts[3] != ")" ) + { + if ( /^[[:blank:]]*\([a-zA-Z0-9\-\._[:blank:]]*\)/ in version_parts[3] ) + { + v$addl = split_n(version_parts[3], /[\(\)]/, F, 2)[2]; + } + else + { + local vp = split_n(version_parts[3], /[\-\._,;\[\]\(\)\{\} ]/, F, 3); + if ( |vp| >= 1 && vp[1] != "" ) + { + v$addl = strip(vp[1]); + } + else if ( |vp| >= 2 && vp[2] != "" ) + { + v$addl = strip(vp[2]); + } + else if ( |vp| >= 3 && vp[3] != "" ) + { + v$addl = strip(vp[3]); + } + else + { + v$addl = strip(version_parts[3]); + } + + } + } + + if ( 3 in version_numbers && version_numbers[3] != "" ) + v$minor2 = extract_count(version_numbers[3]); + if ( 2 in version_numbers && version_numbers[2] != "" ) + v$minor = extract_count(version_numbers[2]); + if ( 1 in version_numbers && version_numbers[1] != "" ) + v$major = extract_count(version_numbers[1]); + } + } + return [$ts=network_time(), $host=host, $name=software_name, + $version=v, $unparsed_version=unparsed_version, + $software_type=software_type]; + } + + +function cmp_versions(v1: Version, v2: Version): int + { + if ( v1?$major && v2?$major ) + { + if ( v1$major < v2$major ) + return -1; + if ( v1$major > v2$major ) + return 1; + } + else + { + if ( !v1?$major && !v2?$major ) + { } + else + return v1?$major ? 1 : -1; + } + + if ( v1?$minor && v2?$minor ) + { + if ( v1$minor < v2$minor ) + return -1; + if ( v1$minor > v2$minor ) + return 1; + } + else + { + if ( !v1?$minor && !v2?$minor ) + { } + else + return v1?$minor ? 1 : -1; + } + + if ( v1?$minor2 && v2?$minor2 ) + { + if ( v1$minor2 < v2$minor2 ) + return -1; + if ( v1$minor2 > v2$minor2 ) + return 1; + } + else + { + if ( !v1?$minor2 && !v2?$minor2 ) + { } + else + return v1?$minor2 ? 1 : -1; + } + + if ( v1?$addl && v2?$addl ) + return strcmp(v1$addl, v2$addl); + else + { + if ( !v1?$addl && !v2?$addl ) + return 0; + else + return v1?$addl ? 1 : -1; + } + } + +function software_endpoint_name(id: conn_id, host: addr): string + { + return fmt("%s %s", host, (host == id$orig_h ? "client" : "server")); + } + +# Convert a version into a string "a.b.c-x". +function software_fmt_version(v: Version): string + { + return fmt("%d.%d.%d%s", + v?$major ? v$major : 0, + v?$minor ? v$minor : 0, + v?$minor2 ? v$minor2 : 0, + v?$addl ? fmt("-%s", v$addl) : ""); + } + +# Convert a software into a string "name a.b.cx". +function software_fmt(i: Info): string + { + return fmt("%s %s", i$name, software_fmt_version(i$version)); + } + +# Insert a mapping into the table +# Overides old entries for the same software and generates events if needed. +event software_register(id: conn_id, info: Info) + { + # Host already known? + if ( info$host !in tracked ) + tracked[info$host] = table(); + + local ts = tracked[info$host]; + # Software already registered for this host? + if ( info$name in ts ) + { + local old = ts[info$name]; + + # If the version hasn't changed, then we're just redetecting the + # same thing, then we don't care. This results in no extra logging. + # But if the $force_log value is set then we'll continue. + if ( ! info$force_log && cmp_versions(old$version, info$version) == 0 ) + return; + + # Is it a potentially interesting version change? + if ( info$name in interesting_version_changes ) + { + local msg = fmt("%.6f %s switched from %s to %s (%s)", + network_time(), software_endpoint_name(id, info$host), + software_fmt_version(old$version), + software_fmt(info), info$software_type); + NOTICE([$note=Software_Version_Change, $id=id, + $msg=msg, $sub=software_fmt(info)]); + } + } + + Log::write(SOFTWARE, info); + ts[info$name] = info; + } + +function found(id: conn_id, info: Info): bool + { + if ( info$force_log || addr_matches_host(info$host, asset_tracking) ) + { + event software_register(id, info); + return T; + } + else + return F; + } diff --git a/policy/frameworks/software/vulnerable.bro b/policy/frameworks/software/vulnerable.bro new file mode 100644 index 0000000000..4b86ae8d29 --- /dev/null +++ b/policy/frameworks/software/vulnerable.bro @@ -0,0 +1,28 @@ +@load software/base +@load notice + +module Software; + +export { + redef enum Notice::Type += { + Vulnerable_Version, + }; + + ## This is a table of software versions indexed by the name of the + ## software and yielding the latest version that is vulnerable. + const vulnerable_versions: table[string] of Version &redef; +} + +redef vulnerable_versions += { + ["Flash"] = [$major=10,$minor=2,$minor2=153,$addl="1"], + ["Java"] = [$major=1,$minor=6,$minor2=0,$addl="22"], +}; + +event log_software(rec: Info) + { + if ( rec$name in vulnerable_versions && + cmp_versions(rec$version, vulnerable_versions[rec$name]) <= 0 ) + { + NOTICE([$note=Vulnerable_Version, $src=rec$host, $msg=software_fmt(rec)]); + } + } \ No newline at end of file diff --git a/policy/ftp-cmd-arg.bro b/policy/ftp-cmd-arg.bro deleted file mode 100644 index 5bb7d269c8..0000000000 --- a/policy/ftp-cmd-arg.bro +++ /dev/null @@ -1,188 +0,0 @@ -# $Id: ftp-cmd-arg.bro 416 2004-09-17 03:52:28Z vern $ - -# For debugging purpose only -# global ftp_cmd_reply_log = open_log_file("ftp-cmd-arg") &redef; - -const ftp_cmd_reply_code: set[string, count] = { - # According to RFC 959 - ["", [120, 220, 421]], - ["USER", [230, 530, 500, 501, 421, 331, 332]], - ["PASS", [230, 202, 530, 500, 501, 503, 421, 332]], - ["ACCT", [230, 202, 530, 500, 501, 503, 421]], - ["CWD", [250, 500, 501, 502, 421, 530, 550]], - ["CDUP", [200, 500, 501, 502, 421, 530, 550]], - ["SMNT", [202, 250, 500, 501, 502, 421, 530, 550]], - ["REIN", [120, 220, 421, 500, 502]], - ["QUIT", [221, 500]], - ["PORT", [200, 500, 501, 421, 530]], - ["PASV", [227, 500, 501, 502, 421, 530]], - ["MODE", [200, 500, 501, 504, 421, 530]], - ["TYPE", [200, 500, 501, 504, 421, 530]], - ["STRU", [200, 500, 501, 504, 421, 530]], - ["ALLO", [200, 202, 500, 501, 504, 421, 530]], - ["REST", [500, 501, 502, 421, 530, 350]], - ["STOR", [125, 150, 110, 226, 250, 425, 426, 451, 551, 552, 532, 450, 452, 553, 500, 501, 421, 530]], - ["STOU", [125, 150, 110, 226, 250, 425, 426, 451, 551, 552, 532, 450, 452, 553, 500, 501, 421, 530]], - ["RETR", [125, 150, 110, 226, 250, 425, 426, 451, 450, 550, 500, 501, 421, 530]], - ["LIST", [125, 150, 226, 250, 425, 426, 451, 450, 500, 501, 502, 421, 530]], - ["NLST", [125, 150, 226, 250, 425, 426, 451, 450, 500, 501, 502, 421, 530]], - ["APPE", [125, 150, 226, 250, 425, 426, 451, 551, 552, 532, 450, 550, 452, 553, 500, 501, 502, 421, 530]], - ["RNFR", [450, 550, 500, 501, 502, 421, 530, 350]], - ["RNTO", [250, 532, 553, 500, 501, 502, 503, 421, 530]], - ["DELE", [250, 450, 550, 500, 501, 502, 421, 530]], - ["RMD", [250, 500, 501, 502, 421, 530, 550]], - ["MKD", [257, 500, 501, 502, 421, 530, 550]], - ["PWD", [257, 500, 501, 502, 421, 550]], - ["ABOR", [225, 226, 500, 501, 502, 421]], - ["SYST", [215, 500, 501, 502, 421]], - ["STAT", [211, 212, 213, 450, 500, 501, 502, 421, 530]], - ["HELP", [211, 214, 500, 501, 502, 421]], - ["SITE", [200, 202, 500, 501, 530]], - ["NOOP", [200, 500, 421]], - - # Extensions - -# ["SIZE", [213, 550]], -# ["SITE", 214], -# ["MDTM", 213], -# ["EPSV", 500], -# ["FEAT", 500], -# ["OPTS", 500], - -# ["CDUP", 250], -# ["CLNT", 200], -# ["CLNT", 500], -# ["EPRT", 500], - -# ["FEAT", 211], -# ["HELP", 200], -# ["LIST", 550], -# ["LPRT", 500], -# ["MACB", 500], -# ["MDTM", 212], -# ["MDTM", 500], -# ["MDTM", 501], -# ["MDTM", 550], -# ["MLST", 500], -# ["MLST", 550], -# ["MODE", 502], -# ["NLST", 550], -# ["OPTS", 501], -# ["REST", 200], -# ["SITE", 502], -# ["SIZE", 500], -# ["STOR", 550], -# ["SYST", 530], - - ["", 0], # unexpected command-reply pair - ["", 0], # unexpected command-reply pair - ["QUIT", 0], # unexpected command-reply pair -} &redef; - -global ftp_unexpected_cmd_reply: set[string]; - -type ftp_cmd_arg: record { - cmd: string; - arg: string; - anonymized_cmd: string; - anonymized_arg: string; # anonymized arg - seq: count; # seq number - rewrite_slot: count; -}; - -type ftp_pending_cmds: record { - seq: count; - cmds: table[count] of ftp_cmd_arg; -}; - -function init_ftp_pending_cmds(): ftp_pending_cmds - { - local cmds: table[count] of ftp_cmd_arg; - return [$seq = 1, $cmds = cmds]; - } - -function ftp_cmd_pending(s: ftp_pending_cmds): bool - { - return length(s$cmds) > 0; - } - -function add_to_ftp_pending_cmds(s: ftp_pending_cmds, cmd: string, arg: string) - : ftp_cmd_arg - { - local ca = [$cmd = cmd, $arg = arg, $anonymized_cmd = "", - $anonymized_arg = "", $seq = s$seq, - $rewrite_slot = 0]; - - s$cmds[s$seq] = ca; - ++s$seq; - - return ca; - } - -function find_ftp_pending_cmd(s: ftp_pending_cmds, reply_code: count, reply_msg: string): ftp_cmd_arg - { - if ( length(s$cmds) == 0 ) - { - return [$cmd = "", $arg = "", - $anonymized_cmd = "", $anonymized_arg = "", - $seq = 0, $rewrite_slot = 0]; - } - - local best_match: ftp_cmd_arg; - local best_score: int = -1; - - for ( seq in s$cmds ) - { - local ca = s$cmds[seq]; - local score: int = 0; - # if the command is compatible with the reply code - # code 500 (syntax error) is compatible with all commands - if ( reply_code == 500 || [ca$cmd, reply_code] in ftp_cmd_reply_code ) - score = score + 100; - # if the command or the command arg appears in the reply message - if ( strstr(reply_msg, ca$cmd) > 0 ) - score = score + 20; - if ( strstr(reply_msg, ca$cmd) > 0 ) - score = score + 10; - if ( score > best_score || - ( score == best_score && ca$seq < best_match$seq ) ) # break tie with sequence number - { - best_score = score; - best_match = ca; - } - } - - if ( [best_match$cmd, reply_code] !in ftp_cmd_reply_code ) - { - local annotation = ""; - if ( length(s$cmds) == 1 ) - annotation = "for sure"; - else - { - for ( i in s$cmds ) - annotation = cat(annotation, " ", s$cmds[i]$cmd); - annotation = cat("candidates:", annotation); - } - # add ftp_unexpected_cmd_reply[fmt("[\"%s\", %d], # %s", - # best_match$cmd, reply_code, annotation)]; - } - - return best_match; - } - -function pop_from_ftp_pending_cmd(s: ftp_pending_cmds, ca: ftp_cmd_arg): bool - { - if ( ca$seq in s$cmds ) - { - delete s$cmds[ca$seq]; - return T; - } - else - return F; - } - -event bro_done() - { - # for ( cmd_reply in ftp_unexpected_cmd_reply ) - # print ftp_cmd_reply_log, fmt(" %s", cmd_reply); - } diff --git a/policy/ftp.bro b/policy/ftp.bro deleted file mode 100644 index 8c5383a227..0000000000 --- a/policy/ftp.bro +++ /dev/null @@ -1,854 +0,0 @@ -# $Id: ftp.bro 6726 2009-06-07 22:09:55Z vern $ - -@load notice -@load conn -@load scan -@load hot-ids -@load terminate-connection - -@load ftp-cmd-arg - -module FTP; - -export { - # Indexed by source & destination addresses and the id. - const skip_hot: set[addr, addr, string] &redef; - - # see: http://packetstormsecurity.org/UNIX/penetration/rootkits/index4.html - # for current list of rootkits to include here - - const hot_files = - /.*(etc\/|master\.)?(passwd|shadow|s?pwd\.db)/ - | /.*snoop\.(tar|tgz).*/ - | /.*bnc\.(tar|tgz).*/ - | /.*datapipe.*/ - | /.*ADMw0rm.*/ - | /.*newnick.*/ - | /.*sniffit.*/ - | /.*neet\.(tar|tgz).*/ - | /.*\.\.\..*/ - | /.*ftpscan.txt.*/ - | /.*jcc.pdf.*/ - | /.*\.[Ff]rom.*/ - | /.*sshd\.(tar|tgz).*/ - | /.*\/rk7.*/ - | /.*rk7\..*/ - | /.*[aA][dD][oO][rR][eE][bB][sS][dD].*/ - | /.*[tT][aA][gG][gG][eE][dD].*/ - | /.*shv4\.(tar|tgz).*/ - | /.*lrk\.(tar|tgz).*/ - | /.*lyceum\.(tar|tgz).*/ - | /.*maxty\.(tar|tgz).*/ - | /.*rootII\.(tar|tgz).*/ - | /.*invader\.(tar|tgz).*/ - &redef; - - const hot_guest_files = - /.*\.rhosts/ - | /.*\.forward/ - &redef; - - const hot_cmds: table[string] of pattern = { - ["SITE"] = /[Ee][Xx][Ee][Cc].*/, - } &redef; - - const excessive_filename_len = 250 &redef; - const excessive_filename_trunc_len = 32 &redef; - - const guest_ids = { "anonymous", "ftp", "guest", } &redef; - - # Invalid PORT/PASV directives that exactly match the following - # don't generate notice's. - const ignore_invalid_PORT = - /,0,0/ # these are common, dunno why - &redef; - - # Some servers generate particular privileged PASV ports for benign - # reasons (presumably to tunnel through firewalls, sigh). - const ignore_privileged_PASVs = { ssh, } &redef; - - # Pairs of IP addresses for which we shouldn't bother logging if one - # of them is used in lieu of the other in a PORT or PASV directive. - - const skip_unexpected: set[addr] = { - 15.253.0.10, 15.253.48.10, 15.254.56.2, # hp.com - gvaona1.cns.hp.com, - } &redef; - - const skip_unexpected_net: set[addr] &redef; - - const log_file = open_log_file("ftp") &redef; - - redef enum Notice += { - FTP_UnexpectedConn, # FTP data transfer from unexpected src - FTP_ExcessiveFilename, # very long filename seen - FTP_PrivPort, # privileged port used in PORT/PASV; - # $sub says which - FTP_BadPort, # bad format in PORT/PASV; - # $sub says which - FTP_Sensitive, # sensitive connection - - # not more specific - FTP_SiteExecAttack, # specific "site exec" attack seen - }; - - type ftp_session_info: record { - id: count; - connection_id: conn_id; - user: string; - anonymized_user: string; - anonymous_login: bool; - - request: string; # pending request or requests - num_requests: count; # count of pending requests - request_t: time; # time of request - log_if_not_denied: bool; # log unless code 530 on reply - log_if_not_unavail: bool; # log unless code 550 on reply - log_it: bool; # if true, log the request(s) - - reply_code: count; # the most recent reply code - cwd: string; # current working directory - - pending_requests: ftp_pending_cmds; # pending requests - delayed_request_rewrite: table[count] of ftp_cmd_arg; - - expected: set[addr, port]; # data connections we expect - }; - - type ftp_expected_conn: record { - host: addr; - session: ftp_session_info; - }; - - global ftp_sessions: table[conn_id] of ftp_session_info &persistent; -} - - -redef capture_filters += { ["ftp"] = "port ftp" }; - -# DPM configuration. -global ftp_ports = { 21/tcp } &redef; -redef dpd_config += { [ANALYZER_FTP] = [$ports = ftp_ports] }; - -function is_ftp_conn(c: connection): bool - { - return c$id$resp_p == ftp; - } - -type ftp_reply_code: record { - x: count; # high-order (3rd digit) - y: count; # middle (2nd) digit - z: count; # bottom digit -}; - -global ftp_session_id = 0; - -# Indexed by the responder pair, yielding the address expected to connect to it. -global ftp_data_expected: table[addr, port] of ftp_expected_conn &persistent &create_expire = 1 min; - -const ftp_init_dir: table[addr, string] of string = { - [131.243.1.10, "anonymous"] = "/", -} &default = "/"; - -const ftp_file_cmds = { - "APPE", "CWD", "DELE", "MKD", "RETR", "RMD", "RNFR", "RNTO", - "STOR", "STOU", -}; - -const ftp_absolute_path_pat = /(\/|[A-Za-z]:[\\\/]).*/; - -const ftp_dir_operation = { - ["CWD", 250], - ["CDUP", 200], # typo in RFC? - ["CDUP", 250], # as found in traces - ["PWD", 257], - ["XPWD", 257], -}; - -const ftp_skip_replies = { - 150, # "status okay - about to open connection" - 331 # "user name okay, need password" -}; - -const ftp_replies: table[count] of string = { - [150] = "ok", - [200] = "ok", - [220] = "ready for new user", - [221] = "closed", - [226] = "complete", - [230] = "logged in", - [250] = "ok", - [257] = "done", - [331] = "id ok", - [500] = "syntax error", - [530] = "denied", - [550] = "unavail", -}; - -const ftp_other_replies = { ftp_replies }; - -const ftp_all_cmds: set[string] = { - "", "", - "USER", "PASS", "ACCT", - "CWD", "CDUP", "SMNT", - "REIN", "QUIT", - "PORT", "PASV", "MODE", "TYPE", "STRU", - "ALLO", "REST", "STOR", "STOU", "RETR", "LIST", "NLST", "APPE", - "RNFR", "RNTO", "DELE", "RMD", "MKD", "PWD", "ABOR", - "SYST", "STAT", "HELP", - "SITE", "NOOP", - - # FTP extensions - "SIZE", "MDTM", "MLST", "MLSD", - "EPRT", "EPSV", -}; - -const ftp_tested_cmds: set[string] = {}; -const ftp_untested_cmds: set[string] = { ftp_all_cmds }; - -global ftp_first_seen_cmds: set[string]; -global ftp_unlisted_cmds: set[string]; - -# const ftp_state_diagram: table[string] of count = { -# ["ABOR", "ALLO", "DELE", "CWD", "CDUP", -# "SMNT", "HELP", "MODE", "NOOP", "PASV", -# "QUIT", "SITE", "PORT", "SYST", "STAT", -# "RMD", "MKD", "PWD", "STRU", "TYPE"] = 1, -# ["APPE", "LIST", "NLST", "RETR", "STOR", "STOU"] = 2, -# ["REIN"] = 3, -# ["RNFR", "RNTO"] = 4, -# }; - - -function parse_ftp_reply_code(code: count): ftp_reply_code - { - local a: ftp_reply_code; - - a$z = code % 10; - - code = code / 10; - a$y = code % 10; - - code = code / 10; - a$x = code % 10; - - return a; - } - -event ftp_unexpected_conn_violation(id: conn_id, orig: addr, expected: addr) - { - NOTICE([$note=FTP_UnexpectedConn, $id=id, - $msg=fmt("%s > %s FTP connection from %s", - id$orig_h, id$resp_h, orig)]); - } - -event ftp_unexpected_conn(id: conn_id, orig: addr, expected: addr) - { - if ( orig in skip_unexpected || expected in skip_unexpected || - mask_addr(orig, 24) in skip_unexpected_net || - mask_addr(expected, 24) in skip_unexpected_net ) - ; # don't bother reporting - - else if ( mask_addr(orig, 24) == mask_addr(expected, 24) ) - ; # close enough, probably multi-homed - - else if ( mask_addr(orig, 16) == mask_addr(expected, 16) ) - ; # ditto - - else - event ftp_unexpected_conn_violation(id, orig, expected); - } - -event ftp_connection_expected(c: connection, orig_h: addr, resp_h: addr, - resp_p: port, session: ftp_session_info) - { - } - -event expected_connection_seen(c: connection, a: count) - { - local id = c$id; - if ( [id$resp_h, id$resp_p] in ftp_data_expected ) - add c$service["ftp-data"]; - } - -# Deficiency: will miss data connections if the commands/replies -# are encrypted. -function is_ftp_data_conn(c: connection): bool - { - local id = c$id; - if ( [id$resp_h, id$resp_p] in ftp_data_expected ) - { - local expected = ftp_data_expected[id$resp_h, id$resp_p]; - if ( id$orig_h != expected$host ) - event ftp_unexpected_conn(expected$session$connection_id, - id$orig_h, expected$host); - - return T; - } - - else if ( id$orig_p == 20/tcp && - [$orig_h = id$resp_h, $orig_p = id$resp_p, - $resp_h = id$orig_h, $resp_p = 21/tcp] in ftp_sessions ) - return T; - else - return F; - } - - -function new_ftp_session(c: connection, add_init: bool) - { - local session = c$id; - local new_id = ++ftp_session_id; - - local info: ftp_session_info; - info$id = new_id; - info$connection_id = session; - info$user = ""; - info$anonymized_user = ""; - info$anonymous_login = T; - info$request = ""; - info$num_requests = 0; - info$request_t = c$start_time; - info$log_if_not_unavail = F; - info$log_if_not_denied = F; - info$log_it = F; - info$reply_code = 0; - info$cwd = "/"; - info$pending_requests = init_ftp_pending_cmds(); - - if ( add_init ) - add_to_ftp_pending_cmds(info$pending_requests, "", ""); - - ftp_sessions[session] = info; - append_addl(c, fmt("#%s", prefixed_id(new_id))); - - print log_file, fmt("%.6f #%s %s start", c$start_time, prefixed_id(new_id), - id_string(session)); - } - -function ftp_message(id: conn_id, msg: string) - { - print log_file, fmt("%.6f #%s %s", - network_time(), prefixed_id(ftp_sessions[id]$id), msg); - } - -event ftp_sensitive_file(c: connection, session: ftp_session_info, - filename: string) - { - session$log_if_not_unavail = T; - } - -event ftp_excessive_filename(session: ftp_session_info, - command: string, arg: string) - { - NOTICE([$note=FTP_ExcessiveFilename, $id=session$connection_id, - $user=session$user, $filename=arg, - $msg=fmt("%s #%s excessive filename: %s", - id_string(session$connection_id), - prefixed_id(session$id), arg)]); - session$log_it = T; - } - -# Returns true if the given string is at least 25% composed of 8-bit -# characters. -function is_string_binary(s: string): bool - { - return byte_len(gsub(s, /[\x00-\x7f]/, "")) * 100 / byte_len(s) >= 25; - } - -event ftp_request(c: connection, command: string, arg: string) - { - # Command may contain garbage, e.g. if we're parsing something - # which isn't ftp. Ignore this. - if ( is_string_binary(command) ) - return; - - local id = c$id; - - if ( id !in ftp_sessions ) - new_ftp_session(c, F); - - local session = ftp_sessions[id]; - - # Keep the original command and arg. - local cmd_arg = - add_to_ftp_pending_cmds(session$pending_requests, command, arg); - - if ( command == "USER" ) - { - if ( arg in hot_ids && - [id$orig_h, id$resp_h, arg] !in skip_hot ) - { - if ( arg in always_hot_ids ) - session$log_it = T; - else - session$log_if_not_denied = T; - } - - append_addl(c, arg); - session$user = arg; - - if ( arg in forbidden_ids ) - TerminateConnection::terminate_connection(c); - } - - else if ( command == "PASS" ) - { - if ( session$user in forbidden_ids_if_no_password && - arg == "" ) - TerminateConnection::terminate_connection(c); - - if ( session$user in guest_ids ) - append_addl_marker(c, arg, "/"); - else - { - event account_tried(c, session$user, arg); - arg = ""; - } - } - - else if ( command == "PORT" || command == "EPRT" ) - { - local data = (command == "PORT") ? - parse_ftp_port(arg) : parse_eftp_port(arg); - - if ( data$valid ) - { - if ( data$h != id$orig_h ) - ftp_message(id, fmt("*> PORT host %s doesn't match originator host %s", data$h, id$orig_h)); - - if ( data$p < 1024/tcp && data$p in port_names ) - NOTICE([$note=FTP_PrivPort, $id=id, - $user=session$user, - $msg=fmt("%s #%s privileged PORT %d: %s", - id_string(id), - prefixed_id(session$id), - data$p, arg), - $sub="PORT"]); - - local expected = [$host=c$id$resp_h, $session=session]; - ftp_data_expected[data$h, data$p] = expected; - add session$expected[data$h, data$p]; - - expect_connection(c$id$resp_h, data$h, data$p, - ANALYZER_FILE, 5 min); - - event ftp_connection_expected(c, c$id$resp_h, data$h, - data$p, session); - } - else if ( arg != ignore_invalid_PORT ) - NOTICE([$note=FTP_BadPort, $id=id, - $user=session$user, - $msg=fmt("%s #%s invalid ftp PORT directive: %s", - id_string(id), - prefixed_id(session$id), arg), - $sub="PORT"]); - } - - else if ( command in ftp_file_cmds ) - { - if ( arg == hot_files || - (session$user in guest_ids && - arg == hot_guest_files) ) - event ftp_sensitive_file(c, session, arg); - - if ( byte_len(arg) >= excessive_filename_len ) - { - arg = fmt("%s..[%d]..", - sub_bytes(arg, 1, excessive_filename_trunc_len), - byte_len(arg)); - event ftp_excessive_filename(session, command, arg); - } - } - - else if ( command == "ACCT" ) - append_addl(c, fmt("(account %s)", arg)); - - if ( command in hot_cmds && arg == hot_cmds[command] ) - { - session$log_it = T; - - # Special hack for "site exec" attacks. - ### Obviously, this should be generic and not specialized - ### like the following. - if ( command == "SITE" && /[Ee][Xx][Ee][Cc]/ in arg && - # We see legit use of "site exec cp / /", God knows why. - byte_len(arg) > 32 ) - { # Terminate with extreme prejudice. - TerminateConnection::terminate_connection(c); - NOTICE([$note=FTP_SiteExecAttack, $conn=c, $conn=c, - $msg=fmt("%s %s", command, arg)]); - } - } - - local request = arg == "" ? command : cat(command, " ", arg); - if ( ++session$num_requests == 1 ) - { - # First pending request - session$request = request; - session$request_t = network_time(); - } - else - { - # Don't append PASS commands, unless they're for an - # anonymous user. - - ### Is it okay to include the args of an ACCT command? - - if ( command == "PASS" ) - { - if ( session$user in guest_ids ) - { - session$request = - cat(session$request, "/", arg); - } - - # Don't count this as a multiple request. - --session$num_requests; - } - else - { - if ( byte_len(session$request) < 256 ) - session$request = cat(session$request, ", ", request); - } - } - - if ( command in ftp_all_cmds ) - { - if ( command in ftp_untested_cmds ) - { - delete ftp_untested_cmds[command]; - add ftp_first_seen_cmds[command]; - } - } - else - add ftp_unlisted_cmds[command]; - } - -event ftp_binary_response(session: ftp_session_info, code: count, msg: string) - { - print log_file, fmt("%.6f #%s binary response", - network_time(), prefixed_id(session$id)); - } - -function extract_dir_from_reply(session: ftp_session_info, msg: string, - hint: string): string - { - const dir_pattern = /\"([^\"]|\"\")*(\/|\\)([^\"]|\"\")*\"/; - local parts = split_all(msg, dir_pattern); - - if ( length(parts) != 3 ) - { # not found or ambiguous -# print log_file, fmt("%.6f #%s cannot extract directory: \"%s\"", -# network_time(), prefixed_id(session$id), msg); - return hint; - } - - local d = parts[2]; - return sub_bytes(d, 2, int_to_count(byte_len(d) - 2)); - } - -# Process ..'s and eliminate duplicate '/'s -# Deficiency: gives wrong results when a symbolic link is followed by ".." -function compress_path(dir: string): string - { - const cdup_sep = /((\/)+([^\/]|\\\/)+)?((\/)+\.\.(\/)+)/; - - local parts = split_n(dir, cdup_sep, T, 1); - if ( length(parts) > 1 ) - { - parts[2] = "/"; - dir = cat_string_array(parts); - return compress_path(dir); - } - - const multislash_sep = /(\/){2,}/; - parts = split_all(dir, multislash_sep); - for ( i in parts ) - if ( i % 2 == 0 ) - parts[i] = "/"; - dir = cat_string_array(parts); - - return dir; - } - -# Computes the absolute path with cwd (current working directory). -function absolute_path(session: ftp_session_info, file_name: string): string - { - local abs_file_name: string; - if ( file_name == ftp_absolute_path_pat ) # start with '/' or 'A:\' - abs_file_name = file_name; - else - abs_file_name = string_cat(session$cwd, "/", file_name); - return compress_path(abs_file_name); - } - -function do_ftp_reply(c: connection, session: ftp_session_info, - code: count, msg: string, cmd: string, arg: string) - { - local id = c$id; - - if ( session$log_if_not_denied && code != 530 && - # skip password prompt, which we can get when the requests - # are stacked up - code != 331 ) - session$log_it = T; - - if ( session$log_if_not_unavail && code != 550 ) - session$log_it = T; - - if ( code == 227 || code == 229 ) - { - local data = (code == 227) ? - parse_ftp_pasv(msg) : parse_ftp_epsv(msg); - - if ( code == 229 && data$h == 0.0.0.0 ) - data$h = id$resp_h; - - if ( data$valid ) - { - if ( data$h != id$resp_h ) - ftp_message(id, fmt("*< PASV host %s doesn't match responder host %s", data$h, id$resp_h)); - - if ( data$p < 1024/tcp && data$p in port_names && - data$p !in ignore_privileged_PASVs ) - NOTICE([$note=FTP_PrivPort, $id=id, - $user=session$user, $n=code, - $msg=fmt("%s #%s privileged PASV %d: %s", - id_string(id), prefixed_id(session$id), - data$p, msg), - $sub="PASV"]); - - local expected = [$host=id$orig_h, $session=session]; - ftp_data_expected[data$h, data$p] = expected; - add session$expected[data$h, data$p]; - event ftp_connection_expected(c, c$id$orig_h, data$h, - data$p, session); - - expect_connection(id$orig_h, data$h, data$p, - ANALYZER_FILE, 5 min); - - msg = endpoint_id(data$h, data$p); - } - - else if ( msg != ignore_invalid_PORT ) - { - NOTICE([$note=FTP_BadPort, $id=id, - $user=session$user, $n=code, - $msg=fmt("%s #%s invalid ftp PASV directive: %s", - id_string(id), - prefixed_id(session$id), msg), - $sub="PASV"]); - msg = "invalid PASV"; - } - } - - if ( [cmd, code] in ftp_dir_operation ) - { - local cwd: string; - - if ( cmd == "CWD" ) - { - if ( arg == ftp_absolute_path_pat ) # absolute dir - cwd = arg; - else - cwd = cat(session$cwd, "/", arg); - } - - else if ( cmd == "CDUP" ) - cwd = cat(session$cwd, "/.."); - - else if ( cmd == "PWD" || cmd == "XPWD" ) - # Here we need to guess how to extract the - # directory from the reply. - cwd = extract_dir_from_reply(session, msg, - session$cwd); - - # cwd = cat(cwd, "/"); - - # Process "..", eliminate duplicate '/'s, and eliminate - # last '/' if cwd != "/" - # session$cwd = compress_path(cwd); - - session$cwd = cwd; - -# print log_file, fmt("*** DEBUG *** %.06f #%s (%s %s) CWD = \"%s\"", -# network_time(), prefixed_id(session$id), -# cmd, arg, session$cwd); - } - - if ( session$num_requests > 0 ) - { - if ( code in ftp_skip_replies ) - ; # Don't flush request yet. - - else - { - local reply = code in ftp_replies ? ftp_replies[code] : - fmt("%d %s", code, msg); - - local session_msg = fmt("#%s %s%s (%s)", - prefixed_id(session$id), - session$num_requests > 1 ? "*" : "", - session$request, reply); - - if ( session$log_it ) - NOTICE([$note=FTP_Sensitive, $id=id, - $user=session$user, $n=code, - $msg=fmt("ftp: %s %s", - id_string(id), session_msg)]); - - print log_file, fmt("%.6f %s", session$request_t, - session_msg); - - session$request = ""; - session$num_requests = 0; - session$log_if_not_unavail = F; - session$log_if_not_denied = F; - session$log_it = F; - } - } - else - { - # An unpaired response. This can happen in particular - # when the session is encrypted, so we check for that here. - if ( /[\x80-\xff]{3}/ in msg ) - # Three 8-bit characters in a row - good enough. - # Note, this should of course be customizable. - event ftp_binary_response(session, code, msg); - - else - print log_file, fmt("%.6f #%s response (%d %s)", - network_time(), prefixed_id(session$id), code, msg); - } - } - -function do_ftp_login(c: connection, session: ftp_session_info) - { - session$cwd = ftp_init_dir[session$connection_id$resp_h, session$user]; - event login_successful(c, session$user); - } - -event ftp_reply(c: connection, code: count, msg: string, cont_resp: bool) - { - local id = c$id; - local response_xyz = parse_ftp_reply_code(code); - - if ( id !in ftp_sessions ) - new_ftp_session(c, T); - - local session = ftp_sessions[id]; - - if ( code != 0 || ! cont_resp ) - session$reply_code = code; - - local cmd_arg = find_ftp_pending_cmd(session$pending_requests, session$reply_code, msg); - - if ( ! cont_resp ) - { - if ( response_xyz$x == 2 && # successful - (cmd_arg$cmd == /USER|PASS|ACCT/) ) - do_ftp_login(c, session); - - do_ftp_reply(c, session, code, msg, cmd_arg$cmd, cmd_arg$arg); - } - - if ( ! cont_resp ) - { - if ( ftp_cmd_pending(session$pending_requests) ) - { - if ( response_xyz$x == 1 ) - # nothing - ; - - else if ( response_xyz$x >= 2 && response_xyz$x <= 5 ) - { - pop_from_ftp_pending_cmd(session$pending_requests, cmd_arg); - # print log_file, fmt("*** DEBUG *** %.06f #%d: [%s %s] [%d %s]", - # network_time(), session$id, cmd_arg$cmd, cmd_arg$arg, code, msg); - } - } - - else if ( code != 421 ) # closing connection - ftp_message(id, fmt("spontaneous response (%d %s)", - code, msg)); - } - } - -const call_ftp_connection_remove = F &redef; -global ftp_connection_remove: function(c: connection); - -# Use state remove event instead of finish to cover connections terminated by -# RST. -event connection_state_remove(c: connection) - { - local id = c$id; - - if ( is_ftp_conn(c) && call_ftp_connection_remove ) - ftp_connection_remove(c); - - if ( id in ftp_sessions ) - { - local session = ftp_sessions[id]; - - if ( session$num_requests > 0 ) - { - local msg = fmt("#%s %s%s (no reply)", - prefixed_id(session$id), - session$num_requests > 1 ? "*" : "", - session$request); - - if ( session$log_it ) - NOTICE([$note=FTP_Sensitive, $id=id, - $user=session$user, - $msg=fmt("ftp: %s %s", - id_string(id), msg)]); - - print log_file, fmt("%.6f %s", session$request_t, msg); - } - - if ( ftp_cmd_pending(session$pending_requests) ) - { - local ca = find_ftp_pending_cmd(session$pending_requests, 0, ""); - # print log_file, fmt("*** DEBUG *** requests pending from %s %s", ca$cmd, ca$arg); - } - - for ( [h, p] in session$expected ) - delete ftp_data_expected[h, p]; - - ftp_message(id, "finish"); - - delete ftp_sessions[id]; - } - } - -event file_transferred(c: connection, prefix: string, descr: string, - mime_type: string) - { - if ( [c$id$resp_h, c$id$resp_p] in ftp_data_expected ) - { - local expected = ftp_data_expected[c$id$resp_h, c$id$resp_p]; - print log_file, fmt("%.6f #%s ftp-data %s '%s'", - c$start_time, - prefixed_id(expected$session$id), - mime_type, descr); - append_addl(c, descr); - } - } - -event file_virus(c: connection, virname: string) - { - if ( [c$id$resp_h, c$id$resp_p] in ftp_data_expected ) - { - local expected = ftp_data_expected[c$id$resp_h, c$id$resp_p]; - # FIXME: Throw NOTICE. - print log_file, fmt("%.6f #%s VIRUS %s found", c$start_time, - prefixed_id(expected$session$id), - virname); - append_addl(c, fmt("Virus %s", virname)); - } - } - -event bro_init() - { - have_FTP = T; - } diff --git a/policy/functions.bro b/policy/functions.bro new file mode 100644 index 0000000000..638fbb56fa --- /dev/null +++ b/policy/functions.bro @@ -0,0 +1,3 @@ +@load site +@load dpd + diff --git a/policy/hot.conn.bro b/policy/hot.conn.bro new file mode 100644 index 0000000000..0ac070832c --- /dev/null +++ b/policy/hot.conn.bro @@ -0,0 +1,200 @@ +@load hot + +redef enum Notice += { + SensitiveConnection, # connection marked "hot" +}; + +# Whether to translate the local address in SensitiveConnection notices +# to a hostname. Meant as a demonstration of the "when" construct. +const xlate_hot_local_addr = F &redef; + +# The sets are indexed by the complete hot messages. +global hot_conns_reported: table[conn_id] of set[string]; + +const conn_closed = { TCP_CLOSED, TCP_RESET }; + +const state_graphic = { + ["OTH"] = "?>?", ["REJ"] = "[", + ["RSTO"] = ">]", ["RSTOS0"] = "}]", ["RSTR"] = ">[", ["RSTRH"] = "<[", + ["S0"] = "}", ["S1"] = ">", ["S2"] = "}2", ["S3"] = "}3", + ["SF"] = ">", ["SH"] = ">h", ["SHR"] = " 0 ) + log_hot_conn(c); + } + +event connection_state_remove(c: connection) &priority = -10 + { + local os = c$orig$state; + local rs = c$resp$state; + + if ( os == TCP_ESTABLISHED && rs == TCP_ESTABLISHED ) + # It was still active, no summary generated. + connection_gone(c, "remove"); + + else if ( (os == TCP_CLOSED || rs == TCP_CLOSED) && + (os == TCP_ESTABLISHED || rs == TCP_ESTABLISHED) ) + # One side has closed, the other hasn't - it's in state S2 + # or S3, hasn't been reported yet. + connection_gone(c, "remove"); + + delete hot_conns_reported[c$id]; + } + + +event partial_connection(c: connection) + { + if ( c$orig$state == TCP_PARTIAL && c$resp$state == TCP_INACTIVE ) + # This appears to be a stealth scan. Don't do hot-checking + # as there wasn't an established connection. + ; + else + { + Hot::check_hot(c, Hot::CONN_ESTABLISHED); + Hot::check_hot(c, Hot::APPL_ESTABLISHED); # assume it's been established + } + + if ( c$hot > 0 ) + log_hot_conn(c); + } + +event connection_attempt(c: connection) + { + Hot::check_spoof(c); + Hot::check_hot(c, Hot::CONN_ATTEMPTED); + } + +event connection_finished(c: connection) + { + if ( c$orig$size == 0 || c$resp$size == 0 ) + # Hard to get excited about this - not worth logging again. + c$hot = 0; + else + Hot::check_hot(c, Hot::CONN_FINISHED); + } + +event connection_partial_close(c: connection) + { + if ( c$orig$size == 0 || c$resp$size == 0 ) + # Hard to get excited about this - not worth logging again. + c$hot = 0; + else + Hot::check_hot(c, Hot::CONN_FINISHED); + } + +event connection_half_finished(c: connection) + { + Hot::check_hot(c, Hot::CONN_ATTEMPTED); + } + +event connection_rejected(c: connection) + { + Hot::check_hot(c, Hot::CONN_REJECTED); + } + +event connection_reset(c: connection) + { + Hot::check_hot(c, Hot::CONN_FINISHED); + } + +event connection_pending(c: connection) + { + if ( c$orig$state in conn_closed && + (c$resp$state == TCP_INACTIVE || c$resp$state == TCP_PARTIAL) ) + # This is a stray FIN or RST - don't bother reporting. + return; + + if ( c$orig$state == TCP_RESET || c$resp$state == TCP_RESET ) + # We already reported this connection when the RST + # occurred. + return; + + Hot::check_hot(c, Hot::CONN_FINISHED); + } + +function connection_gone(c: connection, gone_type: string) + { + if ( c$orig$size == 0 || c$resp$size == 0 ) + { + if ( c$orig$state == TCP_RESET && c$resp$state == TCP_INACTIVE) + # A bare RST, no other context. Ignore it. + return; + + # Hard to get excited about this - not worth logging again, + # per connection_finished(). + c$hot = 0; + } + else + Hot::check_hot(c, Hot::CONN_TIMEOUT); + } diff --git a/policy/integration/barnyard2/__load__.bro b/policy/integration/barnyard2/__load__.bro new file mode 100644 index 0000000000..9e870eb7aa --- /dev/null +++ b/policy/integration/barnyard2/__load__.bro @@ -0,0 +1,3 @@ +@load integration/barnyard2/types +@load integration/barnyard2/event +@load integration/barnyard2/base diff --git a/policy/integration/barnyard2/base.bro b/policy/integration/barnyard2/base.bro new file mode 100644 index 0000000000..f05ad0e9bf --- /dev/null +++ b/policy/integration/barnyard2/base.bro @@ -0,0 +1,56 @@ +##! This script lets Barnyard2 integrate with Bro. It receives alerts from +##! Barnyard2 and logs them. In the future it will do more correlation +##! and derive new notices from the alerts. + +@load integration/barnyard2/types + +module Barnyard2; + +export { + redef enum Log::ID += { BARNYARD2 }; + + type Info: record { + ts: time &log; + pid: PacketID &log; + alert: AlertData &log; + }; + + ## This can convert a Barnyard :bro:type:`PacketID` value to a + ## :bro:type:`conn_id` value in the case that you might need to index + ## into an existing data structure elsewhere within Bro. + global pid2cid: function(p: PacketID): conn_id; +} + +event bro_init() + { + Log::create_stream(BARNYARD2, [$columns=Info]); + } + + +function pid2cid(p: PacketID): conn_id + { + return [$orig_h=p$src_ip, $orig_p=p$src_p, $resp_h=p$dst_ip, $resp_p=p$dst_p]; + } + +event barnyard_alert(id: PacketID, alert: AlertData, msg: string, data: string) + { + Log::write(BARNYARD2, [$ts=network_time(), $pid=id, $alert=alert]); + + #local proto_connection_string: string; + #if ( id$src_p == 0/tcp ) + # proto_connection_string = fmt("{PROTO:255} %s -> %s", id$src_ip, id$dst_ip); + #else + # proto_connection_string = fmt("{%s} %s:%d -> %s:%d", + # to_upper(fmt("%s", get_port_transport_proto(id$dst_p))), + # id$src_ip, id$src_p, id$dst_ip, id$dst_p); + # + #local snort_alike_msg = fmt("%.6f [**] [%d:%d:%d] %s [**] [Classification: %s] [Priority: %d] %s", + # sad$ts, + # sad$generator_id, + # sad$signature_id, + # sad$signature_revision, + # msg, + # sad$classification, + # sad$priority_id, + # proto_connection_string); + } diff --git a/policy/integration/barnyard2/event.bro b/policy/integration/barnyard2/event.bro new file mode 100644 index 0000000000..5fa2747a28 --- /dev/null +++ b/policy/integration/barnyard2/event.bro @@ -0,0 +1,3 @@ +## This is the event that Barnyard2 instances will send if they're +## configured with the bro_alert output plugin. +global barnyard_alert: event(id: Barnyard2::PacketID, alert: Barnyard2::AlertData, msg: string, data: string); diff --git a/policy/integration/barnyard2/types.bro b/policy/integration/barnyard2/types.bro new file mode 100644 index 0000000000..9bc56773ef --- /dev/null +++ b/policy/integration/barnyard2/types.bro @@ -0,0 +1,25 @@ +##! This file is separate from the base script so that dependencies can +##! be loaded in the correct order. + +module Barnyard2; + +export { + type AlertData: record { + sensor_id: count; ##< Sensor that originated this event. + ts: time; ##< Timestamp attached to the alert. + signature_id: count; ##< Sig id for this generator. + generator_id: count; ##< Which generator generated the alert? + signature_revision: count; ##< Sig revision for this id. + classification_id: count; ##< Event classification. + classification: string; ##< Descriptive classification string, + priority_id: count; ##< Event priority. + event_id: count; ##< Event ID. + } &log; + + type PacketID: record { + src_ip: addr; + src_p: port; + dst_ip: addr; + dst_p: port; + } &log; +} \ No newline at end of file diff --git a/policy/mime.bro b/policy/mime.bro deleted file mode 100644 index 73a4ecefee..0000000000 --- a/policy/mime.bro +++ /dev/null @@ -1,260 +0,0 @@ -# $Id: mime.bro 6724 2009-06-07 09:23:03Z vern $ - -@load smtp - -module MIME; - -export { - const mime_log = open_log_file("mime") &redef; - - type mime_session_info: record { - id: count; - connection_id: conn_id; - smtp_session: SMTP::smtp_session_info; - level: count; - data_offset: count; - content_hash: string; - }; - - global get_session: - function(c: connection, new_session_ok: bool): mime_session_info; -} - -function mime_header_default_handler(session: mime_session_info, - name: string, arg: string) - { - } - -type mime_header_handler_func: - function(session: mime_session_info, name: string, arg: string); - -type mime_header_handler_table: table[string] of mime_header_handler_func; - -export { - global mime_header_handler: mime_header_handler_table &redef &default - = function(name: string): mime_header_handler_func - { - # This looks a little weird, but there is no other way - # to specify a function as the default *value* - return mime_header_default_handler; - }; -} - -global mime_session_id = 0; -global mime_sessions: table[conn_id] of mime_session_info; - -function mime_session_string(session: mime_session_info): string - { - return fmt("#%s %s +%d", prefixed_id(session$id), - id_string(session$connection_id), session$level); - } - -function mime_log_warning(what: string) - { - print mime_log, fmt("%.6f warning: %s", network_time(), what); - } - -function mime_log_msg(session: mime_session_info, where: string, what: string) - { - print mime_log, fmt("%.6f %s: [%s] %s", - network_time(), - mime_session_string(session), - where, - what); - } - -function mime_header_subject(session: mime_session_info, - name: string, arg: string) - { - if ( session$level == 1 ) - session$smtp_session$subject = arg; - } - - -### This is a bit clunky. These are functions we call out to, defined -# elsewhere. The way we really ought to do this is to have them passed -# in during initialization. But for now, we presume knowledge of their -# names. -export - { - global SMTP::check_relay_3: - function(session: MIME::mime_session_info, msg_id: string); - global SMTP::check_relay_4: - function(session: MIME::mime_session_info, content_hash: string); - } - -function mime_header_message_id(session: mime_session_info, name: string, arg: string) - { - local s = arg; - - local t = split1(s, //); - if ( length(t) != 2 ) - { - mime_log_msg(session, "event", - fmt("message id does not contain '>': %s", arg)); - return; - } - - s = t[1]; - - if ( session$level == 1 && SMTP::process_smtp_relay ) - SMTP::check_relay_3(session, s); - } - -redef mime_header_handler = { - ["SUBJECT"] = mime_header_subject, - ["MESSAGE-ID"] = mime_header_message_id, -}; - -function new_mime_session(c: connection) - { - local id = c$id; - local session_id = ++mime_session_id; - local info: mime_session_info; - - info$id = session_id; - info$connection_id = id; - info$level = 0; - info$data_offset = 0; - info$content_hash = ""; - - if ( id !in SMTP::smtp_sessions ) - SMTP::new_smtp_session(c); - - info$smtp_session = SMTP::smtp_sessions[id]; - - mime_sessions[id] = info; - mime_log_msg(info, "start", ""); - } - -function get_session(c: connection, new_session_ok: bool): mime_session_info - { - local id = c$id; - - if ( id !in mime_sessions ) - { - if ( ! new_session_ok ) - mime_log_warning(fmt("begin_entity missing for new MIME session %s", id_string(id))); - - new_mime_session(c); - } - - return mime_sessions[id]; - } - -function end_mime_session(session: mime_session_info) - { - mime_log_msg(session, "finish", ""); - delete mime_sessions[session$connection_id]; - } - -event connection_state_remove(c: connection) - { - local id = c$id; - - if ( id in mime_sessions ) - { - mime_log_msg(mime_sessions[id], "state remove", ""); - delete mime_sessions[id]; - } - } - -function do_mime_begin_entity(c: connection) - { - local session = get_session(c, T); - - ++session$level; - session$data_offset = 0; - mime_log_msg(session, "begin entity", ""); - } - -event mime_begin_entity(c: connection) - { - do_mime_begin_entity(c); - } - -function do_mime_end_entity(c: connection) - { - local session = get_session(c, T); - - mime_log_msg(session, "end entity", ""); - - session$smtp_session$num_bytes_in_body = - session$smtp_session$num_bytes_in_body + session$data_offset; - - if ( session$level > 0 ) - { - --session$level; - if ( session$level == 0 ) - end_mime_session(session); - } - else - mime_log_warning(fmt("unmatched end_entity for MIME session %s", - mime_session_string(session))); - } - -event mime_end_entity(c: connection) - { - do_mime_end_entity(c); - } - -event mime_next_entity(c: connection) - { - do_mime_end_entity(c); - do_mime_begin_entity(c); - } - -# event mime_one_header(c: connection, h: mime_header_rec) -# { -# local session = get_session(c, T); -# mime_log_msg(session, "header", -# fmt("%s: \"%s\"", h$name, h$value)); -# mime_header_handler[h$name](session, h$name, h$value); -# } - -event mime_all_headers(c: connection, hlist: mime_header_list) - { - local session = get_session(c, T); - local i = 0; - - for ( i in hlist ) - { - local h = hlist[i]; - mime_log_msg(session, "header", - fmt("%s: \"%s\"", h$name, h$value)); - mime_header_handler[h$name](session, h$name, h$value); - } - } - -event mime_segment_data(c: connection, length: count, data: string) - { - local session = get_session(c, T); - - if ( session$data_offset < 256 ) - mime_log_msg(session, "data", fmt("%d: %s", length, data)); - - session$data_offset = session$data_offset + length; - } - -# event mime_entity_data(c: connection, length: count, data: string) -# { -# local session = get_session(c, T); -# -# mime_log_msg(session, "data", fmt("%d: %s", length, sub_bytes(data, 0, 256))); -# } - -event mime_event(c: connection, event_type: string, detail: string) - { - local session = get_session(c, T); - mime_log_msg(session, "event", fmt("%s: %s", event_type, detail)); - } diff --git a/policy/notice-action-filters.bro b/policy/notice-action-filters.bro deleted file mode 100644 index 0a6e83d1d3..0000000000 --- a/policy/notice-action-filters.bro +++ /dev/null @@ -1,121 +0,0 @@ -# $Id:$ -# -# A few predefined notice_action_filters (see notice.bro). - -@load notice -@load site -@load terminate-connection - -function ignore_notice(n: notice_info, a: NoticeAction): NoticeAction - { - return NOTICE_IGNORE; - } - -function file_notice(n: notice_info, a: NoticeAction): NoticeAction - { - return NOTICE_FILE; - } - -function send_email_notice(n: notice_info, a: NoticeAction): NoticeAction - { - return NOTICE_EMAIL; - } - -function send_page_notice(n: notice_info, a: NoticeAction): NoticeAction - { - return NOTICE_PAGE; - } - -global notice_tallies: table[string] of count &default = 0; - -function tally_notice(s: string) - { - ++notice_tallies[s]; - } - -function tally_notice_type(n: notice_info, a: NoticeAction): NoticeAction - { - tally_notice(fmt("%s", n$note)); - return NOTICE_FILE; - } - -function tally_notice_type_and_ignore(n: notice_info, a: NoticeAction) - : NoticeAction - { - tally_notice(fmt("%s", n$note)); - return NOTICE_IGNORE; - } - -function file_local_bro_notices(n: notice_info, a: NoticeAction): NoticeAction - { - if ( n$src_peer$is_local ) - return NOTICE_FILE; - - return a; - } - -function file_if_remote(n: notice_info, a: NoticeAction): NoticeAction - { - if ( n?$src && ! is_local_addr(n$src) ) - return NOTICE_FILE; - - return a; - } - -function drop_source(n: notice_info, a: NoticeAction): NoticeAction - { - return NOTICE_DROP; - } - -function drop_source_and_terminate(n: notice_info, a: NoticeAction): NoticeAction - { - if ( n?$conn ) - TerminateConnection::terminate_connection(n$conn); - - return NOTICE_DROP; - } - -event bro_done() - { - for ( s in notice_tallies ) - { - local n = notice_tallies[s]; - local msg = fmt("%s (%d time%s)", s, n, n > 1 ? "s" : ""); - NOTICE([$note=NoticeTally, $msg=msg, $n=n]); - } - } - -# notice_alarm_per_orig. -# -# Reports a specific NoticeType the first time we see it for a source. From -# then on, we tally instances per source. - -global notice_once_per_orig: table[Notice, addr] of count - &default=0 &read_expire=5hrs; -global notice_once_per_orig_tally_interval = 1 hr &redef; - -event notice_alarm_per_orig_tally(n: notice_info, host: addr) - { - local i = notice_once_per_orig[n$note, host]; - if ( i > 1 ) - { - local msg = fmt("%s seen %d time%s from %s", - n$note, i, i > 1 ? "s" : "", host); - NOTICE([$note=NoticeTally, $msg=msg, $src=host, $n=i]); - } - } - -function notice_alarm_per_orig(n: notice_info, a: NoticeAction): NoticeAction - { - local host = n$src; - - ++notice_once_per_orig[n$note, host]; - - if ( notice_once_per_orig[n$note, host] > 1 ) - return NOTICE_FILE; - - schedule notice_once_per_orig_tally_interval - { notice_alarm_per_orig_tally(n, host) }; - - return NOTICE_ALARM_ALWAYS; - } diff --git a/policy/notice.bro b/policy/notice.bro deleted file mode 100644 index 9b434032f0..0000000000 --- a/policy/notice.bro +++ /dev/null @@ -1,410 +0,0 @@ -# $Id: notice.bro 6756 2009-06-14 21:31:19Z vern $ - -const use_tagging = F &redef; - -type Notice: enum { - NoticeNone, # placeholder - NoticeTally, # notice reporting count of how often a notice occurred -}; - -type NoticeAction: enum { - # Similar to WeirdAction in weird.bro. - NOTICE_UNKNOWN, # placeholder - NOTICE_IGNORE, NOTICE_FILE, NOTICE_ALARM_ALWAYS, - NOTICE_EMAIL, NOTICE_PAGE, - NOTICE_DROP, # drops the address via Drop::drop_address, and alarms -}; - - -type notice_info: record { - note: Notice; - msg: string &default=""; - sub: string &optional; # sub-message - - conn: connection &optional; # connection associated with notice - iconn: icmp_conn &optional; # associated ICMP "connection" - id: conn_id &optional; # connection-ID, if we don't have a connection handy - src: addr &optional; # source address, if we don't have a connection - dst: addr &optional; # destination address - - p: port &optional; # associated port, if we don't have a conn. - - # The following are detailed attributes that are associated with some - # notices, but not all. - - user: string &optional; - - filename: string &optional; - - method: string &optional; - URL: string &optional; - - n: count &optional; # associated count, or perhaps status code - - aux: table[string] of string &optional; # further NOTICE-specific data - - # Automatically set attributes. - action: NoticeAction &default=NOTICE_UNKNOWN; # once action determined - src_peer: event_peer &optional; # source that raised this notice - tag: string &optional; # tag associated with this notice - dropped: bool &optional &default=F; # true if src successfully dropped - - # If we asked the Time Machine to capture, the filename prefix. - captured: string &optional; - - # If false, don't alarm independent of the determined notice action. - # If true, alarm dependening on notice action. - do_alarm: bool &default=T; - -}; - -type notice_policy_item: record { - result: NoticeAction &default=NOTICE_FILE; - pred: function(n: notice_info): bool; - priority: count &default=1; -}; - -global notice_policy: set[notice_policy_item] = { - [$pred(n: notice_info) = { return T; }, - $result = NOTICE_ALARM_ALWAYS, - $priority = 0], -} &redef; - -global NOTICE: function(n: notice_info); - -# Variables the control email notification. -const mail_script = "/bin/mail" &redef; # local system mail program -const mail_dest = "" &redef; # email address to send mail to -const mail_page_dest = "bro-page" &redef; # email address of pager - - -# Table that maps notices into a function that should be called -# to determine the action. -global notice_action_filters: - table[Notice] of - function(n: notice_info, a: NoticeAction): NoticeAction &redef; - - -# Each notice has a unique ID associated with it. -global notice_id = 0; - -# This should have a high probability of being unique without -# generating overly long tags. This is redef'able in case you need -# determinism in tags (such as for regression testing). -global notice_tag_prefix = - fmt("%x-%x-", - double_to_count(time_to_double(current_time())) % 255, - getpid()) - &redef; - -# Likewise redef'able for regression testing. -global new_notice_tag = - function(): string - { - return fmt("%s%x", notice_tag_prefix, ++notice_id); - } - &redef; - -# Function to add a unique NOTICE tag to a connection. This is done -# automatically whenever a NOTICE is raised, but sometimes one might need -# to call this function in advance of that to ensure that the tag appears -# in the connection summaries (i.e., when connection_state_remove() can be -# raised before the NOTICE is generated.) -global notice_tags: table[conn_id] of string; - -function add_notice_tag(c: connection): string - { - if ( c$id in notice_tags ) - return notice_tags[c$id]; - - local tag_id = new_notice_tag(); - append_addl(c, fmt("@%s", tag_id)); - notice_tags[c$id] = tag_id; - - return tag_id; - } - -event delete_notice_tags(c: connection) - { - delete notice_tags[c$id]; - } - -event connection_state_remove(c: connection) - { - # We do not delete the tag right here because there may be other - # connection_state_remove handlers invoked after us which - # want to generate a notice. - schedule 1 secs { delete_notice_tags(c) }; - } - -const notice_file = open_log_file("notice") &redef; - -# This handler is useful for processing notices after the notice filters -# have been applied and yielded an NoticeAction. -# -# It's tempting to make the default handler do the logging and -# printing to notice_file, rather than NOTICE. I hesitate to do that, -# though, because it perhaps could slow down notification, because -# in the absence of event priorities, the event would have to wait -# behind any other already-queued events. - -event notice_action(n: notice_info, action: NoticeAction) - { - } - -# Do not generate notice_action events for these NOTICE types. -global suppress_notice_actions: set[Notice] &redef; - -# Similar to notice_action but only generated if the notice also -# triggers an alarm. -event notice_alarm(n: notice_info, action: NoticeAction) - { - } - -# Hack to suppress duplicate notice_actions for remote notices. -global suppress_notice_action = F; - -function notice_info_tags(n: notice_info) : table[string] of string - { - local tags: table[string] of string; - - local t = is_remote_event() ? current_time() : network_time(); - tags["t"] = fmt("%.06f", t); - tags["no"] = fmt("%s", n$note); - tags["na"] = fmt("%s", n$action); - tags["sa"] = n?$src ? fmt("%s", n$src) : ""; - tags["sp"] = n?$id && n$id$orig_h == n$src ? fmt("%s", n$id$orig_p) : ""; - tags["da"] = n?$dst ? fmt("%s", n$dst) : ""; - tags["dp"] = n?$id && n$id$resp_h == n$dst ? fmt("%s", n$id$resp_p) : ""; - tags["p"] = n?$p ? fmt("%s", n$p) : ""; - tags["user"] = n?$user ? n$user : ""; - tags["file"] = n?$filename ? n$filename : ""; - tags["method"] = n?$method ? n$method : ""; - tags["url"] = n?$URL ? n$URL : ""; - tags["num"] = n?$n ? fmt("%s", n$n) : ""; - tags["msg"] = n?$msg ? n$msg : ""; - tags["sub"] = n?$sub ? n$sub : ""; - tags["captured"] = n?$captured ? n$captured : ""; - tags["tag"] = fmt("@%s", n$tag); - tags["dropped"] = n$dropped ? "1" : ""; - - if ( n?$aux ) - { - for ( a in n$aux ) - tags[fmt("aux_%s", a)] = n$aux[a]; - } - - if ( is_remote_event() ) - { - if ( n$src_peer$descr != "" ) - tags["es"] = n$src_peer$descr; - else - tags["es"] = fmt("%s/%s", n$src_peer$host, n$src_peer$p); - } - - else - tags["es"] = peer_description; - - return tags; - } - -function build_notice_info_string_untagged(n: notice_info) : string - { - # We add the fields in this order. Fields not listed won't be added. - local fields = vector("t", "no", "na", "es", "sa", "sp", "da", "dp", - "user", "file", "method", "url", "num", "msg", "sub", "tag"); - - local tags = notice_info_tags(n); - local cur_info = ""; - - for ( i in fields ) - { - local val = tags[fields[i]]; - val = string_escape(val, ":"); - - if ( cur_info == "" ) - cur_info = val; - else - cur_info = fmt("%s:%s", cur_info, val); - } - - return cur_info; - } - -function build_notice_info_string_tagged(n: notice_info) : string - { - # We add the fields in this order. Fields not listed won't be added - # (except aux_*). - local fields = vector("t", "no", "na", "dropped", "es", "sa", "sp", - "da", "dp", "p", "user", "file", "method", "url", - "num", "msg", "sub", "captured", "tag"); - - local tags = notice_info_tags(n); - local cur_info = ""; - - for ( i in fields ) - { - local val = tags[fields[i]]; - local f = fields[i]; - - if ( val == "" ) - next; - - val = string_escape(val, "= "); - - if ( cur_info == "" ) - cur_info = fmt("%s=%s", f, val); - else - cur_info = fmt("%s %s=%s", cur_info, f, val); - } - - for ( t in tags ) - { - if ( t == /aux_.*/ ) - { - if ( cur_info == "" ) - cur_info = fmt("%s=%s", t, tags[t]); - else - cur_info = fmt("%s %s=%s", cur_info, t, tags[t]); - } - } - - return cur_info; - } - -global email_notice_to: function(n: notice_info, dest: string) &redef; - -function email_notice_to(n: notice_info, dest: string) - { - if ( reading_traces() || dest == "" ) - return; - - # The contortions here ensure that the arguments to the mail - # script will not be confused. Re-evaluate if 'system' is reworked. - local mail_cmd = - fmt("echo \"%s\" | %s -s \"[Bro Alarm] %s\" %s", - str_shell_escape(n$msg), mail_script, n$note, dest); - - system(mail_cmd); - } - -function email_notice(n: notice_info, action: NoticeAction) - { - # Choose destination address based on action type. - local destination = - (action == NOTICE_EMAIL) ? mail_dest : mail_page_dest; - - email_notice_to(n, destination); - } - -# Executes a script with all of the notice fields put into the -# new process' environment as "BRO_ARG_" variables. -function execute_with_notice(cmd: string, n: notice_info) - { - local tags = notice_info_tags(n); - system_env(cmd, tags); - } - -# Can't load it at the beginning due to circular dependencies. -@load drop - -function NOTICE(n: notice_info) - { - # Fill in some defaults. - if ( ! n?$id && n?$conn ) - n$id = n$conn$id; - - if ( ! n?$src && n?$id ) - n$src = n$id$orig_h; - if ( ! n?$dst && n?$id ) - n$dst = n$id$resp_h; - - if ( ! n?$p && n?$id ) - n$p = n$id$resp_p; - - if ( ! n?$src && n?$iconn ) - n$src = n$iconn$orig_h; - if ( ! n?$dst && n?$iconn ) - n$dst = n$iconn$resp_h; - - if ( ! n?$src_peer ) - n$src_peer = get_event_peer(); - - if ( n?$conn ) - n$tag = add_notice_tag(n$conn); - - if ( ! n?$tag ) - n$tag = new_notice_tag(); - - local action = match n using notice_policy; - - local n_id = ""; - - if ( action != NOTICE_IGNORE && action != NOTICE_FILE && - n$note in notice_action_filters ) - action = notice_action_filters[n$note](n, action); - - n$action = action; - - if ( action == NOTICE_EMAIL || action == NOTICE_PAGE ) - email_notice(n, action); - - if ( action == NOTICE_DROP ) - { - local drop = Drop::drop_address(n$src, ""); - local addl = drop?$sub ? fmt(" %s", drop$sub) : ""; - n$dropped = drop$note != Drop::AddressDropIgnored; - n$msg += fmt(" [%s%s]", drop$note, addl); - } - - if ( action != NOTICE_IGNORE ) - { - # Build the info here after we had a chance to set the - # $dropped field. - local info: string; - if ( use_tagging ) - info = build_notice_info_string_tagged(n); - else - info = build_notice_info_string_untagged(n); - - print notice_file, info; - - if ( action != NOTICE_FILE && n$do_alarm ) - { - if ( use_tagging ) - { - alarm info; - event notice_alarm(n, action); - } - else - { - local descr = ""; - if ( is_remote_event() ) - { - if ( n$src_peer$descr != "" ) - descr = fmt("<%s> ", - n$src_peer$descr); - else - descr = fmt("<%s:%s> ", - n$src_peer$host, - n$src_peer$p); - } - - alarm fmt("%s %s%s", n$note, descr, n$msg); - event notice_alarm(n, action); - } - } - } - -@ifdef ( IDMEF_support ) - if ( n?$id ) - generate_idmef(n$id$orig_h, n$id$orig_p, - n$id$resp_h, n$id$resp_p); -@endif - - if ( ! suppress_notice_action && n$note !in suppress_notice_actions ) - event notice_action(n, action); - } - - -@load notice-action-filters diff --git a/policy/pcap.bro b/policy/pcap.bro deleted file mode 100644 index 021884a700..0000000000 --- a/policy/pcap.bro +++ /dev/null @@ -1,120 +0,0 @@ -# $Id: pcap.bro 261 2004-08-31 19:25:40Z vern $ - -# The set of capture_filters indexed by some user-definable ID. -global capture_filters: table[string] of string &redef; -global restrict_filters: table[string] of string &redef; - -# By default, Bro will examine all packets. If this is set to false, -# it will dynamically build a BPF filter that only select protocols -# for which the user has loaded a corresponding analysis script. -# The latter used to be default for Bro versions < 1.6. That has now -# changed however to enable port-independent protocol analysis. -const all_packets = T &redef; - -# Filter string which is unconditionally or'ed to every dynamically -# built pcap filter. -const unrestricted_filter = "" &redef; - -redef enum PcapFilterID += { - DefaultPcapFilter, -}; - -function add_to_pcap_filter(fold: string, fnew: string, op: string): string - { - if ( fold == "" ) - return fnew; - else if ( fnew == "" ) - return fold; - else - return fmt("(%s) %s (%s)", fold, op, fnew); - } - -function join_filters(capture_filter: string, restrict_filter: string): string - { - local filter: string; - - if ( capture_filter != "" && restrict_filter != "" ) - filter = fmt( "(%s) and (%s)", restrict_filter, capture_filter ); - - else if ( capture_filter != "" ) - filter = capture_filter; - - else if ( restrict_filter != "" ) - filter = restrict_filter; - - else - filter = "ip or not ip"; - - if ( unrestricted_filter != "" ) - filter = fmt( "(%s) or (%s)", unrestricted_filter, filter ); - - return filter; - } - -function build_default_pcap_filter(): string - { - if ( cmd_line_bpf_filter != "" ) - # Return what the user specified on the command line; - return cmd_line_bpf_filter; - - if ( all_packets ) - { - # Return an "always true" filter. - if ( bro_has_ipv6() ) - return "ip or not ip"; - else - return "not ip6"; - } - - ## Build filter dynamically. - - # First the capture_filter. - local cfilter = ""; - for ( id in capture_filters ) - cfilter = add_to_pcap_filter(cfilter, capture_filters[id], "or"); - - # Then the restrict_filter. - local rfilter = ""; - for ( id in restrict_filters ) - rfilter = add_to_pcap_filter(rfilter, restrict_filters[id], "and"); - - # Finally, join them. - local filter = join_filters(cfilter, rfilter); - - # Exclude IPv6 if we don't support it. - if ( ! bro_has_ipv6() ) - filter = fmt("(not ip6) and (%s)", filter); - - return filter; - } - -function install_default_pcap_filter() - { - if ( ! install_pcap_filter(DefaultPcapFilter) ) - { - ### This could be due to a true failure, or simply - # because the user specified -f. Since we currently - # don't have an easy way to distinguish, we punt on - # reporting it for now. - } - } - -global default_pcap_filter = ""; - -function update_default_pcap_filter() - { - default_pcap_filter = build_default_pcap_filter(); - - if ( ! precompile_pcap_filter(DefaultPcapFilter, default_pcap_filter) ) - { - print fmt("can't compile filter %s", default_pcap_filter); - exit(); - } - - install_default_pcap_filter(); - } - -event bro_init() - { - update_default_pcap_filter(); - } diff --git a/policy/protocols/conn/__load__.bro b/policy/protocols/conn/__load__.bro new file mode 100644 index 0000000000..cee6bc3f1e --- /dev/null +++ b/policy/protocols/conn/__load__.bro @@ -0,0 +1,5 @@ +@load conn/base +@load conn/known-hosts +@load conn/known-services +@load conn/contents +@load conn/inactivity \ No newline at end of file diff --git a/policy/protocols/conn/base.bro b/policy/protocols/conn/base.bro new file mode 100644 index 0000000000..ac569fc6da --- /dev/null +++ b/policy/protocols/conn/base.bro @@ -0,0 +1,199 @@ +@load site + +module Conn; + +export { + redef enum Log::ID += { CONN }; + + type Info: record { + ## This is the time of the first packet. + ts: time &log; + uid: string &log; + id: conn_id &log; + proto: transport_proto &log; + service: string &log &optional; + duration: interval &log &optional; + orig_bytes: count &log &optional; + resp_bytes: count &log &optional; + + ## ========== =============================================== + ## conn_state Meaning + ## ========== =============================================== + ## S0 Connection attempt seen, no reply. + ## S1 Connection established, not terminated. + ## SF Normal establishment and termination. Note that this is the same symbol as for state S1. You can tell the two apart because for S1 there will not be any byte counts in the summary, while for SF there will be. + ## REJ Connection attempt rejected. + ## S2 Connection established and close attempt by originator seen (but no reply from responder). + ## S3 Connection established and close attempt by responder seen (but no reply from originator). + ## RSTO Connection established, originator aborted (sent a RST). + ## RSTR Established, responder aborted. + ## RSTOS0 Originator sent a SYN followed by a RST, we never saw a SYN-ACK from the responder. + ## RSTRH Responder sent a SYN ACK followed by a RST, we never saw a SYN from the (purported) originator. + ## SH Originator sent a SYN followed by a FIN, we never saw a SYN ACK from the responder (hence the connection was "half" open). + ## SHR Responder sent a SYN ACK followed by a FIN, we never saw a SYN from the originator. + ## OTH No SYN seen, just midstream traffic (a "partial connection" that was not later closed). + ## ========== =============================================== + conn_state: string &log &optional; + + ## If the connection is originated locally, this value will be T. If + ## it was originated remotely it will be F. In the case that the + ## :bro:id:`Site::local_nets` variable is undefined, this field will + ## be left empty at all times. + local_orig: bool &log &optional; + + ## Indicates the number of bytes missed in content gaps which is + ## representative of packet loss. A value other than zero will + ## normally cause protocol analysis to fail but some analysis may + ## have been completed prior to the packet loss. + missed_bytes: count &log &default=0; + + ## Records the state history of (TCP) connections as + ## a string of letters. + ## + ## ====== ==================================================== + ## Letter Meaning + ## ====== ==================================================== + ## s a SYN w/o the ACK bit set + ## h a SYN+ACK ("handshake") + ## a a pure ACK + ## d packet with payload ("data") + ## f packet with FIN bit set + ## r packet with RST bit set + ## c packet with a bad checksum + ## i inconsistent packet (e.g. SYN+RST bits both set) + ## ====== ==================================================== + ## + ## If the letter is in upper case it means the event comes from the + ## originator and lower case then means the responder. + ## Also, there is compression. We only record one "d" in each direction, + ## for instance. I.e., we just record that data went in that direction. + ## This history is not meant to encode how much data that happened to be. + history: string &log &optional; + }; + + global log_conn: event(rec: Info); +} + +redef record connection += { + conn: Info &optional; +}; + +event bro_init() + { + Log::create_stream(CONN, [$columns=Info, $ev=log_conn]); + } + +function conn_state(c: connection, trans: transport_proto): string + { + local os = c$orig$state; + local rs = c$resp$state; + + local o_inactive = os == TCP_INACTIVE || os == TCP_PARTIAL; + local r_inactive = rs == TCP_INACTIVE || rs == TCP_PARTIAL; + + if ( trans == tcp ) + { + if ( rs == TCP_RESET ) + { + if ( os == TCP_SYN_SENT || os == TCP_SYN_ACK_SENT || + (os == TCP_RESET && + c$orig$size == 0 && c$resp$size == 0) ) + return "REJ"; + else if ( o_inactive ) + return "RSTRH"; + else + return "RSTR"; + } + else if ( os == TCP_RESET ) + return r_inactive ? "RSTOS0" : "RSTO"; + else if ( rs == TCP_CLOSED && os == TCP_CLOSED ) + return "SF"; + else if ( os == TCP_CLOSED ) + return r_inactive ? "SH" : "S2"; + else if ( rs == TCP_CLOSED ) + return o_inactive ? "SHR" : "S3"; + else if ( os == TCP_SYN_SENT && rs == TCP_INACTIVE ) + return "S0"; + else if ( os == TCP_ESTABLISHED && rs == TCP_ESTABLISHED ) + return "S1"; + else + return "OTH"; + } + + else if ( trans == udp ) + { + if ( os == UDP_ACTIVE ) + return rs == UDP_ACTIVE ? "SF" : "S0"; + else + return rs == UDP_ACTIVE ? "SHR" : "OTH"; + } + + else + return "OTH"; + } + +function determine_service(c: connection): string + { + local service = ""; + for ( s in c$service ) + { + if ( sub_bytes(s, 0, 1) != "-" ) + service = service == "" ? s : cat(service, ",", s); + } + + return to_lower(service); + } + +function set_conn(c: connection, eoc: bool) + { + if ( ! c?$conn ) + { + local id = c$id; + local tmp: Info; + tmp$ts=c$start_time; + tmp$uid=c$uid; + tmp$id=id; + tmp$proto=get_port_transport_proto(id$resp_p); + if( |Site::local_nets| > 0 ) + tmp$local_orig=Site::is_local_addr(id$orig_h); + c$conn = tmp; + } + + if ( eoc ) + { + if ( c$duration > 0secs ) + { + c$conn$duration=c$duration; + # TODO: these should optionally use Gregor's new + # actual byte counting code if it's enabled. + c$conn$orig_bytes=c$orig$size; + c$conn$resp_bytes=c$resp$size; + } + local service = determine_service(c); + if ( service != "" ) + c$conn$service=service; + c$conn$conn_state=conn_state(c, get_port_transport_proto(c$id$resp_p)); + + if ( c$history != "" ) + c$conn$history=c$history; + } + } + +event connection_established(c: connection) &priority=5 + { + set_conn(c, F); + } + +event content_gap(c: connection, is_orig: bool, seq: count, length: count) &priority=5 + { + set_conn(c, F); + + c$conn$missed_bytes = c$conn$missed_bytes + length; + } + +event connection_state_remove(c: connection) &priority=-5 + { + set_conn(c, T); + Log::write(CONN, c$conn); + } + diff --git a/policy/protocols/conn/contents.bro b/policy/protocols/conn/contents.bro new file mode 100644 index 0000000000..d334d70c8e --- /dev/null +++ b/policy/protocols/conn/contents.bro @@ -0,0 +1,44 @@ +##! This script can be used to extract either the originator's data or the +##! responders data or both. By default nothing is extracted, and in order +##! to actually extract data the ``c$extract_orig`` and/or the +##! ``c$extract_resp`` variable must be set to T. One way to achieve this +##! would be to handle the connection_established event elsewhere and set the +##! extract_orig and extract_resp options there. However, there may be trouble +##! with the timing due the event queue delay. +##! This script does not work well in a cluster context unless it has a +##! remotely mounted disk to write the content files to. + +@load utils/files + +module Conn; + +export { + ## The prefix given to files as they are opened on disk. + const extraction_prefix = "contents" &redef; + + ## If this variable is set to T, then all contents of all files will be + ## extracted. + const default_extract = F &redef; +} + +redef record connection += { + extract_orig: bool &default=default_extract; + extract_resp: bool &default=default_extract; +}; + +event connection_established(c: connection) &priority=-5 + { + if ( c$extract_orig ) + { + local orig_file = generate_extraction_filename(extraction_prefix, c, "orig.dat"); + local orig_f = open(orig_file); + set_contents_file(c$id, CONTENTS_ORIG, orig_f); + } + + if ( c$extract_resp ) + { + local resp_file = generate_extraction_filename(extraction_prefix, c, "resp.dat"); + local resp_f = open(resp_file); + set_contents_file(c$id, CONTENTS_RESP, resp_f); + } + } diff --git a/policy/protocols/conn/inactivity.bro b/policy/protocols/conn/inactivity.bro new file mode 100644 index 0000000000..04dab62470 --- /dev/null +++ b/policy/protocols/conn/inactivity.bro @@ -0,0 +1,41 @@ +##! Adjust the inactivity timeouts for interactive services which could +##! very possibly have long delays between packets. + +module Conn; + +export { + ## Define inactivty timeouts by the service detected being used over + ## the connection. + const analyzer_inactivity_timeouts: table[AnalyzerTag] of interval = { + # For interactive services, allow longer periods of inactivity. + [[ANALYZER_SSH, ANALYZER_FTP]] = 1 hrs, + } &redef; + + ## Define inactivity timeouts based on common protocol ports. + const port_inactivity_timeouts: table[port] of interval = { + [[21/tcp, 22/tcp, 23/tcp, 513/tcp]] = 1 hrs, + } &redef; + +} + +event protocol_confirmation(c: connection, atype: count, aid: count) + { + if ( atype in analyzer_inactivity_timeouts ) + set_inactivity_timeout(c$id, analyzer_inactivity_timeouts[atype]); + } + +event connection_established(c: connection) + { + local service_port = c$id$resp_p; + if ( c$orig$state == TCP_INACTIVE ) + { + # We're seeing a half-established connection. Use the + # service of the originator if it's well-known and the + # responder isn't. + if ( service_port !in likely_server_ports && c$id$orig_p in likely_server_ports ) + service_port = c$id$orig_p; + } + + if ( service_port in port_inactivity_timeouts ) + set_inactivity_timeout(c$id, port_inactivity_timeouts[service_port]); + } diff --git a/policy/protocols/conn/known-hosts.bro b/policy/protocols/conn/known-hosts.bro new file mode 100644 index 0000000000..c4e70e63b0 --- /dev/null +++ b/policy/protocols/conn/known-hosts.bro @@ -0,0 +1,52 @@ +##! This script logs hosts that Bro determines have performed complete TCP +##! handshakes and logs the address once per day (by default). The log that +##! output provides an easy way to determine a count of the IP addresses in +##! use on a network per day. + +@load utils/directions-and-hosts + +module KnownHosts; + +export { + redef enum Log::ID += { KNOWN_HOSTS }; + + type Info: record { + ## The timestamp at which the host was detected. + ts: time &log; + ## The address that was detected originating or responding to a TCP + ## connection. + host: addr &log; + }; + + ## The hosts whose existence should be logged and tracked. + ## Choices are: LOCAL_HOSTS, REMOTE_HOSTS, ALL_HOSTS, NO_HOSTS + const asset_tracking = LOCAL_HOSTS &redef; + + ## The set of all known addresses to store for preventing duplicate + ## logging of addresses. It can also be used from other scripts to + ## inspect if an address has been seen in use. + ## Maintain the list of known hosts for 24 hours so that the existence + ## of each individual address is logged each day. + global known_hosts: set[addr] &create_expire=1day &synchronized &redef; + + global log_known_hosts: event(rec: Info); +} + +event bro_init() + { + Log::create_stream(KNOWN_HOSTS, [$columns=Info, $ev=log_known_hosts]); + } + +event connection_established(c: connection) &priority=5 + { + local id = c$id; + + for ( host in set(id$orig_h, id$resp_h) ) + { + if ( host !in known_hosts && addr_matches_host(host, asset_tracking) ) + { + add known_hosts[host]; + Log::write(KNOWN_HOSTS, [$ts=network_time(), $host=host]); + } + } + } diff --git a/policy/protocols/conn/known-services.bro b/policy/protocols/conn/known-services.bro new file mode 100644 index 0000000000..a64b5a7ee3 --- /dev/null +++ b/policy/protocols/conn/known-services.bro @@ -0,0 +1,79 @@ +##! This script logs and tracks services. In the case of this script, a service +##! is defined as an IP address and port which has responded to and fully +##! completed a TCP handshake with another host. If a protocol is detected +##! during the session, the protocol will also be logged. + +@load utils/directions-and-hosts + +module KnownServices; + +redef enum Log::ID += { KNOWN_SERVICES }; + +export { + type Info: record { + ts: time &log; + host: addr &log; + port_num: port &log; + port_proto: transport_proto &log; + service: set[string] &log; + + done: bool &default=F; + }; + + ## The hosts whose services should be tracked and logged. + const asset_tracking = LOCAL_HOSTS &redef; + + global known_services: set[addr, port] &create_expire=1day &synchronized; + + global log_known_services: event(rec: Info); +} + +redef record connection += { + known_services_done: bool &default=F; + known_services_watch: bool &default=F; +}; + +event bro_init() + { + Log::create_stream(KNOWN_SERVICES, [$columns=Info, + $ev=log_known_services]); + } + +function known_services_done(c: connection) + { + local id = c$id; + if ( ! c$known_services_done && + get_port_transport_proto(id$resp_p) == tcp && + addr_matches_host(id$resp_h, asset_tracking) && + [id$resp_h, id$resp_p] !in known_services && + "ftp-data" !in c$service ) # don't include ftp data sessions + { + local i: Info; + i$ts=c$start_time; + i$host=id$resp_h; + i$port_num=id$resp_p; + i$port_proto=get_port_transport_proto(id$resp_p); + i$service=c$service; + + add known_services[id$resp_h, id$resp_p]; + Log::write(KNOWN_SERVICES, i); + c$known_services_done = T; + } + } + +event protocol_confirmation(c: connection, atype: count, aid: count) &priority=-5 + { + known_services_done(c); + } + +event connection_establihsed(c: connection) + { + c$known_services_watch=T; + } + +# Handle the connection ending in case no protocol was ever detected. +event connection_state_remove(c: connection) &priority=-5 + { + if ( c$known_services_watch ) + known_services_done(c); + } diff --git a/policy/protocols/dns/__load__.bro b/policy/protocols/dns/__load__.bro new file mode 100644 index 0000000000..51117bf8e2 --- /dev/null +++ b/policy/protocols/dns/__load__.bro @@ -0,0 +1,3 @@ +@load dns/consts +@load dns/base +@load dns/detect \ No newline at end of file diff --git a/policy/protocols/dns/auth-addl.bro b/policy/protocols/dns/auth-addl.bro new file mode 100644 index 0000000000..ee42389a8e --- /dev/null +++ b/policy/protocols/dns/auth-addl.bro @@ -0,0 +1,40 @@ +@load dns/base + +# TODO: remove these when the options are removed from the core analyzers. +redef dns_skip_all_auth = F; +redef dns_skip_all_addl = F; + +module DNS; + +redef record Info += { + auth: set[string] &log &optional; + addl: set[string] &log &optional; +}; + +event do_reply(c: connection, msg: dns_msg, ans: dns_answer, reply: string) &priority=4 + { + # The "ready" flag will be set here. This causes the setting from the + # base script to be overridden since the base script will log immediately + # after all of the ANS replies have been seen. + c$dns$ready=F; + + if ( ans$answer_type == DNS_AUTH ) + { + if ( ! c$dns?$auth ) + c$dns$auth = set(); + add c$dns$auth[reply]; + } + else if ( ans$answer_type == DNS_ADDL ) + { + if ( ! c$dns?$addl ) + c$dns$addl = set(); + add c$dns$addl[reply]; + } + + if ( c$dns?$answers && c$dns?$auth && c$dns?$addl && + c$dns$total_replies == |c$dns$answers| + |c$dns$auth| + |c$dns$addl| ) + { + # *Now* all replies desired have been seen. + c$dns$ready = T; + } + } diff --git a/policy/protocols/dns/base.bro b/policy/protocols/dns/base.bro new file mode 100644 index 0000000000..713964dc0d --- /dev/null +++ b/policy/protocols/dns/base.bro @@ -0,0 +1,281 @@ +@load functions +@load dns/consts + +module DNS; + +export { + redef enum Log::ID += { DNS }; + + type Info: record { + ts: time &log; + uid: string &log; + id: conn_id &log; + proto: transport_proto &log; + trans_id: count &log &optional; + query: string &log &optional; + qclass: count &log &optional; + qclass_name: string &log &optional; + qtype: count &log &optional; + qtype_name: string &log &optional; + rcode: count &log &optional; + rcode_name: string &log &optional; + QR: bool &log &default=F; + AA: bool &log &default=F; + TC: bool &log &default=F; + RD: bool &log &default=F; + RA: bool &log &default=F; + Z: count &log &default=0; + TTL: interval &log &optional; + answers: set[string] &log &optional; + + ## This value indicates if this request/response pair is ready to be logged. + ready: bool &default=F; + total_answers: count &optional; + total_replies: count &optional; + }; + + type State: record { + ## Indexed by query id, returns Info record corresponding to + ## query/response which haven't completed yet. + pending: table[count] of Info &optional; + + ## This is the list of DNS responses that have completed based on the + ## number of responses declared and the number received. The contents + ## of the set are transaction IDs. + finished_answers: set[count] &optional; + }; + + global log_dns: event(rec: Info); + + ## This is called by the specific dns_*_reply events with a "reply" which + ## may not represent the full data available from the resource record, but + ## it's generally considered a summarization of the response(s). + # TODO: Weirdly enough, if I define this, the locally defined script layer + # event won't trigger any of it's handlers. + #global do_reply: event(c: connection, msg: dns_msg, ans: dns_answer, reply: string); +} + +redef record connection += { + dns: Info &optional; + dns_state: State &optional; +}; + +# DPD configuration. +redef capture_filters += { + ["dns"] = "port 53", + ["mdns"] = "udp and port 5353", + ["llmns"] = "udp and port 5355", + ["netbios-ns"] = "udp port 137", +}; + +global dns_ports = { 53/udp, 53/tcp, 137/udp, 5353/udp, 5355/udp } &redef; +redef dpd_config += { [ANALYZER_DNS] = [$ports = dns_ports] }; + +global dns_udp_ports = { 53/udp, 137/udp, 5353/udp, 5355/udp } &redef; +global dns_tcp_ports = { 53/tcp } &redef; +redef dpd_config += { [ANALYZER_DNS_UDP_BINPAC] = [$ports = dns_udp_ports] }; +redef dpd_config += { [ANALYZER_DNS_TCP_BINPAC] = [$ports = dns_tcp_ports] }; + +event bro_init() &priority=5 + { + Log::create_stream(DNS, [$columns=Info, $ev=log_dns]); + } + +function new_session(c: connection, trans_id: count): Info + { + if ( ! c?$dns_state ) + { + local state: State; + state$pending=table(); + state$finished_answers=set(); + c$dns_state = state; + } + + local info: Info; + info$ts = network_time(); + info$id = c$id; + info$uid = c$uid; + info$proto = get_conn_transport_proto(c$id); + info$trans_id = trans_id; + return info; + } + +function set_session(c: connection, msg: dns_msg, is_query: bool) + { + if ( ! c?$dns_state || msg$id !in c$dns_state$pending ) + c$dns_state$pending[msg$id] = new_session(c, msg$id); + + c$dns = c$dns_state$pending[msg$id]; + + c$dns$rcode = msg$rcode; + c$dns$rcode_name = base_errors[msg$rcode]; + + if ( ! is_query ) + { + if ( ! c$dns?$total_answers ) + c$dns$total_answers = msg$num_answers; + + if ( c$dns?$total_replies && + c$dns$total_replies != msg$num_answers + msg$num_addl + msg$num_auth ) + { + event conn_weird_addl("dns_changed_number_of_responses", c, + fmt("The declared number of responses changed from %d to %d", + c$dns$total_replies, + msg$num_answers + msg$num_addl + msg$num_auth)); + } + else + { + # Store the total number of responses expected from the first reply. + c$dns$total_replies = msg$num_answers + msg$num_addl + msg$num_auth; + } + } + } + +event do_reply(c: connection, msg: dns_msg, ans: dns_answer, reply: string) &priority=5 + { + set_session(c, msg, F); + + c$dns$AA = msg$AA; + c$dns$RA = msg$RA; + c$dns$TTL = ans$TTL; + + if ( ans$answer_type == DNS_ANS ) + { + if ( msg$id in c$dns_state$finished_answers ) + event conn_weird("dns_reply_seen_after_done", c); + + if ( reply != "" ) + { + if ( ! c$dns?$answers ) + c$dns$answers = set(); + add c$dns$answers[reply]; + } + + if ( c$dns?$answers && |c$dns$answers| == c$dns$total_answers ) + { + add c$dns_state$finished_answers[c$dns$trans_id]; + # Indicate this request/reply pair is ready to be logged. + c$dns$ready = T; + } + } + } + +event do_reply(c: connection, msg: dns_msg, ans: dns_answer, reply: string) &priority=-5 + { + if ( c$dns$ready ) + { + Log::write(DNS, c$dns); + add c$dns_state$finished_answers[c$dns$trans_id]; + # This record is logged and no longer pending. + delete c$dns_state$pending[c$dns$trans_id]; + } + } + +event dns_request(c: connection, msg: dns_msg, query: string, qtype: count, qclass: count) &priority=5 + { + set_session(c, msg, T); + + c$dns$RD = msg$RD; + c$dns$TC = msg$TC; + c$dns$qclass = qclass; + c$dns$qclass_name = classes[qclass]; + c$dns$qtype = qtype; + c$dns$qtype_name = query_types[qtype]; + + # Decode netbios name queries + # Note: I'm ignoring the name type for now. Not sure if this should be + # worked into the query/response in some fashion. + if ( c$id$resp_p == 137/udp ) + query = decode_netbios_name(query); + c$dns$query = query; + + c$dns$Z = msg$Z; + } + +event dns_A_reply(c: connection, msg: dns_msg, ans: dns_answer, a: addr) &priority=5 + { + event do_reply(c, msg, ans, fmt("%s", a)); + } + +event dns_TXT_reply(c: connection, msg: dns_msg, ans: dns_answer, str: string) &priority=5 + { + event do_reply(c, msg, ans, str); + } + +event dns_AAAA_reply(c: connection, msg: dns_msg, ans: dns_answer, a: addr, + astr: string) &priority=5 + { + # TODO: What should we do with astr? + event do_reply(c, msg, ans, fmt("%s", a)); + } + +event dns_NS_reply(c: connection, msg: dns_msg, ans: dns_answer, name: string) &priority=5 + { + event do_reply(c, msg, ans, name); + } + +event dns_CNAME_reply(c: connection, msg: dns_msg, ans: dns_answer, name: string) &priority=5 + { + event do_reply(c, msg, ans, name); + } + +event dns_MX_reply(c: connection, msg: dns_msg, ans: dns_answer, name: string, + preference: count) &priority=5 + { + event do_reply(c, msg, ans, name); + } + +event dns_PTR_reply(c: connection, msg: dns_msg, ans: dns_answer, name: string) &priority=5 + { + event do_reply(c, msg, ans, name); + } + +event dns_SOA_reply(c: connection, msg: dns_msg, ans: dns_answer, soa: dns_soa) &priority=5 + { + event do_reply(c, msg, ans, soa$mname); + } + +event dns_WKS_reply(c: connection, msg: dns_msg, ans: dns_answer) &priority=5 + { + event do_reply(c, msg, ans, ""); + } + +event dns_SRV_reply(c: connection, msg: dns_msg, ans: dns_answer) &priority=5 + { + event do_reply(c, msg, ans, ""); + } + +# TODO: figure out how to handle these +#event dns_EDNS(c: connection, msg: dns_msg, ans: dns_answer) +# { +# +# } +# +#event dns_EDNS_addl(c: connection, msg: dns_msg, ans: dns_edns_additional) +# { +# +# } +# +#event dns_TSIG_addl(c: connection, msg: dns_msg, ans: dns_tsig_additional) +# { +# +# } + + +event dns_rejected(c: connection, msg: dns_msg, + query: string, qtype: count, qclass: count) &priority=5 + { + set_session(c, msg, F); + } + +event connection_state_remove(c: connection) &priority=-5 + { + if ( ! c?$dns_state ) + return; + + # If Bro is expiring state, we should go ahead and log all unlogged + # request/response pairs now. + for ( trans_id in c$dns_state$pending ) + Log::write(DNS, c$dns_state$pending[trans_id]); + } + diff --git a/policy/protocols/dns/consts.bro b/policy/protocols/dns/consts.bro new file mode 100644 index 0000000000..b57170dded --- /dev/null +++ b/policy/protocols/dns/consts.bro @@ -0,0 +1,84 @@ +##! Types, errors, and fields for analyzing DNS data. A helper file +##! for DNS analysis scripts. + +module DNS; + +export { + const PTR = 12; + const EDNS = 41; + const ANY = 255; + + ## Mapping of DNS query type codes to human readable string representation. + const query_types = { + [1] = "A", [2] = "NS", [3] = "MD", [4] = "MF", + [5] = "CNAME", [6] = "SOA", [7] = "MB", [8] = "MG", + [9] = "MR", [10] = "NULL", [11] = "WKS", [PTR] = "PTR", + [13] = "HINFO", [14] = "MINFO", [15] = "MX", [16] = "TXT", + [17] = "RP", [18] = "AFSDB", [19] = "X25", [20] = "ISDN", + [21] = "RT", [22] = "NSAP", [23] = "NSAP-PTR", [24] = "SIG", + [25] = "KEY", [26] = "PX" , [27] = "GPOS", [28] = "AAAA", + [29] = "LOC", [30] = "EID", [31] = "NIMLOC", [32] = "NB", + [33] = "SRV", [34] = "ATMA", [35] = "NAPTR", [36] = "KX", + [37] = "CERT", [38] = "A6", [39] = "DNAME", [40] = "SINK", + [EDNS] = "EDNS", [42] = "APL", [43] = "DS", [44] = "SINK", + [45] = "SSHFP", [46] = "RRSIG", [47] = "NSEC", [48] = "DNSKEY", + [49] = "DHCID", [99] = "SPF", [100] = "DINFO", [101] = "UID", + [102] = "GID", [103] = "UNSPEC", [249] = "TKEY", [250] = "TSIG", + [251] = "IXFR", [252] = "AXFR", [253] = "MAILB", [254] = "MAILA", + [32768] = "TA", [32769] = "DLV", + [ANY] = "*", + } &default = function(n: count): string { return fmt("query-%d", n); }; + + const code_types = { + [0] = "X0", + [1] = "Xfmt", + [2] = "Xsrv", + [3] = "Xnam", + [4] = "Ximp", + [5] = "X[", + } &default="?"; + + ## Errors used for non-TSIG/EDNS types. + const base_errors = { + [0] = "NOERROR", ##< No Error + [1] = "FORMERR", ##< Format Error + [2] = "SERVFAIL", ##< Server Failure + [3] = "NXDOMAIN", ##< Non-Existent Domain + [4] = "NOTIMP", ##< Not Implemented + [5] = "REFUSED", ##< Query Refused + [6] = "YXDOMAIN", ##< Name Exists when it should not + [7] = "YXRRSET", ##< RR Set Exists when it should not + [8] = "NXRRSet", ##< RR Set that should exist does not + [9] = "NOTAUTH", ##< Server Not Authoritative for zone + [10] = "NOTZONE", ##< Name not contained in zone + [11] = "unassigned-11", ##< available for assignment + [12] = "unassigned-12", ##< available for assignment + [13] = "unassigned-13", ##< available for assignment + [14] = "unassigned-14", ##< available for assignment + [15] = "unassigned-15", ##< available for assignment + [16] = "BADVERS", ##< for EDNS, collision w/ TSIG + [17] = "BADKEY", ##< Key not recognized + [18] = "BADTIME", ##< Signature out of time window + [19] = "BADMODE", ##< Bad TKEY Mode + [20] = "BADNAME", ##< Duplicate key name + [21] = "BADALG", ##< Algorithm not supported + [22] = "BADTRUNC", ##< draft-ietf-dnsext-tsig-sha-05.txt + [3842] = "BADSIG", ##< 16 <= number collision with EDNS(16); + ##< this is a translation from TSIG(16) + } &default = function(n: count): string { return fmt("rcode-%d", n); }; + + # This deciphers EDNS Z field values. + const edns_zfield = { + [0] = "NOVALUE", # regular entry + [32768] = "DNS_SEC_OK", # accepts DNS Sec RRs + } &default="?"; + + const classes = { + [1] = "C_INTERNET", + [2] = "C_CSNET", + [3] = "C_CHAOS", + [4] = "C_HESOD", + [254] = "C_NONE", + [255] = "C_ANY", + } &default = function(n: count): string { return fmt("qclass-%d", n); }; +} \ No newline at end of file diff --git a/policy/protocols/dns/detect.bro b/policy/protocols/dns/detect.bro new file mode 100644 index 0000000000..f735abb2d4 --- /dev/null +++ b/policy/protocols/dns/detect.bro @@ -0,0 +1,40 @@ +##! Script for detecting strange activity within DNS. +##! +##! Notices raised: +##! +##! * :bro:enum:`DNS::ExternalName` +##! +##! A remote host resolves to a local host, but the name is not considered +##! to be within a local zone. :bro:id:`local_zones` variable **must** +##! be set appropriately for this detection. + +@load dns/base +@load notice + +module DNS; + +export { + redef enum Notice::Type += { + ## Raised when a non-local name is found to be pointing at a local host. + ## This only works appropriately when all of your authoritative DNS + ## servers are located in your :bro:id:`Site::local_nets`. + ExternalName, + }; +} + +event dns_A_reply(c: connection, msg: dns_msg, ans: dns_answer, a: addr) &priority=-3 + { + if ( |Site::local_zones| == 0 ) + return; + + # Check for responses from remote hosts that point at local hosts + # but the name is not considered to be within a "local" zone. + if ( Site::is_local_addr(a) && # referring to a local host + !Site::is_local_addr(c$id$resp_h) && # response from an external nameserver + !Site::is_local_name(ans$query) ) # name isn't in a local zone. + { + NOTICE([$note=ExternalName, + $msg=fmt("%s is pointing to a local host - %s.", ans$query, a), + $conn=c]); + } + } diff --git a/policy/protocols/ftp/__load__.bro b/policy/protocols/ftp/__load__.bro new file mode 100644 index 0000000000..834cd9abc8 --- /dev/null +++ b/policy/protocols/ftp/__load__.bro @@ -0,0 +1,4 @@ +@load ftp/base +@load ftp/detect +@load ftp/software +@load ftp/file-extract \ No newline at end of file diff --git a/policy/protocols/ftp/base.bro b/policy/protocols/ftp/base.bro new file mode 100644 index 0000000000..e3b0ae0a74 --- /dev/null +++ b/policy/protocols/ftp/base.bro @@ -0,0 +1,342 @@ +##! The logging this script does is primarily focused on logging FTP commands +##! along with metadata. For example, if files are transferred, the argument +##! will take on the full path that the client is at along with the requested +##! file name. +##! +##! TODO: +##! +##! * Handle encrypted sessions correctly (get an example?) + +@load functions +@load ftp/utils-commands + +@load utils/paths +@load utils/numbers + +module FTP; + +export { + redef enum Log::ID += { FTP }; + + ## This setting changes if passwords used in FTP sessions are captured or not. + const default_capture_password = F &redef; + + type Info: record { + ts: time &log; + uid: string &log; + id: conn_id &log; + user: string &log &default=""; + password: string &log &optional; + command: string &log &optional; + arg: string &log &optional; + + mime_type: string &log &optional; + mime_desc: string &log &optional; + file_size: count &log &optional; + reply_code: count &log &optional; + reply_msg: string &log &optional; + tags: set[string] &log &default=set(); + + ## By setting the CWD to '/.', we can indicate that unless something + ## more concrete is discovered that the existing but unknown + ## directory is ok to use. + cwd: string &default="/."; + cmdarg: CmdArg &optional; + pending_commands: PendingCmds; + + ## This indicates if the session is in active or passive mode. + passive: bool &default=F; + + ## This determines if the password will be captured for this request. + capture_password: bool &default=default_capture_password; + }; + + type ExpectedConn: record { + host: addr; + state: Info; + }; + + ## This record is to hold a parsed FTP reply code. For example, for the + ## 201 status code, the digits would be parsed as: x->2, y->0, z=>1. + type ReplyCode: record { + x: count; + y: count; + z: count; + }; + + # TODO: add this back in some form. raise a notice again? + #const excessive_filename_len = 250 &redef; + #const excessive_filename_trunc_len = 32 &redef; + + ## These are user IDs that can be considered "anonymous". + const guest_ids = { "anonymous", "ftp", "guest" } &redef; + + ## The list of commands that should have their command/response pairs logged. + const logged_commands = { + "APPE", "DELE", "RETR", "STOR", "STOU", "ACCT" + } &redef; + + ## This function splits FTP reply codes into the three constituent + global parse_ftp_reply_code: function(code: count): ReplyCode; + + global log_ftp: event(rec: Info); +} + +# Add the state tracking information variable to the connection record +redef record connection += { + ftp: Info &optional; +}; + +# Configure DPD +const ports = { 21/tcp } &redef; +redef capture_filters += { ["ftp"] = "port 21" }; +redef dpd_config += { [ANALYZER_FTP] = [$ports = ports] }; + +# Establish the variable for tracking expected connections. +global ftp_data_expected: table[addr, port] of ExpectedConn &create_expire=5mins; + +event bro_init() + { + Log::create_stream(FTP, [$columns=Info, $ev=log_ftp]); + } + +## A set of commands where the argument can be expected to refer +## to a file or directory. +const file_cmds = { + "APPE", "CWD", "DELE", "MKD", "RETR", "RMD", "RNFR", "RNTO", + "STOR", "STOU", "REST", "SIZE", "MDTM", +}; + +## Commands that either display or change the current working directory along +## with the response codes to indicate a successful command. +const directory_cmds = { + ["CWD", 250], + ["CDUP", 200], # typo in RFC? + ["CDUP", 250], # as found in traces + ["PWD", 257], + ["XPWD", 257], +}; + +function parse_ftp_reply_code(code: count): ReplyCode + { + local a: ReplyCode; + + a$z = code % 10; + + code = code / 10; + a$y = code % 10; + + code = code / 10; + a$x = code % 10; + + return a; + } + +function set_ftp_session(c: connection) + { + if ( ! c?$ftp ) + { + local s: Info; + s$ts=network_time(); + s$uid=c$uid; + s$id=c$id; + c$ftp=s; + + # Add a shim command so the server can respond with some init response. + add_pending_cmd(c$ftp$pending_commands, "", ""); + } + } + +function ftp_message(s: Info) + { + # If it either has a tag associated with it (something detected) + # or it's a deliberately logged command. + if ( |s$tags| > 0 || (s?$cmdarg && s$cmdarg$cmd in logged_commands) ) + { + if ( s?$password && to_lower(s$user) !in guest_ids ) + s$password = ""; + + local arg = s$cmdarg$arg; + if ( s$cmdarg$cmd in file_cmds ) + arg = fmt("ftp://%s%s", s$id$resp_h, absolute_path(s$cwd, arg)); + + s$ts=s$cmdarg$ts; + s$command=s$cmdarg$cmd; + if ( arg == "" ) + delete s$arg; + else + s$arg=arg; + + Log::write(FTP, s); + } + + # The MIME and file_size fields are specific to file transfer commands + # and may not be used in all commands so they need reset to "blank" + # values after logging. + delete s$mime_type; + delete s$mime_desc; + delete s$file_size; + # Tags are cleared everytime too. + delete s$tags; + } + +event ftp_request(c: connection, command: string, arg: string) &priority=5 + { + # Write out the previous command when a new command is seen. + # The downside here is that commands definitely aren't logged until the + # next command is issued or the control session ends. In practicality + # this isn't an issue, but I suppose it could be a delay tactic for + # attackers. + if ( c?$ftp && c$ftp?$cmdarg && c$ftp?$reply_code ) + { + remove_pending_cmd(c$ftp$pending_commands, c$ftp$cmdarg); + ftp_message(c$ftp); + } + + local id = c$id; + set_ftp_session(c); + + # Queue up the new command and argument + add_pending_cmd(c$ftp$pending_commands, command, arg); + + if ( command == "USER" ) + c$ftp$user = arg; + + else if ( command == "PASS" ) + c$ftp$password = arg; + + else if ( command == "PORT" || command == "EPRT" ) + { + local data = (command == "PORT") ? + parse_ftp_port(arg) : parse_eftp_port(arg); + + if ( data$valid ) + { + c$ftp$passive=F; + + local expected = [$host=id$resp_h, $state=copy(c$ftp)]; + ftp_data_expected[data$h, data$p] = expected; + expect_connection(id$resp_h, data$h, data$p, ANALYZER_FILE, 5mins); + } + else + { + # TODO: raise a notice? does anyone care? + } + } + } + + +event ftp_reply(c: connection, code: count, msg: string, cont_resp: bool) &priority=5 + { + # TODO: figure out what to do with continued FTP response (not used much) + #if ( cont_resp ) return; + + local id = c$id; + set_ftp_session(c); + + c$ftp$cmdarg = get_pending_cmd(c$ftp$pending_commands, code, msg); + + c$ftp$reply_code = code; + c$ftp$reply_msg = msg; + + # TODO: do some sort of generic clear text login processing here. + local response_xyz = parse_ftp_reply_code(code); + #if ( response_xyz$x == 2 && # successful + # session$cmdarg$cmd == "PASS" ) + # do_ftp_login(c, session); + + if ( (code == 150 && c$ftp$cmdarg$cmd == "RETR") || + (code == 213 && c$ftp$cmdarg$cmd == "SIZE") ) + { + # NOTE: This isn't exactly the right thing to do for SIZE since the size + # on a different file could be checked, but the file size will + # be overwritten by the server response to the RETR command + # if that's given as well which would be more correct. + c$ftp$file_size = extract_count(msg); + } + + # PASV and EPSV processing + else if ( (code == 227 || code == 229) && + (c$ftp$cmdarg$cmd == "PASV" || c$ftp$cmdarg$cmd == "EPSV") ) + { + local data = (code == 227) ? parse_ftp_pasv(msg) : parse_ftp_epsv(msg); + + if ( data$valid ) + { + c$ftp$passive=T; + + if ( code == 229 && data$h == 0.0.0.0 ) + data$h = id$resp_h; + + local expected = [$host=id$orig_h, $state=c$ftp]; + ftp_data_expected[data$h, data$p] = expected; + expect_connection(id$orig_h, data$h, data$p, ANALYZER_FILE, 5mins); + } + else + { + # TODO: do something if there was a problem parsing the PASV message? + } + } + + if ( [c$ftp$cmdarg$cmd, code] in directory_cmds ) + { + if ( c$ftp$cmdarg$cmd == "CWD" ) + c$ftp$cwd = build_full_path(c$ftp$cwd, c$ftp$cmdarg$arg); + + else if ( c$ftp$cmdarg$cmd == "CDUP" ) + c$ftp$cwd = cat(c$ftp$cwd, "/.."); + + else if ( c$ftp$cmdarg$cmd == "PWD" || c$ftp$cmdarg$cmd == "XPWD" ) + c$ftp$cwd = extract_directory(msg); + } + + # In case there are multiple commands queued, go ahead and remove the + # command here and log because we can't do the normal processing pipeline + # to wait for a new command before logging the command/response pair. + if ( |c$ftp$pending_commands| > 1 ) + { + remove_pending_cmd(c$ftp$pending_commands, c$ftp$cmdarg); + ftp_message(c$ftp); + } + } + + +event expected_connection_seen(c: connection, a: count) &priority=10 + { + local id = c$id; + if ( [id$resp_h, id$resp_p] in ftp_data_expected ) + add c$service["ftp-data"]; + } + +event file_transferred(c: connection, prefix: string, descr: string, + mime_type: string) &priority=5 + { + local id = c$id; + if ( [id$resp_h, id$resp_p] in ftp_data_expected ) + { + local expected = ftp_data_expected[id$resp_h, id$resp_p]; + local s = expected$state; + s$mime_type = mime_type; + s$mime_desc = descr; + } + } + +event file_transferred(c: connection, prefix: string, descr: string, + mime_type: string) &priority=-5 + { + local id = c$id; + if ( [id$resp_h, id$resp_p] in ftp_data_expected ) + delete ftp_data_expected[id$resp_h, id$resp_p]; + } + +# Use state remove event to cover connections terminated by RST. +event connection_state_remove(c: connection) &priority=-5 + { + if ( ! c?$ftp ) return; + + for ( ca in c$ftp$pending_commands ) + { + c$ftp$cmdarg = c$ftp$pending_commands[ca]; + ftp_message(c$ftp); + } + } diff --git a/policy/protocols/ftp/detect.bro b/policy/protocols/ftp/detect.bro new file mode 100644 index 0000000000..9391f53adc --- /dev/null +++ b/policy/protocols/ftp/detect.bro @@ -0,0 +1,26 @@ +@load ftp/base +@load notice + +module FTP; + +export { + redef enum Notice::Type += { + ## This indicates that a successful response to a "SITE EXEC" + ## command/arg pair was seen. + Site_Exec_Success, + }; +} + +event ftp_reply(c: connection, code: count, msg: string, cont_resp: bool) &priority=3 + { + local response_xyz = parse_ftp_reply_code(code); + + # If a successful SITE EXEC command is executed, raise a notice. + if ( response_xyz$x == 2 && + c$ftp$cmdarg$cmd == "SITE" && + /[Ee][Xx][Ee][Cc]/ in c$ftp$cmdarg$arg ) + { + NOTICE([$note=Site_Exec_Success, $conn=c, + $msg=fmt("%s %s", c$ftp$cmdarg$cmd, c$ftp$cmdarg$arg)]); + } + } \ No newline at end of file diff --git a/policy/protocols/ftp/file-extract.bro b/policy/protocols/ftp/file-extract.bro new file mode 100644 index 0000000000..67f4593f2b --- /dev/null +++ b/policy/protocols/ftp/file-extract.bro @@ -0,0 +1,69 @@ +##! File extraction for FTP. + +@load ftp/base +@load utils/conn_ids +@load utils/files + +module FTP; + +export { + ## Pattern of file mime types to extract from FTP entity bodies. + const extract_file_types = /NO_DEFAULT/ &redef; + + ## The on-disk prefix for files to be extracted from FTP-data transfers. + const extraction_prefix = "ftp-item" &redef; +} + +redef record Info += { + ## The file handle for the file to be extracted + extraction_file: file &log &optional; + + extract_file: bool &default=F; + num_extracted_files: count &default=0; +}; + +event file_transferred(c: connection, prefix: string, descr: string, + mime_type: string) &priority=3 + { + local id = c$id; + if ( [id$resp_h, id$resp_p] !in ftp_data_expected ) + return; + + local expected = ftp_data_expected[id$resp_h, id$resp_p]; + local s = expected$state; + + if ( extract_file_types in s$mime_type ) + { + s$extract_file = T; + add s$tags["extracted_file"]; + ++s$num_extracted_files; + } + } + +event file_transferred(c: connection, prefix: string, descr: string, + mime_type: string) &priority=-4 + { + local id = c$id; + if ( [id$resp_h, id$resp_p] !in ftp_data_expected ) + return; + + local expected = ftp_data_expected[id$resp_h, id$resp_p]; + local s = expected$state; + + if ( s$extract_file ) + { + local suffix = fmt("%d.dat", s$num_extracted_files); + local fname = generate_extraction_filename(extraction_prefix, c, suffix); + s$extraction_file = open(fname); + if ( s$passive ) + set_contents_file(id, CONTENTS_RESP, s$extraction_file); + else + set_contents_file(id, CONTENTS_ORIG, s$extraction_file); + } + } + +event log_ftp(rec: Info) &priority=-10 + { + delete rec$extraction_file; + delete rec$extract_file; + } \ No newline at end of file diff --git a/policy/protocols/ftp/software.bro b/policy/protocols/ftp/software.bro new file mode 100644 index 0000000000..3ae2067d26 --- /dev/null +++ b/policy/protocols/ftp/software.bro @@ -0,0 +1,28 @@ +##! Software detection with the FTP protocol. +##! +##! TODO: +##! +##! * Detect server software with initial 220 message +##! * Detect client software with password given for anonymous users +##! (e.g. cyberduck@example.net) + +@load ftp/base +@load software + +module FTP; + +export { + redef enum Software::Type += { + FTP_CLIENT, + FTP_SERVER, + }; +} + +event ftp_request(c: connection, command: string, arg: string) &priority=4 + { + if ( command == "CLNT" ) + { + local si = Software::parse(arg, c$id$orig_h, FTP_CLIENT); + Software::found(c$id, si); + } + } diff --git a/policy/protocols/ftp/utils-commands.bro b/policy/protocols/ftp/utils-commands.bro new file mode 100644 index 0000000000..40dacf9b66 --- /dev/null +++ b/policy/protocols/ftp/utils-commands.bro @@ -0,0 +1,134 @@ +module FTP; + +export { + type CmdArg: record { + ts: time; + cmd: string &default=""; + arg: string &default=""; + seq: count &default=0; + }; + + type PendingCmds: table[count] of CmdArg; + + const cmd_reply_code: set[string, count] = { + # According to RFC 959 + ["", [120, 220, 421]], + ["USER", [230, 331, 332, 421, 530, 500, 501]], + ["PASS", [230, 202, 332, 421, 530, 500, 501, 503]], + ["ACCT", [230, 202, 421, 530, 500, 501, 503]], + ["CWD", [250, 421, 500, 501, 502, 530, 550]], + ["CDUP", [200, 250, 421, 500, 501, 502, 530, 550]], + ["SMNT", [202, 250, 421, 500, 501, 502, 530, 550]], + ["REIN", [120, 220, 421, 500, 502]], + ["QUIT", [221, 500]], + ["PORT", [200, 421, 500, 501, 530]], + ["PASV", [227, 421, 500, 501, 502, 530]], + ["MODE", [200, 421, 500, 501, 502, 504, 530]], + ["TYPE", [200, 421, 500, 501, 504, 530]], + ["STRU", [200, 421, 500, 501, 504, 530]], + ["ALLO", [200, 202, 421, 500, 501, 504, 530]], + ["REST", [200, 350, 421, 500, 501, 502, 530]], + ["STOR", [110, 125, 150, 226, 250, 421, 425, 426, 451, 551, 552, 532, 450, 452, 553, 500, 501, 530, 550]], + ["STOU", [110, 125, 150, 226, 250, 421, 425, 426, 451, 551, 552, 532, 450, 452, 553, 500, 501, 530, 550]], + ["RETR", [110, 125, 150, 226, 250, 421, 425, 426, 451, 450, 500, 501, 530, 550]], + ["LIST", [125, 150, 226, 250, 421, 425, 426, 451, 450, 500, 501, 502, 530, 550]], + ["NLST", [125, 150, 226, 250, 421, 425, 426, 451, 450, 500, 501, 502, 530, 550]], + ["APPE", [125, 150, 226, 250, 421, 425, 426, 451, 551, 552, 532, 450, 550, 452, 553, 500, 501, 502, 530]], + ["RNFR", [350, 421, 450, 550, 500, 501, 502, 530]], + ["RNTO", [250, 421, 532, 553, 500, 501, 502, 503, 530]], + ["DELE", [250, 421, 450, 550, 500, 501, 502, 530]], + ["RMD", [250, 421, 500, 501, 502, 530, 550]], + ["MKD", [257, 421, 500, 501, 502, 530, 550]], + ["PWD", [257, 421, 500, 501, 502, 550]], + ["ABOR", [225, 226, 421, 500, 501, 502]], + ["SYST", [215, 421, 500, 501, 502, 530]], + ["STAT", [211, 212, 213, 421, 450, 500, 501, 502, 530]], + ["HELP", [200, 211, 214, 421, 500, 501, 502]], + ["SITE", [200, 202, 214, 500, 501, 502, 530]], + ["NOOP", [200, 421, 500]], + + # Extensions + ["LPRT", [500, 501, 521]], # RFC1639 + ["FEAT", [211, 500, 502]], # RFC2389 + ["OPTS", [200, 451, 501]], # RFC2389 + ["EPSV", [229, 500, 501]], # RFC2428 + ["EPRT", [200, 500, 501, 522]], # RFC2428 + ["SIZE", [213, 500, 501, 550]], # RFC3659 + ["MDTM", [213, 500, 501, 550]], # RFC3659 + ["MLST", [150, 226, 250, 500, 501, 550]], # RFC3659 + ["MLSD", [150, 226, 250, 500, 501, 550]], # RFC3659 + + ["CLNT", [200, 500]], # No RFC (indicate client software) + ["MACB", [200, 500, 550]], # No RFC (test for MacBinary support) + + ["", 0], # unexpected command-reply pair + ["", 0], # unexpected command-reply pair + ["QUIT", 0], # unexpected command-reply pair + } &redef; +} + +function add_pending_cmd(pc: PendingCmds, cmd: string, arg: string): CmdArg + { + local ca = [$cmd = cmd, $arg = arg, $seq=|pc|+1, $ts=network_time()]; + pc[ca$seq] = ca; + + return ca; + } + +# Determine which is the best command to match with based on the +# response code and message. +function get_pending_cmd(pc: PendingCmds, reply_code: count, reply_msg: string): CmdArg + { + local best_match: CmdArg; + local best_seq = 0; + local best_score: int = -1; + + for ( cmd_seq in pc ) + { + local cmd = pc[cmd_seq]; + local score: int = 0; + + # if the command is compatible with the reply code + # code 500 (syntax error) is compatible with all commands + if ( reply_code == 500 || [cmd$cmd, reply_code] in cmd_reply_code ) + score = score + 100; + + # if the command or the command arg appears in the reply message + if ( strstr(reply_msg, cmd$cmd) > 0 ) + score = score + 20; + if ( strstr(reply_msg, cmd$arg) > 0 ) + score = score + 10; + + if ( score > best_score || + ( score == best_score && best_seq > cmd_seq ) ) # break tie with sequence number + { + best_score = score; + best_seq = cmd_seq; + best_match = cmd; + } + } + + #if ( [best_match$cmd, reply_code] !in cmd_reply_code ) + # { + # # TODO: maybe do something when best match doesn't have an expected response code? + # } + return best_match; + } + +function remove_pending_cmd(pc: PendingCmds, ca: CmdArg): bool + { + if ( ca$seq in pc ) + { + delete pc[ca$seq]; + return T; + } + else + return F; + } + +function pop_pending_cmd(pc: PendingCmds, reply_code: count, reply_msg: string): CmdArg + { + local ca = get_pending_cmd(pc, reply_code, reply_msg); + remove_pending_cmd(pc, ca); + return ca; + } diff --git a/policy/protocols/http/__load__.bro b/policy/protocols/http/__load__.bro new file mode 100644 index 0000000000..37413b72a3 --- /dev/null +++ b/policy/protocols/http/__load__.bro @@ -0,0 +1,15 @@ +##! This script is the wrapper script for HTTP analysis. +##! :Author: Seth Hall - Inspired by the work of many others. + +@load http/base +@load http/detect-sqli +@load http/detect-intel +@load http/file-ident +@load http/file-hash +@load http/file-extract +@load http/software +@load http/headers + +# Disabling web app detection for now. It's too intense and will probably +# be moved out of the core http protocol support later. +#@load http/detect-webapps \ No newline at end of file diff --git a/policy/protocols/http/base.bro b/policy/protocols/http/base.bro new file mode 100644 index 0000000000..ba22b0b56b --- /dev/null +++ b/policy/protocols/http/base.bro @@ -0,0 +1,249 @@ +@load functions +@load utils/numbers + +module HTTP; + +export { + redef enum Log::ID += { HTTP }; + + ## Indicate a type of attack or compromise in the record to be logged. + type Tags: enum { + EMPTY + }; + + ## This setting changes if passwords used in Basic-Auth are captured or not. + const default_capture_password = F &redef; + + type Info: record { + ts: time &log; + uid: string &log; + id: conn_id &log; + ## The verb used in the HTTP request (GET, POST, HEAD, etc.). + method: string &log &optional; + ## The value of the HOST header. + host: string &log &optional; + ## The URI used in the request. + uri: string &log &optional; + ## The value of the "referer" header. The comment is deliberately + ## misspelled like the standard declares, but the name used here is + ## "referrer" spelled correctly. + referrer: string &log &optional; + ## The value of the User-Agent header from the client. + user_agent: string &log &optional; + ## The value of the Content-Length header from the client. + request_content_length: count &log &optional; + ## The value of the Content-Length header from the server. + response_content_length: count &log &optional; + ## The status code returned by the server. + status_code: count &log &optional; + ## The status message returned by the server. + status_msg: string &log &optional; + ## The filename given in the Content-Disposition header + ## sent by the server. + filename: string &log &optional; + ## This is a set of indicators of various attributes discovered and + ## related to a particular request/response pair. + tags: set[Tags] &log; + + ## The username if basic-auth is performed for the request. + username: string &log &optional; + ## The password if basic-auth is performed for the request. + password: string &log &optional; + + ## This determines if the password will be captured for this request. + capture_password: bool &default=default_capture_password; + + ## All of the headers that may indicate if the request was proxied. + proxied: set[string] &log &optional; + }; + + type State: record { + pending: table[count] of Info; + current_response: count &default=0; + current_request: count &default=0; + }; + + ## The list of HTTP headers typically used to indicate a proxied request. + const proxy_headers: set[string] = { + "FORWARDED", + "X-FORWARDED-FOR", + "X-FORWARDED-FROM", + "CLIENT-IP", + "VIA", + "XROXY-CONNECTION", + "PROXY-CONNECTION", + } &redef; + + global log_http: event(rec: Info); +} + +# Add the http state tracking fields to the connection record. +redef record connection += { + http: Info &optional; + http_state: State &optional; +}; + +# Initialize the HTTP logging stream. +event bro_init() + { + Log::create_stream(HTTP, [$columns=Info, $ev=log_http]); + } + +# DPD configuration. +const ports = { + 80/tcp, 81/tcp, 631/tcp, 1080/tcp, 3138/tcp, + 8000/tcp, 8080/tcp, 8888/tcp, +}; +redef dpd_config += { + [[ANALYZER_HTTP, ANALYZER_HTTP_BINPAC]] = [$ports = ports], +}; +redef capture_filters += { + ["http"] = "tcp and port (80 or 81 or 631 or 1080 or 3138 or 8000 or 8080 or 8888)" +}; + +function new_http_session(c: connection): Info + { + local tmp: Info; + tmp$ts=network_time(); + tmp$uid=c$uid; + tmp$id=c$id; + return tmp; + } + +function set_state(c: connection, request: bool, is_orig: bool) + { + if ( ! c?$http_state ) + { + local s: State; + c$http_state = s; + } + + # These deal with new requests and responses. + if ( request || c$http_state$current_request !in c$http_state$pending ) + c$http_state$pending[c$http_state$current_request] = new_http_session(c); + if ( ! is_orig && c$http_state$current_response !in c$http_state$pending ) + c$http_state$pending[c$http_state$current_response] = new_http_session(c); + + if ( is_orig ) + c$http = c$http_state$pending[c$http_state$current_request]; + else + c$http = c$http_state$pending[c$http_state$current_response]; + } + +event http_request(c: connection, method: string, original_URI: string, + unescaped_URI: string, version: string) &priority=5 + { + if ( ! c?$http_state ) + { + local s: State; + c$http_state = s; + } + + ++c$http_state$current_request; + set_state(c, T, T); + + c$http$method = method; + c$http$uri = unescaped_URI; + } + +event http_reply(c: connection, version: string, code: count, reason: string) &priority=5 + { + if ( ! c?$http_state ) + { + local s: State; + c$http_state = s; + } + + ++c$http_state$current_response; + set_state(c, F, F); + + c$http$status_code = code; + c$http$status_msg = reason; + } + +event http_header(c: connection, is_orig: bool, name: string, value: string) &priority=5 + { + set_state(c, F, is_orig); + + if ( is_orig ) # client headers + { + if ( name == "REFERER" ) + c$http$referrer = value; + + else if ( name == "HOST" ) + # The split is done to remove the occasional port value that shows up here. + c$http$host = split1(value, /:/)[1]; + + else if ( name == "CONTENT-LENGTH" ) + c$http$request_content_length = extract_count(value); + + else if ( name == "USER-AGENT" ) + c$http$user_agent = value; + + else if ( name in proxy_headers ) + { + if ( ! c$http?$proxied ) + c$http$proxied = set(); + add c$http$proxied[fmt("%s -> %s", name, value)]; + } + + else if ( name == "AUTHORIZATION" ) + { + if ( /^[bB][aA][sS][iI][cC] / in value ) + { + local userpass = decode_base64(sub(value, /[bB][aA][sS][iI][cC][[:blank:]]/, "")); + local up = split(userpass, /:/); + if ( |up| >= 2 ) + { + c$http$username = up[1]; + if ( c$http$capture_password ) + c$http$password = up[2]; + } + else + { + c$http$username = ""; + if ( c$http$capture_password ) + c$http$password = userpass; + } + } + } + + + } + else # server headers + { + if ( name == "CONTENT-LENGTH" ) + c$http$response_content_length = extract_count(value); + else if ( name == "CONTENT-DISPOSITION" && + /[fF][iI][lL][eE][nN][aA][mM][eE]/ in value ) + c$http$filename = sub(value, /^.*[fF][iI][lL][eE][nN][aA][mM][eE]=/, ""); + } + } + +event http_message_done(c: connection, is_orig: bool, stat: http_message_stat) &priority = 5 + { + set_state(c, F, is_orig); + } + +event http_message_done(c: connection, is_orig: bool, stat: http_message_stat) &priority = -5 + { + # The reply body is done so we're ready to log. + if ( ! is_orig ) + { + Log::write(HTTP, c$http); + delete c$http_state$pending[c$http_state$current_response]; + } + } + +event connection_state_remove(c: connection) + { + # Flush all pending but incomplete request/response pairs. + if ( c?$http_state ) + { + for ( r in c$http_state$pending ) + { + Log::write(HTTP, c$http_state$pending[r]); + } + } + } + diff --git a/policy/protocols/http/detect-intel.bro b/policy/protocols/http/detect-intel.bro new file mode 100644 index 0000000000..02b3af570d --- /dev/null +++ b/policy/protocols/http/detect-intel.bro @@ -0,0 +1,20 @@ +##! Intelligence based HTTP detections. + +@load intel +@load http/utils + +module HTTP; + +event log_http(rec: Info) + { + local url = HTTP::build_url(rec); + local query = [$str=url, $subtype="url", $or_tags=set("malicious", "malware")]; + if ( Intel::matcher(query) ) + { + local msg = fmt("%s accessed a malicious URL from the intelligence framework", rec$id$orig_h); + NOTICE([$note=Intel::Detection, + $msg=msg, + $sub=HTTP::build_url_http(rec), + $id=rec$id]); + } + } \ No newline at end of file diff --git a/policy/protocols/http/detect-sqli.bro b/policy/protocols/http/detect-sqli.bro new file mode 100644 index 0000000000..c04419a16f --- /dev/null +++ b/policy/protocols/http/detect-sqli.bro @@ -0,0 +1,37 @@ +##! SQL injection detection in HTTP. + +@load http/base +@load metrics + +module HTTP; + +export { + redef enum Notice::Type += { + SQL_Injection_Attack, + }; + + redef enum Tags += { + ## Indicator of a URI based SQL injection attack. + URI_SQLI, + ## Indicator of client body based SQL injection attack. This is + ## typically the body content of a POST request. Not implemented yet! + POST_SQLI, + ## Indicator of a cookie based SQL injection attack. Not implemented yet! + COOKIE_SQLI, + }; + + ## This regular expression is used to match URI based SQL injections + const match_sql_injection_uri = + /[\?&][^[:blank:]\|]+?=[\-0-9%]+([[:blank:]]|\/\*.*?\*\/)*['"]?([[:blank:]]|\/\*.*?\*\/|\)?;)+([hH][aA][vV][iI][nN][gG]|[uU][nN][iI][oO][nN]|[eE][xX][eE][cC]|[sS][eE][lL][eE][cC][tT]|[dD][eE][lL][eE][tT][eE]|[dD][rR][oO][pP]|[dD][eE][cC][lL][aA][rR][eE]|[cC][rR][eE][aA][tT][eE]|[iI][nN][sS][eE][rR][tT])[^a-zA-Z&]/ + | /[\?&][^[:blank:]\|]+?=[\-0-9%]+([[:blank:]]|\/\*.*?\*\/)*['"]?([[:blank:]]|\/\*.*?\*\/|\)?;)+([oO][rR]|[aA][nN][dD])([[:blank:]]|\/\*.*?\*\/)+['"]?[^a-zA-Z&]+?=/ + | /[\?&][^[:blank:]]+?=[\-0-9%]*([[:blank:]]|\/\*.*?\*\/)*['"]([[:blank:]]|\/\*.*?\*\/)*(\-|\+|\|\|)([[:blank:]]|\/\*.*?\*\/)*([0-9]|\(?[cC][oO][nN][vV][eE][rR][tT]|[cC][aA][sS][tT])/ + | /[\?&][^[:blank:]\|]+?=([[:blank:]]|\/\*.*?\*\/)*['"]([[:blank:]]|\/\*.*?\*\/|;)*([oO][rR]|[aA][nN][dD]|[hH][aA][vV][iI][nN][gG]|[uU][nN][iI][oO][nN]|[eE][xX][eE][cC]|[sS][eE][lL][eE][cC][tT]|[dD][eE][lL][eE][tT][eE]|[dD][rR][oO][pP]|[dD][eE][cC][lL][aA][rR][eE]|[cC][rR][eE][aA][tT][eE]|[rR][eE][gG][eE][xX][pP]|[iI][nN][sS][eE][rR][tT]|\()[^a-zA-Z&]/ + | /[\?&][^[:blank:]]+?=[^\.]*?([cC][hH][aA][rR]|[aA][sS][cC][iI][iI]|[sS][uU][bB][sS][tT][rR][iI][nN][gG]|[tT][rR][uU][nN][cC][aA][tT][eE]|[vV][eE][rR][sS][iI][oO][nN]|[lL][eE][nN][gG][tT][hH])\(/ &redef; +} + +event http_request(c: connection, method: string, original_URI: string, + unescaped_URI: string, version: string) &priority=3 + { + if ( match_sql_injection_uri in unescaped_URI ) + add c$http$tags[URI_SQLI]; + } \ No newline at end of file diff --git a/policy/protocols/http/detect-webapps.bro b/policy/protocols/http/detect-webapps.bro new file mode 100644 index 0000000000..c11cd5bbd8 --- /dev/null +++ b/policy/protocols/http/detect-webapps.bro @@ -0,0 +1,50 @@ + +@load http/utils + +@load software +@load signatures + +module HTTP; + +redef signature_files += "http/detect-webapps.sig"; +# Ignore the signatures used to match webapps +redef Signatures::ignored_ids += /^webapp-/; + +export { + redef enum Software::Type += { + WEB_APPLICATION, + }; + + redef record Software::Info += { + url: string &optional &log; + }; +} + +event signature_match(state: signature_state, msg: string, data: string) &priority=5 + { + if ( /^webapp-/ !in state$sig_id ) return; + + local c = state$conn; + local si = Software::parse(msg, c$id$resp_h, WEB_APPLICATION); + si$url = build_url_http(c$http); + if ( c$id$resp_h in Software::tracked && + si$name in Software::tracked[c$id$resp_h] ) + { + # If the new url is a substring of an existing, known url then let's + # use that as the new url for the software. + # PROBLEM: different version of the same software on the same server with a shared root path + local is_substring = 0; + if ( Software::tracked[c$id$resp_h][si$name]?$url ) + is_substring = strstr(Software::tracked[c$id$resp_h][si$name]$url, si$url); + + if ( is_substring == 1 ) + { + Software::tracked[c$id$resp_h][si$name]$url = si$url; + # Force the software to be logged because it indicates a URL + # closer to the root of the site. + si$force_log = T; + } + } + + Software::found(c$id, si); + } diff --git a/policy/protocols/http/detect-webapps.sig b/policy/protocols/http/detect-webapps.sig new file mode 100644 index 0000000000..2a4e30bf31 --- /dev/null +++ b/policy/protocols/http/detect-webapps.sig @@ -0,0 +1,85 @@ +signature webapp-wordpress { + http-reply-body /.*(]+wp-content|]+WordPress[^\"]+)/ + event "WordPress" +} + +signature webapp-xoops { + http-reply-body /.*]+XOOPS/ + event "Xoops" +} + +signature webapp-phpmyadmin { + http-reply-body /.*(var pma_absolute_uri = '|PMA_sendHeaderLocation\(|phpMyAdmin<\/title>)/ + event "phpMyAdmin" +} + +signature webapp-phppgadmin { + http-reply-body /.*(<title>phpPgAdmin<\/title>|<span class=(\"|')appname(\"|')>phpPgAdmin)/ + event "phpPgAdmin" +} + +signature webapp-phpbb { + http-reply-body /.*(Powered by (<a href=(\"|')[^>]+)?phpBB|<meta name=(\"|')copyright(\"|') [^>]+phpBB Group)/ + event "phpBB" +} + +signature webapp-joomla { + http-reply-body /.*(<meta name=(\"|')generator(\"|') [^>]+Joomla|<!\-\- JoomlaWorks \"K2\")/ + http-reply-header /X-Content-Encoded-By: Joomla/ + event "Joomla" +} + +signature webapp-google-analytics { + http-reply-body /.*(\.google\-analytics\.com\/ga\.js|<script src=(\"|')[^\"]+google\-analytics\.com\/urchin\.js(\"|'))/ + event "Google Analytics" +} + +signature webapp-cpanel { + http-reply-body /.*<!-- cPanel/ + event "cPanel" +} + +signature webapp-mediawiki { + http-reply-body /.*(<meta name=(\"|')generator(\"|') [^>]+MediaWiki|<a[^>]+>Powered by MediaWiki<\/a>)/ + event "MediaWiki" +} + +signature webapp-moodle { + http-reply-body /.*(var moodleConfigFn = function\(me\)|<img[^>]+moodlelogo)/ + event "Moodle" +} + +signature webapp-oscommerce { + http-reply-body /.*<!-- header_eof \/\/-->/ + event "osCommerce" +} + +signature webapp-plesk { + http-reply-body /.*<script[^>]* src=(\"|')[^>]*common\.js\?plesk/ + event "Plesk" +} + +signature webapp-plone { + http-reply-body /.*<meta name=(\"|')generator(\"|') [^>]+Plone/ + event "Plone" +} + +signature webapp-redmine { + http-reply-body /.*(<meta name=(\"|')description(\"|')Redmine(\"|')|Powered by <a href=(\"|')[^>]+Redmine)/ + event "Redmine" +} + +signature webapp-trac { + http-reply-body /.*(<a id=(\"|')tracpowered)/ + event "Trac" +} + +signature webapp-typo3 { + http-reply-body /.*(<meta name=(\"|')generator(\"|') [^>]+TYPO3|<(script[^>]* src|link[^>]* href)=[^>]*fileadmin)/ + event "Typo3" +} + +signature webapp-drupal { + http-reply-body /.*(<script [^>]+drupal\.js|jQuery\.extend\(Drupal\.settings, \{|Drupal\.extend\(\{ settings: \{|<link[^>]+sites\/(default|all)\/themes\/|<style[^>]+sites\/(default|all)\/(themes|modules)\/)/ + event "Drupal" +} \ No newline at end of file diff --git a/policy/protocols/http/file-extract.bro b/policy/protocols/http/file-extract.bro new file mode 100644 index 0000000000..c53bdd0056 --- /dev/null +++ b/policy/protocols/http/file-extract.bro @@ -0,0 +1,59 @@ +##! Extracts the items from HTTP traffic, one per file. At this time only +##! the message body from the server can be extracted with this script. + +@load http/file-ident +@load utils/files + +module HTTP; + +export { + ## Pattern of file mime types to extract from HTTP entity bodies. + const extract_file_types = /NO_DEFAULT/ &redef; + + ## The on-disk prefix for files to be extracted from HTTP entity bodies. + const extraction_prefix = "http-item" &redef; + + redef record Info += { + ## This field can be set per-connection to determine if the entity body + ## will be extracted. It must be set to T on or before the first + ## entity_body_data event. + extracting_file: bool &default=F; + + ## This is the holder for the file handle as the file is being written + ## to disk. + extraction_file: file &log &optional; + }; + + redef record State += { + entity_bodies: count &default=0; + }; +} + +event http_entity_data(c: connection, is_orig: bool, length: count, data: string) &priority=5 + { + # Client body extraction is not currently supported in this script. + if ( is_orig || ! c$http$first_chunk ) return; + + if ( c$http$first_chunk ) + { + if ( c$http?$mime_type && + extract_file_types in c$http$mime_type ) + { + c$http$extracting_file = T; + local suffix = fmt("%s_%d.dat", is_orig ? "orig" : "resp", ++c$http_state$entity_bodies); + local fname = generate_extraction_filename(extraction_prefix, c, suffix); + + c$http$extraction_file = open(fname); + enable_raw_output(c$http$extraction_file); + } + } + + if ( c$http$extracting_file ) + print c$http$extraction_file, data; + } + +event http_end_entity(c: connection, is_orig: bool) + { + if ( c$http$extracting_file ) + close(c$http$extraction_file); + } diff --git a/policy/protocols/http/file-hash.bro b/policy/protocols/http/file-hash.bro new file mode 100644 index 0000000000..b32bba65e3 --- /dev/null +++ b/policy/protocols/http/file-hash.bro @@ -0,0 +1,95 @@ +##! Calculate hashes for HTTP body transfers. + +@load http/file-ident +@load notice + +module HTTP; + +export { + redef enum Notice::Type += { + ## Indicates that an MD5 sum was calculated for an HTTP response body. + MD5, + }; + + redef record Info += { + ## The MD5 sum for a file transferred over HTTP will be stored here. + md5: string &log &optional; + + ## This value can be set per-transfer to determine per request + ## if a file should have an MD5 sum generated. It must be + ## set to T at the time of or before the first chunk of body data. + calc_md5: bool &default=F; + + ## This boolean value indicates if an MD5 sum is currently being + ## calculated for the current file transfer. + calculating_md5: bool &default=F; + }; + + ## Generate MD5 sums for these filetypes. + const generate_md5 = /application\/x-dosexec/ # Windows and DOS executables + | /application\/x-executable/ # *NIX executable binary + &redef; +} + +## Initialize and calculate the hash. +event http_entity_data(c: connection, is_orig: bool, length: count, data: string) &priority=5 + { + if ( is_orig || ! c?$http ) return; + + if ( c$http$first_chunk ) + { + if ( c$http$calc_md5 || + (c$http?$mime_type && generate_md5 in c$http$mime_type) ) + { + c$http$calculating_md5 = T; + md5_hash_init(c$id); + } + } + + if ( c$http$calculating_md5 ) + md5_hash_update(c$id, data); + } + +## In the event of a content gap during a file transfer, detect the state for +## the MD5 sum calculation and stop calculating the MD5 since it would be +## incorrect anyway. +event content_gap(c: connection, is_orig: bool, seq: count, length: count) &priority=5 + { + if ( is_orig || ! c?$http ) return; + + set_state(c, F, is_orig); + if ( c$http$calculating_md5 ) + { + c$http$calculating_md5 = F; + md5_hash_finish(c$id); + } + } + +## When the file finishes downloading, finish the hash and generate a notice. +event http_message_done(c: connection, is_orig: bool, stat: http_message_stat) &priority=-3 + { + if ( is_orig || ! c?$http ) return; + + if ( c$http$calculating_md5 ) + { + local url = build_url_http(c$http); + c$http$calculating_md5 = F; + c$http$md5 = md5_hash_finish(c$id); + + NOTICE([$note=MD5, $msg=fmt("%s %s %s", c$id$orig_h, c$http$md5, url), + $sub=c$http$md5, $conn=c, $URL=url]); + } + } + +event connection_state_remove(c: connection) &priority=-5 + { + if ( c?$http_state && + c$http_state$current_response in c$http_state$pending && + c$http_state$pending[c$http_state$current_response]$calculating_md5 ) + { + # The MD5 sum isn't going to be saved anywhere since the entire + # body wouldn't have been seen anyway and we'd just be giving an + # incorrect MD5 sum. + md5_hash_finish(c$id); + } + } \ No newline at end of file diff --git a/policy/protocols/http/file-ident.bro b/policy/protocols/http/file-ident.bro new file mode 100644 index 0000000000..421b482085 --- /dev/null +++ b/policy/protocols/http/file-ident.bro @@ -0,0 +1,81 @@ +##! This script is involved in the identification of file types in HTTP +##! response bodies. + +@load http/base +@load http/utils + +@load notice +@load signatures + +redef signature_files += "http/file-ident.sig"; +# Ignore the signatures used to match files +redef Signatures::ignored_ids += /^matchfile-/; + +module HTTP; + +export { + redef enum Notice::Type += { + # This notice is thrown when the file extension doesn't + # seem to match the file contents. + IncorrectFileType, + }; + + redef record Info += { + ## This will record the mime_type identified. + mime_type: string &log &optional; + + ## This indicates that no data of the current file transfer has been + ## seen yet. After the first :bro:id:`http_entity_data` event, it + ## will be set to T. + first_chunk: bool &default=T; + }; + + redef enum Tags += { + IDENTIFIED_FILE + }; + + # Create regexes that *should* in be in the urls for specifics mime types. + # Notices are thrown if the pattern doesn't match the url for the file type. + const mime_types_extensions: table[string] of pattern = { + ["application/x-dosexec"] = /\.([eE][xX][eE]|[dD][lL][lL])/, + } &redef; +} + +event signature_match(state: signature_state, msg: string, data: string) &priority=5 + { + # Only signatures matching file types are dealt with here. + if ( /^matchfile-/ !in state$sig_id ) return; + + local c = state$conn; + set_state(c, F, F); + + # Not much point in any of this if we don't know about the HTTP session. + if ( ! c?$http ) return; + + # Set the mime type that was detected. + c$http$mime_type = msg; + + if ( msg in mime_types_extensions && + c$http?$uri && mime_types_extensions[msg] !in c$http$uri ) + { + local url = build_url_http(c$http); + local message = fmt("%s %s %s", msg, c$http$method, url); + NOTICE([$note=IncorrectFileType, + $msg=message, + $conn=c, + $method=c$http$method, + $URL=url]); + } + } + +event http_entity_data(c: connection, is_orig: bool, length: count, data: string) &priority=5 + { + if ( c$http$first_chunk && ! c$http?$mime_type ) + c$http$mime_type = split1(identify_data(data, T), /;/)[1]; + } + +event http_entity_data(c: connection, is_orig: bool, length: count, data: string) &priority=-10 + { + if ( c$http$first_chunk ) + c$http$first_chunk=F; + } \ No newline at end of file diff --git a/policy/protocols/http/file-ident.sig b/policy/protocols/http/file-ident.sig new file mode 100644 index 0000000000..971a32bbfc --- /dev/null +++ b/policy/protocols/http/file-ident.sig @@ -0,0 +1,144 @@ +# These signatures are used as a replacement for libmagic. The signature +# name needs to start with "matchfile" and the "event" directive takes +# the mime type of the file matched by the http-reply-body pattern. +# +# Signatures from: http://www.garykessler.net/library/file_sigs.html + +signature matchfile-exe { + http-reply-body /\x4D\x5A/ + event "application/x-dosexec" +} + +signature matchfile-elf { + http-reply-body /\x7F\x45\x4C\x46/ + event "application/x-executable" +} + +signature matchfile-script { + # This is meant to match the interpreter declaration at the top of many + # interpreted scripts. + http-reply-body /\#\![[:blank:]]?\// + event "application/x-script" +} + +signature matchfile-wmv { + http-reply-body /\x30\x26\xB2\x75\x8E\x66\xCF\x11\xA6\xD9\x00\xAA\x00\x62\xCE\x6C/ + event "video/x-ms-wmv" +} + +signature matchfile-flv { + http-reply-body /\x46\x4C\x56\x01/ + event "video/x-flv" +} + +signature matchfile-swf { + http-reply-body /[\x46\x43]\x57\x53/ + event "application/x-shockwave-flash" +} + +signature matchfile-jar { + http-reply-body /\x5F\x27\xA8\x89/ + event "application/java-archive" +} + +signature matchfile-class { + http-reply-body /\xCA\xFE\xBA\xBE/ + event "application/java-byte-code" +} + +signature matchfile-msoffice-2007 { + # MS Office 2007 XML documents + http-reply-body /\x50\x4B\x03\x04\x14\x00\x06\x00/ + event "application/msoffice" +} + +signature matchfile-msoffice { + # Older MS Office files + http-reply-body /\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1/ + event "application/msoffice" +} + +signature matchfile-rtf { + http-reply-body /\x7B\x5C\x72\x74\x66\x31/ + event "application/rtf" +} + +signature matchfile-lnk { + http-reply-body /\x4C\x00\x00\x00\x01\x14\x02\x00\x00\x00\x00\x00\xC0\x00\x00\x00\x00\x00\x00\x46/ + event "application/x-ms-shortcut" +} + +signature matchfile-torrent { + http-reply-body /\x64\x38\x3A\x61\x6E\x6E\x6F\x75\x6E\x63\x65/ + event "application/x-bittorrent" +} + +signature matchfile-pdf { + http-reply-body /\x25\x50\x44\x46/ + event "application/pdf" +} + +signature matchfile-html { + http-reply-body /<[hH][tT][mM][lL]/ + event "text/html" +} + +signature matchfile-html2 { + http-reply-body /<![dD][oO][cC][tT][yY][pP][eE][[:blank:]][hH][tT][mM][lL]/ + event "text/html" +} + +signature matchfile-xml { + http-reply-body /<\??[xX][mM][lL]/ + event "text/xml" +} + +signature matchfile-gif { + http-reply-body /\x47\x49\x46\x38[\x37\x39]\x61/ + event "image/gif" +} + +signature matchfile-jpg { + http-reply-body /\xFF\xD8\xFF[\xDB\xE0\xE1\xE2\xE3\xE8]..[\x4A\x45\x53][\x46\x78\x50][\x49\x69][\x46\x66]/ + event "image/jpeg" +} + +signature matchfile-tiff { + http-reply-body /\x4D\x4D\x00[\x2A\x2B]/ + event "image/tiff" +} + +signature matchfile-png { + http-reply-body /\x89\x50\x4e\x47/ + event "image/png" +} + +signature matchfile-zip { + http-reply-body /\x50\x4B\x03\x04/ + event "application/zip" +} + +signature matchfile-bzip { + http-reply-body /\x42\x5A\x68/ + event "application/bzip2" +} + +signature matchfile-gzip { + http-reply-body /\x1F\x8B\x08/ + event "application/x-gzip" +} + +signature matchfile-cab { + http-reply-body /\x4D\x53\x43\x46/ + event "application/vnd.ms-cab-compressed" +} + +signature matchfile-rar { + http-reply-body /\x52\x61\x72\x21\x1A\x07\x00/ + event "application/x-rar-compressed" +} + +signature matchfile-7z { + http-reply-body /\x37\x7A\xBC\xAF\x27\x1C/ + event "application/x-7z-compressed" +} diff --git a/policy/protocols/http/headers.bro b/policy/protocols/http/headers.bro new file mode 100644 index 0000000000..57d8af606c --- /dev/null +++ b/policy/protocols/http/headers.bro @@ -0,0 +1,25 @@ +##! Extract and include the header keys used for each request in the log. + +@load http/base + +module HTTP; + +export { + redef record Info += { + ## The vector of HTTP headers. No header values are included here, just + ## the header names. + ## TODO: with an empty vector as &default, the vector isn't coerced to the + ## correct type. + headers: vector of string &log &optional; + }; +} + +event http_header(c: connection, is_orig: bool, name: string, value: string) &priority=4 + { + if ( ! is_orig ) + return; + + if ( ! c$http?$headers ) + c$http$headers = vector(); + c$http$headers[|c$http$headers|] = name; + } diff --git a/policy/protocols/http/software.bro b/policy/protocols/http/software.bro new file mode 100644 index 0000000000..6971026fa5 --- /dev/null +++ b/policy/protocols/http/software.bro @@ -0,0 +1,53 @@ +##! Software identification and extraction for HTTP traffic. + +@load http/base +@load software + +module HTTP; + +export { + redef enum Software::Type += { + WEB_SERVER, + WEB_APPSERVER, + WEB_BROWSER, + WEB_BROWSER_PLUGIN + }; + + ## The pattern of HTTP User-Agents which you would like to ignore. + const ignored_user_agents = /NO_DEFAULT/ &redef; + + ## These are patterns to identify browser plugins (including toolbars) + ## based on the User-Agent header. + const plugin_user_agents = /BingBar [0-9\.]*/ ##< Bing toolbar + | /GoogleToolbar [0-9\.]*;/ &redef; ##< Google toolbar +} + +event http_header(c: connection, is_orig: bool, name: string, value: string) &priority=2 + { + if ( is_orig ) + { + if ( name == "USER-AGENT" && ignored_user_agents !in value ) + { + local ua_type = WEB_BROWSER; + if ( plugin_user_agents in value ) + ua_type = WEB_BROWSER_PLUGIN; + + Software::found(c$id, Software::parse(value, c$id$orig_h, ua_type)); + } + else if ( name == "X-FLASH-VERSION" ) + { + # Flash doesn't include it's name so we'll add it here since it + # simplifies the version parsing. + value = cat("Flash/", value); + local flash_version = Software::parse(value, c$id$orig_h, WEB_BROWSER_PLUGIN); + Software::found(c$id, flash_version); + } + } + else + { + if ( name == "SERVER" ) + Software::found(c$id, Software::parse(value, c$id$resp_h, WEB_SERVER)); + else if ( name == "X-POWERED-BY" ) + Software::found(c$id, Software::parse(value, c$id$resp_h, WEB_APPSERVER)); + } + } \ No newline at end of file diff --git a/policy/protocols/http/utils.bro b/policy/protocols/http/utils.bro new file mode 100644 index 0000000000..1689503ac0 --- /dev/null +++ b/policy/protocols/http/utils.bro @@ -0,0 +1,40 @@ +##! Utilities specific for HTTP processing. + +@load http/base + +module HTTP; + +export { + global extract_keys: function(data: string, kv_splitter: pattern): string_vec; + global build_url: function(h: Info): string; + global build_url_http: function(h: Info): string; +} + + +function extract_keys(data: string, kv_splitter: pattern): string_vec + { + local key_vec: vector of string = vector(); + + local parts = split(data, kv_splitter); + for ( part_index in parts ) + { + local key_val = split1(parts[part_index], /=/); + if ( 1 in key_val ) + key_vec[|key_vec|] = key_val[1]; + } + return key_vec; + } + +function build_url(h: Info): string + { + local uri = h?$uri ? h$uri : "/<missed_request>"; + local host = h?$host ? h$host : fmt("%s", h$id$resp_h); + if ( h$id$resp_p != 80/tcp ) + host = fmt("%s:%s", host, h$id$resp_p); + return fmt("%s%s", host, uri); + } + +function build_url_http(h: Info): string + { + return fmt("http://%s", build_url(h)); + } \ No newline at end of file diff --git a/policy/protocols/http/var-extraction-cookies.bro b/policy/protocols/http/var-extraction-cookies.bro new file mode 100644 index 0000000000..19adda8679 --- /dev/null +++ b/policy/protocols/http/var-extraction-cookies.bro @@ -0,0 +1,16 @@ +##! This script extracts and logs variables from cookies sent by clients + +@load http/base +@load http/utils + +module HTTP; + +redef record Info += { + cookie_vars: vector of string &optional &log; +}; + +event http_header(c: connection, is_orig: bool, name: string, value: string) &priority=2 + { + if ( is_orig && name == "COOKIE" ) + c$http$cookie_vars = extract_keys(value, /;[[:blank:]]*/); + } diff --git a/policy/protocols/http/var-extraction-uri.bro b/policy/protocols/http/var-extraction-uri.bro new file mode 100644 index 0000000000..e7099121c3 --- /dev/null +++ b/policy/protocols/http/var-extraction-uri.bro @@ -0,0 +1,16 @@ +##! This script extracts and logs variables from the requested URI + +@load http/base +@load http/utils + +module HTTP; + +redef record Info += { + uri_vars: vector of string &optional &log; +}; + +event http_request(c: connection, method: string, original_URI: string, + unescaped_URI: string, version: string) &priority=2 + { + c$http$uri_vars = extract_keys(original_URI, /&/); + } diff --git a/policy/protocols/irc/__load__.bro b/policy/protocols/irc/__load__.bro new file mode 100644 index 0000000000..e69a5270cb --- /dev/null +++ b/policy/protocols/irc/__load__.bro @@ -0,0 +1,2 @@ +@load irc/base +@load irc/dcc-send \ No newline at end of file diff --git a/policy/protocols/irc/base.bro b/policy/protocols/irc/base.bro new file mode 100644 index 0000000000..5dffa34ffc --- /dev/null +++ b/policy/protocols/irc/base.bro @@ -0,0 +1,112 @@ +##! This is the script that implements the core IRC analysis support. It only +##! logs a very limited subset of the IRC protocol by default. The points +##! that it logs at are NICK commands, USER commands, and JOIN commands. It +##! log various bits of meta data as indicated in the :bro:type:`Info` record +##! along with the command at the command arguments. + +module IRC; + +export { + redef enum Log::ID += { IRC }; + + type Tag: enum { + EMPTY + }; + + type Info: record { + ts: time &log; + uid: string &log; + id: conn_id &log; + nick: string &log &optional; + user: string &log &optional; + channels: set[string] &log &optional; + + command: string &log &optional; + value: string &log &optional; + addl: string &log &optional; + tags: set[Tag] &log; + }; + + global irc_log: event(rec: Info); +} + +redef record connection += { + irc: Info &optional; +}; + +# Some common IRC ports. +redef capture_filters += { ["irc-6666"] = "port 6666" }; +redef capture_filters += { ["irc-6667"] = "port 6667" }; + +# DPD configuration. +global irc_ports = { 6666/tcp, 6667/tcp } &redef; +redef dpd_config += { [ANALYZER_IRC] = [$ports = irc_ports] }; + +event bro_init() + { + Log::create_stream(IRC, [$columns=Info, $ev=irc_log]); + } + +function new_session(c: connection): Info + { + local info: Info; + info$ts = network_time(); + info$uid = c$uid; + info$id = c$id; + return info; + } + +function set_session(c: connection) + { + if ( ! c?$irc ) + c$irc = new_session(c); + + c$irc$ts=network_time(); + } + +event irc_nick_message(c: connection, who: string, newnick: string) &priority=5 + { + set_session(c); + + c$irc$command = "NICK"; + c$irc$value = newnick; + } + +event irc_nick_message(c: connection, who: string, newnick: string) &priority=-5 + { + Log::write(IRC, c$irc); + c$irc$nick = newnick; + } + +event irc_user_message(c: connection, user: string, host: string, server: string, real_name: string) &priority=5 + { + set_session(c); + + c$irc$command = "USER"; + c$irc$value = user; + c$irc$addl=fmt("%s %s %s", host, server, real_name); + } + +event irc_user_message(c: connection, user: string, host: string, + server: string, real_name: string) &priority=-5 + { + Log::write(IRC, c$irc); + c$irc$user = user; + } + +event irc_join_message(c: connection, info_list: irc_join_list) &priority=5 + { + set_session(c); + + c$irc$command = "JOIN"; + } + +event irc_join_message(c: connection, info_list: irc_join_list) &priority=-5 + { + for ( l in info_list ) + { + c$irc$value = l$channel; + c$irc$addl = (l$password != "" ? fmt(" with channel key: '%s'", l$password) : ""); + Log::write(IRC, c$irc); + } + } \ No newline at end of file diff --git a/policy/protocols/irc/dcc-send.bro b/policy/protocols/irc/dcc-send.bro new file mode 100644 index 0000000000..441b8673c5 --- /dev/null +++ b/policy/protocols/irc/dcc-send.bro @@ -0,0 +1,113 @@ +##! File extraction and introspection for DCC transfers over IRC. +##! +##! There is a major problem with this script in the cluster context because +##! we might see A send B a message that a DCC connection is to be expected, +##! but that connection will actually be between B and C which could be +##! analyzed on a different worker. +##! +##! Example line from IRC server indicating that the DCC SEND is about to start: +##! PRIVMSG my_nick :^ADCC SEND whateverfile.zip 3640061780 1026 41709^A + +@load irc/base + +module IRC; + +export { + redef enum Tag += { EXTRACTED_FILE }; + + ## Pattern of file mime types to extract from IRC DCC file transfers. + const extract_file_types = /NO_DEFAULT/ &redef; + + ## The on-disk prefix for files to be extracted from IRC DCC file transfers. + const extraction_prefix = "irc-dcc-item" &redef; + + redef record Info += { + dcc_file_name: string &log &optional; + dcc_file_size: count &log &optional; + dcc_mime_type: string &log &optional; + + ## The file handle for the file to be extracted + extraction_file: file &log &optional; + + ## A boolean to indicate if the current file transfer should be extraced. + extract_file: bool &default=F; + + ## The count of the number of file that have been extracted during the session. + num_extracted_files: count &default=0; + }; +} + +global dcc_expected_transfers: table[addr, port] of Info = table(); + +event file_transferred(c: connection, prefix: string, descr: string, + mime_type: string) &priority=3 + { + local id = c$id; + if ( [id$resp_h, id$resp_p] !in dcc_expected_transfers ) + return; + + local irc = dcc_expected_transfers[id$resp_h, id$resp_p]; + + irc$dcc_mime_type = mime_type; + + if ( extract_file_types in mime_type ) + { + irc$extract_file = T; + add irc$tags[EXTRACTED_FILE]; + + local suffix = fmt("%d.dat", ++irc$num_extracted_files); + local fname = generate_extraction_filename(extraction_prefix, c, suffix); + irc$extraction_file = open(fname); + } + + } + +event file_transferred(c: connection, prefix: string, descr: string, + mime_type: string) &priority=-4 + { + local id = c$id; + if ( [id$resp_h, id$resp_p] !in dcc_expected_transfers ) + return; + + local irc = dcc_expected_transfers[id$resp_h, id$resp_p]; + + if ( irc$extract_file && irc?$extraction_file ) + set_contents_file(id, CONTENTS_RESP, irc$extraction_file); + + # Delete these values in case another DCC transfer + # happens during the IRC session. + delete irc$extract_file; + delete irc$extraction_file; + delete irc$dcc_file_name; + delete irc$dcc_file_size; + delete irc$dcc_mime_type; + delete dcc_expected_transfers[id$resp_h, id$resp_p]; + } + + +event irc_server(c: connection, prefix: string, data: string) &priority=5 + { + local parts = split_all(data, / /); + local command = parts[1]; + if ( command == "PRIVMSG" && + /[dD][cC][cC] [sS][eE][nN][dD]/ in data && + |parts| > 12 && + /^[0-9]*$/ == parts[|parts|-4] && + /^[0-9]*$/ == parts[|parts|-2] ) + { + c$irc$command = "DCC SEND"; + local ex_h = count_to_v4_addr(extract_count(parts[|parts|-4])); + local ex_p = to_port(to_count(parts[|parts|-2]), tcp); + c$irc$dcc_file_name = parts[|parts|-6]; + c$irc$dcc_file_size = extract_count(parts[|parts|]); + expect_connection(c$id$orig_h, ex_h, ex_p, ANALYZER_FILE, 5 min); + dcc_expected_transfers[ex_h, ex_p] = c$irc; + } + } + +event expected_connection_seen(c: connection, a: count) &priority=10 + { + local id = c$id; + if ( [id$resp_h, id$resp_p] in dcc_expected_transfers ) + add c$service["irc-dcc-data"]; + } diff --git a/policy/protocols/mime/__load__.bro b/policy/protocols/mime/__load__.bro new file mode 100644 index 0000000000..56400111ca --- /dev/null +++ b/policy/protocols/mime/__load__.bro @@ -0,0 +1,4 @@ +@load mime/base +@load mime/file-ident +@load mime/file-extract +@load mime/file-hash diff --git a/policy/protocols/mime/base.bro b/policy/protocols/mime/base.bro new file mode 100644 index 0000000000..d0212870a4 --- /dev/null +++ b/policy/protocols/mime/base.bro @@ -0,0 +1,101 @@ +##! The mime script does analysis of MIME encoded messages seen in certain +##! protocols (only SMTP and POP3 at the moment). + +@load utils/strings + +module MIME; + +export { + redef enum Log::ID += { MIME }; + + # Let's assume for now that nothing transferring files using + # MIME attachments is multiplexing for simplicity's sake. + # We can make the assumption that one connection == one file (at a time) + + type Info: record { + ## This is the timestamp of when the MIME content transfer began. + ts: time &log; + uid: string &log; + id: conn_id &log; + ## The application layer protocol over which the transfer was seen. + app_protocol: string &log &optional; + ## The filename seen in the Content-Disposition header. + filename: string &log &optional; + ## Track how many byte of the MIME encoded file have been seen. + content_len: count &log &default=0; + }; + + type State: record { + ## Track the number of MIME encoded files transferred during this session. + level: count &default=0; + }; + + global log_mime: event(rec: Info); +} + +redef record connection += { + mime: Info &optional; + mime_state: State &optional; +}; + +event bro_init() + { + Log::create_stream(MIME, [$columns=Info, $ev=log_mime]); + } + +function new_mime_session(c: connection): Info + { + local info: Info; + + info$ts=network_time(); + info$uid=c$uid; + info$id=c$id; + return info; + } + +function set_session(c: connection, new_entity: bool) + { + if ( ! c?$mime_state ) + c$mime_state = []; + + if ( ! c?$mime || new_entity ) + c$mime = new_mime_session(c); + } + +event mime_begin_entity(c: connection) &priority=10 + { + set_session(c, T); + + ++c$mime_state$level; + + if ( |c$service| > 0 ) + c$mime$app_protocol = join_string_set(c$service, ","); + } + +# This has priority -10 because other handlers need to know the current +# content_len before it's updated by this handler. +event mime_segment_data(c: connection, length: count, data: string) &priority=-10 + { + c$mime$content_len = c$mime$content_len + length; + } + +event mime_one_header(c: connection, h: mime_header_rec) + { + if ( h$name == "CONTENT-DISPOSITION" && + /[fF][iI][lL][eE][nN][aA][mM][eE]/ in h$value ) + c$mime$filename = sub(h$value, /^.*[fF][iI][lL][eE][nN][aA][mM][eE]=/, ""); + } + +event mime_end_entity(c: connection) &priority=-5 + { + # This check and the delete below are just to cope with a bug where + # mime_end_entity can be generated multiple times for the same event. + if ( ! c?$mime ) + return; + + # Don't log anything if there wasn't any content. + if ( c$mime$content_len > 0 ) + Log::write(MIME, c$mime); + + delete c$mime; + } diff --git a/policy/protocols/mime/file-extract.bro b/policy/protocols/mime/file-extract.bro new file mode 100644 index 0000000000..4ccf83b82a --- /dev/null +++ b/policy/protocols/mime/file-extract.bro @@ -0,0 +1,60 @@ +@load mime/file-ident +@load utils/files + +module MIME; + +export { + ## Pattern of file mime types to extract from MIME bodies. + const extract_file_types = /NO_DEFAULT/ &redef; + + ## The on-disk prefix for files to be extracted from MIME entity bodies. + const extraction_prefix = "mime-item" &redef; + + redef record Info += { + ## Optionally write the file to disk. Must be set prior to first + ## data chunk being seen in an event. + extract_file: bool &default=F; + + ## Store the file handle here for the file currently being extracted. + extraction_file: file &optional; + + ## Store a count of the number of files that have been transferred in + ## this conversation to create unique file names on disk. + num_extracted_files: count &optional; + }; +} + +event mime_segment_data(c: connection, length: count, data: string) &priority=5 + { + if ( extract_file_types in c$mime$mime_type ) + c$mime$extract_file = T; + } + +event mime_segment_data(c: connection, length: count, data: string) &priority=3 + { + if ( c$mime$extract_file && c$mime$content_len == 0 ) + { + local suffix = fmt("%d.dat", ++c$mime$num_extracted_files); + local fname = generate_extraction_filename(extraction_prefix, c, suffix); + c$mime$extraction_file = open(fname); + enable_raw_output(c$mime$extraction_file); + } + } + +event mime_segment_data(c: connection, length: count, data: string) &priority=-5 + { + if ( c$mime$extract_file && c$mime?$extraction_file ) + print c$mime$extraction_file, data; + } + +event mime_end_entity(c: connection) &priority=-3 + { + # TODO: this check is only due to a bug in mime_end_entity that + # causes the event to be generated twice for the same real event. + if ( ! c?$mime ) + return; + + if ( c$mime?$extraction_file ) + close(c$mime$extraction_file); + } + \ No newline at end of file diff --git a/policy/protocols/mime/file-hash.bro b/policy/protocols/mime/file-hash.bro new file mode 100644 index 0000000000..7a11091454 --- /dev/null +++ b/policy/protocols/mime/file-hash.bro @@ -0,0 +1,78 @@ +@load mime/file-ident + +module MIME; + +export { + redef enum Notice::Type += { + ## Indicates that an MD5 sum was calculated for a MIME message. + MD5, + }; + + redef record Info += { + ## The calculated MD5 sum for the MIME entity. + md5: string &log &optional; + + ## Optionally calculate the file's MD5 sum. Must be set prior to the + ## first data chunk being see in an event. + calc_md5: bool &default=F; + + ## This boolean value indicates if an MD5 sum is being calculated + ## for the current file transfer. + calculating_md5: bool &default=F; + }; + + ## Generate MD5 sums for these filetypes. + const generate_md5 = /application\/x-dosexec/ # Windows and DOS executables + | /application\/x-executable/ # *NIX executable binary + &redef; +} + +event mime_segment_data(c: connection, length: count, data: string) &priority=-5 + { + if ( ! c?$mime ) return; + + if ( c$mime$content_len == 0 ) + { + if ( generate_md5 in c$mime$mime_type ) + c$mime$calc_md5 = T; + + if ( c$mime$calc_md5 ) + { + c$mime$calculating_md5 = T; + md5_hash_init(c$id); + } + } + + if ( c$mime$calculating_md5 ) + md5_hash_update(c$id, data); + } + +## In the event of a content gap during the MIME transfer, detect the state for +## the MD5 sum calculation and stop calculating the MD5 since it would be +## incorrect anyway. +event content_gap(c: connection, is_orig: bool, seq: count, length: count) &priority=5 + { + if ( is_orig || ! c?$mime ) return; + + if ( c$mime$calculating_md5 ) + { + c$mime$calculating_md5 = F; + md5_hash_finish(c$id); + } + } + +event mime_end_entity(c: connection) &priority=-3 + { + # TODO: this check is only due to a bug in mime_end_entity that + # causes the event to be generated twice for the same real event. + if ( ! c?$mime ) + return; + + if ( c$mime$calculating_md5 ) + { + c$mime$md5 = md5_hash_finish(c$id); + + NOTICE([$note=MD5, $msg=fmt("Calculated a hash for a MIME entity from %s", c$id$orig_h), + $sub=c$mime$md5, $conn=c]); + } + } \ No newline at end of file diff --git a/policy/protocols/mime/file-ident.bro b/policy/protocols/mime/file-ident.bro new file mode 100644 index 0000000000..2ff463cad3 --- /dev/null +++ b/policy/protocols/mime/file-ident.bro @@ -0,0 +1,16 @@ +@load mime/base + +module MIME; + +export { + redef record Info += { + ## Sniffed MIME type for the transfer. + mime_type: string &log &optional; + }; +} + +event mime_segment_data(c: connection, length: count, data: string) &priority=7 + { + if ( c$mime$content_len == 0 ) + c$mime$mime_type = split1(identify_data(data, T), /;/)[1]; + } diff --git a/policy/protocols/smtp/__load__.bro b/policy/protocols/smtp/__load__.bro new file mode 100644 index 0000000000..ae1ffc958c --- /dev/null +++ b/policy/protocols/smtp/__load__.bro @@ -0,0 +1,2 @@ +@load smtp/base +@load smtp/software \ No newline at end of file diff --git a/policy/protocols/smtp/base.bro b/policy/protocols/smtp/base.bro new file mode 100644 index 0000000000..1bdcfa00f2 --- /dev/null +++ b/policy/protocols/smtp/base.bro @@ -0,0 +1,356 @@ +@load functions +@load notice +@load software + +@load smtp/detect +@load utils/addrs + +module SMTP; + +export { + redef enum Log::ID += { SMTP }; + + redef enum Notice::Type += { + ## Indicates that the server sent a reply mentioning an SMTP block list. + SMTP_BL_Error_Message, + ## Indicates the client's address is seen in the block list error message. + SMTP_BL_Blocked_Host, + ## When mail seems to originate from a suspicious location. + SMTP_Suspicious_Origination, + }; + + type Info: record { + ts: time &log; + uid: string &log; + id: conn_id &log; + helo: string &log &optional; + mailfrom: string &log &optional; + rcptto: set[string] &log &optional; + date: string &log &optional; + from: string &log &optional; + to: set[string] &log &optional; + reply_to: string &log &optional; + msg_id: string &log &optional; + in_reply_to: string &log &optional; + subject: string &log &optional; + x_originating_ip: addr &log &optional; + first_received: string &log &optional; + second_received: string &log &optional; + ## The last message the server sent to the client. + last_reply: string &log &optional; + files: set[string] &log &optional; + path: vector of addr &log &optional; + user_agent: string &log &optional; + + ## Indicate if this session is currently transmitting SMTP message + ## envelope headers. + in_headers: bool &default=F; + ## Indicate if the "Received: from" headers should still be processed. + process_received_from: bool &default=T; + ## Maintain the current header for cases where there is header wrapping. + current_header: string &default=""; + ## Indicate when the message is logged and no longer applicable. + done: bool &default=F; + }; + + type State: record { + helo: string &optional; + ## Count the number of individual messages transmitted during this + ## SMTP session. Note, this is not the number of recipients, but the + ## number of message bodies transferred. + messages_transferred: count &default=0; + + pending_messages: set[Info] &optional; + }; + + ## Direction to capture the full "Received from" path. + ## REMOTE_HOSTS - only capture the path until an internal host is found. + ## LOCAL_HOSTS - only capture the path until the external host is discovered. + ## ALL_HOSTS - always capture the entire path. + ## NO_HOSTS - never capture the path. + const mail_path_capture = ALL_HOSTS &redef; + + global log_smtp: event(rec: Info); + + ## Configure the default ports for SMTP analysis. + const ports = { 25/tcp, 587/tcp } &redef; +} + +redef record connection += { + smtp: Info &optional; + smtp_state: State &optional; +}; + +# Configure DPD +redef capture_filters += { ["smtp"] = "tcp port smtp or tcp port 587" }; +redef dpd_config += { [ANALYZER_SMTP] = [$ports = ports] }; + +event bro_init() + { + Log::create_stream(SMTP, [$columns=SMTP::Info, $ev=log_smtp]); + } + +function find_address_in_smtp_header(header: string): string +{ + local ips = find_ip_addresses(header); + # If there are more than one IP address found, return the second. + if ( |ips| > 1 ) + return ips[1]; + # Otherwise, return the first. + else if ( |ips| > 0 ) + return ips[0]; + # Otherwise, there wasn't an IP address found. + else + return ""; +} + +function new_smtp_log(c: connection): Info + { + local l: Info; + l$ts=network_time(); + l$uid=c$uid; + l$id=c$id; + if ( c?$smtp_state && c$smtp_state?$helo ) + l$helo = c$smtp_state$helo; + + # The path will always end with the hosts involved in this connection. + # The lower values in the vector are the end of the path. + l$path = vector(c$id$resp_h, c$id$orig_h); + + return l; + } + +function set_smtp_session(c: connection) + { + if ( ! c?$smtp_state ) + c$smtp_state = []; + + if ( ! c?$smtp || c$smtp$done ) + { + c$smtp = new_smtp_log(c); + } + } + + +function smtp_message(c: connection) + { + Log::write(SMTP, c$smtp); + + c$smtp$done = T; + # Track the number of messages seen in this session. + ++c$smtp_state$messages_transferred; + } + +event smtp_request(c: connection, is_orig: bool, command: string, arg: string) &priority=5 + { + set_smtp_session(c); + local upper_command = to_upper(command); + + if ( upper_command == "HELO" || upper_command == "EHLO" ) + { + c$smtp_state$helo = arg; + c$smtp$helo = arg; + } + + else if ( upper_command == "RCPT" && /^[tT][oO]:/ in arg ) + { + if ( ! c$smtp?$rcptto ) + c$smtp$rcptto = set(); + add c$smtp$rcptto[split1(arg, /:[[:blank:]]*/)[2]]; + } + + else if ( upper_command == "MAIL" && /^[fF][rR][oO][mM]:/ in arg ) + { + # In case this is not the first message in a session we want to + # essentially write out a log, clear the session tracking, and begin + # new session tracking. + if ( c$smtp_state$messages_transferred > 0 ) + { + smtp_message(c); + set_smtp_session(c); + } + + local partially_done = split1(arg, /:[[:blank:]]*/)[2]; + c$smtp$mailfrom = split1(partially_done, /[[:blank:]]?/)[1]; + } + + else if ( upper_command == "DATA" ) + { + c$smtp$in_headers = T; + } + } + + +event smtp_reply(c: connection, is_orig: bool, code: count, cmd: string, + msg: string, cont_resp: bool) &priority=5 + { + set_smtp_session(c); + + # This continually overwrites, but we want the last reply, + # so this actually works fine. + if ( code != 421 && code >= 400 ) + { + c$smtp$last_reply = fmt("%d %s", code, msg); + + # Raise a notice when an SMTP error about a block list is discovered. + if ( bl_error_messages in msg ) + { + local note = SMTP_BL_Error_Message; + local message = fmt("%s received an error message mentioning an SMTP block list", c$id$orig_h); + + # Determine if the originator's IP address is in the message. + local ips = find_ip_addresses(msg); + local text_ip = ""; + if ( |ips| > 0 && to_addr(ips[0]) == c$id$orig_h ) + { + note = SMTP_BL_Blocked_Host; + message = fmt("%s is on an SMTP block list", c$id$orig_h); + } + + NOTICE([$note=note, $conn=c, $msg=message, $sub=msg]); + } + } + } + +event smtp_data(c: connection, is_orig: bool, data: string) &priority=5 + { + # Is there something we should be handling from the server? + if ( ! is_orig ) return; + + set_smtp_session(c); + + if ( ! c$smtp$in_headers ) + { + if ( /^[cC][oO][nN][tT][eE][nN][tT]-[dD][iI][sS].*[fF][iI][lL][eE][nN][aA][mM][eE]/ in data ) + { + if ( ! c$smtp?$files ) + c$smtp$files = set(); + data = sub(data, /^.*[fF][iI][lL][eE][nN][aA][mM][eE]=/, ""); + add c$smtp$files[data]; + } + return; + } + + if ( /^[[:blank:]]*$/ in data ) + c$smtp$in_headers = F; + + # This is to reconstruct headers that tend to wrap around. + if ( /^[[:blank:]]/ in data ) + { + # Remove all but a single space at the beginning (this seems to follow + # the most common behavior). + data = sub(data, /^[[:blank:]]*/, " "); + if ( c$smtp$current_header == "MESSAGE-ID" ) + c$smtp$msg_id += data; + else if ( c$smtp$current_header == "RECEIVED" ) + c$smtp$first_received += data; + else if ( c$smtp$current_header == "IN-REPLY-TO" ) + c$smtp$in_reply_to += data; + else if ( c$smtp$current_header == "SUBJECCT" ) + c$smtp$subject += data; + else if ( c$smtp$current_header == "FROM" ) + c$smtp$from += data; + else if ( c$smtp$current_header == "REPLY-TO" ) + c$smtp$reply_to += data; + else if ( c$smtp$current_header == "USER-AGENT" ) + c$smtp$user_agent += data; + return; + } + # Once there isn't a line starting with a blank, we're not continuing a + # header anymore. + c$smtp$current_header = ""; + + local header_parts = split1(data, /:[[:blank:]]*/); + # TODO: do something in this case? This would definitely be odd. + # Header wrapping needs to be handled more elegantly. This will happen + # if the header value is wrapped immediately after the header key. + if ( |header_parts| != 2 ) + return; + + local header_key = to_upper(header_parts[1]); + c$smtp$current_header = header_key; + + local header_val = header_parts[2]; + + if ( header_key == "MESSAGE-ID" ) + c$smtp$msg_id = header_val; + + else if ( header_key == "RECEIVED" ) + { + if ( c$smtp?$first_received ) + c$smtp$second_received = c$smtp$first_received; + c$smtp$first_received = header_val; + } + + else if ( header_key == "IN-REPLY-TO" ) + c$smtp$in_reply_to = header_val; + + else if ( header_key == "DATE" ) + c$smtp$date = header_val; + + else if ( header_key == "FROM" ) + c$smtp$from = header_val; + + else if ( header_key == "TO" ) + { + if ( ! c$smtp?$to ) + c$smtp$to = set(); + add c$smtp$to[header_val]; + } + + else if ( header_key == "REPLY-TO" ) + c$smtp$reply_to = header_val; + + else if ( header_key == "SUBJECT" ) + c$smtp$subject = header_val; + + else if ( header_key == "X-ORIGINATING-IP" ) + { + local addresses = find_ip_addresses(header_val); + if ( 1 in addresses ) + c$smtp$x_originating_ip = to_addr(addresses[1]); + } + + else if ( header_key == "X-MAILER" || + header_key == "USER-AGENT" || + header_key == "X-USER-AGENT" ) + { + c$smtp$user_agent = header_val; + # Explicitly set the current header here because there are several + # headers bulked under this same key. + c$smtp$current_header = "USER-AGENT"; + } + } + +# This event handler builds the "Received From" path by reading the +# headers in the mail +event smtp_data(c: connection, is_orig: bool, data: string) &priority=3 + { + # If we've decided that we're done watching the received headers for + # whatever reason, we're done. Could be due to only watching until + # local addresses are seen in the received from headers. + if ( c$smtp$current_header != "RECEIVED" || + ! c$smtp$process_received_from ) + return; + + local text_ip = find_address_in_smtp_header(data); + if ( text_ip == "" ) + return; + local ip = to_addr(text_ip); + + if ( ! addr_matches_host(ip, mail_path_capture) && + ! Site::is_private_addr(ip) ) + { + c$smtp$process_received_from = F; + } + + if ( c$smtp$path[|c$smtp$path|-1] != ip ) + c$smtp$path[|c$smtp$path|] = ip; + } + + +event connection_state_remove(c: connection) &priority=-5 + { + if ( c?$smtp && ! c$smtp$done ) + smtp_message(c); + } diff --git a/policy/protocols/smtp/detect.bro b/policy/protocols/smtp/detect.bro new file mode 100644 index 0000000000..7bee38adeb --- /dev/null +++ b/policy/protocols/smtp/detect.bro @@ -0,0 +1,60 @@ +module SMTP; + +export { + ## Places where it's suspicious for mail to originate from represented as + ## all-capital, two character country codes (e.x. US). It requires + ## libGeoIP support built in. + const suspicious_origination_countries: set[string] = {} &redef; + const suspicious_origination_networks: set[subnet] = {} &redef; + + # This matches content in SMTP error messages that indicate some + # block list doesn't like the connection/mail. + const bl_error_messages = + /spamhaus\.org\// + | /sophos\.com\/security\// + | /spamcop\.net\/bl/ + | /cbl\.abuseat\.org\// + | /sorbs\.net\// + | /bsn\.borderware\.com\// + | /mail-abuse\.com\// + | /b\.barracudacentral\.com\// + | /psbl\.surriel\.com\// + | /antispam\.imp\.ch\// + | /dyndns\.com\/.*spam/ + | /rbl\.knology\.net\// + | /intercept\.datapacket\.net\// + | /uceprotect\.net\// + | /hostkarma\.junkemailfilter\.com\// &redef; +} + + +#if ( c$smtp?$x_originating_ip ) +# { +# ip = session$log$x_originating_ip; +# loc = lookup_location(ip); +# +# if ( loc$country_code in suspicious_origination_countries || +# ip in suspicious_origination_networks ) +# { +# NOTICE([$note=SMTP_Suspicious_Origination, +# $msg=fmt("An email originated from %s (%s).", loc$country_code, ip), +# $sub=fmt("Subject: %s", session$log$subject), +# $conn=c]); +# } +# if ( session$log?$received_from_originating_ip && +# session$log$received_from_originating_ip != session$log$x_originating_ip ) +# { +# ip = session$log$received_from_originating_ip; +# loc = lookup_location(ip); +# +# if ( loc$country_code in suspicious_origination_countries || +# ip in suspicious_origination_networks ) +# { +# NOTICE([$note=SMTP_Suspicious_Origination, +# $msg=fmt("An email originated from %s (%s).", loc$country_code, ip), +# $sub=fmt("Subject: %s", session$log$subject), +# $conn=c]); +# } +# } +# } +# \ No newline at end of file diff --git a/policy/protocols/smtp/software.bro b/policy/protocols/smtp/software.bro new file mode 100644 index 0000000000..31f9f0e016 --- /dev/null +++ b/policy/protocols/smtp/software.bro @@ -0,0 +1,82 @@ +##! This script feeds software detected through email into the software +##! framework. Mail clients and webmail interfaces are the only thing +##! currently detected. +##! +##! TODO: +##! * Find some heuristic to determine if email was sent through +##! a MS Exhange webmail interface as opposed to a desktop client. + +@load smtp/base +@load software + +module SMTP; + +export { + redef enum Software::Type += { + MAIL_CLIENT, + MAIL_SERVER, + WEBMAIL + }; + + redef record Info += { + ## Boolean indicator of if the message was sent through a webmail + ## interface. + is_webmail: bool &log &default=F; + }; + + ## Assuming that local mail servers are more trustworthy with the headers + ## they insert into messages envelopes, this default makes Bro not attempt + ## to detect software in inbound message bodies. If mail coming in from + ## external addresses gives incorrect data in the Received headers, it + ## could populate your SOFTWARE logging stream with incorrect data. + ## If you would like to detect mail clients for incoming messages + ## (network traffic originating from a non-local address), set this + ## variable to EXTERNAL_HOSTS or ALL_HOSTS. + const detect_clients_in_messages_from = LOCAL_HOSTS &redef; + + ## A regular expression to match USER-AGENT-like headers to find if a + ## message was sent with a webmail interface. + const webmail_user_agents = + /^iPlanet Messenger/ + | /^Sun Java\(tm\) System Messenger Express/ + | /\(IMP\)/ # Horde Internet Messaging Program + | /^SquirrelMail/ + | /^NeoMail/ + | /ZimbraWebClient/ &redef; +} + +event smtp_data(c: connection, is_orig: bool, data: string) &priority=4 + { + if ( c$smtp$current_header == "USER-AGENT" && + webmail_user_agents in c$smtp$user_agent ) + c$smtp$is_webmail = T; + } + +event log_smtp(rec: Info) + { + # If the MUA provided a user-agent string, kick over to the software framework. + # This is done here so that the "Received: from" path has a chance to be + # built since that's where the IP address is pulled from. + if ( rec?$user_agent ) + { + local s_type = MAIL_CLIENT; + local client_ip = rec$path[|rec$path|-1]; + if ( rec$is_webmail ) + { + s_type = WEBMAIL; + # If the earliest received header indicates that the connection + # was via HTTP, then that likely means the actual mail software + # is installed on the second address in the path. + if ( rec?$first_received && /via HTTP/ in rec$first_received ) + client_ip = rec$path[|rec$path|-2]; + } + + if ( addr_matches_host(rec$id$orig_h, + detect_clients_in_messages_from) ) + { + local s = Software::parse(rec$user_agent, client_ip, s_type); + Software::found(rec$id, s); + } + } + } + diff --git a/policy/protocols/ssh/__load__.bro b/policy/protocols/ssh/__load__.bro new file mode 100644 index 0000000000..043acb8c4c --- /dev/null +++ b/policy/protocols/ssh/__load__.bro @@ -0,0 +1,2 @@ +@load ssh/base +@load ssh/software \ No newline at end of file diff --git a/policy/protocols/ssh/base.bro b/policy/protocols/ssh/base.bro new file mode 100644 index 0000000000..9a1b42de00 --- /dev/null +++ b/policy/protocols/ssh/base.bro @@ -0,0 +1,250 @@ +@load notice +@load utils/thresholds + +module SSH; + +export { + redef enum Log::ID += { SSH }; + + redef enum Notice::Type += { + Login, + Password_Guessing, + Login_By_Password_Guesser, + Login_From_Interesting_Hostname, + Bytecount_Inconsistency, + }; + + type Info: record { + ts: time &log; + uid: string &log; + id: conn_id &log; + status: string &log &optional; + direction: string &log &optional; + remote_location: geo_location &log &optional; + client: string &log &optional; + server: string &log &optional; + resp_size: count &log &default=0; + + ## Indicate if the SSH session is done being watched. + done: bool &default=F; + }; + + const password_guesses_limit = 30 &redef; + + # The size in bytes at which the SSH connection is presumed to be + # successful. + const authentication_data_size = 5500 &redef; + + # The amount of time to remember presumed non-successful logins to build + # model of a password guesser. + const guessing_timeout = 30 mins &redef; + + # The set of countries for which you'd like to throw notices upon successful login + # requires Bro compiled with libGeoIP support + const watched_countries: set[string] = {"RO"} &redef; + + # Strange/bad host names to originate successful SSH logins + const interesting_hostnames = + /^d?ns[0-9]*\./ | + /^smtp[0-9]*\./ | + /^mail[0-9]*\./ | + /^pop[0-9]*\./ | + /^imap[0-9]*\./ | + /^www[0-9]*\./ | + /^ftp[0-9]*\./ &redef; + + # This is a table with orig subnet as the key, and subnet as the value. + const ignore_guessers: table[subnet] of subnet &redef; + + # If true, we tell the event engine to not look at further data + # packets after the initial SSH handshake. Helps with performance + # (especially with large file transfers) but precludes some + # kinds of analyses (e.g., tracking connection size). + const skip_processing_after_detection = F &redef; + + # Keeps count of how many rejections a host has had + global password_rejections: table[addr] of TrackCount + &write_expire=guessing_timeout + &synchronized; + + # Keeps track of hosts identified as guessing passwords + # TODO: guessing_timeout doesn't work correctly here. If a user redefs + # the variable, it won't take effect. + global password_guessers: set[addr] &read_expire=guessing_timeout+1hr &synchronized; + + global log_ssh: event(rec: Info); +} + +# Configure DPD and the packet filter +redef capture_filters += { ["ssh"] = "tcp port 22" }; +redef dpd_config += { [ANALYZER_SSH] = [$ports = set(22/tcp)] }; + +redef record connection += { + ssh: Info &optional; +}; + +event bro_init() +{ + Log::create_stream(SSH, [$columns=Info, $ev=log_ssh]); +} + +function set_session(c: connection) + { + if ( ! c?$ssh ) + { + local info: Info; + info$ts=network_time(); + info$uid=c$uid; + info$id=c$id; + c$ssh = info; + } + } + +function check_ssh_connection(c: connection, done: bool) + { + # If done watching this connection, just return. + if ( c$ssh$done ) + return; + + # If this is still a live connection and the byte count has not + # crossed the threshold, just return and let the resheduled check happen later. + if ( !done && c$resp$size < authentication_data_size ) + return; + + # Make sure the server has sent back more than 50 bytes to filter out + # hosts that are just port scanning. Nothing is ever logged if the server + # doesn't send back at least 50 bytes. + if ( c$resp$size < 50 ) + return; + + local status = "failure"; + local direction = Site::is_local_addr(c$id$orig_h) ? "to" : "from"; + local location: geo_location; + location = (direction == "to") ? lookup_location(c$id$resp_h) : lookup_location(c$id$orig_h); + + if ( done && c$resp$size < authentication_data_size ) + { + # presumed failure + if ( c$id$orig_h !in password_rejections ) + password_rejections[c$id$orig_h] = new_track_count(); + + # Track the number of rejections + if ( !(c$id$orig_h in ignore_guessers && + c$id$resp_h in ignore_guessers[c$id$orig_h]) ) + ++password_rejections[c$id$orig_h]$n; + + if ( default_check_threshold(password_rejections[c$id$orig_h]) ) + { + add password_guessers[c$id$orig_h]; + NOTICE([$note=Password_Guessing, + $conn=c, + $msg=fmt("SSH password guessing by %s", c$id$orig_h), + $sub=fmt("%d failed logins", password_rejections[c$id$orig_h]$n), + $n=password_rejections[c$id$orig_h]$n]); + } + } + # TODO: This is to work around a quasi-bug in Bro which occasionally + # causes the byte count to be oversized. + # Watch for Gregors work that adds an actual counter of bytes transferred. + else if ( c$resp$size < 20000000 ) + { + # presumed successful login + status = "success"; + c$ssh$done = T; + + if ( c$id$orig_h in password_rejections && + password_rejections[c$id$orig_h]$n > password_guesses_limit && + c$id$orig_h !in password_guessers ) + { + add password_guessers[c$id$orig_h]; + NOTICE([$note=Login_By_Password_Guesser, + $conn=c, + $n=password_rejections[c$id$orig_h]$n, + $msg=fmt("Successful SSH login by password guesser %s", c$id$orig_h), + $sub=fmt("%d failed logins", password_rejections[c$id$orig_h]$n)]); + } + + local message = fmt("SSH login %s %s \"%s\" \"%s\" %f %f %s (triggered with %d bytes)", + direction, location$country_code, location$region, location$city, + location$latitude, location$longitude, + id_string(c$id), c$resp$size); + NOTICE([$note=Login, + $conn=c, + $msg=message, + $sub=location$country_code]); + + # Check to see if this login came from an interesting hostname + when ( local hostname = lookup_addr(c$id$orig_h) ) + { + if ( interesting_hostnames in hostname ) + { + NOTICE([$note=Login_From_Interesting_Hostname, + $conn=c, + $msg=fmt("Strange login from %s", hostname), + $sub=hostname]); + } + } + + if ( location$country_code in watched_countries ) + { + + } + + } + else if ( c$resp$size >= 200000000 ) + { + NOTICE([$note=Bytecount_Inconsistency, + $conn=c, + $msg="During byte counting in SSH analysis, an overly large value was seen.", + $sub=fmt("%d",c$resp$size)]); + } + + c$ssh$remote_location = location; + c$ssh$status = status; + c$ssh$direction = direction; + c$ssh$resp_size = c$resp$size; + + Log::write(SSH, c$ssh); + + # Set the "done" flag to prevent the watching event from rescheduling + # after detection is done. + c$ssh$done; + + # Stop watching this connection, we don't care about it anymore. + if ( skip_processing_after_detection ) + { + skip_further_processing(c$id); + set_record_packets(c$id, F); + } + } + +event connection_state_remove(c: connection) &priority=-5 + { + if ( c?$ssh ) + check_ssh_connection(c, T); + } + +event ssh_watcher(c: connection) + { + local id = c$id; + # don't go any further if this connection is gone already! + if ( !connection_exists(id) ) + return; + + check_ssh_connection(c, F); + if ( ! c$ssh$done ) + schedule +15secs { ssh_watcher(c) }; + } + +event ssh_server_version(c: connection, version: string) &priority=5 + { + set_session(c); + c$ssh$server = version; + } + +event ssh_client_version(c: connection, version: string) &priority=5 + { + set_session(c); + c$ssh$client = version; + schedule +15secs { ssh_watcher(c) }; + } diff --git a/policy/protocols/ssh/software.bro b/policy/protocols/ssh/software.bro new file mode 100644 index 0000000000..8294684332 --- /dev/null +++ b/policy/protocols/ssh/software.bro @@ -0,0 +1,27 @@ +@load ssh/base +@load software + +module SSH; + +export { + redef enum Software::Type += { + SSH_SERVER, + SSH_CLIENT, + }; +} + +event ssh_client_version(c: connection, version: string) &priority=4 + { + # Get rid of the protocol information when passing to the software framework. + local cleaned_version = sub(version, /^SSH[0-9\.\-]+/, ""); + local si = Software::parse(cleaned_version, c$id$orig_h, SSH_CLIENT); + Software::found(c$id, si); + } + +event ssh_server_version(c: connection, version: string) &priority=4 + { + # Get rid of the protocol information when passing to the software framework. + local cleaned_version = sub(version, /SSH[0-9\.\-]{2,}/, ""); + local si = Software::parse(cleaned_version, c$id$resp_h, SSH_SERVER); + Software::found(c$id, si); + } diff --git a/policy/protocols/ssl/__load__.bro b/policy/protocols/ssl/__load__.bro new file mode 100644 index 0000000000..ca8b582b73 --- /dev/null +++ b/policy/protocols/ssl/__load__.bro @@ -0,0 +1,2 @@ +#@load ssl/base +#@load ssl/validate diff --git a/policy/protocols/ssl/base.bro b/policy/protocols/ssl/base.bro new file mode 100644 index 0000000000..2074ca8800 --- /dev/null +++ b/policy/protocols/ssl/base.bro @@ -0,0 +1,74 @@ + + +module SSL; + +export { + + ## This is the root CA bundle. By default it is Mozilla's full trusted + ## root CA list. + # TODO: move the mozilla_root_certs setting into the mozilla file. + #print mozilla_root_certs; + const root_certs: table[string] of string = {} &redef; + #const root_certs: table[string] of string = {} &redef; + + + ## This is where you can define root certificates that you want to validate + ## against servers. For example, you may have a policy that states that + ## all local certificates must be signed by a specific signing authority. + ## If you specify your local networks with only the specific authority + ## or authorities your policy stipulates here, certificates signed by any + ## other key will not validate. By default, all servers are validated + ## against the full ``root_certs`` bundle. + #const server_validation: table[subnet] of table[string] of string = + # { [0.0.0.0/0] = root_certs } &redef; + + ## This is where you can define root certificates that you want to validate + ## against clients. This is still doing validation against the server + ## certificate chain, but this allows you to define a restricted + ## list of signing certificate that clients should be seen connecting to. + ## For example, you may have a tightly controlled network + ## that you **never** want to establish SSL sessions using anything other + ## than certificates signed by a very select list of certificate + ## authorities. You can define the networks in this variable along with + ## key signing certificates with which they should be allowed to establish + ## SSL connections. By default, all client connections are validated + ## against the full ``root_certs`` bundle. + #const client_validation: table[subnet] of table[string] of string = + # { [0.0.0.0/0] = root_certs } &redef; +} + +# TODO: add the script for this and generate on one to ship. +#@load mozilla-root-certs + + +redef capture_filters += { + ["ssl"] = "tcp port 443", + ["nntps"] = "tcp port 563", + ["imap4-ssl"] = "tcp port 585", + ["sshell"] = "tcp port 614", + ["ldaps"] = "tcp port 636", + ["ftps-data"] = "tcp port 989", + ["ftps"] = "tcp port 990", + ["telnets"] = "tcp port 992", + ["imaps"] = "tcp port 993", + ["ircs"] = "tcp port 994", + ["pop3s"] = "tcp port 995" +}; + +global ssl_ports = { + 443/tcp, 563/tcp, 585/tcp, 614/tcp, 636/tcp, + 989/tcp, 990/tcp, 992/tcp, 993/tcp, 995/tcp, +} &redef; + +redef dpd_config += { + [[ANALYZER_SSL]] = [$ports = ssl_ports] +}; + + +#redef SSL::client_validation += table( +# [128.146.0.0/16] = table( +# ["LOCAL_DER_CERT"] = "ADFADFWEAFASDFASDFA", +# ["LOCAL_DER_CERT2"] = "ADFADFWEAFASDFASDFA" ) +# #["DER_CERT_1"] = SSL::root_certs["DER_CERT_1"], +# #["LOCAL_DER_CERT"] = "ADFADFWEAFASDFASDFA"}, +#); diff --git a/policy/ssl-ciphers.bro b/policy/protocols/ssl/ssl-ciphers.bro similarity index 99% rename from policy/ssl-ciphers.bro rename to policy/protocols/ssl/ssl-ciphers.bro index 3926d591cd..6b196bebcb 100644 --- a/policy/ssl-ciphers.bro +++ b/policy/protocols/ssl/ssl-ciphers.bro @@ -1,8 +1,6 @@ -# $Id: ssl-ciphers.bro 5857 2008-06-26 23:00:03Z vern $ +module SSL; -# --- constant definitions of the cipher specs --- - -# --- sslv2 --- +## SSLv2 const SSLv20_CK_RC4_128_WITH_MD5 = 0x010080; const SSLv20_CK_RC4_128_EXPORT40_WITH_MD5 = 0x020080; const SSLv20_CK_RC2_128_CBC_WITH_MD5 = 0x030080; @@ -11,7 +9,7 @@ const SSLv20_CK_IDEA_128_CBC_WITH_MD5 = 0x050080; const SSLv20_CK_DES_64_CBC_WITH_MD5 = 0x060040; const SSLv20_CK_DES_192_EDE3_CBC_WITH_MD5 = 0x0700C0; -# --- TLS --- +## TLS const TLS_NULL_WITH_NULL_NULL = 0x0000; const TLS_RSA_WITH_NULL_MD5 = 0x0001; const TLS_RSA_WITH_NULL_SHA = 0x0002; @@ -467,7 +465,7 @@ const ssl_cipher_desc: table[count] of string = { [SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA] = "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA", [SSL_RSA_FIPS_WITH_DES_CBC_SHA_2] = "SSL_RSA_FIPS_WITH_DES_CBC_SHA_2", [SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA_2] = "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA_2", -}; +} &default="UNKNOWN"; # --- the following sets are provided for convenience diff --git a/policy/ssl-errors.bro b/policy/protocols/ssl/ssl-errors.bro similarity index 100% rename from policy/ssl-errors.bro rename to policy/protocols/ssl/ssl-errors.bro diff --git a/policy/protocols/ssl/ssl.bro b/policy/protocols/ssl/ssl.bro new file mode 100644 index 0000000000..b23d0d5817 --- /dev/null +++ b/policy/protocols/ssl/ssl.bro @@ -0,0 +1,352 @@ +##! SSL connections + +@load functions +@load notice + +@load ssl-ciphers +@load ssl-errors + +module SSL; + +redef enum Notice::Type += { + ## Blanket X509 error + SSL_X509Violation, + ## Session data not consistent with connection + SSL_SessConIncon, +}; + +redef enum Log::ID += { SSL }; + +export { + type Tags: enum { + WEAK_CLIENT_CIPHER, + WEAK_SERVER_CIPHER, + WEAK_CIPHER_AGREED + }; + + type Info: record { + ts: time &log; + id: conn_id &log; + ## This is the session ID. It's optional because SSLv2 doesn't have it. + sid: string &log &optional; + # TODO: dga 3/11 The following 2 fields are not yet picked up + #not_valid_before: time &log &optional; ##< certificate valid time constraint + #not_valid_after: time &log &optional; ##< certificate valid time constraint + version: string &log &default="UNKNOWN"; ##< SSL/TLS version number + + client_cert: X509 &log &optional; ##< client certificate + server_cert: X509 &log &optional; ##< server certificate + handshake_cipher: string &log &optional; ##< agreed-upon cipher for session/conn. + tags: set[Tags] &log; + }; + + type SessionInfo: record { + ## This tracks the number of times this session has been used. + num_use: count &default=1; + + version: string &default=""; # version associated with connection + client_cert: X509 &optional; # client certificate + server_cert: X509 &optional; # server certificate + handshake_cipher: string &default=""; # agreed-upon cipher for session/conn. + }; + + # Certificates presented by which hosts to record. + # Choices are: LocalHosts, RemoteHosts, Enabled, Disabled + const logging = LocalHosts &redef; + + # If set to T, this will split local and remote certs + # into separate files. F merges everything into a single file. + #const split_log_file = F &redef; + + # If true, Bro stores the client and server cipher specs and performs + # additional tests. This costs an extra amount of memory (normally + # only for a short time) but enables detecting of non-intersecting + # cipher sets, for example. + const ssl_compare_cipherspecs = T &redef; + + # Whether to analyze certificates seen in SSL connections. + const ssl_analyze_certificates = T &redef; + + # If we analyze SSL certificates, we can choose to store them. + const ssl_store_certificates = T &redef; + + # Path where we dump the certificates into. If it's empty, + # use the current directory. + const ssl_store_cert_path = "certs" &redef; + + # If we analyze SSL certificates, we can choose to verify them. + const ssl_verify_certificates = T &redef; + + # This is the path where OpenSSL looks after the trusted certificates. + # If empty, the default path will be used. + const x509_trusted_cert_path = "" &redef; + + # Whether to store key-material exchanged in the handshaking phase. + const ssl_store_key_material = F &redef; + + ## The list of all detected X509 certs. + global certs: set[addr, port, string] &create_expire=1day &synchronized; + + ## Recent TLS session IDs + global recent_sessions: table[string] of SessionInfo &read_expire=1hr; + + global log_ssl: event(rec: Info); + + ## This is the set of SSL/TLS ciphers are are seen as weak to attack. + const weak_ciphers: set[count] = { + SSLv20_CK_RC4_128_EXPORT40_WITH_MD5, + SSLv20_CK_RC2_128_CBC_EXPORT40_WITH_MD5, + SSLv20_CK_DES_64_CBC_WITH_MD5, + + TLS_NULL_WITH_NULL_NULL, + TLS_RSA_WITH_NULL_MD5, + TLS_RSA_WITH_NULL_SHA, + TLS_RSA_EXPORT_WITH_RC4_40_MD5, + TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5, + TLS_RSA_EXPORT_WITH_DES40_CBC_SHA, + TLS_RSA_WITH_DES_CBC_SHA, + + TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA, + TLS_DH_DSS_WITH_DES_CBC_SHA, + TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA, + TLS_DH_RSA_WITH_DES_CBC_SHA, + TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, + TLS_DHE_DSS_WITH_DES_CBC_SHA, + TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, + TLS_DHE_RSA_WITH_DES_CBC_SHA, + + TLS_DH_ANON_EXPORT_WITH_RC4_40_MD5, + TLS_DH_ANON_WITH_RC4_128_MD5, + TLS_DH_ANON_EXPORT_WITH_DES40_CBC_SHA, + TLS_DH_ANON_WITH_DES_CBC_SHA, + TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA, + } &redef; + + const SSLv2 = 0x0002; + const SSLv3 = 0x0300; + const TLSv10 = 0x0301; + const TLSv11 = 0x0302; + const version_strings: table[count] of string = { + [SSLv2] = "SSLv2", + [SSLv3] = "SSLv3", + [TLSv10] = "TLSv10", + [TLSv11] = "TLSv11", + } &default="UNKNOWN"; + +} + +redef record connection += { + ssl: Info &optional; +}; + +# NOTE: this is a 'local' port format for your site +# --- well-known ports for ssl --------- +redef capture_filters += { + ["ssl"] = "tcp port 443", + ["nntps"] = "tcp port 563", + ["imap4-ssl"] = "tcp port 585", + ["sshell"] = "tcp port 614", + ["ldaps"] = "tcp port 636", + ["ftps-data"] = "tcp port 989", + ["ftps"] = "tcp port 990", + ["telnets"] = "tcp port 992", + ["imaps"] = "tcp port 993", + ["ircs"] = "tcp port 994", + ["pop3s"] = "tcp port 995" +}; + +global ssl_ports = { + 443/tcp, 563/tcp, 585/tcp, 614/tcp, 636/tcp, + 989/tcp, 990/tcp, 992/tcp, 993/tcp, 995/tcp, +}; +redef dpd_config += { [ANALYZER_SSL] = [$ports = ssl_ports] }; +redef dpd_config += { [ANALYZER_SSL_BINPAC] = [$ports = ssl_ports] }; + +event bro_init() + { + Log::create_stream(SSL, [$columns=Info, $ev=log_ssl] ); + + # The event engine will generate a run-time if this fails for + # reasons other than that the directory already exists. + if ( ssl_store_cert_path != "" ) + mkdir(ssl_store_cert_path); + } + +const x509_ignore_errors: set[int] = { + X509_V_OK, + # X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE +}; + +const x509_hot_errors: set[int] = { + X509_V_ERR_CRL_SIGNATURE_FAILURE, + X509_V_ERR_CERT_NOT_YET_VALID, + X509_V_ERR_CERT_HAS_EXPIRED, + X509_V_ERR_CERT_REVOKED, + X509_V_ERR_SUBJECT_ISSUER_MISMATCH, + # X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE # for testing +}; + +@ifdef ( Weird::weird_file ) + redef Weird::weird_action += { + [["SSLv2: Unknown CIPHER-SPEC in CLIENT-HELLO!", + "SSLv2: Client has CipherSpecs > MAX_CIPHERSPEC_SIZE", + "unexpected_SSLv3_record", + "SSLv3_data_without_full_handshake"]] = Weird::WEIRD_IGNORE + }; +@endif + +function set_session(c: connection) + { + local id = c$id; + + if ( ! c?$ssl ) + { + local info: Info; + info$ts=network_time(); + info$id=id; + c$ssl = info; + } + } + +function get_session_info(s: SSL_sessionID): SessionInfo + { + local sess_info: SessionInfo; + + local index = md5_hash(s); + recent_sessions[index] = sess_info; + return sess_info; + } + +event ssl_certificate(c: connection, cert: X509, is_server: bool) + { + set_session(c); + + if ( [c$id$resp_h, c$id$resp_p, cert$subject] !in certs ) + add certs[c$id$resp_h, c$id$resp_p, cert$subject]; + + if( is_server ) + { + c$ssl$server_cert = cert; + + # We have not filled in the field for the master session + # for this connection. Do it now, but only if this is not a + # SSLv2 connection (no session information in that case). + if ( c$ssl$sid in recent_sessions && + recent_sessions[c$ssl$sid]?$server_cert ) + recent_sessions[c$ssl$sid]$server_cert$subject = cert$subject; + } + else + { + c$ssl$client_cert = cert; + } + } + +event ssl_conn_attempt(c: connection, version: count, ciphers: cipher_suites_list) + { + set_session(c); + + c$ssl$version = version_strings[version]; + + for ( cs in ciphers ) + { + if ( cs in weak_ciphers ) + { + add c$ssl$tags[WEAK_CLIENT_CIPHER]; + #event ssl_conn_weak( + # fmt("SSL client supports weak cipher: %s (0x%x)", + # ssl_cipher_desc[cs], cs), c); + } + } + } + +event ssl_conn_server_reply(c: connection, version: count, + ciphers: cipher_suites_list) + { + set_session(c); + + #conn$log$version = version_strings[version]; + + for ( cs in ciphers ) + { + if ( cs in weak_ciphers ) + { + add c$ssl$tags[WEAK_SERVER_CIPHER]; + } + } + } + +event ssl_conn_established(c: connection, version: count, cipher_suite: count) &priority=1 + { + set_session(c); + + c$ssl$version = version_strings[version]; + + if ( cipher_suite in weak_ciphers ) + add c$ssl$tags[WEAK_CIPHER_AGREED]; + + # log the connection + Log::write(SSL, c$ssl); + } + +event process_X509_extensions(c: connection, ex: X509_extension) + { + set_session(c); + + #local msg = fmt( "%.6f X.509 extensions: ", network_time() ); + #for ( i in ex ) + # msg = fmt("%s, %s", msg, ex[i]); + } + +event ssl_session_insertion(c: connection, id: SSL_sessionID) + { + set_session(c); + + local cid = c$id; + c$ssl$sid=md5_hash(id); + + # This will create a new session if one doesn't already exist. + local session = get_session_info(id); + session$version=c$ssl$version; + if ( c$ssl?$client_cert ) session$client_cert=c$ssl$client_cert; + if ( c$ssl?$server_cert ) session$server_cert=c$ssl$server_cert; + if ( c$ssl?$handshake_cipher )session$handshake_cipher=c$ssl$handshake_cipher; + } + +event ssl_conn_reused(c: connection, session_id: SSL_sessionID) + { + set_session(c); + + # We cannot track sessions with SSLv2. + if ( c$ssl$version == version_strings[SSLv2] ) + return; + + local session = get_session_info(session_id); + ++session$num_use; + + # At this point, the connection values have been set. We can then + # compare session and connection values with some confidence. + if ( session$version != c$ssl$version || + session$handshake_cipher != c$ssl$handshake_cipher ) + { + NOTICE([$note=SSL_SessConIncon, $conn=c, $msg="session violation"]); + } + } + +event ssl_X509_error(c: connection, err: int, err_string: string) + { + if ( err in x509_ignore_errors ) + return; + + set_session(c); + + local error = + err in x509_errors ? x509_errors[err] : "unknown X.509 error"; + + local severity = "warning"; + if ( err in x509_hot_errors ) + { + NOTICE([$note=SSL_X509Violation, $conn=c, $msg=error]); + severity = "error"; + } + } + diff --git a/policy/protocols/ssl/validate.bro b/policy/protocols/ssl/validate.bro new file mode 100644 index 0000000000..2eaff1676d --- /dev/null +++ b/policy/protocols/ssl/validate.bro @@ -0,0 +1,40 @@ +module SSL; + +# To grab and format a PEM (ascii armored) certificate.... +# curl "http://www.icsi.berkeley.edu/certs/icsicert.crt" | openssl x509 -outform DER | hexdump -e '2/1 "%02X"' | sed -E 's/(..)/\\x\1/g' + +redef SSL::root_certs += { + ["ICSI CA"] = "\x30\x82\x04\xF6\x30\x82\x03\xDE\xA0\x03\x02\x01\x02\x02\x01\x00\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x04\x05\x00\x30\x81\xB2\x31\x23\x30\x21\x06\x03\x55\x04\x03\x13\x1A\x49\x43\x53\x49\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x31\x30\x2F\x06\x03\x55\x04\x0A\x13\x28\x49\x6E\x74\x65\x72\x6E\x61\x74\x69\x6F\x6E\x61\x6C\x20\x43\x6F\x6D\x70\x75\x74\x65\x72\x20\x53\x63\x69\x65\x6E\x63\x65\x20\x49\x6E\x73\x74\x69\x74\x75\x74\x65\x31\x13\x30\x11\x06\x03\x55\x04\x08\x13\x0A\x43\x61\x6C\x69\x66\x6F\x72\x6E\x69\x61\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x11\x30\x0F\x06\x03\x55\x04\x07\x13\x08\x42\x65\x72\x6B\x65\x6C\x65\x79\x31\x23\x30\x21\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x09\x01\x16\x14\x63\x61\x40\x49\x43\x53\x49\x2E\x42\x65\x72\x6B\x65\x6C\x65\x79\x2E\x45\x44\x55\x30\x1E\x17\x0D\x30\x34\x30\x37\x32\x38\x30\x31\x35\x32\x34\x35\x5A\x17\x0D\x31\x32\x31\x30\x31\x34\x30\x31\x35\x32\x34\x35\x5A\x30\x81\xB2\x31\x23\x30\x21\x06\x03\x55\x04\x03\x13\x1A\x49\x43\x53\x49\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x31\x30\x2F\x06\x03\x55\x04\x0A\x13\x28\x49\x6E\x74\x65\x72\x6E\x61\x74\x69\x6F\x6E\x61\x6C\x20\x43\x6F\x6D\x70\x75\x74\x65\x72\x20\x53\x63\x69\x65\x6E\x63\x65\x20\x49\x6E\x73\x74\x69\x74\x75\x74\x65\x31\x13\x30\x11\x06\x03\x55\x04\x08\x13\x0A\x43\x61\x6C\x69\x66\x6F\x72\x6E\x69\x61\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x11\x30\x0F\x06\x03\x55\x04\x07\x13\x08\x42\x65\x72\x6B\x65\x6C\x65\x79\x31\x23\x30\x21\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x09\x01\x16\x14\x63\x61\x40\x49\x43\x53\x49\x2E\x42\x65\x72\x6B\x65\x6C\x65\x79\x2E\x45\x44\x55\x30\x82\x01\x22\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x01\x05\x00\x03\x82\x01\x0F\x00\x30\x82\x01\x0A\x02\x82\x01\x01\x00\xEA\xD1\xD9\x7C\x49\xF3\xE6\xB8\x7E\xC9\xF0\xB2\x36\xB2\x77\xFF\x9B\x0B\x49\x4B\x0A\xAA\xF2\xA5\xFE\xE1\xFA\x68\x1C\x89\x9B\x58\x7B\x32\x6C\x7E\x85\x2B\x91\x7C\xBA\xCD\x73\x65\xD2\xA9\xA2\xCB\xAD\xAA\x3B\x21\x1C\x7B\xBE\x65\xA5\x0B\x8F\x23\xA8\x98\x7E\xB5\x8D\x09\xC7\x65\x54\x8F\x35\x4D\x5B\xF9\x61\x62\x05\xCE\x36\x6F\xC2\xDB\xAF\x77\x49\xED\xA6\xD3\x1E\xA7\x59\x89\xEA\xA6\xAF\xA2\x7E\xCD\x9C\x66\xAD\xCF\xD3\xFA\x53\xE9\x52\x44\xBB\x53\x82\x1E\x86\x11\xA5\xF8\x85\x0B\xEB\xCE\xBA\x46\x7B\x09\xDD\x93\x0D\x52\x58\x82\xD3\xE0\x75\x8F\x7D\x4B\x4C\x5D\xD3\xE4\xAD\xB9\x32\x70\xAC\xE3\x24\xB1\xFC\xE2\x6E\x4D\xB4\x93\xFF\x67\xE9\xB1\xFC\x2C\x09\x8F\x09\x89\x4B\x52\x65\x3C\x45\xBA\x3F\x12\xC4\x3F\x7F\x58\xA4\xC7\x06\x0C\x03\x9D\x6D\x18\x17\x0C\x47\x2B\xFC\xEE\x48\x46\x82\x93\xBB\x20\x10\x23\xFF\x9D\x5F\x83\x15\x8B\x79\x64\xF9\x65\x8E\x45\x14\xCC\xC8\x40\xBE\x23\x35\x98\xBF\x7C\x2A\x02\x11\x85\xAF\x6B\xD2\xC5\x6C\x31\xF0\xC0\xE1\xBA\x8B\xE8\x0C\x9F\xB2\x43\x9D\x8F\xFC\xC5\xB7\xE5\x9C\xF0\x23\x37\x8B\x06\xA0\x99\x39\x97\x02\x03\x01\x00\x01\xA3\x82\x01\x13\x30\x82\x01\x0F\x30\x0C\x06\x03\x55\x1D\x13\x04\x05\x30\x03\x01\x01\xFF\x30\x1D\x06\x03\x55\x1D\x0E\x04\x16\x04\x14\xB5\xF1\x90\xC7\x7D\xE4\x3E\xCB\x2D\x32\x62\x88\x9A\xD6\xAB\x52\xBE\xA0\xC5\x7B\x30\x81\xDF\x06\x03\x55\x1D\x23\x04\x81\xD7\x30\x81\xD4\x80\x14\xB5\xF1\x90\xC7\x7D\xE4\x3E\xCB\x2D\x32\x62\x88\x9A\xD6\xAB\x52\xBE\xA0\xC5\x7B\xA1\x81\xB8\xA4\x81\xB5\x30\x81\xB2\x31\x23\x30\x21\x06\x03\x55\x04\x03\x13\x1A\x49\x43\x53\x49\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6F\x72\x69\x74\x79\x31\x31\x30\x2F\x06\x03\x55\x04\x0A\x13\x28\x49\x6E\x74\x65\x72\x6E\x61\x74\x69\x6F\x6E\x61\x6C\x20\x43\x6F\x6D\x70\x75\x74\x65\x72\x20\x53\x63\x69\x65\x6E\x63\x65\x20\x49\x6E\x73\x74\x69\x74\x75\x74\x65\x31\x13\x30\x11\x06\x03\x55\x04\x08\x13\x0A\x43\x61\x6C\x69\x66\x6F\x72\x6E\x69\x61\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x11\x30\x0F\x06\x03\x55\x04\x07\x13\x08\x42\x65\x72\x6B\x65\x6C\x65\x79\x31\x23\x30\x21\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x09\x01\x16\x14\x63\x61\x40\x49\x43\x53\x49\x2E\x42\x65\x72\x6B\x65\x6C\x65\x79\x2E\x45\x44\x55\x82\x01\x00\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x04\x05\x00\x03\x82\x01\x01\x00\x2D\xAB\xD8\x86\x41\x6C\xB0\xEF\xE4\x33\x15\xFF\x4C\xC9\x6B\x59\x58\xF7\xF9\x36\xBB\x22\x4A\xC7\x24\x40\x85\xAD\x85\xED\xA1\xF3\x62\x70\xDD\xDA\x79\x2F\x79\x57\xB0\x28\xC7\x2A\x1F\x0E\xD1\x92\xE3\x6E\xE4\xFD\xEB\x1F\xCA\x84\xEE\xFC\xA9\x49\x80\x84\x9B\x04\x9C\xE5\x31\x50\xE1\x31\xC2\x82\xE7\xCC\xF6\xE1\xC1\xAF\x53\x8C\xE3\x73\xF2\xE1\x22\xC7\x3B\x33\xEC\x60\xBE\x61\x00\xA0\x02\xFE\xF1\x66\x4D\x82\xE5\xD0\x79\x2F\xDD\xB3\xF0\xCF\x2C\x7C\x75\x8F\x84\xC6\xE6\x05\xBC\xA2\xDA\x1B\xFB\xD2\x6E\x74\xFB\x3F\xDA\xEA\x6C\xA6\xFA\x58\xF1\x81\xDA\x00\xCD\xBF\x1D\x62\xEF\xF1\x11\x45\xC5\xA1\x2D\x0F\x7F\x62\xFC\xBC\x8C\xCB\x12\x67\xC1\x3D\x14\x3D\xA6\xC6\x9E\x7A\x98\x86\x90\x4B\x86\x04\x96\xA3\x42\xAE\xC5\x9F\x3B\x2C\xC2\xF1\x68\xC0\x5F\x52\x1E\x0D\xA5\x43\x18\xF3\x26\x9E\xEA\x5E\xBB\xF3\x50\xDF\x03\x0C\x7A\xD1\xE0\x10\x29\x70\x91\x55\x6F\x24\x12\x22\x79\x0F\xB6\x59\xBA\x15\x4C\x5F\x62\xDB\x8B\xD0\x62\xDC\xEF\x69\xCC\x60\xD2\x29\x67\x97\xDD\xA4\x0A\xC1\xDC\xE6\x7A\xF1\x29\xB5\x6F\x9E\x9F\x91\xF3\x60\x32\x0C\xAD\x99\x77\xB2" +}; + +redef record connection += { + cert: string &optional; + cert_chain: vector of string &default=vector(); +}; + +event x509_certificate(c: connection, cert: X509, is_server: bool, chain_idx: count, chain_len: count, der_cert: string) + { + print "=================="; + print cert; + print fmt("chain index: %d", chain_idx); + print fmt("chain length: %d", chain_len); + + if ( chain_idx == 0 ) + { + print "saving primary cert"; + c$cert = der_cert; + } + else + { + print "adding cert to chain"; + c$cert_chain[|c$cert_chain|] = der_cert; + } + + if ( chain_idx == chain_len-1 || chain_len == 1 ) + { + local result = x509_err2str(x509_verify(c$cert, c$cert_chain, root_certs)); + print fmt("verifying cert... %s", result); + } + } + + diff --git a/policy/protocols/syslog/__load__.bro b/policy/protocols/syslog/__load__.bro new file mode 100644 index 0000000000..0cac38ce66 --- /dev/null +++ b/policy/protocols/syslog/__load__.bro @@ -0,0 +1 @@ +@load syslog/base \ No newline at end of file diff --git a/policy/protocols/syslog/base.bro b/policy/protocols/syslog/base.bro new file mode 100644 index 0000000000..ea5e11fce3 --- /dev/null +++ b/policy/protocols/syslog/base.bro @@ -0,0 +1,52 @@ +##! Core script support for logging syslog messages. + +@load syslog/consts + +module Syslog; + +export { + redef enum Log::ID += { SYSLOG }; + + type Info: record { + ts: time &log; + uid: string &log; + id: conn_id &log; + proto: transport_proto &log; + facility: string &log; + severity: string &log; + message: string &log; + }; + + const ports = { 514/udp } &redef; +} + +redef capture_filters += { ["syslog"] = "port 514" }; +redef dpd_config += { [ANALYZER_SYSLOG_BINPAC] = [$ports = ports] }; + +redef record connection += { + syslog: Info &optional; +}; + +event bro_init() + { + Log::create_stream(SYSLOG, [$columns=Info]); + } + +event syslog_message(c: connection, facility: count, severity: count, msg: string) &priority=5 + { + local info: Info; + info$ts=network_time(); + info$uid=c$uid; + info$id=c$id; + info$proto=get_port_transport_proto(c$id$resp_p); + info$facility=facility_codes[facility]; + info$severity=severity_codes[severity]; + info$message=msg; + + c$syslog = info; + } + +event syslog_message(c: connection, facility: count, severity: count, msg: string) &priority=-5 + { + Log::write(SYSLOG, c$syslog); + } \ No newline at end of file diff --git a/policy/protocols/syslog/consts.bro b/policy/protocols/syslog/consts.bro new file mode 100644 index 0000000000..f08e7f71d7 --- /dev/null +++ b/policy/protocols/syslog/consts.bro @@ -0,0 +1,41 @@ +module Syslog; + +export { + const facility_codes: table[count] of string = { + [0] = "KERN", + [1] = "USER", + [2] = "MAIL", + [3] = "DAEMON", + [4] = "AUTH", + [5] = "SYSLOG", + [6] = "LPR", + [7] = "NEWS", + [8] = "UUCP", + [9] = "CRON", + [10] = "AUTHPRIV", + [11] = "FTP", + [12] = "NTP", + [13] = "AUDIT", + [14] = "ALERT", + [15] = "CLOCK", + [16] = "LOCAL0", + [17] = "LOCAL1", + [18] = "LOCAL2", + [19] = "LOCAL3", + [20] = "LOCAL4", + [21] = "LOCAL5", + [22] = "LOCAL6", + [23] = "LOCAL7", + } &default=function(c: count): string { return fmt("?-%d", c); }; + + const severity_codes: table[count] of string = { + [0] = "EMERG", + [1] = "ALERT", + [2] = "CRIT", + [3] = "ERR", + [4] = "WARNING", + [5] = "NOTICE", + [6] = "INFO", + [7] = "DEBUG", + } &default=function(c: count): string { return fmt("?-%d", c); }; +} \ No newline at end of file diff --git a/policy/server-ports.bro b/policy/server-ports.bro deleted file mode 100644 index 5645b6c716..0000000000 --- a/policy/server-ports.bro +++ /dev/null @@ -1,70 +0,0 @@ -# $Id: server-ports.bro,v 1.1.2.1 2006/05/31 23:19:07 sommer Exp $ -# -# Automatically-loaded script which sets defaults for likely server ports. - -redef likely_server_ports += { - - ### TCP - - 21/tcp, - 22/tcp, - 23/tcp, - 25/tcp, - 587/tcp, - 513/tcp, - 79/tcp, - 113/tcp, - 80/tcp, - 8080/tcp, - 8000/tcp, - 8888/tcp, - 3128/tcp, - 53/tcp, - 111/tcp, - 139/tcp, - 6346/tcp, - 8436/tcp, - 135/tcp, - 445/tcp, - 110/tcp, - 6666/tcp, - 6667/tcp, - - # SSL-relatd ports/tcp, - 443/tcp, - 563/tcp, - 585/tcp, - 614/tcp, - 636/tcp, - 989/tcp, - 990/tcp, - 992/tcp, - 993/tcp, - 994/tcp, - 995/tcp, - 8443/tcp, - - # Not analyzed (yet), but give a hint which side the server is. - 143/tcp, # IMAP - 497/tcp, # Dantz - 515/tcp, # LPD - 524/tcp, # Netware core protocol - 631/tcp, # IPP - 1521/tcp, # Oracle SQL - 2049/tcp, # NFS - 5730/tcp, # Calendar - 6000/tcp, # X11 - 6001/tcp, # X11 - 16384/tcp, # Connected Backup - - ### UDP - - 53/udp, - 111/udp, - 123/udp, - 137/udp, - 138/udp, - 161/udp, - 427/udp, # srvloc - 2049/udp, # NFS -}; diff --git a/policy/signatures.bro b/policy/signatures.bro deleted file mode 100644 index 5dfe4d6d50..0000000000 --- a/policy/signatures.bro +++ /dev/null @@ -1,307 +0,0 @@ -# $Id: signatures.bro 4909 2007-09-24 02:26:36Z vern $ - -@load notice - -redef enum Notice += { - SensitiveSignature, # generic for alarm-worthy - MultipleSignatures, # host has triggered many signatures - MultipleSigResponders, # host has triggered same signature on - # multiple responders - CountSignature, # sig. has triggered mutliple times for a dest - SignatureSummary, # summarize # times a host triggered a signature -}; - -type SigAction: enum { - SIG_IGNORE, # ignore this sig. completely (even for scan detection) - SIG_QUIET, # process, but don't report individually - SIG_FILE, # write to signatures and notice files - SIG_FILE_BUT_NO_SCAN, # as SIG_FILE, but ignore for scan processing - SIG_ALARM, # alarm and write to signatures, notice, and alarm files - SIG_ALARM_PER_ORIG, # alarm once per originator - SIG_ALARM_ONCE, # alarm once and then never again - SIG_ALARM_NO_WORM, # alarm if not originated by a known worm-source - SIG_COUNT_PER_RESP, # count per dest. and alarm if threshold reached - SIG_SUMMARY, # don't alarm, but generate per-orig summary -}; - -# Actions for a signature. -const signature_actions: table[string] of SigAction = { - ["unspecified"] = SIG_IGNORE, # place-holder -} &redef &default = SIG_ALARM; - -type sig_info: record { - note: Notice; # notice associated with signature event - src_addr: addr &optional; - src_port: port &optional; - dst_addr: addr &optional; - dst_port: port &optional; - sig_id: string &optional &default=""; - event_msg: string; - sub_msg: string &optional; # matched payload data or extra message - sig_count: count &optional; # num. sigs, usually from summary count - host_count: count &optional; # num. hosts, from a summary count -}; - -global sig_file = open_log_file("signatures"); - -global sig_summary_interval = 1 day &redef; - -# Given a string, returns an escaped version suitable for being -# printed in the colon-separated notice format. This means that -# (1) any colons are escaped using '\', and (2) any '\'s are -# likewise escaped. -function signature_escape(s: string): string - { - s = subst_string(s, "\\", "\\\\"); - return subst_string(s, ":", "\\:"); - } - -# function call for writing to the signatures log file -function signature_file_write(s: sig_info) - { - local t = fmt("%.06f", network_time()); - local src_addr = s?$src_addr ? fmt("%s", s$src_addr) : ""; - local src_port = s?$src_port ? fmt("%s", s$src_port) : ""; - local dst_addr = s?$dst_addr ? fmt("%s", s$dst_addr) : ""; - local dst_port = s?$dst_port ? fmt("%s", s$dst_port) : ""; - local sub_msg = s?$sub_msg ? signature_escape(s$sub_msg) : ""; - local sig_count = s?$sig_count ? fmt("%s", s$sig_count) : ""; - local host_count = s?$host_count ? fmt("%s", s$host_count) : ""; - - local info = - fmt("%s:%s:%s:%s:%s:%s:%s:%s:%s:%s:%s", - t, s$note, src_addr, src_port, dst_addr, - dst_port, s$sig_id, s$event_msg, sub_msg, - sig_count, host_count); - - print sig_file, info; - } - - -# Scan detection. - -# Alarm if, for a pair [orig, signature], the number of different responders -# has reached one of the thresholds. -const horiz_scan_thresholds = { 5, 10, 50, 100, 500, 1000 } &redef; - -# Alarm if, for a pair [orig, resp], the number of different signature matches -# has reached one of the thresholds. -const vert_scan_thresholds = { 5, 10, 50, 100, 500, 1000 } &redef; - -# Alarm if a SIG_COUNT_PER_RESP signature is triggered as often as given -# by one of these thresholds. -const count_thresholds = { 5, 10, 50, 100, 500, 1000, 10000, 1000000, } &redef; - -type sig_set: set[string]; -type addr_set: set[addr]; - -# We may need to define some &read_expires on these: -global horiz_table: table[addr, string] of addr_set &read_expire = 1 hr; -global vert_table: table[addr, addr] of sig_set &read_expire = 1 hr; -global last_hthresh: table[addr] of count &default = 0 &read_expire = 1 hr; -global last_vthresh: table[addr] of count &default = 0 &read_expire = 1 hr; -global count_per_resp: table[addr, string] of count - &default = 0 &read_expire = 1 hr; -global count_per_orig: table[addr, string] of count - &default = 0 &read_expire = 1 hr; -global did_sig_log: set[string] &read_expire = 1 hr; - -event sig_summary(orig: addr, id: string, msg: string) - { -@ifdef ( is_worm_infectee ) - if ( is_worm_infectee(orig) ) - return; -@endif - - NOTICE([$note=SignatureSummary, $src=orig, - $filename=id, $msg=fmt("%s: %s", orig, msg), - $n=count_per_orig[orig,id] ]); - } - -event signature_match(state: signature_state, msg: string, data: string) - { - local id = state$id; - local action = signature_actions[id]; - - if ( action == SIG_IGNORE ) - return; - - # We always add it to the connection record. - append_addl(state$conn, state$id); - - # Trim the matched data down to something reasonable - if ( byte_len(data) > 140 ) - data = fmt("%s...", sub_bytes(data, 0, 140)); - - if ( action != SIG_QUIET && action != SIG_COUNT_PER_RESP ) - { - if ( state$is_orig ) - { - signature_file_write( - [$note=SensitiveSignature, - $src_addr=state$conn$id$orig_h, - $src_port=state$conn$id$orig_p, - $dst_addr=state$conn$id$resp_h, - $dst_port=state$conn$id$resp_p, - $sig_id=state$id, - $event_msg=fmt("%s: %s", state$conn$id$orig_h, msg), - $sub_msg=data]); - } - else - { - signature_file_write( - [$note=SensitiveSignature, - $src_addr=state$conn$id$resp_h, - $src_port=state$conn$id$resp_p, - $dst_addr=state$conn$id$orig_h, - $dst_port=state$conn$id$orig_p, - $sig_id=state$id, - $event_msg=fmt("%s: %s", state$conn$id$resp_h, msg), - $sub_msg=data]); - } - } - - local notice = F; - - if ( action == SIG_ALARM ) - notice = T; - -@ifdef ( is_worm_infectee ) - if ( action == SIG_ALARM_NO_WORM && - ! is_worm_infectee(state$conn$id$orig_h) ) - notice = T; -@endif - - if ( action == SIG_COUNT_PER_RESP ) - { - local dst = state$conn$id$resp_h; - if ( ++count_per_resp[dst,id] in count_thresholds ) - { - NOTICE([$note=CountSignature, $conn=state$conn, - $msg=msg, - $filename=id, - $n=count_per_resp[dst,id], - $sub=fmt("%d matches of signature %s on host %s", - count_per_resp[dst,id], - state$id, dst)]); - } - } - - if ( (action == SIG_ALARM_PER_ORIG || action == SIG_SUMMARY) && - ++count_per_orig[state$conn$id$orig_h, state$id] == 1 ) - { - if ( action == SIG_ALARM_PER_ORIG ) - notice = T; - else - schedule sig_summary_interval - { - sig_summary(state$conn$id$orig_h, state$id, msg) - }; - } - - if ( action == SIG_ALARM_ONCE ) - { - if ( [state$id] !in did_sig_log ) - { - notice = T; - add did_sig_log[state$id]; - } - } - - if ( notice ) - { - local src_addr: addr; - local src_port: port; - local dst_addr: addr; - local dst_port: port; - - if ( state$is_orig ) - { - src_addr = state$conn$id$orig_h; - src_port = state$conn$id$orig_p; - dst_addr = state$conn$id$resp_h; - dst_port = state$conn$id$resp_p; - } - else - { - src_addr = state$conn$id$resp_h; - src_port = state$conn$id$resp_p; - dst_addr = state$conn$id$orig_h; - dst_port = state$conn$id$orig_p; - } - - NOTICE([$note=SensitiveSignature, - $conn=state$conn, $src=src_addr, - $dst=dst_addr, $filename=id, $msg=fmt("%s: %s", src_addr, msg), - $sub=data]); - } - - if ( action == SIG_FILE_BUT_NO_SCAN || action == SIG_SUMMARY ) - return; - -@ifdef ( is_worm_infectee ) - # Ignore scanning of known worm infectees. - if ( is_worm_infectee(state$conn$id$orig_h) ) - return; -@endif - - # Keep track of scans. - local orig = state$conn$id$orig_h; - local resp = state$conn$id$resp_h; - - if ( [orig, id] !in horiz_table ) - horiz_table[orig, id] = set(); - - add horiz_table[orig, id][resp]; - - if ( [orig, resp] !in vert_table ) - vert_table[orig, resp] = set(); - - add vert_table[orig, resp][id]; - - local hcount = length(horiz_table[orig, id]); - local vcount = length(vert_table[orig, resp]); - - if ( hcount in horiz_scan_thresholds && hcount != last_hthresh[orig] ) - { - local horz_scan_msg = - fmt("%s has triggered signature %s on %d hosts", - orig, id, hcount); - - signature_file_write([$note=MultipleSigResponders, - $src_addr=orig, $sig_id=id, $event_msg=msg, - $host_count=hcount, $sub_msg=horz_scan_msg]); - - NOTICE([$note=MultipleSigResponders, $src=orig, $filename=id, - $msg=msg, $n=hcount, $sub=horz_scan_msg]); - - last_hthresh[orig] = hcount; - } - - if ( vcount in vert_scan_thresholds && vcount != last_vthresh[orig] ) - { - local vert_scan_msg = - fmt("%s has triggered %d different signatures on host %s", - orig, vcount, resp); - - signature_file_write([$note=MultipleSignatures, $src_addr=orig, - $dst_addr=resp, $sig_id=id, $sig_count=vcount, - $event_msg= fmt("%s different signatures triggered", - vcount), - $sub_msg=vert_scan_msg]); - - NOTICE([$note=MultipleSignatures, $src=orig, $dst=resp, - $filename=id, - $msg=fmt("%s different signatures triggered", vcount), - $n=vcount, $sub=vert_scan_msg]); - - last_vthresh[orig] = vcount; - } - } - -# Returns true if the given signature has already been triggered for the given -# [orig, resp] pair. -function has_signature_matched(id: string, orig: addr, resp: addr): bool - { - return [orig, resp] in vert_table ? id in vert_table[orig, resp] : F; - } diff --git a/policy/site.bro b/policy/site.bro index 95c9c5cb89..f6e14f457f 100644 --- a/policy/site.bro +++ b/policy/site.bro @@ -1,17 +1,138 @@ -# $Id: site.bro 416 2004-09-17 03:52:28Z vern $ -# -# Definitions describing a site - which networks are "local" -# and "neighbors", and servers running particular services. +##! Definitions describing a site - which networks and DNS zones are "local" +##! and "neighbors", and servers running particular services. +@load utils/pattern -# Networks that are considered "local". -const local_nets: set[subnet] &redef; +module Site; + +export { + ## Address space that is considered private and unrouted. + ## By default it has RFC defined non-routable IPv4 address space. + const private_address_space: set[subnet] = { + 10.0.0.0/8, + 192.168.0.0/16, + 127.0.0.0/8, + 172.16.0.0/12 + } &redef; + + ## Networks that are considered "local". + const local_nets: set[subnet] &redef; + + ## Networks that are considered "neighbors". + const neighbor_nets: set[subnet] &redef; + + ## If local network administrators are known and they have responsibility + ## for defined address space, then a mapping can be defined here between + ## networks for which they have responsibility and a set of email + ## addresses. + const local_admins: table[subnet] of set[string] = {} &redef; + + ## DNS zones that are considered "local". + const local_zones: set[string] &redef; + + ## DNS zones that are considered "neighbors". + const neighbor_zones: set[string] &redef; + + ## Function that returns true if an address corresponds to one of + ## the local networks, false if not. + global is_local_addr: function(a: addr): bool; + + ## Function that returns true if an address corresponds to one of + ## the neighbor networks, false if not. + global is_neighbor_addr: function(a: addr): bool; + + ## Function that returns true if an address corresponds to one of + ## the private/unrouted networks, false if not. + global is_private_addr: function(a: addr): bool; + + ## Function that returns true if a host name is within a local + ## DNS zone. + global is_local_name: function(name: string): bool; + + ## Function that returns true if a host name is within a neighbor + ## DNS zone. + global is_neighbor_name: function(name: string): bool; + + ## Function that returns a common separated list of email addresses + ## that are considered administrators for the IP address provided as + ## an argument. + global get_emails: function(a: addr): string; +} + +# Please ignore, this is an interally used variable. +global local_dns_suffix_regex: pattern = /MATCH_NOTHING/; +global local_dns_neighbor_suffix_regex: pattern = /MATCH_NOTHING/; -# Networks that are considered "neighbors". -const neighbor_nets: set[subnet] &redef; -# Function that returns true if an address corresponds to one of -# the local networks, false if not. function is_local_addr(a: addr): bool { return a in local_nets; } + +function is_neighbor_addr(a: addr): bool + { + return a in neighbor_nets; + } + +function is_private_addr(a: addr): bool + { + return a in private_address_space; + } + +function is_local_name(name: string): bool + { + return local_dns_suffix_regex in name; + } + +function is_neighbor_name(name: string): bool + { + return local_dns_neighbor_suffix_regex in name; + } + +# This is a hack for doing a for loop. +const one_to_32: vector of count = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}; + +# TODO: make this work with IPv6 +function find_all_emails(ip: addr): set[string] + { + if ( ip !in local_admins ) return set(); + + local output_values: set[string] = set(); + local tmp_ip: addr; + local i: count; + local emails: string; + for ( i in one_to_32 ) + { + tmp_ip = mask_addr(ip, one_to_32[i]); + for ( email in local_admins[tmp_ip] ) + { + if ( email != "" ) + add output_values[email]; + } + } + return output_values; + } + +function fmt_email_string(emails: set[string]): string + { + local output=""; + for( email in emails ) + { + if ( output == "" ) + output = email; + else + output = fmt("%s, %s", output, email); + } + return output; + } + +function get_emails(a: addr): string + { + return fmt_email_string(find_all_emails(a)); + } + +event bro_init() &priority=10 + { + # Double backslashes are needed due to string parsing. + local_dns_suffix_regex = set_to_regex(local_zones, "(^\\.?|\\.)(~~)$"); + local_dns_neighbor_suffix_regex = set_to_regex(neighbor_zones, "(^\\.?|\\.)(~~)$"); + } diff --git a/policy/software.bro b/policy/software.bro deleted file mode 100644 index 0bdeb824b7..0000000000 --- a/policy/software.bro +++ /dev/null @@ -1,172 +0,0 @@ -# $Id: software.bro 4907 2007-09-23 23:44:07Z vern $ -# -# Keeps track of the software running on hosts. - -@load site -@load weird - -# Operational use of software.bro on a busy network can result in huge -# data files. By default creating a log file is turned off. -global log_software = F &redef; - -# If true, then logging is confined to just software versions of local hosts. -global only_report_local = T &redef; - -global software_file = open_log_file("software"); - -# Invoked whenever we discover new software for a host (but not for a new -# version of previously found software). -global software_new: event(c: connection, host: addr, s: software, - descr: string); - -# Invoked whenever we discover a new version of previously discovered -# software. -global software_version_change: event(c: connection, host: addr, s: software, - old_version: software_version, descr: string); - -# Index is the name of the software. -type software_set: table[string] of software; - -# You may or may not want to define a timeout for this. -global software_table: table[addr] of software_set; - -# Some software can be installed twice on the same server -# with different major numbers. -global software_ident_by_major: set[string] = { - "PHP", - "WebSTAR", -} &redef; - -# Compare two versions. -# Returns -1 for v1 < v2, 0 for v1 == v2, 1 for v1 > v2. -# If the numerical version numbers match, the addl string -# is compared lexicographically. -function software_cmp_version(v1: software_version, v2: software_version): int - { - if ( v1$major < v2$major ) - return -1; - if ( v1$major > v2$major ) - return 1; - - if ( v1$minor < v2$minor ) - return -1; - if ( v1$minor > v2$minor ) - return 1; - - if ( v1$minor2 < v2$minor2 ) - return -1; - if ( v1$minor2 > v2$minor2 ) - return 1; - - return strcmp(v1$addl, v2$addl); - } - -# Convert a version into a string "a.b.c-x". -function software_fmt_version(v: software_version): string - { - return fmt("%s%s%s%s", - v$major >= 0 ? fmt("%d", v$major) : "", - v$minor >= 0 ? fmt(".%d", v$minor) : "", - v$minor2 >= 0 ? fmt(".%d", v$minor2) : "", - v$addl != "" ? fmt("-%s", v$addl) : ""); - } - -# Convert a software into a string "name a.b.cx". -function software_fmt(s: software): string - { - return fmt("%s %s", s$name, software_fmt_version(s$version)); - } - -# Insert a mapping into the table -# Overides old entries for the same software and generates events if needed. -### FIXME: Do we need a software_unregister() as well? -function software_register(c: connection, host: addr, s: software, - descr: string) - { - # Host already known? - if ( host !in software_table ) - software_table[host] = set(); - - # If a software can be installed more than once on a host - # (with a different major version), we identify it by "<name>-<major>" - if ( s$name in software_ident_by_major && s$version$major >= 0 ) - s$name = fmt("%s-%d", s$name, s$version$major); - - local soft_set = software_table[host]; - - # Software already registered for this host? - if ( s$name in soft_set ) - { - # Is it a different version? - local old = soft_set[s$name]; - if ( software_cmp_version(old$version, s$version) != 0 ) - event software_version_change(c, host, s, old$version, - descr); - } - else - event software_new(c, host, s, descr); - - soft_set[s$name] = s; - } - -event software_version_found(c: connection, host: addr, s: software, - descr: string) - { - if ( ! only_report_local || is_local_addr(host) ) - software_register(c, host, s, descr); - } - -function software_endpoint_name(c: connection, host: addr): string - { - return fmt("%s %s", host, - host == c$id$orig_h ? "client" : "server"); - } - -event software_parse_error(c: connection, host: addr, descr: string) - { - if ( ! only_report_local || is_local_addr(host) ) - { - # Here we need a little hack, since software_file is - # not always there. - local msg = fmt("%.6f %s: can't parse '%s'", network_time(), - software_endpoint_name(c, host), descr); - - if ( log_software ) - print software_file, msg; - else - print Weird::weird_file, msg; - } - } - -event software_new(c: connection, host: addr, s: software, descr: string) - { - if ( log_software ) - { - print software_file, fmt("%.6f %s uses %s (%s)", network_time(), - software_endpoint_name(c, host), - software_fmt(s), descr); - } - } - -event software_version_change(c: connection, host: addr, s: software, - old_version: software_version, descr: string) - { - if ( log_software ) - { - local msg = fmt("%.6f %s switched from %s to %s (%s)", - network_time(), software_endpoint_name(c, host), - software_fmt_version(old_version), - software_fmt(s), descr); - - print software_file, msg; - } - } - -event software_unparsed_version_found(c: connection, host: addr, str: string) - { - if ( log_software ) - { - print software_file, fmt("%.6f %s: [%s]", network_time(), - software_endpoint_name(c, host), str); - } - } diff --git a/policy/ssh.bro b/policy/ssh.bro deleted file mode 100644 index 5ebd075d7f..0000000000 --- a/policy/ssh.bro +++ /dev/null @@ -1,41 +0,0 @@ -# $Id: ssh.bro 6588 2009-02-17 00:02:53Z vern $ - -module SSH; - -export { - # If true, we tell the event engine to not look at further data - # packets after the initial SSH handshake. Helps with performance - # (especially with large file transfers) but precludes some - # kinds of analyses (e.g., tracking connection size). - const skip_processing_after_handshake = T &redef; - - global ssh_ports = { 22/tcp } &redef; -} - -redef capture_filters += { ["ssh"] = "tcp port 22" }; - -redef dpd_config += { [ANALYZER_SSH] = [$ports = ssh_ports] }; - -const ssh_log = open_log_file("ssh") &redef; - -# Indexed by address and T for client, F for server. -global did_ssh_version: table[addr, bool] of count - &default = 0 &read_expire = 7 days; - -event ssh_client_version(c: connection, version: string) - { - if ( ++did_ssh_version[c$id$orig_h, T] == 1 ) - print ssh_log, fmt("%s %s \"%s\"", c$id$orig_h, "C", version); - - if ( skip_processing_after_handshake ) - { - skip_further_processing(c$id); - set_record_packets(c$id, F); - } - } - -event ssh_server_version(c: connection, version: string) - { - if ( ++did_ssh_version[c$id$resp_h, F] == 1 ) - print ssh_log, fmt("%s %s \"%s\"", c$id$resp_h, "S", version); - } diff --git a/policy/ssl-mozilla-CAs.bro b/policy/ssl-mozilla-CAs.bro deleted file mode 100644 index 5d92e27dbd..0000000000 --- a/policy/ssl-mozilla-CAs.bro +++ /dev/null @@ -1,131 +0,0 @@ -redef root_ca_certs += { - ["GTE CyberTrust Global Root"] = "\x30\x82\x02\x5a\x30\x82\x01\xc3\x02\x02\x01\xa5\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x30\x75\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x18\x30\x16\x06\x03\x55\x04\x0a\x13\x0f\x47\x54\x45\x20\x43\x6f\x72\x70\x6f\x72\x61\x74\x69\x6f\x6e\x31\x27\x30\x25\x06\x03\x55\x04\x0b\x13\x1e\x47\x54\x45\x20\x43\x79\x62\x65\x72\x54\x72\x75\x73\x74\x20\x53\x6f\x6c\x75\x74\x69\x6f\x6e\x73\x2c\x20\x49\x6e\x63\x2e\x31\x23\x30\x21\x06\x03\x55\x04\x03\x13\x1a\x47\x54\x45\x20\x43\x79\x62\x65\x72\x54\x72\x75\x73\x74\x20\x47\x6c\x6f\x62\x61\x6c\x20\x52\x6f\x6f\x74\x30\x1e\x17\x0d\x39\x38\x30\x38\x31\x33\x30\x30\x32\x39\x30\x30\x5a\x17\x0d\x31\x38\x30\x38\x31\x33\x32\x33\x35\x39\x30\x30\x5a\x30\x75\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x18\x30\x16\x06\x03\x55\x04\x0a\x13\x0f\x47\x54\x45\x20\x43\x6f\x72\x70\x6f\x72\x61\x74\x69\x6f\x6e\x31\x27\x30\x25\x06\x03\x55\x04\x0b\x13\x1e\x47\x54\x45\x20\x43\x79\x62\x65\x72\x54\x72\x75\x73\x74\x20\x53\x6f\x6c\x75\x74\x69\x6f\x6e\x73\x2c\x20\x49\x6e\x63\x2e\x31\x23\x30\x21\x06\x03\x55\x04\x03\x13\x1a\x47\x54\x45\x20\x43\x79\x62\x65\x72\x54\x72\x75\x73\x74\x20\x47\x6c\x6f\x62\x61\x6c\x20\x52\x6f\x6f\x74\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\x95\x0f\xa0\xb6\xf0\x50\x9c\xe8\x7a\xc7\x88\xcd\xdd\x17\x0e\x2e\xb0\x94\xd0\x1b\x3d\x0e\xf6\x94\xc0\x8a\x94\xc7\x06\xc8\x90\x97\xc8\xb8\x64\x1a\x7a\x7e\x6c\x3c\x53\xe1\x37\x28\x73\x60\x7f\xb2\x97\x53\x07\x9f\x53\xf9\x6d\x58\x94\xd2\xaf\x8d\x6d\x88\x67\x80\xe6\xed\xb2\x95\xcf\x72\x31\xca\xa5\x1c\x72\xba\x5c\x02\xe7\x64\x42\xe7\xf9\xa9\x2c\xd6\x3a\x0d\xac\x8d\x42\xaa\x24\x01\x39\xe6\x9c\x3f\x01\x85\x57\x0d\x58\x87\x45\xf8\xd3\x85\xaa\x93\x69\x26\x85\x70\x48\x80\x3f\x12\x15\xc7\x79\xb4\x1f\x05\x2f\x3b\x62\x99\x02\x03\x01\x00\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x03\x81\x81\x00\x6d\xeb\x1b\x09\xe9\x5e\xd9\x51\xdb\x67\x22\x61\xa4\x2a\x3c\x48\x77\xe3\xa0\x7c\xa6\xde\x73\xa2\x14\x03\x85\x3d\xfb\xab\x0e\x30\xc5\x83\x16\x33\x81\x13\x08\x9e\x7b\x34\x4e\xdf\x40\xc8\x74\xd7\xb9\x7d\xdc\xf4\x76\x55\x7d\x9b\x63\x54\x18\xe9\xf0\xea\xf3\x5c\xb1\xd9\x8b\x42\x1e\xb9\xc0\x95\x4e\xba\xfa\xd5\xe2\x7c\xf5\x68\x61\xbf\x8e\xec\x05\x97\x5f\x5b\xb0\xd7\xa3\x85\x34\xc4\x24\xa7\x0d\x0f\x95\x93\xef\xcb\x94\xd8\x9e\x1f\x9d\x5c\x85\x6d\xc7\xaa\xae\x4f\x1f\x22\xb5\xcd\x95\xad\xba\xa7\xcc\xf9\xab\x0b\x7a\x7f", - ["Thawte Server CA"] = "\x30\x82\x03\x13\x30\x82\x02\x7c\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x30\x81\xc4\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x5a\x41\x31\x15\x30\x13\x06\x03\x55\x04\x08\x13\x0c\x57\x65\x73\x74\x65\x72\x6e\x20\x43\x61\x70\x65\x31\x12\x30\x10\x06\x03\x55\x04\x07\x13\x09\x43\x61\x70\x65\x20\x54\x6f\x77\x6e\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x13\x14\x54\x68\x61\x77\x74\x65\x20\x43\x6f\x6e\x73\x75\x6c\x74\x69\x6e\x67\x20\x63\x63\x31\x28\x30\x26\x06\x03\x55\x04\x0b\x13\x1f\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x20\x44\x69\x76\x69\x73\x69\x6f\x6e\x31\x19\x30\x17\x06\x03\x55\x04\x03\x13\x10\x54\x68\x61\x77\x74\x65\x20\x53\x65\x72\x76\x65\x72\x20\x43\x41\x31\x26\x30\x24\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x17\x73\x65\x72\x76\x65\x72\x2d\x63\x65\x72\x74\x73\x40\x74\x68\x61\x77\x74\x65\x2e\x63\x6f\x6d\x30\x1e\x17\x0d\x39\x36\x30\x38\x30\x31\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x30\x31\x32\x33\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x81\xc4\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x5a\x41\x31\x15\x30\x13\x06\x03\x55\x04\x08\x13\x0c\x57\x65\x73\x74\x65\x72\x6e\x20\x43\x61\x70\x65\x31\x12\x30\x10\x06\x03\x55\x04\x07\x13\x09\x43\x61\x70\x65\x20\x54\x6f\x77\x6e\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x13\x14\x54\x68\x61\x77\x74\x65\x20\x43\x6f\x6e\x73\x75\x6c\x74\x69\x6e\x67\x20\x63\x63\x31\x28\x30\x26\x06\x03\x55\x04\x0b\x13\x1f\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x20\x44\x69\x76\x69\x73\x69\x6f\x6e\x31\x19\x30\x17\x06\x03\x55\x04\x03\x13\x10\x54\x68\x61\x77\x74\x65\x20\x53\x65\x72\x76\x65\x72\x20\x43\x41\x31\x26\x30\x24\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x17\x73\x65\x72\x76\x65\x72\x2d\x63\x65\x72\x74\x73\x40\x74\x68\x61\x77\x74\x65\x2e\x63\x6f\x6d\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xd3\xa4\x50\x6e\xc8\xff\x56\x6b\xe6\xcf\x5d\xb6\xea\x0c\x68\x75\x47\xa2\xaa\xc2\xda\x84\x25\xfc\xa8\xf4\x47\x51\xda\x85\xb5\x20\x74\x94\x86\x1e\x0f\x75\xc9\xe9\x08\x61\xf5\x06\x6d\x30\x6e\x15\x19\x02\xe9\x52\xc0\x62\xdb\x4d\x99\x9e\xe2\x6a\x0c\x44\x38\xcd\xfe\xbe\xe3\x64\x09\x70\xc5\xfe\xb1\x6b\x29\xb6\x2f\x49\xc8\x3b\xd4\x27\x04\x25\x10\x97\x2f\xe7\x90\x6d\xc0\x28\x42\x99\xd7\x4c\x43\xde\xc3\xf5\x21\x6d\x54\x9f\x5d\xc3\x58\xe1\xc0\xe4\xd9\x5b\xb0\xb8\xdc\xb4\x7b\xdf\x36\x3a\xc2\xb5\x66\x22\x12\xd6\x87\x0d\x02\x03\x01\x00\x01\xa3\x13\x30\x11\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x03\x81\x81\x00\x07\xfa\x4c\x69\x5c\xfb\x95\xcc\x46\xee\x85\x83\x4d\x21\x30\x8e\xca\xd9\xa8\x6f\x49\x1a\xe6\xda\x51\xe3\x60\x70\x6c\x84\x61\x11\xa1\x1a\xc8\x48\x3e\x59\x43\x7d\x4f\x95\x3d\xa1\x8b\xb7\x0b\x62\x98\x7a\x75\x8a\xdd\x88\x4e\x4e\x9e\x40\xdb\xa8\xcc\x32\x74\xb9\x6f\x0d\xc6\xe3\xb3\x44\x0b\xd9\x8a\x6f\x9a\x29\x9b\x99\x18\x28\x3b\xd1\xe3\x40\x28\x9a\x5a\x3c\xd5\xb5\xe7\x20\x1b\x8b\xca\xa4\xab\x8d\xe9\x51\xd9\xe2\x4c\x2c\x59\xa9\xda\xb9\xb2\x75\x1b\xf6\x42\xf2\xef\xc7\xf2\x18\xf9\x89\xbc\xa3\xff\x8a\x23\x2e\x70\x47", - ["Thawte Premium Server CA"] = "\x30\x82\x03\x27\x30\x82\x02\x90\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x30\x81\xce\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x5a\x41\x31\x15\x30\x13\x06\x03\x55\x04\x08\x13\x0c\x57\x65\x73\x74\x65\x72\x6e\x20\x43\x61\x70\x65\x31\x12\x30\x10\x06\x03\x55\x04\x07\x13\x09\x43\x61\x70\x65\x20\x54\x6f\x77\x6e\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x13\x14\x54\x68\x61\x77\x74\x65\x20\x43\x6f\x6e\x73\x75\x6c\x74\x69\x6e\x67\x20\x63\x63\x31\x28\x30\x26\x06\x03\x55\x04\x0b\x13\x1f\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x20\x44\x69\x76\x69\x73\x69\x6f\x6e\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x54\x68\x61\x77\x74\x65\x20\x50\x72\x65\x6d\x69\x75\x6d\x20\x53\x65\x72\x76\x65\x72\x20\x43\x41\x31\x28\x30\x26\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x19\x70\x72\x65\x6d\x69\x75\x6d\x2d\x73\x65\x72\x76\x65\x72\x40\x74\x68\x61\x77\x74\x65\x2e\x63\x6f\x6d\x30\x1e\x17\x0d\x39\x36\x30\x38\x30\x31\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x30\x31\x32\x33\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x81\xce\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x5a\x41\x31\x15\x30\x13\x06\x03\x55\x04\x08\x13\x0c\x57\x65\x73\x74\x65\x72\x6e\x20\x43\x61\x70\x65\x31\x12\x30\x10\x06\x03\x55\x04\x07\x13\x09\x43\x61\x70\x65\x20\x54\x6f\x77\x6e\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x13\x14\x54\x68\x61\x77\x74\x65\x20\x43\x6f\x6e\x73\x75\x6c\x74\x69\x6e\x67\x20\x63\x63\x31\x28\x30\x26\x06\x03\x55\x04\x0b\x13\x1f\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x20\x44\x69\x76\x69\x73\x69\x6f\x6e\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x54\x68\x61\x77\x74\x65\x20\x50\x72\x65\x6d\x69\x75\x6d\x20\x53\x65\x72\x76\x65\x72\x20\x43\x41\x31\x28\x30\x26\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x19\x70\x72\x65\x6d\x69\x75\x6d\x2d\x73\x65\x72\x76\x65\x72\x40\x74\x68\x61\x77\x74\x65\x2e\x63\x6f\x6d\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xd2\x36\x36\x6a\x8b\xd7\xc2\x5b\x9e\xda\x81\x41\x62\x8f\x38\xee\x49\x04\x55\xd6\xd0\xef\x1c\x1b\x95\x16\x47\xef\x18\x48\x35\x3a\x52\xf4\x2b\x6a\x06\x8f\x3b\x2f\xea\x56\xe3\xaf\x86\x8d\x9e\x17\xf7\x9e\xb4\x65\x75\x02\x4d\xef\xcb\x09\xa2\x21\x51\xd8\x9b\xd0\x67\xd0\xba\x0d\x92\x06\x14\x73\xd4\x93\xcb\x97\x2a\x00\x9c\x5c\x4e\x0c\xbc\xfa\x15\x52\xfc\xf2\x44\x6e\xda\x11\x4a\x6e\x08\x9f\x2f\x2d\xe3\xf9\xaa\x3a\x86\x73\xb6\x46\x53\x58\xc8\x89\x05\xbd\x83\x11\xb8\x73\x3f\xaa\x07\x8d\xf4\x42\x4d\xe7\x40\x9d\x1c\x37\x02\x03\x01\x00\x01\xa3\x13\x30\x11\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x03\x81\x81\x00\x26\x48\x2c\x16\xc2\x58\xfa\xe8\x16\x74\x0c\xaa\xaa\x5f\x54\x3f\xf2\xd7\xc9\x78\x60\x5e\x5e\x6e\x37\x63\x22\x77\x36\x7e\xb2\x17\xc4\x34\xb9\xf5\x08\x85\xfc\xc9\x01\x38\xff\x4d\xbe\xf2\x16\x42\x43\xe7\xbb\x5a\x46\xfb\xc1\xc6\x11\x1f\xf1\x4a\xb0\x28\x46\xc9\xc3\xc4\x42\x7d\xbc\xfa\xab\x59\x6e\xd5\xb7\x51\x88\x11\xe3\xa4\x85\x19\x6b\x82\x4c\xa4\x0c\x12\xad\xe9\xa4\xae\x3f\xf1\xc3\x49\x65\x9a\x8c\xc5\xc8\x3e\x25\xb7\x94\x99\xbb\x92\x32\x71\x07\xf0\x86\x5e\xed\x50\x27\xa6\x0d\xa6\x23\xf9\xbb\xcb\xa6\x07\x14\x42", - ["Equifax Secure CA"] = "\x30\x82\x03\x20\x30\x82\x02\x89\xa0\x03\x02\x01\x02\x02\x04\x35\xde\xf4\xcf\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x4e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x10\x30\x0e\x06\x03\x55\x04\x0a\x13\x07\x45\x71\x75\x69\x66\x61\x78\x31\x2d\x30\x2b\x06\x03\x55\x04\x0b\x13\x24\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x39\x38\x30\x38\x32\x32\x31\x36\x34\x31\x35\x31\x5a\x17\x0d\x31\x38\x30\x38\x32\x32\x31\x36\x34\x31\x35\x31\x5a\x30\x4e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x10\x30\x0e\x06\x03\x55\x04\x0a\x13\x07\x45\x71\x75\x69\x66\x61\x78\x31\x2d\x30\x2b\x06\x03\x55\x04\x0b\x13\x24\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xc1\x5d\xb1\x58\x67\x08\x62\xee\xa0\x9a\x2d\x1f\x08\x6d\x91\x14\x68\x98\x0a\x1e\xfe\xda\x04\x6f\x13\x84\x62\x21\xc3\xd1\x7c\xce\x9f\x05\xe0\xb8\x01\xf0\x4e\x34\xec\xe2\x8a\x95\x04\x64\xac\xf1\x6b\x53\x5f\x05\xb3\xcb\x67\x80\xbf\x42\x02\x8e\xfe\xdd\x01\x09\xec\xe1\x00\x14\x4f\xfc\xfb\xf0\x0c\xdd\x43\xba\x5b\x2b\xe1\x1f\x80\x70\x99\x15\x57\x93\x16\xf1\x0f\x97\x6a\xb7\xc2\x68\x23\x1c\xcc\x4d\x59\x30\xac\x51\x1e\x3b\xaf\x2b\xd6\xee\x63\x45\x7b\xc5\xd9\x5f\x50\xd2\xe3\x50\x0f\x3a\x88\xe7\xbf\x14\xfd\xe0\xc7\xb9\x02\x03\x01\x00\x01\xa3\x82\x01\x09\x30\x82\x01\x05\x30\x70\x06\x03\x55\x1d\x1f\x04\x69\x30\x67\x30\x65\xa0\x63\xa0\x61\xa4\x5f\x30\x5d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x10\x30\x0e\x06\x03\x55\x04\x0a\x13\x07\x45\x71\x75\x69\x66\x61\x78\x31\x2d\x30\x2b\x06\x03\x55\x04\x0b\x13\x24\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x13\x04\x43\x52\x4c\x31\x30\x1a\x06\x03\x55\x1d\x10\x04\x13\x30\x11\x81\x0f\x32\x30\x31\x38\x30\x38\x32\x32\x31\x36\x34\x31\x35\x31\x5a\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x48\xe6\x68\xf9\x2b\xd2\xb2\x95\xd7\x47\xd8\x23\x20\x10\x4f\x33\x98\x90\x9f\xd4\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x48\xe6\x68\xf9\x2b\xd2\xb2\x95\xd7\x47\xd8\x23\x20\x10\x4f\x33\x98\x90\x9f\xd4\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x1a\x06\x09\x2a\x86\x48\x86\xf6\x7d\x07\x41\x00\x04\x0d\x30\x0b\x1b\x05\x56\x33\x2e\x30\x63\x03\x02\x06\xc0\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x81\x81\x00\x58\xce\x29\xea\xfc\xf7\xde\xb5\xce\x02\xb9\x17\xb5\x85\xd1\xb9\xe3\xe0\x95\xcc\x25\x31\x0d\x00\xa6\x92\x6e\x7f\xb6\x92\x63\x9e\x50\x95\xd1\x9a\x6f\xe4\x11\xde\x63\x85\x6e\x98\xee\xa8\xff\x5a\xc8\xd3\x55\xb2\x66\x71\x57\xde\xc0\x21\xeb\x3d\x2a\xa7\x23\x49\x01\x04\x86\x42\x7b\xfc\xee\x7f\xa2\x16\x52\xb5\x67\x67\xd3\x40\xdb\x3b\x26\x58\xb2\x28\x77\x3d\xae\x14\x77\x61\xd6\xfa\x2a\x66\x27\xa0\x0d\xfa\xa7\x73\x5c\xea\x70\xf1\x94\x21\x65\x44\x5f\xfa\xfc\xef\x29\x68\xa9\xa2\x87\x79\xef\x79\xef\x4f\xac\x07\x77\x38", - ["Digital Signature Trust Co. Global CA 1"] = "\x30\x82\x03\x29\x30\x82\x02\x92\xa0\x03\x02\x01\x02\x02\x04\x36\x70\x15\x96\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x46\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x13\x1b\x44\x69\x67\x69\x74\x61\x6c\x20\x53\x69\x67\x6e\x61\x74\x75\x72\x65\x20\x54\x72\x75\x73\x74\x20\x43\x6f\x2e\x31\x11\x30\x0f\x06\x03\x55\x04\x0b\x13\x08\x44\x53\x54\x43\x41\x20\x45\x31\x30\x1e\x17\x0d\x39\x38\x31\x32\x31\x30\x31\x38\x31\x30\x32\x33\x5a\x17\x0d\x31\x38\x31\x32\x31\x30\x31\x38\x34\x30\x32\x33\x5a\x30\x46\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x13\x1b\x44\x69\x67\x69\x74\x61\x6c\x20\x53\x69\x67\x6e\x61\x74\x75\x72\x65\x20\x54\x72\x75\x73\x74\x20\x43\x6f\x2e\x31\x11\x30\x0f\x06\x03\x55\x04\x0b\x13\x08\x44\x53\x54\x43\x41\x20\x45\x31\x30\x81\x9d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8b\x00\x30\x81\x87\x02\x81\x81\x00\xa0\x6c\x81\xa9\xcf\x34\x1e\x24\xdd\xfe\x86\x28\xcc\xde\x83\x2f\xf9\x5e\xd4\x42\xd2\xe8\x74\x60\x66\x13\x98\x06\x1c\xa9\x51\x12\x69\x6f\x31\x55\xb9\x49\x72\x00\x08\x7e\xd3\xa5\x62\x44\x37\x24\x99\x8f\xd9\x83\x48\x8f\x99\x6d\x95\x13\xbb\x43\x3b\x2e\x49\x4e\x88\x37\xc1\xbb\x58\x7f\xfe\xe1\xbd\xf8\xbb\x61\xcd\xf3\x47\xc0\x99\xa6\xf1\xf3\x91\xe8\x78\x7c\x00\xcb\x61\xc9\x44\x27\x71\x69\x55\x4a\x7e\x49\x4d\xed\xa2\xa3\xbe\x02\x4c\x00\xca\x02\xa8\xee\x01\x02\x31\x64\x0f\x52\x2d\x13\x74\x76\x36\xb5\x7a\xb4\x2d\x71\x02\x01\x03\xa3\x82\x01\x24\x30\x82\x01\x20\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x68\x06\x03\x55\x1d\x1f\x04\x61\x30\x5f\x30\x5d\xa0\x5b\xa0\x59\xa4\x57\x30\x55\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x13\x1b\x44\x69\x67\x69\x74\x61\x6c\x20\x53\x69\x67\x6e\x61\x74\x75\x72\x65\x20\x54\x72\x75\x73\x74\x20\x43\x6f\x2e\x31\x11\x30\x0f\x06\x03\x55\x04\x0b\x13\x08\x44\x53\x54\x43\x41\x20\x45\x31\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x13\x04\x43\x52\x4c\x31\x30\x2b\x06\x03\x55\x1d\x10\x04\x24\x30\x22\x80\x0f\x31\x39\x39\x38\x31\x32\x31\x30\x31\x38\x31\x30\x32\x33\x5a\x81\x0f\x32\x30\x31\x38\x31\x32\x31\x30\x31\x38\x31\x30\x32\x33\x5a\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x6a\x79\x7e\x91\x69\x46\x18\x13\x0a\x02\x77\xa5\x59\x5b\x60\x98\x25\x0e\xa2\xf8\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x6a\x79\x7e\x91\x69\x46\x18\x13\x0a\x02\x77\xa5\x59\x5b\x60\x98\x25\x0e\xa2\xf8\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x19\x06\x09\x2a\x86\x48\x86\xf6\x7d\x07\x41\x00\x04\x0c\x30\x0a\x1b\x04\x56\x34\x2e\x30\x03\x02\x04\x90\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x81\x81\x00\x22\x12\xd8\x7a\x1d\xdc\x81\x06\xb6\x09\x65\xb2\x87\xc8\x1f\x5e\xb4\x2f\xe9\xc4\x1e\xf2\x3c\xc1\xbb\x04\x90\x11\x4a\x83\x4e\x7e\x93\xb9\x4d\x42\xc7\x92\x26\xa0\x5c\x34\x9a\x38\x72\xf8\xfd\x6b\x16\x3e\x20\xee\x82\x8b\x31\x2a\x93\x36\x85\x23\x88\x8a\x3c\x03\x68\xd3\xc9\x09\x0f\x4d\xfc\x6c\xa4\xda\x28\x72\x93\x0e\x89\x80\xb0\x7d\xfe\x80\x6f\x65\x6d\x18\x33\x97\x8b\xc2\x6b\x89\xee\x60\x3d\xc8\x9b\xef\x7f\x2b\x32\x62\x73\x93\xcb\x3c\xe3\x7b\xe2\x76\x78\x45\xbc\xa1\x93\x04\xbb\x86\x9f\x3a\x5b\x43\x7a\xc3\x8a\x65", - ["Digital Signature Trust Co. Global CA 3"] = "\x30\x82\x03\x29\x30\x82\x02\x92\xa0\x03\x02\x01\x02\x02\x04\x36\x6e\xd3\xce\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x46\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x13\x1b\x44\x69\x67\x69\x74\x61\x6c\x20\x53\x69\x67\x6e\x61\x74\x75\x72\x65\x20\x54\x72\x75\x73\x74\x20\x43\x6f\x2e\x31\x11\x30\x0f\x06\x03\x55\x04\x0b\x13\x08\x44\x53\x54\x43\x41\x20\x45\x32\x30\x1e\x17\x0d\x39\x38\x31\x32\x30\x39\x31\x39\x31\x37\x32\x36\x5a\x17\x0d\x31\x38\x31\x32\x30\x39\x31\x39\x34\x37\x32\x36\x5a\x30\x46\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x13\x1b\x44\x69\x67\x69\x74\x61\x6c\x20\x53\x69\x67\x6e\x61\x74\x75\x72\x65\x20\x54\x72\x75\x73\x74\x20\x43\x6f\x2e\x31\x11\x30\x0f\x06\x03\x55\x04\x0b\x13\x08\x44\x53\x54\x43\x41\x20\x45\x32\x30\x81\x9d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8b\x00\x30\x81\x87\x02\x81\x81\x00\xbf\x93\x8f\x17\x92\xef\x33\x13\x18\xeb\x10\x7f\x4e\x16\xbf\xff\x06\x8f\x2a\x85\xbc\x5e\xf9\x24\xa6\x24\x88\xb6\x03\xb7\xc1\xc3\x5f\x03\x5b\xd1\x6f\xae\x7e\x42\xea\x66\x23\xb8\x63\x83\x56\xfb\x28\x2d\xe1\x38\x8b\xb4\xee\xa8\x01\xe1\xce\x1c\xb6\x88\x2a\x22\x46\x85\xfb\x9f\xa7\x70\xa9\x47\x14\x3f\xce\xde\x65\xf0\xa8\x71\xf7\x4f\x26\x6c\x8c\xbc\xc6\xb5\xef\xde\x49\x27\xff\x48\x2a\x7d\xe8\x4d\x03\xcc\xc7\xb2\x52\xc6\x17\x31\x13\x3b\xb5\x4d\xdb\xc8\xc4\xf6\xc3\x0f\x24\x2a\xda\x0c\x9d\xe7\x91\x5b\x80\xcd\x94\x9d\x02\x01\x03\xa3\x82\x01\x24\x30\x82\x01\x20\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x68\x06\x03\x55\x1d\x1f\x04\x61\x30\x5f\x30\x5d\xa0\x5b\xa0\x59\xa4\x57\x30\x55\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x13\x1b\x44\x69\x67\x69\x74\x61\x6c\x20\x53\x69\x67\x6e\x61\x74\x75\x72\x65\x20\x54\x72\x75\x73\x74\x20\x43\x6f\x2e\x31\x11\x30\x0f\x06\x03\x55\x04\x0b\x13\x08\x44\x53\x54\x43\x41\x20\x45\x32\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x13\x04\x43\x52\x4c\x31\x30\x2b\x06\x03\x55\x1d\x10\x04\x24\x30\x22\x80\x0f\x31\x39\x39\x38\x31\x32\x30\x39\x31\x39\x31\x37\x32\x36\x5a\x81\x0f\x32\x30\x31\x38\x31\x32\x30\x39\x31\x39\x31\x37\x32\x36\x5a\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x1e\x82\x4d\x28\x65\x80\x3c\xc9\x41\x6e\xac\x35\x2e\x5a\xcb\xde\xee\xf8\x39\x5b\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x1e\x82\x4d\x28\x65\x80\x3c\xc9\x41\x6e\xac\x35\x2e\x5a\xcb\xde\xee\xf8\x39\x5b\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x19\x06\x09\x2a\x86\x48\x86\xf6\x7d\x07\x41\x00\x04\x0c\x30\x0a\x1b\x04\x56\x34\x2e\x30\x03\x02\x04\x90\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x81\x81\x00\x47\x8d\x83\xad\x62\xf2\xdb\xb0\x9e\x45\x22\x05\xb9\xa2\xd6\x03\x0e\x38\x72\xe7\x9e\xfc\x7b\xe6\x93\xb6\x9a\xa5\xa2\x94\xc8\x34\x1d\x91\xd1\xc5\xd7\xf4\x0a\x25\x0f\x3d\x78\x81\x9e\x0f\xb1\x67\xc4\x90\x4c\x63\xdd\x5e\xa7\xe2\xba\x9f\xf5\xf7\x4d\xa5\x31\x7b\x9c\x29\x2d\x4c\xfe\x64\x3e\xec\xb6\x53\xfe\xea\x9b\xed\x82\xdb\x74\x75\x4b\x07\x79\x6e\x1e\xd8\x19\x83\x73\xde\xf5\x3e\xd0\xb5\xde\xe7\x4b\x68\x7d\x43\x2e\x2a\x20\xe1\x7e\xa0\x78\x44\x9e\x08\xf5\x98\xf9\xc7\x7f\x1b\x1b\xd6\x06\x20\x02\x58\xa1\xc3\xa2\x03", - ["Verisign Class 3 Public Primary Certification Authority"] = "\x30\x82\x02\x3c\x30\x82\x01\xa5\x02\x10\x70\xba\xe4\x1d\x10\xd9\x29\x34\xb6\x38\xca\x7b\x03\xcc\xba\xbf\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x02\x05\x00\x30\x5f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x37\x30\x35\x06\x03\x55\x04\x0b\x13\x2e\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x39\x36\x30\x31\x32\x39\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x38\x30\x38\x30\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x5f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x37\x30\x35\x06\x03\x55\x04\x0b\x13\x2e\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xc9\x5c\x59\x9e\xf2\x1b\x8a\x01\x14\xb4\x10\xdf\x04\x40\xdb\xe3\x57\xaf\x6a\x45\x40\x8f\x84\x0c\x0b\xd1\x33\xd9\xd9\x11\xcf\xee\x02\x58\x1f\x25\xf7\x2a\xa8\x44\x05\xaa\xec\x03\x1f\x78\x7f\x9e\x93\xb9\x9a\x00\xaa\x23\x7d\xd6\xac\x85\xa2\x63\x45\xc7\x72\x27\xcc\xf4\x4c\xc6\x75\x71\xd2\x39\xef\x4f\x42\xf0\x75\xdf\x0a\x90\xc6\x8e\x20\x6f\x98\x0f\xf8\xac\x23\x5f\x70\x29\x36\xa4\xc9\x86\xe7\xb1\x9a\x20\xcb\x53\xa5\x85\xe7\x3d\xbe\x7d\x9a\xfe\x24\x45\x33\xdc\x76\x15\xed\x0f\xa2\x71\x64\x4c\x65\x2e\x81\x68\x45\xa7\x02\x03\x01\x00\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x02\x05\x00\x03\x81\x81\x00\xbb\x4c\x12\x2b\xcf\x2c\x26\x00\x4f\x14\x13\xdd\xa6\xfb\xfc\x0a\x11\x84\x8c\xf3\x28\x1c\x67\x92\x2f\x7c\xb6\xc5\xfa\xdf\xf0\xe8\x95\xbc\x1d\x8f\x6c\x2c\xa8\x51\xcc\x73\xd8\xa4\xc0\x53\xf0\x4e\xd6\x26\xc0\x76\x01\x57\x81\x92\x5e\x21\xf1\xd1\xb1\xff\xe7\xd0\x21\x58\xcd\x69\x17\xe3\x44\x1c\x9c\x19\x44\x39\x89\x5c\xdc\x9c\x00\x0f\x56\x8d\x02\x99\xed\xa2\x90\x45\x4c\xe4\xbb\x10\xa4\x3d\xf0\x32\x03\x0e\xf1\xce\xf8\xe8\xc9\x51\x8c\xe6\x62\x9f\xe6\x9f\xc0\x7d\xb7\x72\x9c\xc9\x36\x3a\x6b\x9f\x4e\xa8\xff\x64\x0d\x64", - ["Verisign Class 3 Public Primary Certification Authority - G2"] = "\x30\x82\x03\x02\x30\x82\x02\x6b\x02\x10\x7d\xd9\xfe\x07\xcf\xa8\x1e\xb7\x10\x79\x67\xfb\xa7\x89\x34\xc6\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xc1\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x3c\x30\x3a\x06\x03\x55\x04\x0b\x13\x33\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x32\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x31\x39\x39\x38\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x30\x1e\x17\x0d\x39\x38\x30\x35\x31\x38\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x38\x30\x38\x30\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x81\xc1\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x3c\x30\x3a\x06\x03\x55\x04\x0b\x13\x33\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x32\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x31\x39\x39\x38\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xcc\x5e\xd1\x11\x5d\x5c\x69\xd0\xab\xd3\xb9\x6a\x4c\x99\x1f\x59\x98\x30\x8e\x16\x85\x20\x46\x6d\x47\x3f\xd4\x85\x20\x84\xe1\x6d\xb3\xf8\xa4\xed\x0c\xf1\x17\x0f\x3b\xf9\xa7\xf9\x25\xd7\xc1\xcf\x84\x63\xf2\x7c\x63\xcf\xa2\x47\xf2\xc6\x5b\x33\x8e\x64\x40\x04\x68\xc1\x80\xb9\x64\x1c\x45\x77\xc7\xd8\x6e\xf5\x95\x29\x3c\x50\xe8\x34\xd7\x78\x1f\xa8\xba\x6d\x43\x91\x95\x8f\x45\x57\x5e\x7e\xc5\xfb\xca\xa4\x04\xeb\xea\x97\x37\x54\x30\x6f\xbb\x01\x47\x32\x33\xcd\xdc\x57\x9b\x64\x69\x61\xf8\x9b\x1d\x1c\x89\x4f\x5c\x67\x02\x03\x01\x00\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x81\x81\x00\x51\x4d\xcd\xbe\x5c\xcb\x98\x19\x9c\x15\xb2\x01\x39\x78\x2e\x4d\x0f\x67\x70\x70\x99\xc6\x10\x5a\x94\xa4\x53\x4d\x54\x6d\x2b\xaf\x0d\x5d\x40\x8b\x64\xd3\xd7\xee\xde\x56\x61\x92\x5f\xa6\xc4\x1d\x10\x61\x36\xd3\x2c\x27\x3c\xe8\x29\x09\xb9\x11\x64\x74\xcc\xb5\x73\x9f\x1c\x48\xa9\xbc\x61\x01\xee\xe2\x17\xa6\x0c\xe3\x40\x08\x3b\x0e\xe7\xeb\x44\x73\x2a\x9a\xf1\x69\x92\xef\x71\x14\xc3\x39\xac\x71\xa7\x91\x09\x6f\xe4\x71\x06\xb3\xba\x59\x57\x26\x79\x00\xf6\xf8\x0d\xa2\x33\x30\x28\xd4\xaa\x58\xa0\x9d\x9d\x69\x91\xfd", - ["Verisign Class 4 Public Primary Certification Authority - G2"] = "\x30\x82\x03\x02\x30\x82\x02\x6b\x02\x10\x32\x88\x8e\x9a\xd2\xf5\xeb\x13\x47\xf8\x7f\xc4\x20\x37\x25\xf8\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xc1\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x3c\x30\x3a\x06\x03\x55\x04\x0b\x13\x33\x43\x6c\x61\x73\x73\x20\x34\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x32\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x31\x39\x39\x38\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x30\x1e\x17\x0d\x39\x38\x30\x35\x31\x38\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x38\x30\x38\x30\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x81\xc1\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x3c\x30\x3a\x06\x03\x55\x04\x0b\x13\x33\x43\x6c\x61\x73\x73\x20\x34\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x32\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x31\x39\x39\x38\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xba\xf0\xe4\xcf\xf9\xc4\xae\x85\x54\xb9\x07\x57\xf9\x8f\xc5\x7f\x68\x11\xf8\xc4\x17\xb0\x44\xdc\xe3\x30\x73\xd5\x2a\x62\x2a\xb8\xd0\xcc\x1c\xed\x28\x5b\x7e\xbd\x6a\xdc\xb3\x91\x24\xca\x41\x62\x3c\xfc\x02\x01\xbf\x1c\x16\x31\x94\x05\x97\x76\x6e\xa2\xad\xbd\x61\x17\x6c\x4e\x30\x86\xf0\x51\x37\x2a\x50\xc7\xa8\x62\x81\xdc\x5b\x4a\xaa\xc1\xa0\xb4\x6e\xeb\x2f\xe5\x57\xc5\xb1\x2b\x40\x70\xdb\x5a\x4d\xa1\x8e\x1f\xbd\x03\x1f\xd8\x03\xd4\x8f\x4c\x99\x71\xbc\xe2\x82\xcc\x58\xe8\x98\x3a\x86\xd3\x86\x38\xf3\x00\x29\x1f\x02\x03\x01\x00\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x81\x81\x00\x85\x8c\x12\xc1\xa7\xb9\x50\x15\x7a\xcb\x3e\xac\xb8\x43\x8a\xdc\xaa\xdd\x14\xba\x89\x81\x7e\x01\x3c\x23\x71\x21\x88\x2f\x82\xdc\x63\xfa\x02\x45\xac\x45\x59\xd7\x2a\x58\x44\x5b\xb7\x9f\x81\x3b\x92\x68\x3d\xe2\x37\x24\xf5\x7b\x6c\x8f\x76\x35\x96\x09\xa8\x59\x9d\xb9\xce\x23\xab\x74\xd6\x83\xfd\x32\x73\x27\xd8\x69\x3e\x43\x74\xf6\xae\xc5\x89\x9a\xe7\x53\x7c\xe9\x7b\xf6\x4b\xf3\xc1\x65\x83\xde\x8d\x8a\x9c\x3c\x88\x8d\x39\x59\xfc\xaa\x3f\x22\x8d\xa1\xc1\x66\x50\x81\x72\x4c\xed\x22\x64\x4f\x4f\xca\x80\x91\xb6\x29", - ["GlobalSign Root CA"] = "\x30\x82\x03\x75\x30\x82\x02\x5d\xa0\x03\x02\x01\x02\x02\x0b\x04\x00\x00\x00\x00\x01\x15\x4b\x5a\xc3\x94\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x57\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42\x45\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x20\x6e\x76\x2d\x73\x61\x31\x10\x30\x0e\x06\x03\x55\x04\x0b\x13\x07\x52\x6f\x6f\x74\x20\x43\x41\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x1e\x17\x0d\x39\x38\x30\x39\x30\x31\x31\x32\x30\x30\x30\x30\x5a\x17\x0d\x32\x38\x30\x31\x32\x38\x31\x32\x30\x30\x30\x30\x5a\x30\x57\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42\x45\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x20\x6e\x76\x2d\x73\x61\x31\x10\x30\x0e\x06\x03\x55\x04\x0b\x13\x07\x52\x6f\x6f\x74\x20\x43\x41\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xda\x0e\xe6\x99\x8d\xce\xa3\xe3\x4f\x8a\x7e\xfb\xf1\x8b\x83\x25\x6b\xea\x48\x1f\xf1\x2a\xb0\xb9\x95\x11\x04\xbd\xf0\x63\xd1\xe2\x67\x66\xcf\x1c\xdd\xcf\x1b\x48\x2b\xee\x8d\x89\x8e\x9a\xaf\x29\x80\x65\xab\xe9\xc7\x2d\x12\xcb\xab\x1c\x4c\x70\x07\xa1\x3d\x0a\x30\xcd\x15\x8d\x4f\xf8\xdd\xd4\x8c\x50\x15\x1c\xef\x50\xee\xc4\x2e\xf7\xfc\xe9\x52\xf2\x91\x7d\xe0\x6d\xd5\x35\x30\x8e\x5e\x43\x73\xf2\x41\xe9\xd5\x6a\xe3\xb2\x89\x3a\x56\x39\x38\x6f\x06\x3c\x88\x69\x5b\x2a\x4d\xc5\xa7\x54\xb8\x6c\x89\xcc\x9b\xf9\x3c\xca\xe5\xfd\x89\xf5\x12\x3c\x92\x78\x96\xd6\xdc\x74\x6e\x93\x44\x61\xd1\x8d\xc7\x46\xb2\x75\x0e\x86\xe8\x19\x8a\xd5\x6d\x6c\xd5\x78\x16\x95\xa2\xe9\xc8\x0a\x38\xeb\xf2\x24\x13\x4f\x73\x54\x93\x13\x85\x3a\x1b\xbc\x1e\x34\xb5\x8b\x05\x8c\xb9\x77\x8b\xb1\xdb\x1f\x20\x91\xab\x09\x53\x6e\x90\xce\x7b\x37\x74\xb9\x70\x47\x91\x22\x51\x63\x16\x79\xae\xb1\xae\x41\x26\x08\xc8\x19\x2b\xd1\x46\xaa\x48\xd6\x64\x2a\xd7\x83\x34\xff\x2c\x2a\xc1\x6c\x19\x43\x4a\x07\x85\xe7\xd3\x7c\xf6\x21\x68\xef\xea\xf2\x52\x9f\x7f\x93\x90\xcf\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x60\x7b\x66\x1a\x45\x0d\x97\xca\x89\x50\x2f\x7d\x04\xcd\x34\xa8\xff\xfc\xfd\x4b\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xd6\x73\xe7\x7c\x4f\x76\xd0\x8d\xbf\xec\xba\xa2\xbe\x34\xc5\x28\x32\xb5\x7c\xfc\x6c\x9c\x2c\x2b\xbd\x09\x9e\x53\xbf\x6b\x5e\xaa\x11\x48\xb6\xe5\x08\xa3\xb3\xca\x3d\x61\x4d\xd3\x46\x09\xb3\x3e\xc3\xa0\xe3\x63\x55\x1b\xf2\xba\xef\xad\x39\xe1\x43\xb9\x38\xa3\xe6\x2f\x8a\x26\x3b\xef\xa0\x50\x56\xf9\xc6\x0a\xfd\x38\xcd\xc4\x0b\x70\x51\x94\x97\x98\x04\xdf\xc3\x5f\x94\xd5\x15\xc9\x14\x41\x9c\xc4\x5d\x75\x64\x15\x0d\xff\x55\x30\xec\x86\x8f\xff\x0d\xef\x2c\xb9\x63\x46\xf6\xaa\xfc\xdf\xbc\x69\xfd\x2e\x12\x48\x64\x9a\xe0\x95\xf0\xa6\xef\x29\x8f\x01\xb1\x15\xb5\x0c\x1d\xa5\xfe\x69\x2c\x69\x24\x78\x1e\xb3\xa7\x1c\x71\x62\xee\xca\xc8\x97\xac\x17\x5d\x8a\xc2\xf8\x47\x86\x6e\x2a\xc4\x56\x31\x95\xd0\x67\x89\x85\x2b\xf9\x6c\xa6\x5d\x46\x9d\x0c\xaa\x82\xe4\x99\x51\xdd\x70\xb7\xdb\x56\x3d\x61\xe4\x6a\xe1\x5c\xd6\xf6\xfe\x3d\xde\x41\xcc\x07\xae\x63\x52\xbf\x53\x53\xf4\x2b\xe9\xc7\xfd\xb6\xf7\x82\x5f\x85\xd2\x41\x18\xdb\x81\xb3\x04\x1c\xc5\x1f\xa4\x80\x6f\x15\x20\xc9\xde\x0c\x88\x0a\x1d\xd6\x66\x55\xe2\xfc\x48\xc9\x29\x26\x69\xe0", - ["GlobalSign Root CA - R2"] = "\x30\x82\x03\xba\x30\x82\x02\xa2\xa0\x03\x02\x01\x02\x02\x0b\x04\x00\x00\x00\x00\x01\x0f\x86\x26\xe6\x0d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x4c\x31\x20\x30\x1e\x06\x03\x55\x04\x0b\x13\x17\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x2d\x20\x52\x32\x31\x13\x30\x11\x06\x03\x55\x04\x0a\x13\x0a\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x31\x13\x30\x11\x06\x03\x55\x04\x03\x13\x0a\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x30\x1e\x17\x0d\x30\x36\x31\x32\x31\x35\x30\x38\x30\x30\x30\x30\x5a\x17\x0d\x32\x31\x31\x32\x31\x35\x30\x38\x30\x30\x30\x30\x5a\x30\x4c\x31\x20\x30\x1e\x06\x03\x55\x04\x0b\x13\x17\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x2d\x20\x52\x32\x31\x13\x30\x11\x06\x03\x55\x04\x0a\x13\x0a\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x31\x13\x30\x11\x06\x03\x55\x04\x03\x13\x0a\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xa6\xcf\x24\x0e\xbe\x2e\x6f\x28\x99\x45\x42\xc4\xab\x3e\x21\x54\x9b\x0b\xd3\x7f\x84\x70\xfa\x12\xb3\xcb\xbf\x87\x5f\xc6\x7f\x86\xd3\xb2\x30\x5c\xd6\xfd\xad\xf1\x7b\xdc\xe5\xf8\x60\x96\x09\x92\x10\xf5\xd0\x53\xde\xfb\x7b\x7e\x73\x88\xac\x52\x88\x7b\x4a\xa6\xca\x49\xa6\x5e\xa8\xa7\x8c\x5a\x11\xbc\x7a\x82\xeb\xbe\x8c\xe9\xb3\xac\x96\x25\x07\x97\x4a\x99\x2a\x07\x2f\xb4\x1e\x77\xbf\x8a\x0f\xb5\x02\x7c\x1b\x96\xb8\xc5\xb9\x3a\x2c\xbc\xd6\x12\xb9\xeb\x59\x7d\xe2\xd0\x06\x86\x5f\x5e\x49\x6a\xb5\x39\x5e\x88\x34\xec\xbc\x78\x0c\x08\x98\x84\x6c\xa8\xcd\x4b\xb4\xa0\x7d\x0c\x79\x4d\xf0\xb8\x2d\xcb\x21\xca\xd5\x6c\x5b\x7d\xe1\xa0\x29\x84\xa1\xf9\xd3\x94\x49\xcb\x24\x62\x91\x20\xbc\xdd\x0b\xd5\xd9\xcc\xf9\xea\x27\x0a\x2b\x73\x91\xc6\x9d\x1b\xac\xc8\xcb\xe8\xe0\xa0\xf4\x2f\x90\x8b\x4d\xfb\xb0\x36\x1b\xf6\x19\x7a\x85\xe0\x6d\xf2\x61\x13\x88\x5c\x9f\xe0\x93\x0a\x51\x97\x8a\x5a\xce\xaf\xab\xd5\xf7\xaa\x09\xaa\x60\xbd\xdc\xd9\x5f\xdf\x72\xa9\x60\x13\x5e\x00\x01\xc9\x4a\xfa\x3f\xa4\xea\x07\x03\x21\x02\x8e\x82\xca\x03\xc2\x9b\x8f\x02\x03\x01\x00\x01\xa3\x81\x9c\x30\x81\x99\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x9b\xe2\x07\x57\x67\x1c\x1e\xc0\x6a\x06\xde\x59\xb4\x9a\x2d\xdf\xdc\x19\x86\x2e\x30\x36\x06\x03\x55\x1d\x1f\x04\x2f\x30\x2d\x30\x2b\xa0\x29\xa0\x27\x86\x25\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x67\x6c\x6f\x62\x61\x6c\x73\x69\x67\x6e\x2e\x6e\x65\x74\x2f\x72\x6f\x6f\x74\x2d\x72\x32\x2e\x63\x72\x6c\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x9b\xe2\x07\x57\x67\x1c\x1e\xc0\x6a\x06\xde\x59\xb4\x9a\x2d\xdf\xdc\x19\x86\x2e\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x99\x81\x53\x87\x1c\x68\x97\x86\x91\xec\xe0\x4a\xb8\x44\x0b\xab\x81\xac\x27\x4f\xd6\xc1\xb8\x1c\x43\x78\xb3\x0c\x9a\xfc\xea\x2c\x3c\x6e\x61\x1b\x4d\x4b\x29\xf5\x9f\x05\x1d\x26\xc1\xb8\xe9\x83\x00\x62\x45\xb6\xa9\x08\x93\xb9\xa9\x33\x4b\x18\x9a\xc2\xf8\x87\x88\x4e\xdb\xdd\x71\x34\x1a\xc1\x54\xda\x46\x3f\xe0\xd3\x2a\xab\x6d\x54\x22\xf5\x3a\x62\xcd\x20\x6f\xba\x29\x89\xd7\xdd\x91\xee\xd3\x5c\xa2\x3e\xa1\x5b\x41\xf5\xdf\xe5\x64\x43\x2d\xe9\xd5\x39\xab\xd2\xa2\xdf\xb7\x8b\xd0\xc0\x80\x19\x1c\x45\xc0\x2d\x8c\xe8\xf8\x2d\xa4\x74\x56\x49\xc5\x05\xb5\x4f\x15\xde\x6e\x44\x78\x39\x87\xa8\x7e\xbb\xf3\x79\x18\x91\xbb\xf4\x6f\x9d\xc1\xf0\x8c\x35\x8c\x5d\x01\xfb\xc3\x6d\xb9\xef\x44\x6d\x79\x46\x31\x7e\x0a\xfe\xa9\x82\xc1\xff\xef\xab\x6e\x20\xc4\x50\xc9\x5f\x9d\x4d\x9b\x17\x8c\x0c\xe5\x01\xc9\xa0\x41\x6a\x73\x53\xfa\xa5\x50\xb4\x6e\x25\x0f\xfb\x4c\x18\xf4\xfd\x52\xd9\x8e\x69\xb1\xe8\x11\x0f\xde\x88\xd8\xfb\x1d\x49\xf7\xaa\xde\x95\xcf\x20\x78\xc2\x60\x12\xdb\x25\x40\x8c\x6a\xfc\x7e\x42\x38\x40\x64\x12\xf7\x9e\x81\xe1\x93\x2e", - ["ValiCert Class 1 VA"] = "\x30\x82\x02\xe7\x30\x82\x02\x50\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xbb\x31\x24\x30\x22\x06\x03\x55\x04\x07\x13\x1b\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x61\x6c\x69\x43\x65\x72\x74\x2c\x20\x49\x6e\x63\x2e\x31\x35\x30\x33\x06\x03\x55\x04\x0b\x13\x2c\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x43\x6c\x61\x73\x73\x20\x31\x20\x50\x6f\x6c\x69\x63\x79\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x2f\x31\x20\x30\x1e\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x11\x69\x6e\x66\x6f\x40\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x30\x1e\x17\x0d\x39\x39\x30\x36\x32\x35\x32\x32\x32\x33\x34\x38\x5a\x17\x0d\x31\x39\x30\x36\x32\x35\x32\x32\x32\x33\x34\x38\x5a\x30\x81\xbb\x31\x24\x30\x22\x06\x03\x55\x04\x07\x13\x1b\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x61\x6c\x69\x43\x65\x72\x74\x2c\x20\x49\x6e\x63\x2e\x31\x35\x30\x33\x06\x03\x55\x04\x0b\x13\x2c\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x43\x6c\x61\x73\x73\x20\x31\x20\x50\x6f\x6c\x69\x63\x79\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x2f\x31\x20\x30\x1e\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x11\x69\x6e\x66\x6f\x40\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xd8\x59\x82\x7a\x89\xb8\x96\xba\xa6\x2f\x68\x6f\x58\x2e\xa7\x54\x1c\x06\x6e\xf4\xea\x8d\x48\xbc\x31\x94\x17\xf0\xf3\x4e\xbc\xb2\xb8\x35\x92\x76\xb0\xd0\xa5\xa5\x01\xd7\x00\x03\x12\x22\x19\x08\xf8\xff\x11\x23\x9b\xce\x07\xf5\xbf\x69\x1a\x26\xfe\x4e\xe9\xd1\x7f\x9d\x2c\x40\x1d\x59\x68\x6e\xa6\xf8\x58\xb0\x9d\x1a\x8f\xd3\x3f\xf1\xdc\x19\x06\x81\xa8\x0e\xe0\x3a\xdd\xc8\x53\x45\x09\x06\xe6\x0f\x70\xc3\xfa\x40\xa6\x0e\xe2\x56\x05\x0f\x18\x4d\xfc\x20\x82\xd1\x73\x55\x74\x8d\x76\x72\xa0\x1d\x9d\x1d\xc0\xdd\x3f\x71\x02\x03\x01\x00\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x81\x81\x00\x50\x68\x3d\x49\xf4\x2c\x1c\x06\x94\xdf\x95\x60\x7f\x96\x7b\x17\xfe\x4f\x71\xad\x64\xc8\xdd\x77\xd2\xef\x59\x55\xe8\x3f\xe8\x8e\x05\x2a\x21\xf2\x07\xd2\xb5\xa7\x52\xfe\x9c\xb1\xb6\xe2\x5b\x77\x17\x40\xea\x72\xd6\x23\xcb\x28\x81\x32\xc3\x00\x79\x18\xec\x59\x17\x89\xc9\xc6\x6a\x1e\x71\xc9\xfd\xb7\x74\xa5\x25\x45\x69\xc5\x48\xab\x19\xe1\x45\x8a\x25\x6b\x19\xee\xe5\xbb\x12\xf5\x7f\xf7\xa6\x8d\x51\xc3\xf0\x9d\x74\xb7\xa9\x3e\xa0\xa5\xff\xb6\x49\x03\x13\xda\x22\xcc\xed\x71\x82\x2b\x99\xcf\x3a\xb7\xf5\x2d\x72\xc8", - ["ValiCert Class 2 VA"] = "\x30\x82\x02\xe7\x30\x82\x02\x50\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xbb\x31\x24\x30\x22\x06\x03\x55\x04\x07\x13\x1b\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x61\x6c\x69\x43\x65\x72\x74\x2c\x20\x49\x6e\x63\x2e\x31\x35\x30\x33\x06\x03\x55\x04\x0b\x13\x2c\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x50\x6f\x6c\x69\x63\x79\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x2f\x31\x20\x30\x1e\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x11\x69\x6e\x66\x6f\x40\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x30\x1e\x17\x0d\x39\x39\x30\x36\x32\x36\x30\x30\x31\x39\x35\x34\x5a\x17\x0d\x31\x39\x30\x36\x32\x36\x30\x30\x31\x39\x35\x34\x5a\x30\x81\xbb\x31\x24\x30\x22\x06\x03\x55\x04\x07\x13\x1b\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x61\x6c\x69\x43\x65\x72\x74\x2c\x20\x49\x6e\x63\x2e\x31\x35\x30\x33\x06\x03\x55\x04\x0b\x13\x2c\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x50\x6f\x6c\x69\x63\x79\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x2f\x31\x20\x30\x1e\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x11\x69\x6e\x66\x6f\x40\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xce\x3a\x71\xca\xe5\xab\xc8\x59\x92\x55\xd7\xab\xd8\x74\x0e\xf9\xee\xd9\xf6\x55\x47\x59\x65\x47\x0e\x05\x55\xdc\xeb\x98\x36\x3c\x5c\x53\x5d\xd3\x30\xcf\x38\xec\xbd\x41\x89\xed\x25\x42\x09\x24\x6b\x0a\x5e\xb3\x7c\xdd\x52\x2d\x4c\xe6\xd4\xd6\x7d\x5a\x59\xa9\x65\xd4\x49\x13\x2d\x24\x4d\x1c\x50\x6f\xb5\xc1\x85\x54\x3b\xfe\x71\xe4\xd3\x5c\x42\xf9\x80\xe0\x91\x1a\x0a\x5b\x39\x36\x67\xf3\x3f\x55\x7c\x1b\x3f\xb4\x5f\x64\x73\x34\xe3\xb4\x12\xbf\x87\x64\xf8\xda\x12\xff\x37\x27\xc1\xb3\x43\xbb\xef\x7b\x6e\x2e\x69\xf7\x02\x03\x01\x00\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x81\x81\x00\x3b\x7f\x50\x6f\x6f\x50\x94\x99\x49\x62\x38\x38\x1f\x4b\xf8\xa5\xc8\x3e\xa7\x82\x81\xf6\x2b\xc7\xe8\xc5\xce\xe8\x3a\x10\x82\xcb\x18\x00\x8e\x4d\xbd\xa8\x58\x7f\xa1\x79\x00\xb5\xbb\xe9\x8d\xaf\x41\xd9\x0f\x34\xee\x21\x81\x19\xa0\x32\x49\x28\xf4\xc4\x8e\x56\xd5\x52\x33\xfd\x50\xd5\x7e\x99\x6c\x03\xe4\xc9\x4c\xfc\xcb\x6c\xab\x66\xb3\x4a\x21\x8c\xe5\xb5\x0c\x32\x3e\x10\xb2\xcc\x6c\xa1\xdc\x9a\x98\x4c\x02\x5b\xf3\xce\xb9\x9e\xa5\x72\x0e\x4a\xb7\x3f\x3c\xe6\x16\x68\xf8\xbe\xed\x74\x4c\xbc\x5b\xd5\x62\x1f\x43\xdd", - ["RSA Root Certificate 1"] = "\x30\x82\x02\xe7\x30\x82\x02\x50\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xbb\x31\x24\x30\x22\x06\x03\x55\x04\x07\x13\x1b\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x61\x6c\x69\x43\x65\x72\x74\x2c\x20\x49\x6e\x63\x2e\x31\x35\x30\x33\x06\x03\x55\x04\x0b\x13\x2c\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x6f\x6c\x69\x63\x79\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x2f\x31\x20\x30\x1e\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x11\x69\x6e\x66\x6f\x40\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x30\x1e\x17\x0d\x39\x39\x30\x36\x32\x36\x30\x30\x32\x32\x33\x33\x5a\x17\x0d\x31\x39\x30\x36\x32\x36\x30\x30\x32\x32\x33\x33\x5a\x30\x81\xbb\x31\x24\x30\x22\x06\x03\x55\x04\x07\x13\x1b\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x61\x6c\x69\x43\x65\x72\x74\x2c\x20\x49\x6e\x63\x2e\x31\x35\x30\x33\x06\x03\x55\x04\x0b\x13\x2c\x56\x61\x6c\x69\x43\x65\x72\x74\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x6f\x6c\x69\x63\x79\x20\x56\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x2f\x31\x20\x30\x1e\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x11\x69\x6e\x66\x6f\x40\x76\x61\x6c\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xe3\x98\x51\x96\x1c\xe8\xd5\xb1\x06\x81\x6a\x57\xc3\x72\x75\x93\xab\xcf\x9e\xa6\xfc\xf3\x16\x52\xd6\x2d\x4d\x9f\x35\x44\xa8\x2e\x04\x4d\x07\x49\x8a\x38\x29\xf5\x77\x37\xe7\xb7\xab\x5d\xdf\x36\x71\x14\x99\x8f\xdc\xc2\x92\xf1\xe7\x60\x92\x97\xec\xd8\x48\xdc\xbf\xc1\x02\x20\xc6\x24\xa4\x28\x4c\x30\x5a\x76\x6d\xb1\x5c\xf3\xdd\xde\x9e\x10\x71\xa1\x88\xc7\x5b\x9b\x41\x6d\xca\xb0\xb8\x8e\x15\xee\xad\x33\x2b\xcf\x47\x04\x5c\x75\x71\x0a\x98\x24\x98\x29\xa7\x49\x59\xa5\xdd\xf8\xb7\x43\x62\x61\xf3\xd3\xe2\xd0\x55\x3f\x02\x03\x01\x00\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x81\x81\x00\x56\xbb\x02\x58\x84\x67\x08\x2c\xdf\x1f\xdb\x7b\x49\x33\xf5\xd3\x67\x9d\xf4\xb4\x0a\x10\xb3\xc9\xc5\x2c\xe2\x92\x6a\x71\x78\x27\xf2\x70\x83\x42\xd3\x3e\xcf\xa9\x54\xf4\xf1\xd8\x92\x16\x8c\xd1\x04\xcb\x4b\xab\xc9\x9f\x45\xae\x3c\x8a\xa9\xb0\x71\x33\x5d\xc8\xc5\x57\xdf\xaf\xa8\x35\xb3\x7f\x89\x87\xe9\xe8\x25\x92\xb8\x7f\x85\x7a\xae\xd6\xbc\x1e\x37\x58\x2a\x67\xc9\x91\xcf\x2a\x81\x3e\xed\xc6\x39\xdf\xc0\x3e\x19\x9c\x19\xcc\x13\x4d\x82\x41\xb5\x8c\xde\xe0\x3d\x60\x08\x20\x0f\x45\x7e\x6b\xa2\x7f\xa3\x8c\x15\xee", - ["Verisign Class 3 Public Primary Certification Authority - G3"] = "\x30\x82\x04\x1a\x30\x82\x03\x02\x02\x11\x00\x9b\x7e\x06\x49\xa3\x3e\x62\xb9\xd5\xee\x90\x48\x71\x29\xef\x57\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xca\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x31\x39\x39\x39\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x45\x30\x43\x06\x03\x55\x04\x03\x13\x3c\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x33\x30\x1e\x17\x0d\x39\x39\x31\x30\x30\x31\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x36\x30\x37\x31\x36\x32\x33\x35\x39\x35\x39\x5a\x30\x81\xca\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x31\x39\x39\x39\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x45\x30\x43\x06\x03\x55\x04\x03\x13\x3c\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x33\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xcb\xba\x9c\x52\xfc\x78\x1f\x1a\x1e\x6f\x1b\x37\x73\xbd\xf8\xc9\x6b\x94\x12\x30\x4f\xf0\x36\x47\xf5\xd0\x91\x0a\xf5\x17\xc8\xa5\x61\xc1\x16\x40\x4d\xfb\x8a\x61\x90\xe5\x76\x20\xc1\x11\x06\x7d\xab\x2c\x6e\xa6\xf5\x11\x41\x8e\xfa\x2d\xad\x2a\x61\x59\xa4\x67\x26\x4c\xd0\xe8\xbc\x52\x5b\x70\x20\x04\x58\xd1\x7a\xc9\xa4\x69\xbc\x83\x17\x64\xad\x05\x8b\xbc\xd0\x58\xce\x8d\x8c\xf5\xeb\xf0\x42\x49\x0b\x9d\x97\x27\x67\x32\x6e\xe1\xae\x93\x15\x1c\x70\xbc\x20\x4d\x2f\x18\xde\x92\x88\xe8\x6c\x85\x57\x11\x1a\xe9\x7e\xe3\x26\x11\x54\xa2\x45\x96\x55\x83\xca\x30\x89\xe8\xdc\xd8\xa3\xed\x2a\x80\x3f\x7f\x79\x65\x57\x3e\x15\x20\x66\x08\x2f\x95\x93\xbf\xaa\x47\x2f\xa8\x46\x97\xf0\x12\xe2\xfe\xc2\x0a\x2b\x51\xe6\x76\xe6\xb7\x46\xb7\xe2\x0d\xa6\xcc\xa8\xc3\x4c\x59\x55\x89\xe6\xe8\x53\x5c\x1c\xea\x9d\xf0\x62\x16\x0b\xa7\xc9\x5f\x0c\xf0\xde\xc2\x76\xce\xaf\xf7\x6a\xf2\xfa\x41\xa6\xa2\x33\x14\xc9\xe5\x7a\x63\xd3\x9e\x62\x37\xd5\x85\x65\x9e\x0e\xe6\x53\x24\x74\x1b\x5e\x1d\x12\x53\x5b\xc7\x2c\xe7\x83\x49\x3b\x15\xae\x8a\x68\xb9\x57\x97\x02\x03\x01\x00\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x11\x14\x96\xc1\xab\x92\x08\xf7\x3f\x2f\xc9\xb2\xfe\xe4\x5a\x9f\x64\xde\xdb\x21\x4f\x86\x99\x34\x76\x36\x57\xdd\xd0\x15\x2f\xc5\xad\x7f\x15\x1f\x37\x62\x73\x3e\xd4\xe7\x5f\xce\x17\x03\xdb\x35\xfa\x2b\xdb\xae\x60\x09\x5f\x1e\x5f\x8f\x6e\xbb\x0b\x3d\xea\x5a\x13\x1e\x0c\x60\x6f\xb5\xc0\xb5\x23\x22\x2e\x07\x0b\xcb\xa9\x74\xcb\x47\xbb\x1d\xc1\xd7\xa5\x6b\xcc\x2f\xd2\x42\xfd\x49\xdd\xa7\x89\xcf\x53\xba\xda\x00\x5a\x28\xbf\x82\xdf\xf8\xba\x13\x1d\x50\x86\x82\xfd\x8e\x30\x8f\x29\x46\xb0\x1e\x3d\x35\xda\x38\x62\x16\x18\x4a\xad\xe6\xb6\x51\x6c\xde\xaf\x62\xeb\x01\xd0\x1e\x24\xfe\x7a\x8f\x12\x1a\x12\x68\xb8\xfb\x66\x99\x14\x14\x45\x5c\xae\xe7\xae\x69\x17\x81\x2b\x5a\x37\xc9\x5e\x2a\xf4\xc6\xe2\xa1\x5c\x54\x9b\xa6\x54\x00\xcf\xf0\xf1\xc1\xc7\x98\x30\x1a\x3b\x36\x16\xdb\xa3\x6e\xea\xfd\xad\xb2\xc2\xda\xef\x02\x47\x13\x8a\xc0\xf1\xb3\x31\xad\x4f\x1c\xe1\x4f\x9c\xaf\x0f\x0c\x9d\xf7\x78\x0d\xd8\xf4\x35\x56\x80\xda\xb7\x6d\x17\x8f\x9d\x1e\x81\x64\xe1\xfe\xc5\x45\xba\xad\x6b\xb9\x0a\x7a\x4e\x4f\x4b\x84\xee\x4b\xf1\x7d\xdd\x11", - ["Verisign Class 4 Public Primary Certification Authority - G3"] = "\x30\x82\x04\x1a\x30\x82\x03\x02\x02\x11\x00\xec\xa0\xa7\x8b\x6e\x75\x6a\x01\xcf\xc4\x7c\xcc\x2f\x94\x5e\xd7\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xca\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x31\x39\x39\x39\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x45\x30\x43\x06\x03\x55\x04\x03\x13\x3c\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x34\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x33\x30\x1e\x17\x0d\x39\x39\x31\x30\x30\x31\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x36\x30\x37\x31\x36\x32\x33\x35\x39\x35\x39\x5a\x30\x81\xca\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x31\x39\x39\x39\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x45\x30\x43\x06\x03\x55\x04\x03\x13\x3c\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x34\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x33\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xad\xcb\xa5\x11\x69\xc6\x59\xab\xf1\x8f\xb5\x19\x0f\x56\xce\xcc\xb5\x1f\x20\xe4\x9e\x26\x25\x4b\xe0\x73\x65\x89\x59\xde\xd0\x83\xe4\xf5\x0f\xb5\xbb\xad\xf1\x7c\xe8\x21\xfc\xe4\xe8\x0c\xee\x7c\x45\x22\x19\x76\x92\xb4\x13\xb7\x20\x5b\x09\xfa\x61\xae\xa8\xf2\xa5\x8d\x85\xc2\x2a\xd6\xde\x66\x36\xd2\x9b\x02\xf4\xa8\x92\x60\x7c\x9c\x69\xb4\x8f\x24\x1e\xd0\x86\x52\xf6\x32\x9c\x41\x58\x1e\x22\xbd\xcd\x45\x62\x95\x08\x6e\xd0\x66\xdd\x53\xa2\xcc\xf0\x10\xdc\x54\x73\x8b\x04\xa1\x46\x33\x33\x5c\x17\x40\xb9\x9e\x4d\xd3\xf3\xbe\x55\x83\xe8\xb1\x89\x8e\x5a\x7c\x9a\x96\x22\x90\x3b\x88\x25\xf2\xd2\x53\x88\x02\x0c\x0b\x78\xf2\xe6\x37\x17\x4b\x30\x46\x07\xe4\x80\x6d\xa6\xd8\x96\x2e\xe8\x2c\xf8\x11\xb3\x38\x0d\x66\xa6\x9b\xea\xc9\x23\x5b\xdb\x8e\xe2\xf3\x13\x8e\x1a\x59\x2d\xaa\x02\xf0\xec\xa4\x87\x66\xdc\xc1\x3f\xf5\xd8\xb9\xf4\xec\x82\xc6\xd2\x3d\x95\x1d\xe5\xc0\x4f\x84\xc9\xd9\xa3\x44\x28\x06\x6a\xd7\x45\xac\xf0\x6b\x6a\xef\x4e\x5f\xf8\x11\x82\x1e\x38\x63\x34\x66\x50\xd4\x3e\x93\x73\xfa\x30\xc3\x66\xad\xff\x93\x2d\x97\xef\x03\x02\x03\x01\x00\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x8f\xfa\x25\x6b\x4f\x5b\xe4\xa4\x4e\x27\x55\xab\x22\x15\x59\x3c\xca\xb5\x0a\xd4\x4a\xdb\xab\xdd\xa1\x5f\x53\xc5\xa0\x57\x39\xc2\xce\x47\x2b\xbe\x3a\xc8\x56\xbf\xc2\xd9\x27\x10\x3a\xb1\x05\x3c\xc0\x77\x31\xbb\x3a\xd3\x05\x7b\x6d\x9a\x1c\x30\x8c\x80\xcb\x93\x93\x2a\x83\xab\x05\x51\x82\x02\x00\x11\x67\x6b\xf3\x88\x61\x47\x5f\x03\x93\xd5\x5b\x0d\xe0\xf1\xd4\xa1\x32\x35\x85\xb2\x3a\xdb\xb0\x82\xab\xd1\xcb\x0a\xbc\x4f\x8c\x5b\xc5\x4b\x00\x3b\x1f\x2a\x82\xa6\x7e\x36\x85\xdc\x7e\x3c\x67\x00\xb5\xe4\x3b\x52\xe0\xa8\xeb\x5d\x15\xf9\xc6\x6d\xf0\xad\x1d\x0e\x85\xb7\xa9\x9a\x73\x14\x5a\x5b\x8f\x41\x28\xc0\xd5\xe8\x2d\x4d\xa4\x5e\xcd\xaa\xd9\xed\xce\xdc\xd8\xd5\x3c\x42\x1d\x17\xc1\x12\x5d\x45\x38\xc3\x38\xf3\xfc\x85\x2e\x83\x46\x48\xb2\xd7\x20\x5f\x92\x36\x8f\xe7\x79\x0f\x98\x5e\x99\xe8\xf0\xd0\xa4\xbb\xf5\x53\xbd\x2a\xce\x59\xb0\xaf\x6e\x7f\x6c\xbb\xd2\x1e\x00\xb0\x21\xed\xf8\x41\x62\x82\xb9\xd8\xb2\xc4\xbb\x46\x50\xf3\x31\xc5\x8f\x01\xa8\x74\xeb\xf5\x78\x27\xda\xe7\xf7\x66\x43\xf3\x9e\x83\x3e\x20\xaa\xc3\x35\x60\x91\xce", - ["Entrust.net Secure Server CA"] = "\x30\x82\x04\xd8\x30\x82\x04\x41\xa0\x03\x02\x01\x02\x02\x04\x37\x4a\xd2\x43\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xc3\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x31\x3b\x30\x39\x06\x03\x55\x04\x0b\x13\x32\x77\x77\x77\x2e\x65\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x2f\x43\x50\x53\x20\x69\x6e\x63\x6f\x72\x70\x2e\x20\x62\x79\x20\x72\x65\x66\x2e\x20\x28\x6c\x69\x6d\x69\x74\x73\x20\x6c\x69\x61\x62\x2e\x29\x31\x25\x30\x23\x06\x03\x55\x04\x0b\x13\x1c\x28\x63\x29\x20\x31\x39\x39\x39\x20\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x3a\x30\x38\x06\x03\x55\x04\x03\x13\x31\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x20\x53\x65\x63\x75\x72\x65\x20\x53\x65\x72\x76\x65\x72\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x39\x39\x30\x35\x32\x35\x31\x36\x30\x39\x34\x30\x5a\x17\x0d\x31\x39\x30\x35\x32\x35\x31\x36\x33\x39\x34\x30\x5a\x30\x81\xc3\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x31\x3b\x30\x39\x06\x03\x55\x04\x0b\x13\x32\x77\x77\x77\x2e\x65\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x2f\x43\x50\x53\x20\x69\x6e\x63\x6f\x72\x70\x2e\x20\x62\x79\x20\x72\x65\x66\x2e\x20\x28\x6c\x69\x6d\x69\x74\x73\x20\x6c\x69\x61\x62\x2e\x29\x31\x25\x30\x23\x06\x03\x55\x04\x0b\x13\x1c\x28\x63\x29\x20\x31\x39\x39\x39\x20\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x3a\x30\x38\x06\x03\x55\x04\x03\x13\x31\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x20\x53\x65\x63\x75\x72\x65\x20\x53\x65\x72\x76\x65\x72\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x81\x9d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8b\x00\x30\x81\x87\x02\x81\x81\x00\xcd\x28\x83\x34\x54\x1b\x89\xf3\x0f\xaf\x37\x91\x31\xff\xaf\x31\x60\xc9\xa8\xe8\xb2\x10\x68\xed\x9f\xe7\x93\x36\xf1\x0a\x64\xbb\x47\xf5\x04\x17\x3f\x23\x47\x4d\xc5\x27\x19\x81\x26\x0c\x54\x72\x0d\x88\x2d\xd9\x1f\x9a\x12\x9f\xbc\xb3\x71\xd3\x80\x19\x3f\x47\x66\x7b\x8c\x35\x28\xd2\xb9\x0a\xdf\x24\xda\x9c\xd6\x50\x79\x81\x7a\x5a\xd3\x37\xf7\xc2\x4a\xd8\x29\x92\x26\x64\xd1\xe4\x98\x6c\x3a\x00\x8a\xf5\x34\x9b\x65\xf8\xed\xe3\x10\xff\xfd\xb8\x49\x58\xdc\xa0\xde\x82\x39\x6b\x81\xb1\x16\x19\x61\xb9\x54\xb6\xe6\x43\x02\x01\x03\xa3\x82\x01\xd7\x30\x82\x01\xd3\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x82\x01\x19\x06\x03\x55\x1d\x1f\x04\x82\x01\x10\x30\x82\x01\x0c\x30\x81\xde\xa0\x81\xdb\xa0\x81\xd8\xa4\x81\xd5\x30\x81\xd2\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x31\x3b\x30\x39\x06\x03\x55\x04\x0b\x13\x32\x77\x77\x77\x2e\x65\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x2f\x43\x50\x53\x20\x69\x6e\x63\x6f\x72\x70\x2e\x20\x62\x79\x20\x72\x65\x66\x2e\x20\x28\x6c\x69\x6d\x69\x74\x73\x20\x6c\x69\x61\x62\x2e\x29\x31\x25\x30\x23\x06\x03\x55\x04\x0b\x13\x1c\x28\x63\x29\x20\x31\x39\x39\x39\x20\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x3a\x30\x38\x06\x03\x55\x04\x03\x13\x31\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x20\x53\x65\x63\x75\x72\x65\x20\x53\x65\x72\x76\x65\x72\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x13\x04\x43\x52\x4c\x31\x30\x29\xa0\x27\xa0\x25\x86\x23\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x65\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x2f\x43\x52\x4c\x2f\x6e\x65\x74\x31\x2e\x63\x72\x6c\x30\x2b\x06\x03\x55\x1d\x10\x04\x24\x30\x22\x80\x0f\x31\x39\x39\x39\x30\x35\x32\x35\x31\x36\x30\x39\x34\x30\x5a\x81\x0f\x32\x30\x31\x39\x30\x35\x32\x35\x31\x36\x30\x39\x34\x30\x5a\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xf0\x17\x62\x13\x55\x3d\xb3\xff\x0a\x00\x6b\xfb\x50\x84\x97\xf3\xed\x62\xd0\x1a\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xf0\x17\x62\x13\x55\x3d\xb3\xff\x0a\x00\x6b\xfb\x50\x84\x97\xf3\xed\x62\xd0\x1a\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x19\x06\x09\x2a\x86\x48\x86\xf6\x7d\x07\x41\x00\x04\x0c\x30\x0a\x1b\x04\x56\x34\x2e\x30\x03\x02\x04\x90\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x81\x81\x00\x90\xdc\x30\x02\xfa\x64\x74\xc2\xa7\x0a\xa5\x7c\x21\x8d\x34\x17\xa8\xfb\x47\x0e\xff\x25\x7c\x8d\x13\x0a\xfb\xe4\x98\xb5\xef\x8c\xf8\xc5\x10\x0d\xf7\x92\xbe\xf1\xc3\xd5\xd5\x95\x6a\x04\xbb\x2c\xce\x26\x36\x65\xc8\x31\xc6\xe7\xee\x3f\xe3\x57\x75\x84\x7a\x11\xef\x46\x4f\x18\xf4\xd3\x98\xbb\xa8\x87\x32\xba\x72\xf6\x3c\xe2\x3d\x9f\xd7\x1d\xd9\xc3\x60\x43\x8c\x58\x0e\x22\x96\x2f\x62\xa3\x2c\x1f\xba\xad\x05\xef\xab\x32\x78\x87\xa0\x54\x73\x19\xb5\x5c\x05\xf9\x52\x3e\x6d\x2d\x45\x0b\xf7\x0a\x93\xea\xed\x06\xf9\xb2", - ["Entrust.net Premium 2048 Secure Server CA"] = "\x30\x82\x04\x5c\x30\x82\x03\x44\xa0\x03\x02\x01\x02\x02\x04\x38\x63\xb9\x66\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xb4\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x31\x40\x30\x3e\x06\x03\x55\x04\x0b\x14\x37\x77\x77\x77\x2e\x65\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x2f\x43\x50\x53\x5f\x32\x30\x34\x38\x20\x69\x6e\x63\x6f\x72\x70\x2e\x20\x62\x79\x20\x72\x65\x66\x2e\x20\x28\x6c\x69\x6d\x69\x74\x73\x20\x6c\x69\x61\x62\x2e\x29\x31\x25\x30\x23\x06\x03\x55\x04\x0b\x13\x1c\x28\x63\x29\x20\x31\x39\x39\x39\x20\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x33\x30\x31\x06\x03\x55\x04\x03\x13\x2a\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x28\x32\x30\x34\x38\x29\x30\x1e\x17\x0d\x39\x39\x31\x32\x32\x34\x31\x37\x35\x30\x35\x31\x5a\x17\x0d\x31\x39\x31\x32\x32\x34\x31\x38\x32\x30\x35\x31\x5a\x30\x81\xb4\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x31\x40\x30\x3e\x06\x03\x55\x04\x0b\x14\x37\x77\x77\x77\x2e\x65\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x2f\x43\x50\x53\x5f\x32\x30\x34\x38\x20\x69\x6e\x63\x6f\x72\x70\x2e\x20\x62\x79\x20\x72\x65\x66\x2e\x20\x28\x6c\x69\x6d\x69\x74\x73\x20\x6c\x69\x61\x62\x2e\x29\x31\x25\x30\x23\x06\x03\x55\x04\x0b\x13\x1c\x28\x63\x29\x20\x31\x39\x39\x39\x20\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x33\x30\x31\x06\x03\x55\x04\x03\x13\x2a\x45\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x28\x32\x30\x34\x38\x29\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xad\x4d\x4b\xa9\x12\x86\xb2\xea\xa3\x20\x07\x15\x16\x64\x2a\x2b\x4b\xd1\xbf\x0b\x4a\x4d\x8e\xed\x80\x76\xa5\x67\xb7\x78\x40\xc0\x73\x42\xc8\x68\xc0\xdb\x53\x2b\xdd\x5e\xb8\x76\x98\x35\x93\x8b\x1a\x9d\x7c\x13\x3a\x0e\x1f\x5b\xb7\x1e\xcf\xe5\x24\x14\x1e\xb1\x81\xa9\x8d\x7d\xb8\xcc\x6b\x4b\x03\xf1\x02\x0c\xdc\xab\xa5\x40\x24\x00\x7f\x74\x94\xa1\x9d\x08\x29\xb3\x88\x0b\xf5\x87\x77\x9d\x55\xcd\xe4\xc3\x7e\xd7\x6a\x64\xab\x85\x14\x86\x95\x5b\x97\x32\x50\x6f\x3d\xc8\xba\x66\x0c\xe3\xfc\xbd\xb8\x49\xc1\x76\x89\x49\x19\xfd\xc0\xa8\xbd\x89\xa3\x67\x2f\xc6\x9f\xbc\x71\x19\x60\xb8\x2d\xe9\x2c\xc9\x90\x76\x66\x7b\x94\xe2\xaf\x78\xd6\x65\x53\x5d\x3c\xd6\x9c\xb2\xcf\x29\x03\xf9\x2f\xa4\x50\xb2\xd4\x48\xce\x05\x32\x55\x8a\xfd\xb2\x64\x4c\x0e\xe4\x98\x07\x75\xdb\x7f\xdf\xb9\x08\x55\x60\x85\x30\x29\xf9\x7b\x48\xa4\x69\x86\xe3\x35\x3f\x1e\x86\x5d\x7a\x7a\x15\xbd\xef\x00\x8e\x15\x22\x54\x17\x00\x90\x26\x93\xbc\x0e\x49\x68\x91\xbf\xf8\x47\xd3\x9d\x95\x42\xc1\x0e\x4d\xdf\x6f\x26\xcf\xc3\x18\x21\x62\x66\x43\x70\xd6\xd5\xc0\x07\xe1\x02\x03\x01\x00\x01\xa3\x74\x30\x72\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x55\xe4\x81\xd1\x11\x80\xbe\xd8\x89\xb9\x08\xa3\x31\xf9\xa1\x24\x09\x16\xb9\x70\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x55\xe4\x81\xd1\x11\x80\xbe\xd8\x89\xb9\x08\xa3\x31\xf9\xa1\x24\x09\x16\xb9\x70\x30\x1d\x06\x09\x2a\x86\x48\x86\xf6\x7d\x07\x41\x00\x04\x10\x30\x0e\x1b\x08\x56\x35\x2e\x30\x3a\x34\x2e\x30\x03\x02\x04\x90\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x59\x47\xac\x21\x84\x8a\x17\xc9\x9c\x89\x53\x1e\xba\x80\x85\x1a\xc6\x3c\x4e\x3e\xb1\x9c\xb6\x7c\xc6\x92\x5d\x18\x64\x02\xe3\xd3\x06\x08\x11\x61\x7c\x63\xe3\x2b\x9d\x31\x03\x70\x76\xd2\xa3\x28\xa0\xf4\xbb\x9a\x63\x73\xed\x6d\xe5\x2a\xdb\xed\x14\xa9\x2b\xc6\x36\x11\xd0\x2b\xeb\x07\x8b\xa5\xda\x9e\x5c\x19\x9d\x56\x12\xf5\x54\x29\xc8\x05\xed\xb2\x12\x2a\x8d\xf4\x03\x1b\xff\xe7\x92\x10\x87\xb0\x3a\xb5\xc3\x9d\x05\x37\x12\xa3\xc7\xf4\x15\xb9\xd5\xa4\x39\x16\x9b\x53\x3a\x23\x91\xf1\xa8\x82\xa2\x6a\x88\x68\xc1\x79\x02\x22\xbc\xaa\xa6\xd6\xae\xdf\xb0\x14\x5f\xb8\x87\xd0\xdd\x7c\x7f\x7b\xff\xaf\x1c\xcf\xe6\xdb\x07\xad\x5e\xdb\x85\x9d\xd0\x2b\x0d\x33\xdb\x04\xd1\xe6\x49\x40\x13\x2b\x76\xfb\x3e\xe9\x9c\x89\x0f\x15\xce\x18\xb0\x85\x78\x21\x4f\x6b\x4f\x0e\xfa\x36\x67\xcd\x07\xf2\xff\x08\xd0\xe2\xde\xd9\xbf\x2a\xaf\xb8\x87\x86\x21\x3c\x04\xca\xb7\x94\x68\x7f\xcf\x3c\xe9\x98\xd7\x38\xff\xec\xc0\xd9\x50\xf0\x2e\x4b\x58\xae\x46\x6f\xd0\x2e\xc3\x60\xda\x72\x55\x72\xbd\x4c\x45\x9e\x61\xba\xbf\x84\x81\x92\x03\xd1\xd2\x69\x7c\xc5", - ["Baltimore CyberTrust Root"] = "\x30\x82\x03\x77\x30\x82\x02\x5f\xa0\x03\x02\x01\x02\x02\x04\x02\x00\x00\xb9\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x5a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x49\x45\x31\x12\x30\x10\x06\x03\x55\x04\x0a\x13\x09\x42\x61\x6c\x74\x69\x6d\x6f\x72\x65\x31\x13\x30\x11\x06\x03\x55\x04\x0b\x13\x0a\x43\x79\x62\x65\x72\x54\x72\x75\x73\x74\x31\x22\x30\x20\x06\x03\x55\x04\x03\x13\x19\x42\x61\x6c\x74\x69\x6d\x6f\x72\x65\x20\x43\x79\x62\x65\x72\x54\x72\x75\x73\x74\x20\x52\x6f\x6f\x74\x30\x1e\x17\x0d\x30\x30\x30\x35\x31\x32\x31\x38\x34\x36\x30\x30\x5a\x17\x0d\x32\x35\x30\x35\x31\x32\x32\x33\x35\x39\x30\x30\x5a\x30\x5a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x49\x45\x31\x12\x30\x10\x06\x03\x55\x04\x0a\x13\x09\x42\x61\x6c\x74\x69\x6d\x6f\x72\x65\x31\x13\x30\x11\x06\x03\x55\x04\x0b\x13\x0a\x43\x79\x62\x65\x72\x54\x72\x75\x73\x74\x31\x22\x30\x20\x06\x03\x55\x04\x03\x13\x19\x42\x61\x6c\x74\x69\x6d\x6f\x72\x65\x20\x43\x79\x62\x65\x72\x54\x72\x75\x73\x74\x20\x52\x6f\x6f\x74\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xa3\x04\xbb\x22\xab\x98\x3d\x57\xe8\x26\x72\x9a\xb5\x79\xd4\x29\xe2\xe1\xe8\x95\x80\xb1\xb0\xe3\x5b\x8e\x2b\x29\x9a\x64\xdf\xa1\x5d\xed\xb0\x09\x05\x6d\xdb\x28\x2e\xce\x62\xa2\x62\xfe\xb4\x88\xda\x12\xeb\x38\xeb\x21\x9d\xc0\x41\x2b\x01\x52\x7b\x88\x77\xd3\x1c\x8f\xc7\xba\xb9\x88\xb5\x6a\x09\xe7\x73\xe8\x11\x40\xa7\xd1\xcc\xca\x62\x8d\x2d\xe5\x8f\x0b\xa6\x50\xd2\xa8\x50\xc3\x28\xea\xf5\xab\x25\x87\x8a\x9a\x96\x1c\xa9\x67\xb8\x3f\x0c\xd5\xf7\xf9\x52\x13\x2f\xc2\x1b\xd5\x70\x70\xf0\x8f\xc0\x12\xca\x06\xcb\x9a\xe1\xd9\xca\x33\x7a\x77\xd6\xf8\xec\xb9\xf1\x68\x44\x42\x48\x13\xd2\xc0\xc2\xa4\xae\x5e\x60\xfe\xb6\xa6\x05\xfc\xb4\xdd\x07\x59\x02\xd4\x59\x18\x98\x63\xf5\xa5\x63\xe0\x90\x0c\x7d\x5d\xb2\x06\x7a\xf3\x85\xea\xeb\xd4\x03\xae\x5e\x84\x3e\x5f\xff\x15\xed\x69\xbc\xf9\x39\x36\x72\x75\xcf\x77\x52\x4d\xf3\xc9\x90\x2c\xb9\x3d\xe5\xc9\x23\x53\x3f\x1f\x24\x98\x21\x5c\x07\x99\x29\xbd\xc6\x3a\xec\xe7\x6e\x86\x3a\x6b\x97\x74\x63\x33\xbd\x68\x18\x31\xf0\x78\x8d\x76\xbf\xfc\x9e\x8e\x5d\x2a\x86\xa7\x4d\x90\xdc\x27\x1a\x39\x02\x03\x01\x00\x01\xa3\x45\x30\x43\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xe5\x9d\x59\x30\x82\x47\x58\xcc\xac\xfa\x08\x54\x36\x86\x7b\x3a\xb5\x04\x4d\xf0\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x03\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x85\x0c\x5d\x8e\xe4\x6f\x51\x68\x42\x05\xa0\xdd\xbb\x4f\x27\x25\x84\x03\xbd\xf7\x64\xfd\x2d\xd7\x30\xe3\xa4\x10\x17\xeb\xda\x29\x29\xb6\x79\x3f\x76\xf6\x19\x13\x23\xb8\x10\x0a\xf9\x58\xa4\xd4\x61\x70\xbd\x04\x61\x6a\x12\x8a\x17\xd5\x0a\xbd\xc5\xbc\x30\x7c\xd6\xe9\x0c\x25\x8d\x86\x40\x4f\xec\xcc\xa3\x7e\x38\xc6\x37\x11\x4f\xed\xdd\x68\x31\x8e\x4c\xd2\xb3\x01\x74\xee\xbe\x75\x5e\x07\x48\x1a\x7f\x70\xff\x16\x5c\x84\xc0\x79\x85\xb8\x05\xfd\x7f\xbe\x65\x11\xa3\x0f\xc0\x02\xb4\xf8\x52\x37\x39\x04\xd5\xa9\x31\x7a\x18\xbf\xa0\x2a\xf4\x12\x99\xf7\xa3\x45\x82\xe3\x3c\x5e\xf5\x9d\x9e\xb5\xc8\x9e\x7c\x2e\xc8\xa4\x9e\x4e\x08\x14\x4b\x6d\xfd\x70\x6d\x6b\x1a\x63\xbd\x64\xe6\x1f\xb7\xce\xf0\xf2\x9f\x2e\xbb\x1b\xb7\xf2\x50\x88\x73\x92\xc2\xe2\xe3\x16\x8d\x9a\x32\x02\xab\x8e\x18\xdd\xe9\x10\x11\xee\x7e\x35\xab\x90\xaf\x3e\x30\x94\x7a\xd0\x33\x3d\xa7\x65\x0f\xf5\xfc\x8e\x9e\x62\xcf\x47\x44\x2c\x01\x5d\xbb\x1d\xb5\x32\xd2\x47\xd2\x38\x2e\xd0\xfe\x81\xdc\x32\x6a\x1e\xb5\xee\x3c\xd5\xfc\xe7\x81\x1d\x19\xc3\x24\x42\xea\x63\x39\xa9", - ["Equifax Secure Global eBusiness CA"] = "\x30\x82\x02\x90\x30\x82\x01\xf9\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x30\x5a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x49\x6e\x63\x2e\x31\x2d\x30\x2b\x06\x03\x55\x04\x03\x13\x24\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x47\x6c\x6f\x62\x61\x6c\x20\x65\x42\x75\x73\x69\x6e\x65\x73\x73\x20\x43\x41\x2d\x31\x30\x1e\x17\x0d\x39\x39\x30\x36\x32\x31\x30\x34\x30\x30\x30\x30\x5a\x17\x0d\x32\x30\x30\x36\x32\x31\x30\x34\x30\x30\x30\x30\x5a\x30\x5a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x49\x6e\x63\x2e\x31\x2d\x30\x2b\x06\x03\x55\x04\x03\x13\x24\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x47\x6c\x6f\x62\x61\x6c\x20\x65\x42\x75\x73\x69\x6e\x65\x73\x73\x20\x43\x41\x2d\x31\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xba\xe7\x17\x90\x02\x65\xb1\x34\x55\x3c\x49\xc2\x51\xd5\xdf\xa7\xd1\x37\x8f\xd1\xe7\x81\x73\x41\x52\x60\x9b\x9d\xa1\x17\x26\x78\xad\xc7\xb1\xe8\x26\x94\x32\xb5\xde\x33\x8d\x3a\x2f\xdb\xf2\x9a\x7a\x5a\x73\x98\xa3\x5c\xe9\xfb\x8a\x73\x1b\x5c\xe7\xc3\xbf\x80\x6c\xcd\xa9\xf4\xd6\x2b\xc0\xf7\xf9\x99\xaa\x63\xa2\xb1\x47\x02\x0f\xd4\xe4\x51\x3a\x12\x3c\x6c\x8a\x5a\x54\x84\x70\xdb\xc1\xc5\x90\xcf\x72\x45\xcb\xa8\x59\xc0\xcd\x33\x9d\x3f\xa3\x96\xeb\x85\x33\x21\x1c\x3e\x1e\x3e\x60\x6e\x76\x9c\x67\x85\xc5\xc8\xc3\x61\x02\x03\x01\x00\x01\xa3\x66\x30\x64\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xbe\xa8\xa0\x74\x72\x50\x6b\x44\xb7\xc9\x23\xd8\xfb\xa8\xff\xb3\x57\x6b\x68\x6c\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xbe\xa8\xa0\x74\x72\x50\x6b\x44\xb7\xc9\x23\xd8\xfb\xa8\xff\xb3\x57\x6b\x68\x6c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x03\x81\x81\x00\x30\xe2\x01\x51\xaa\xc7\xea\x5f\xda\xb9\xd0\x65\x0f\x30\xd6\x3e\xda\x0d\x14\x49\x6e\x91\x93\x27\x14\x31\xef\xc4\xf7\x2d\x45\xf8\xec\xc7\xbf\xa2\x41\x0d\x23\xb4\x92\xf9\x19\x00\x67\xbd\x01\xaf\xcd\xe0\x71\xfc\x5a\xcf\x64\xc4\xe0\x96\x98\xd0\xa3\x40\xe2\x01\x8a\xef\x27\x07\xf1\x65\x01\x8a\x44\x2d\x06\x65\x75\x52\xc0\x86\x10\x20\x21\x5f\x6c\x6b\x0f\x6c\xae\x09\x1c\xaf\xf2\xa2\x18\x34\xc4\x75\xa4\x73\x1c\xf1\x8d\xdc\xef\xad\xf9\xb3\x76\xb4\x92\xbf\xdc\x95\x10\x1e\xbe\xcb\xc8\x3b\x5a\x84\x60\x19\x56\x94\xa9\x55", - ["Equifax Secure eBusiness CA 1"] = "\x30\x82\x02\x82\x30\x82\x01\xeb\xa0\x03\x02\x01\x02\x02\x01\x04\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x30\x53\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x49\x6e\x63\x2e\x31\x26\x30\x24\x06\x03\x55\x04\x03\x13\x1d\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x65\x42\x75\x73\x69\x6e\x65\x73\x73\x20\x43\x41\x2d\x31\x30\x1e\x17\x0d\x39\x39\x30\x36\x32\x31\x30\x34\x30\x30\x30\x30\x5a\x17\x0d\x32\x30\x30\x36\x32\x31\x30\x34\x30\x30\x30\x30\x5a\x30\x53\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x49\x6e\x63\x2e\x31\x26\x30\x24\x06\x03\x55\x04\x03\x13\x1d\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x65\x42\x75\x73\x69\x6e\x65\x73\x73\x20\x43\x41\x2d\x31\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xce\x2f\x19\xbc\x17\xb7\x77\xde\x93\xa9\x5f\x5a\x0d\x17\x4f\x34\x1a\x0c\x98\xf4\x22\xd9\x59\xd4\xc4\x68\x46\xf0\xb4\x35\xc5\x85\x03\x20\xc6\xaf\x45\xa5\x21\x51\x45\x41\xeb\x16\x58\x36\x32\x6f\xe2\x50\x62\x64\xf9\xfd\x51\x9c\xaa\x24\xd9\xf4\x9d\x83\x2a\x87\x0a\x21\xd3\x12\x38\x34\x6c\x8d\x00\x6e\x5a\xa0\xd9\x42\xee\x1a\x21\x95\xf9\x52\x4c\x55\x5a\xc5\x0f\x38\x4f\x46\xfa\x6d\xf8\x2e\x35\xd6\x1d\x7c\xeb\xe2\xf0\xb0\x75\x80\xc8\xa9\x13\xac\xbe\x88\xef\x3a\x6e\xab\x5f\x2a\x38\x62\x02\xb0\x12\x7b\xfe\x8f\xa6\x03\x02\x03\x01\x00\x01\xa3\x66\x30\x64\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x4a\x78\x32\x52\x11\xdb\x59\x16\x36\x5e\xdf\xc1\x14\x36\x40\x6a\x47\x7c\x4c\xa1\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x4a\x78\x32\x52\x11\xdb\x59\x16\x36\x5e\xdf\xc1\x14\x36\x40\x6a\x47\x7c\x4c\xa1\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x03\x81\x81\x00\x75\x5b\xa8\x9b\x03\x11\xe6\xe9\x56\x4c\xcd\xf9\xa9\x4c\xc0\x0d\x9a\xf3\xcc\x65\x69\xe6\x25\x76\xcc\x59\xb7\xd6\x54\xc3\x1d\xcd\x99\xac\x19\xdd\xb4\x85\xd5\xe0\x3d\xfc\x62\x20\xa7\x84\x4b\x58\x65\xf1\xe2\xf9\x95\x21\x3f\xf5\xd4\x7e\x58\x1e\x47\x87\x54\x3e\x58\xa1\xb5\xb5\xf8\x2a\xef\x71\xe7\xbc\xc3\xf6\xb1\x49\x46\xe2\xd7\xa0\x6b\xe5\x56\x7a\x9a\x27\x98\x7c\x46\x62\x14\xe7\xc9\xfc\x6e\x03\x12\x79\x80\x38\x1d\x48\x82\x8d\xfc\x17\xfe\x2a\x96\x2b\xb5\x62\xa6\xa6\x3d\xbd\x7f\x92\x59\xcd\x5a\x2a\x82\xb2\x37\x79", - ["Equifax Secure eBusiness CA 2"] = "\x30\x82\x03\x20\x30\x82\x02\x89\xa0\x03\x02\x01\x02\x02\x04\x37\x70\xcf\xb5\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x4e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x31\x26\x30\x24\x06\x03\x55\x04\x0b\x13\x1d\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x65\x42\x75\x73\x69\x6e\x65\x73\x73\x20\x43\x41\x2d\x32\x30\x1e\x17\x0d\x39\x39\x30\x36\x32\x33\x31\x32\x31\x34\x34\x35\x5a\x17\x0d\x31\x39\x30\x36\x32\x33\x31\x32\x31\x34\x34\x35\x5a\x30\x4e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x31\x26\x30\x24\x06\x03\x55\x04\x0b\x13\x1d\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x65\x42\x75\x73\x69\x6e\x65\x73\x73\x20\x43\x41\x2d\x32\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xe4\x39\x39\x93\x1e\x52\x06\x1b\x28\x36\xf8\xb2\xa3\x29\xc5\xed\x8e\xb2\x11\xbd\xfe\xeb\xe7\xb4\x74\xc2\x8f\xff\x05\xe7\xd9\x9d\x06\xbf\x12\xc8\x3f\x0e\xf2\xd6\xd1\x24\xb2\x11\xde\xd1\x73\x09\x8a\xd4\xb1\x2c\x98\x09\x0d\x1e\x50\x46\xb2\x83\xa6\x45\x8d\x62\x68\xbb\x85\x1b\x20\x70\x32\xaa\x40\xcd\xa6\x96\x5f\xc4\x71\x37\x3f\x04\xf3\xb7\x41\x24\x39\x07\x1a\x1e\x2e\x61\x58\xa0\x12\x0b\xe5\xa5\xdf\xc5\xab\xea\x37\x71\xcc\x1c\xc8\x37\x3a\xb9\x97\x52\xa7\xac\xc5\x6a\x24\x94\x4e\x9c\x7b\xcf\xc0\x6a\xd6\xdf\x21\xbd\x02\x03\x01\x00\x01\xa3\x82\x01\x09\x30\x82\x01\x05\x30\x70\x06\x03\x55\x1d\x1f\x04\x69\x30\x67\x30\x65\xa0\x63\xa0\x61\xa4\x5f\x30\x5d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x31\x26\x30\x24\x06\x03\x55\x04\x0b\x13\x1d\x45\x71\x75\x69\x66\x61\x78\x20\x53\x65\x63\x75\x72\x65\x20\x65\x42\x75\x73\x69\x6e\x65\x73\x73\x20\x43\x41\x2d\x32\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x13\x04\x43\x52\x4c\x31\x30\x1a\x06\x03\x55\x1d\x10\x04\x13\x30\x11\x81\x0f\x32\x30\x31\x39\x30\x36\x32\x33\x31\x32\x31\x34\x34\x35\x5a\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x50\x9e\x0b\xea\xaf\x5e\xb9\x20\x48\xa6\x50\x6a\xcb\xfd\xd8\x20\x7a\xa7\x82\x76\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x50\x9e\x0b\xea\xaf\x5e\xb9\x20\x48\xa6\x50\x6a\xcb\xfd\xd8\x20\x7a\xa7\x82\x76\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x1a\x06\x09\x2a\x86\x48\x86\xf6\x7d\x07\x41\x00\x04\x0d\x30\x0b\x1b\x05\x56\x33\x2e\x30\x63\x03\x02\x06\xc0\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x81\x81\x00\x0c\x86\x82\xad\xe8\x4e\x1a\xf5\x8e\x89\x27\xe2\x35\x58\x3d\x29\xb4\x07\x8f\x36\x50\x95\xbf\x6e\xc1\x9e\xeb\xc4\x90\xb2\x85\xa8\xbb\xb7\x42\xe0\x0f\x07\x39\xdf\xfb\x9e\x90\xb2\xd1\xc1\x3e\x53\x9f\x03\x44\xb0\x7e\x4b\xf4\x6f\xe4\x7c\x1f\xe7\xe2\xb1\xe4\xb8\x9a\xef\xc3\xbd\xce\xde\x0b\x32\x34\xd9\xde\x28\xed\x33\x6b\xc4\xd4\xd7\x3d\x12\x58\xab\x7d\x09\x2d\xcb\x70\xf5\x13\x8a\x94\xa1\x27\xa4\xd6\x70\xc5\x6d\x94\xb5\xc9\x7d\x9d\xa0\xd2\xc6\x08\x49\xd9\x66\x9b\xa6\xd3\xf4\x0b\xdc\xc5\x26\x57\xe1\x91\x30\xea\xcd", - ["AddTrust Low-Value Services Root"] = "\x30\x82\x04\x18\x30\x82\x03\x00\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x65\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x41\x64\x64\x54\x72\x75\x73\x74\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x41\x64\x64\x54\x72\x75\x73\x74\x20\x43\x6c\x61\x73\x73\x20\x31\x20\x43\x41\x20\x52\x6f\x6f\x74\x30\x1e\x17\x0d\x30\x30\x30\x35\x33\x30\x31\x30\x33\x38\x33\x31\x5a\x17\x0d\x32\x30\x30\x35\x33\x30\x31\x30\x33\x38\x33\x31\x5a\x30\x65\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x41\x64\x64\x54\x72\x75\x73\x74\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x41\x64\x64\x54\x72\x75\x73\x74\x20\x43\x6c\x61\x73\x73\x20\x31\x20\x43\x41\x20\x52\x6f\x6f\x74\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\x96\x96\xd4\x21\x49\x60\xe2\x6b\xe8\x41\x07\x0c\xde\xc4\xe0\xdc\x13\x23\xcd\xc1\x35\xc7\xfb\xd6\x4e\x11\x0a\x67\x5e\xf5\x06\x5b\x6b\xa5\x08\x3b\x5b\x29\x16\x3a\xe7\x87\xb2\x34\x06\xc5\xbc\x05\xa5\x03\x7c\x82\xcb\x29\x10\xae\xe1\x88\x81\xbd\xd6\x9e\xd3\xfe\x2d\x56\xc1\x15\xce\xe3\x26\x9d\x15\x2e\x10\xfb\x06\x8f\x30\x04\xde\xa7\xb4\x63\xb4\xff\xb1\x9c\xae\x3c\xaf\x77\xb6\x56\xc5\xb5\xab\xa2\xe9\x69\x3a\x3d\x0e\x33\x79\x32\x3f\x70\x82\x92\x99\x61\x6d\x8d\x30\x08\x8f\x71\x3f\xa6\x48\x57\x19\xf8\x25\xdc\x4b\x66\x5c\xa5\x74\x8f\x98\xae\xc8\xf9\xc0\x06\x22\xe7\xac\x73\xdf\xa5\x2e\xfb\x52\xdc\xb1\x15\x65\x20\xfa\x35\x66\x69\xde\xdf\x2c\xf1\x6e\xbc\x30\xdb\x2c\x24\x12\xdb\xeb\x35\x35\x68\x90\xcb\x00\xb0\x97\x21\x3d\x74\x21\x23\x65\x34\x2b\xbb\x78\x59\xa3\xd6\xe1\x76\x39\x9a\xa4\x49\x8e\x8c\x74\xaf\x6e\xa4\x9a\xa3\xd9\x9b\xd2\x38\x5c\x9b\xa2\x18\xcc\x75\x23\x84\xbe\xeb\xe2\x4d\x33\x71\x8e\x1a\xf0\xc2\xf8\xc7\x1d\xa2\xad\x03\x97\x2c\xf8\xcf\x25\xc6\xf6\xb8\x24\x31\xb1\x63\x5d\x92\x7f\x63\xf0\x25\xc9\x53\x2e\x1f\xbf\x4d\x02\x03\x01\x00\x01\xa3\x81\xd2\x30\x81\xcf\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x95\xb1\xb4\xf0\x94\xb6\xbd\xc7\xda\xd1\x11\x09\x21\xbe\xc1\xaf\x49\xfd\x10\x7b\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x81\x8f\x06\x03\x55\x1d\x23\x04\x81\x87\x30\x81\x84\x80\x14\x95\xb1\xb4\xf0\x94\xb6\xbd\xc7\xda\xd1\x11\x09\x21\xbe\xc1\xaf\x49\xfd\x10\x7b\xa1\x69\xa4\x67\x30\x65\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x41\x64\x64\x54\x72\x75\x73\x74\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x41\x64\x64\x54\x72\x75\x73\x74\x20\x43\x6c\x61\x73\x73\x20\x31\x20\x43\x41\x20\x52\x6f\x6f\x74\x82\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x2c\x6d\x64\x1b\x1f\xcd\x0d\xdd\xb9\x01\xfa\x96\x63\x34\x32\x48\x47\x99\xae\x97\xed\xfd\x72\x16\xa6\x73\x47\x5a\xf4\xeb\xdd\xe9\xf5\xd6\xfb\x45\xcc\x29\x89\x44\x5d\xbf\x46\x39\x3d\xe8\xee\xbc\x4d\x54\x86\x1e\x1d\x6c\xe3\x17\x27\x43\xe1\x89\x56\x2b\xa9\x6f\x72\x4e\x49\x33\xe3\x72\x7c\x2a\x23\x9a\xbc\x3e\xff\x28\x2a\xed\xa3\xff\x1c\x23\xba\x43\x57\x09\x67\x4d\x4b\x62\x06\x2d\xf8\xff\x6c\x9d\x60\x1e\xd8\x1c\x4b\x7d\xb5\x31\x2f\xd9\xd0\x7c\x5d\xf8\xde\x6b\x83\x18\x78\x37\x57\x2f\xe8\x33\x07\x67\xdf\x1e\xc7\x6b\x2a\x95\x76\xae\x8f\x57\xa3\xf0\xf4\x52\xb4\xa9\x53\x08\xcf\xe0\x4f\xd3\x7a\x53\x8b\xfd\xbb\x1c\x56\x36\xf2\xfe\xb2\xb6\xe5\x76\xbb\xd5\x22\x65\xa7\x3f\xfe\xd1\x66\xad\x0b\xbc\x6b\x99\x86\xef\x3f\x7d\xf3\x18\x32\xca\x7b\xc6\xe3\xab\x64\x46\x95\xf8\x26\x69\xd9\x55\x83\x7b\x2c\x96\x07\xff\x59\x2c\x44\xa3\xc6\xe5\xe9\xa9\xdc\xa1\x63\x80\x5a\x21\x5e\x21\xcf\x53\x54\xf0\xba\x6f\x89\xdb\xa8\xaa\x95\xcf\x8b\xe3\x71\xcc\x1e\x1b\x20\x44\x08\xc0\x7a\xb6\x40\xfd\xc4\xe4\x35\xe1\x1d\x16\x1c\xd0\xbc\x2b\x8e\xd6\x71\xd9", - ["AddTrust External Root"] = "\x30\x82\x04\x36\x30\x82\x03\x1e\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x6f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x26\x30\x24\x06\x03\x55\x04\x0b\x13\x1d\x41\x64\x64\x54\x72\x75\x73\x74\x20\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x22\x30\x20\x06\x03\x55\x04\x03\x13\x19\x41\x64\x64\x54\x72\x75\x73\x74\x20\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x43\x41\x20\x52\x6f\x6f\x74\x30\x1e\x17\x0d\x30\x30\x30\x35\x33\x30\x31\x30\x34\x38\x33\x38\x5a\x17\x0d\x32\x30\x30\x35\x33\x30\x31\x30\x34\x38\x33\x38\x5a\x30\x6f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x26\x30\x24\x06\x03\x55\x04\x0b\x13\x1d\x41\x64\x64\x54\x72\x75\x73\x74\x20\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x22\x30\x20\x06\x03\x55\x04\x03\x13\x19\x41\x64\x64\x54\x72\x75\x73\x74\x20\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x43\x41\x20\x52\x6f\x6f\x74\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xb7\xf7\x1a\x33\xe6\xf2\x00\x04\x2d\x39\xe0\x4e\x5b\xed\x1f\xbc\x6c\x0f\xcd\xb5\xfa\x23\xb6\xce\xde\x9b\x11\x33\x97\xa4\x29\x4c\x7d\x93\x9f\xbd\x4a\xbc\x93\xed\x03\x1a\xe3\x8f\xcf\xe5\x6d\x50\x5a\xd6\x97\x29\x94\x5a\x80\xb0\x49\x7a\xdb\x2e\x95\xfd\xb8\xca\xbf\x37\x38\x2d\x1e\x3e\x91\x41\xad\x70\x56\xc7\xf0\x4f\x3f\xe8\x32\x9e\x74\xca\xc8\x90\x54\xe9\xc6\x5f\x0f\x78\x9d\x9a\x40\x3c\x0e\xac\x61\xaa\x5e\x14\x8f\x9e\x87\xa1\x6a\x50\xdc\xd7\x9a\x4e\xaf\x05\xb3\xa6\x71\x94\x9c\x71\xb3\x50\x60\x0a\xc7\x13\x9d\x38\x07\x86\x02\xa8\xe9\xa8\x69\x26\x18\x90\xab\x4c\xb0\x4f\x23\xab\x3a\x4f\x84\xd8\xdf\xce\x9f\xe1\x69\x6f\xbb\xd7\x42\xd7\x6b\x44\xe4\xc7\xad\xee\x6d\x41\x5f\x72\x5a\x71\x08\x37\xb3\x79\x65\xa4\x59\xa0\x94\x37\xf7\x00\x2f\x0d\xc2\x92\x72\xda\xd0\x38\x72\xdb\x14\xa8\x45\xc4\x5d\x2a\x7d\xb7\xb4\xd6\xc4\xee\xac\xcd\x13\x44\xb7\xc9\x2b\xdd\x43\x00\x25\xfa\x61\xb9\x69\x6a\x58\x23\x11\xb7\xa7\x33\x8f\x56\x75\x59\xf5\xcd\x29\xd7\x46\xb7\x0a\x2b\x65\xb6\xd3\x42\x6f\x15\xb2\xb8\x7b\xfb\xef\xe9\x5d\x53\xd5\x34\x5a\x27\x02\x03\x01\x00\x01\xa3\x81\xdc\x30\x81\xd9\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xad\xbd\x98\x7a\x34\xb4\x26\xf7\xfa\xc4\x26\x54\xef\x03\xbd\xe0\x24\xcb\x54\x1a\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x81\x99\x06\x03\x55\x1d\x23\x04\x81\x91\x30\x81\x8e\x80\x14\xad\xbd\x98\x7a\x34\xb4\x26\xf7\xfa\xc4\x26\x54\xef\x03\xbd\xe0\x24\xcb\x54\x1a\xa1\x73\xa4\x71\x30\x6f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x26\x30\x24\x06\x03\x55\x04\x0b\x13\x1d\x41\x64\x64\x54\x72\x75\x73\x74\x20\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x22\x30\x20\x06\x03\x55\x04\x03\x13\x19\x41\x64\x64\x54\x72\x75\x73\x74\x20\x45\x78\x74\x65\x72\x6e\x61\x6c\x20\x43\x41\x20\x52\x6f\x6f\x74\x82\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xb0\x9b\xe0\x85\x25\xc2\xd6\x23\xe2\x0f\x96\x06\x92\x9d\x41\x98\x9c\xd9\x84\x79\x81\xd9\x1e\x5b\x14\x07\x23\x36\x65\x8f\xb0\xd8\x77\xbb\xac\x41\x6c\x47\x60\x83\x51\xb0\xf9\x32\x3d\xe7\xfc\xf6\x26\x13\xc7\x80\x16\xa5\xbf\x5a\xfc\x87\xcf\x78\x79\x89\x21\x9a\xe2\x4c\x07\x0a\x86\x35\xbc\xf2\xde\x51\xc4\xd2\x96\xb7\xdc\x7e\x4e\xee\x70\xfd\x1c\x39\xeb\x0c\x02\x51\x14\x2d\x8e\xbd\x16\xe0\xc1\xdf\x46\x75\xe7\x24\xad\xec\xf4\x42\xb4\x85\x93\x70\x10\x67\xba\x9d\x06\x35\x4a\x18\xd3\x2b\x7a\xcc\x51\x42\xa1\x7a\x63\xd1\xe6\xbb\xa1\xc5\x2b\xc2\x36\xbe\x13\x0d\xe6\xbd\x63\x7e\x79\x7b\xa7\x09\x0d\x40\xab\x6a\xdd\x8f\x8a\xc3\xf6\xf6\x8c\x1a\x42\x05\x51\xd4\x45\xf5\x9f\xa7\x62\x21\x68\x15\x20\x43\x3c\x99\xe7\x7c\xbd\x24\xd8\xa9\x91\x17\x73\x88\x3f\x56\x1b\x31\x38\x18\xb4\x71\x0f\x9a\xcd\xc8\x0e\x9e\x8e\x2e\x1b\xe1\x8c\x98\x83\xcb\x1f\x31\xf1\x44\x4c\xc6\x04\x73\x49\x76\x60\x0f\xc7\xf8\xbd\x17\x80\x6b\x2e\xe9\xcc\x4c\x0e\x5a\x9a\x79\x0f\x20\x0a\x2e\xd5\x9e\x63\x26\x1e\x55\x92\x94\xd8\x82\x17\x5a\x7b\xd0\xbc\xc7\x8f\x4e\x86\x04", - ["AddTrust Public Services Root"] = "\x30\x82\x04\x15\x30\x82\x02\xfd\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x64\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x41\x64\x64\x54\x72\x75\x73\x74\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x20\x30\x1e\x06\x03\x55\x04\x03\x13\x17\x41\x64\x64\x54\x72\x75\x73\x74\x20\x50\x75\x62\x6c\x69\x63\x20\x43\x41\x20\x52\x6f\x6f\x74\x30\x1e\x17\x0d\x30\x30\x30\x35\x33\x30\x31\x30\x34\x31\x35\x30\x5a\x17\x0d\x32\x30\x30\x35\x33\x30\x31\x30\x34\x31\x35\x30\x5a\x30\x64\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x41\x64\x64\x54\x72\x75\x73\x74\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x20\x30\x1e\x06\x03\x55\x04\x03\x13\x17\x41\x64\x64\x54\x72\x75\x73\x74\x20\x50\x75\x62\x6c\x69\x63\x20\x43\x41\x20\x52\x6f\x6f\x74\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xe9\x1a\x30\x8f\x83\x88\x14\xc1\x20\xd8\x3c\x9b\x8f\x1b\x7e\x03\x74\xbb\xda\x69\xd3\x46\xa5\xf8\x8e\xc2\x0c\x11\x90\x51\xa5\x2f\x66\x54\x40\x55\xea\xdb\x1f\x4a\x56\xee\x9f\x23\x6e\xf4\x39\xcb\xa1\xb9\x6f\xf2\x7e\xf9\x5d\x87\x26\x61\x9e\x1c\xf8\xe2\xec\xa6\x81\xf8\x21\xc5\x24\xcc\x11\x0c\x3f\xdb\x26\x72\x7a\xc7\x01\x97\x07\x17\xf9\xd7\x18\x2c\x30\x7d\x0e\x7a\x1e\x62\x1e\xc6\x4b\xc0\xfd\x7d\x62\x77\xd3\x44\x1e\x27\xf6\x3f\x4b\x44\xb3\xb7\x38\xd9\x39\x1f\x60\xd5\x51\x92\x73\x03\xb4\x00\x69\xe3\xf3\x14\x4e\xee\xd1\xdc\x09\xcf\x77\x34\x46\x50\xb0\xf8\x11\xf2\xfe\x38\x79\xf7\x07\x39\xfe\x51\x92\x97\x0b\x5b\x08\x5f\x34\x86\x01\xad\x88\x97\xeb\x66\xcd\x5e\xd1\xff\xdc\x7d\xf2\x84\xda\xba\x77\xad\xdc\x80\x08\xc7\xa7\x87\xd6\x55\x9f\x97\x6a\xe8\xc8\x11\x64\xba\xe7\x19\x29\x3f\x11\xb3\x78\x90\x84\x20\x52\x5b\x11\xef\x78\xd0\x83\xf6\xd5\x48\x90\xd0\x30\x1c\xcf\x80\xf9\x60\xfe\x79\xe4\x88\xf2\xdd\x00\xeb\x94\x45\xeb\x65\x94\x69\x40\xba\xc0\xd5\xb4\xb8\xba\x7d\x04\x11\xa8\xeb\x31\x05\x96\x94\x4e\x58\x21\x8e\x9f\xd0\x60\xfd\x02\x03\x01\x00\x01\xa3\x81\xd1\x30\x81\xce\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x81\x3e\x37\xd8\x92\xb0\x1f\x77\x9f\x5c\xb4\xab\x73\xaa\xe7\xf6\x34\x60\x2f\xfa\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x81\x8e\x06\x03\x55\x1d\x23\x04\x81\x86\x30\x81\x83\x80\x14\x81\x3e\x37\xd8\x92\xb0\x1f\x77\x9f\x5c\xb4\xab\x73\xaa\xe7\xf6\x34\x60\x2f\xfa\xa1\x68\xa4\x66\x30\x64\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x41\x64\x64\x54\x72\x75\x73\x74\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x20\x30\x1e\x06\x03\x55\x04\x03\x13\x17\x41\x64\x64\x54\x72\x75\x73\x74\x20\x50\x75\x62\x6c\x69\x63\x20\x43\x41\x20\x52\x6f\x6f\x74\x82\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x03\xf7\x15\x4a\xf8\x24\xda\x23\x56\x16\x93\x76\xdd\x36\x28\xb9\xae\x1b\xb8\xc3\xf1\x64\xba\x20\x18\x78\x95\x29\x27\x57\x05\xbc\x7c\x2a\xf4\xb9\x51\x55\xda\x87\x02\xde\x0f\x16\x17\x31\xf8\xaa\x79\x2e\x09\x13\xbb\xaf\xb2\x20\x19\x12\xe5\x93\xf9\x4b\xf9\x83\xe8\x44\xd5\xb2\x41\x25\xbf\x88\x75\x6f\xff\x10\xfc\x4a\x54\xd0\x5f\xf0\xfa\xef\x36\x73\x7d\x1b\x36\x45\xc6\x21\x6d\xb4\x15\xb8\x4e\xcf\x9c\x5c\xa5\x3d\x5a\x00\x8e\x06\xe3\x3c\x6b\x32\x7b\xf2\x9f\xf0\xb6\xfd\xdf\xf0\x28\x18\x48\xf0\xc6\xbc\xd0\xbf\x34\x80\x96\xc2\x4a\xb1\x6d\x8e\xc7\x90\x45\xde\x2f\x67\xac\x45\x04\xa3\x7a\xdc\x55\x92\xc9\x47\x66\xd8\x1a\x8c\xc7\xed\x9c\x4e\x9a\xe0\x12\xbb\xb5\x6a\x4c\x84\xe1\xe1\x22\x0d\x87\x00\x64\xfe\x8c\x7d\x62\x39\x65\xa6\xef\x42\xb6\x80\x25\x12\x61\x01\xa8\x24\x13\x70\x00\x11\x26\x5f\xfa\x35\x50\xc5\x48\xcc\x06\x47\xe8\x27\xd8\x70\x8d\x5f\x64\xe6\xa1\x44\x26\x5e\x22\xec\x92\xcd\xff\x42\x9a\x44\x21\x6d\x5c\xc5\xe3\x22\x1d\x5f\x47\x12\xe7\xce\x5f\x5d\xfa\xd8\xaa\xb1\x33\x2d\xd9\x76\xf2\x4e\x3a\x33\x0c\x2b\xb3\x2d\x90\x06", - ["AddTrust Qualified Certificates Root"] = "\x30\x82\x04\x1e\x30\x82\x03\x06\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x67\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x41\x64\x64\x54\x72\x75\x73\x74\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x23\x30\x21\x06\x03\x55\x04\x03\x13\x1a\x41\x64\x64\x54\x72\x75\x73\x74\x20\x51\x75\x61\x6c\x69\x66\x69\x65\x64\x20\x43\x41\x20\x52\x6f\x6f\x74\x30\x1e\x17\x0d\x30\x30\x30\x35\x33\x30\x31\x30\x34\x34\x35\x30\x5a\x17\x0d\x32\x30\x30\x35\x33\x30\x31\x30\x34\x34\x35\x30\x5a\x30\x67\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x41\x64\x64\x54\x72\x75\x73\x74\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x23\x30\x21\x06\x03\x55\x04\x03\x13\x1a\x41\x64\x64\x54\x72\x75\x73\x74\x20\x51\x75\x61\x6c\x69\x66\x69\x65\x64\x20\x43\x41\x20\x52\x6f\x6f\x74\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xe4\x1e\x9a\xfe\xdc\x09\x5a\x87\xa4\x9f\x47\xbe\x11\x5f\xaf\x84\x34\xdb\x62\x3c\x79\x78\xb7\xe9\x30\xb5\xec\x0c\x1c\x2a\xc4\x16\xff\xe0\xec\x71\xeb\x8a\xf5\x11\x6e\xed\x4f\x0d\x91\xd2\x12\x18\x2d\x49\x15\x01\xc2\xa4\x22\x13\xc7\x11\x64\xff\x22\x12\x9a\xb9\x8e\x5c\x2f\x08\xcf\x71\x6a\xb3\x67\x01\x59\xf1\x5d\x46\xf3\xb0\x78\xa5\xf6\x0e\x42\x7a\xe3\x7f\x1b\xcc\xd0\xf0\xb7\x28\xfd\x2a\xea\x9e\xb3\xb0\xb9\x04\xaa\xfd\xf6\xc7\xb4\xb1\xb8\x2a\xa0\xfb\x58\xf1\x19\xa0\x6f\x70\x25\x7e\x3e\x69\x4a\x7f\x0f\x22\xd8\xef\xad\x08\x11\x9a\x29\x99\xe1\xaa\x44\x45\x9a\x12\x5e\x3e\x9d\x6d\x52\xfc\xe7\xa0\x3d\x68\x2f\xf0\x4b\x70\x7c\x13\x38\xad\xbc\x15\x25\xf1\xd6\xce\xab\xa2\xc0\x31\xd6\x2f\x9f\xe0\xff\x14\x59\xfc\x84\x93\xd9\x87\x7c\x4c\x54\x13\xeb\x9f\xd1\x2d\x11\xf8\x18\x3a\x3a\xde\x25\xd9\xf7\xd3\x40\xed\xa4\x06\x12\xc4\x3b\xe1\x91\xc1\x56\x35\xf0\x14\xdc\x65\x36\x09\x6e\xab\xa4\x07\xc7\x35\xd1\xc2\x03\x33\x36\x5b\x75\x26\x6d\x42\xf1\x12\x6b\x43\x6f\x4b\x71\x94\xfa\x34\x1d\xed\x13\x6e\xca\x80\x7f\x98\x2f\x6c\xb9\x65\xd8\xe9\x02\x03\x01\x00\x01\xa3\x81\xd4\x30\x81\xd1\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x39\x95\x8b\x62\x8b\x5c\xc9\xd4\x80\xba\x58\x0f\x97\x3f\x15\x08\x43\xcc\x98\xa7\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x81\x91\x06\x03\x55\x1d\x23\x04\x81\x89\x30\x81\x86\x80\x14\x39\x95\x8b\x62\x8b\x5c\xc9\xd4\x80\xba\x58\x0f\x97\x3f\x15\x08\x43\xcc\x98\xa7\xa1\x6b\xa4\x69\x30\x67\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x45\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x41\x64\x64\x54\x72\x75\x73\x74\x20\x41\x42\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x41\x64\x64\x54\x72\x75\x73\x74\x20\x54\x54\x50\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x23\x30\x21\x06\x03\x55\x04\x03\x13\x1a\x41\x64\x64\x54\x72\x75\x73\x74\x20\x51\x75\x61\x6c\x69\x66\x69\x65\x64\x20\x43\x41\x20\x52\x6f\x6f\x74\x82\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x19\xab\x75\xea\xf8\x8b\x65\x61\x95\x13\xba\x69\x04\xef\x86\xca\x13\xa0\xc7\xaa\x4f\x64\x1b\x3f\x18\xf6\xa8\x2d\x2c\x55\x8f\x05\xb7\x30\xea\x42\x6a\x1d\xc0\x25\x51\x2d\xa7\xbf\x0c\xb3\xed\xef\x08\x7f\x6c\x3c\x46\x1a\xea\x18\x43\xdf\x76\xcc\xf9\x66\x86\x9c\x2c\x68\xf5\xe9\x17\xf8\x31\xb3\x18\xc4\xd6\x48\x7d\x23\x4c\x68\xc1\x7e\xbb\x01\x14\x6f\xc5\xd9\x6e\xde\xbb\x04\x42\x6a\xf8\xf6\x5c\x7d\xe5\xda\xfa\x87\xeb\x0d\x35\x52\x67\xd0\x9e\x97\x76\x05\x93\x3f\x95\xc7\x01\xe6\x69\x55\x38\x7f\x10\x61\x99\xc9\xe3\x5f\xa6\xca\x3e\x82\x63\x48\xaa\xe2\x08\x48\x3e\xaa\xf2\xb2\x85\x62\xa6\xb4\xa7\xd9\xbd\x37\x9c\x68\xb5\x2d\x56\x7d\xb0\xb7\x3f\xa0\xb1\x07\xd6\xe9\x4f\xdc\xde\x45\x71\x30\x32\x7f\x1b\x2e\x09\xf9\xbf\x52\xa1\xee\xc2\x80\x3e\x06\x5c\x2e\x55\x40\xc1\x1b\xf5\x70\x45\xb0\xdc\x5d\xfa\xf6\x72\x5a\x77\xd2\x63\xcd\xcf\x58\x89\x00\x42\x63\x3f\x79\x39\xd0\x44\xb0\x82\x6e\x41\x19\xe8\xdd\xe0\xc1\x88\x5a\xd1\x1e\x71\x93\x1f\x24\x30\x74\xe5\x1e\xa8\xde\x3c\x27\x37\x7f\x83\xae\x9e\x77\xcf\xf0\x30\xb1\xff\x4b\x99\xe8\xc6\xa1", - ["Thawte Time Stamping CA"] = "\x30\x82\x02\xa1\x30\x82\x02\x0a\xa0\x03\x02\x01\x02\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x30\x81\x8b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x5a\x41\x31\x15\x30\x13\x06\x03\x55\x04\x08\x13\x0c\x57\x65\x73\x74\x65\x72\x6e\x20\x43\x61\x70\x65\x31\x14\x30\x12\x06\x03\x55\x04\x07\x13\x0b\x44\x75\x72\x62\x61\x6e\x76\x69\x6c\x6c\x65\x31\x0f\x30\x0d\x06\x03\x55\x04\x0a\x13\x06\x54\x68\x61\x77\x74\x65\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x54\x68\x61\x77\x74\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x31\x1f\x30\x1d\x06\x03\x55\x04\x03\x13\x16\x54\x68\x61\x77\x74\x65\x20\x54\x69\x6d\x65\x73\x74\x61\x6d\x70\x69\x6e\x67\x20\x43\x41\x30\x1e\x17\x0d\x39\x37\x30\x31\x30\x31\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x30\x31\x32\x33\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x81\x8b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x5a\x41\x31\x15\x30\x13\x06\x03\x55\x04\x08\x13\x0c\x57\x65\x73\x74\x65\x72\x6e\x20\x43\x61\x70\x65\x31\x14\x30\x12\x06\x03\x55\x04\x07\x13\x0b\x44\x75\x72\x62\x61\x6e\x76\x69\x6c\x6c\x65\x31\x0f\x30\x0d\x06\x03\x55\x04\x0a\x13\x06\x54\x68\x61\x77\x74\x65\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x54\x68\x61\x77\x74\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x31\x1f\x30\x1d\x06\x03\x55\x04\x03\x13\x16\x54\x68\x61\x77\x74\x65\x20\x54\x69\x6d\x65\x73\x74\x61\x6d\x70\x69\x6e\x67\x20\x43\x41\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xd6\x2b\x58\x78\x61\x45\x86\x53\xea\x34\x7b\x51\x9c\xed\xb0\xe6\x2e\x18\x0e\xfe\xe0\x5f\xa8\x27\xd3\xb4\xc9\xe0\x7c\x59\x4e\x16\x0e\x73\x54\x60\xc1\x7f\xf6\x9f\x2e\xe9\x3a\x85\x24\x15\x3c\xdb\x47\x04\x63\xc3\x9e\xc4\x94\x1a\x5a\xdf\x4c\x7a\xf3\xd9\x43\x1d\x3c\x10\x7a\x79\x25\xdb\x90\xfe\xf0\x51\xe7\x30\xd6\x41\x00\xfd\x9f\x28\xdf\x79\xbe\x94\xbb\x9d\xb6\x14\xe3\x23\x85\xd7\xa9\x41\xe0\x4c\xa4\x79\xb0\x2b\x1a\x8b\xf2\xf8\x3b\x8a\x3e\x45\xac\x71\x92\x00\xb4\x90\x41\x98\xfb\x5f\xed\xfa\xb7\x2e\x8a\xf8\x88\x37\x02\x03\x01\x00\x01\xa3\x13\x30\x11\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x03\x81\x81\x00\x67\xdb\xe2\xc2\xe6\x87\x3d\x40\x83\x86\x37\x35\x7d\x1f\xce\x9a\xc3\x0c\x66\x20\xa8\xba\xaa\x04\x89\x86\xc2\xf5\x10\x08\x0d\xbf\xcb\xa2\x05\x8a\xd0\x4d\x36\x3e\xf4\xd7\xef\x69\xc6\x5e\xe4\xb0\x94\x6f\x4a\xb9\xe7\xde\x5b\x88\xb6\x7b\xdb\xe3\x27\xe5\x76\xc3\xf0\x35\xc1\xcb\xb5\x27\x9b\x33\x79\xdc\x90\xa6\x00\x9e\x77\xfa\xfc\xcd\x27\x94\x42\x16\x9c\xd3\x1c\x68\xec\xbf\x5c\xdd\xe5\xa9\x7b\x10\x0a\x32\x74\x54\x13\x31\x8b\x85\x03\x84\x91\xb7\x58\x01\x30\x14\x38\xaf\x28\xca\xfc\xb1\x50\x19\x19\x09\xac\x89\x49\xd3", - ["Entrust Root Certification Authority"] = "\x30\x82\x04\x91\x30\x82\x03\x79\xa0\x03\x02\x01\x02\x02\x04\x45\x6b\x50\x54\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xb0\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x45\x6e\x74\x72\x75\x73\x74\x2c\x20\x49\x6e\x63\x2e\x31\x39\x30\x37\x06\x03\x55\x04\x0b\x13\x30\x77\x77\x77\x2e\x65\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x2f\x43\x50\x53\x20\x69\x73\x20\x69\x6e\x63\x6f\x72\x70\x6f\x72\x61\x74\x65\x64\x20\x62\x79\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x28\x63\x29\x20\x32\x30\x30\x36\x20\x45\x6e\x74\x72\x75\x73\x74\x2c\x20\x49\x6e\x63\x2e\x31\x2d\x30\x2b\x06\x03\x55\x04\x03\x13\x24\x45\x6e\x74\x72\x75\x73\x74\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x36\x31\x31\x32\x37\x32\x30\x32\x33\x34\x32\x5a\x17\x0d\x32\x36\x31\x31\x32\x37\x32\x30\x35\x33\x34\x32\x5a\x30\x81\xb0\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x45\x6e\x74\x72\x75\x73\x74\x2c\x20\x49\x6e\x63\x2e\x31\x39\x30\x37\x06\x03\x55\x04\x0b\x13\x30\x77\x77\x77\x2e\x65\x6e\x74\x72\x75\x73\x74\x2e\x6e\x65\x74\x2f\x43\x50\x53\x20\x69\x73\x20\x69\x6e\x63\x6f\x72\x70\x6f\x72\x61\x74\x65\x64\x20\x62\x79\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x28\x63\x29\x20\x32\x30\x30\x36\x20\x45\x6e\x74\x72\x75\x73\x74\x2c\x20\x49\x6e\x63\x2e\x31\x2d\x30\x2b\x06\x03\x55\x04\x03\x13\x24\x45\x6e\x74\x72\x75\x73\x74\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xb6\x95\xb6\x43\x42\xfa\xc6\x6d\x2a\x6f\x48\xdf\x94\x4c\x39\x57\x05\xee\xc3\x79\x11\x41\x68\x36\xed\xec\xfe\x9a\x01\x8f\xa1\x38\x28\xfc\xf7\x10\x46\x66\x2e\x4d\x1e\x1a\xb1\x1a\x4e\xc6\xd1\xc0\x95\x88\xb0\xc9\xff\x31\x8b\x33\x03\xdb\xb7\x83\x7b\x3e\x20\x84\x5e\xed\xb2\x56\x28\xa7\xf8\xe0\xb9\x40\x71\x37\xc5\xcb\x47\x0e\x97\x2a\x68\xc0\x22\x95\x62\x15\xdb\x47\xd9\xf5\xd0\x2b\xff\x82\x4b\xc9\xad\x3e\xde\x4c\xdb\x90\x80\x50\x3f\x09\x8a\x84\x00\xec\x30\x0a\x3d\x18\xcd\xfb\xfd\x2a\x59\x9a\x23\x95\x17\x2c\x45\x9e\x1f\x6e\x43\x79\x6d\x0c\x5c\x98\xfe\x48\xa7\xc5\x23\x47\x5c\x5e\xfd\x6e\xe7\x1e\xb4\xf6\x68\x45\xd1\x86\x83\x5b\xa2\x8a\x8d\xb1\xe3\x29\x80\xfe\x25\x71\x88\xad\xbe\xbc\x8f\xac\x52\x96\x4b\xaa\x51\x8d\xe4\x13\x31\x19\xe8\x4e\x4d\x9f\xdb\xac\xb3\x6a\xd5\xbc\x39\x54\x71\xca\x7a\x7a\x7f\x90\xdd\x7d\x1d\x80\xd9\x81\xbb\x59\x26\xc2\x11\xfe\xe6\x93\xe2\xf7\x80\xe4\x65\xfb\x34\x37\x0e\x29\x80\x70\x4d\xaf\x38\x86\x2e\x9e\x7f\x57\xaf\x9e\x17\xae\xeb\x1c\xcb\x28\x21\x5f\xb6\x1c\xd8\xe7\xa2\x04\x22\xf9\xd3\xda\xd8\xcb\x02\x03\x01\x00\x01\xa3\x81\xb0\x30\x81\xad\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x2b\x06\x03\x55\x1d\x10\x04\x24\x30\x22\x80\x0f\x32\x30\x30\x36\x31\x31\x32\x37\x32\x30\x32\x33\x34\x32\x5a\x81\x0f\x32\x30\x32\x36\x31\x31\x32\x37\x32\x30\x35\x33\x34\x32\x5a\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x68\x90\xe4\x67\xa4\xa6\x53\x80\xc7\x86\x66\xa4\xf1\xf7\x4b\x43\xfb\x84\xbd\x6d\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x68\x90\xe4\x67\xa4\xa6\x53\x80\xc7\x86\x66\xa4\xf1\xf7\x4b\x43\xfb\x84\xbd\x6d\x30\x1d\x06\x09\x2a\x86\x48\x86\xf6\x7d\x07\x41\x00\x04\x10\x30\x0e\x1b\x08\x56\x37\x2e\x31\x3a\x34\x2e\x30\x03\x02\x04\x90\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x93\xd4\x30\xb0\xd7\x03\x20\x2a\xd0\xf9\x63\xe8\x91\x0c\x05\x20\xa9\x5f\x19\xca\x7b\x72\x4e\xd4\xb1\xdb\xd0\x96\xfb\x54\x5a\x19\x2c\x0c\x08\xf7\xb2\xbc\x85\xa8\x9d\x7f\x6d\x3b\x52\xb3\x2a\xdb\xe7\xd4\x84\x8c\x63\xf6\x0f\xcb\x26\x01\x91\x50\x6c\xf4\x5f\x14\xe2\x93\x74\xc0\x13\x9e\x30\x3a\x50\xe3\xb4\x60\xc5\x1c\xf0\x22\x44\x8d\x71\x47\xac\xc8\x1a\xc9\xe9\x9b\x9a\x00\x60\x13\xff\x70\x7e\x5f\x11\x4d\x49\x1b\xb3\x15\x52\x7b\xc9\x54\xda\xbf\x9d\x95\xaf\x6b\x9a\xd8\x9e\xe9\xf1\xe4\x43\x8d\xe2\x11\x44\x3a\xbf\xaf\xbd\x83\x42\x73\x52\x8b\xaa\xbb\xa7\x29\xcf\xf5\x64\x1c\x0a\x4d\xd1\xbc\xaa\xac\x9f\x2a\xd0\xff\x7f\x7f\xda\x7d\xea\xb1\xed\x30\x25\xc1\x84\xda\x34\xd2\x5b\x78\x83\x56\xec\x9c\x36\xc3\x26\xe2\x11\xf6\x67\x49\x1d\x92\xab\x8c\xfb\xeb\xff\x7a\xee\x85\x4a\xa7\x50\x80\xf0\xa7\x5c\x4a\x94\x2e\x5f\x05\x99\x3c\x52\x41\xe0\xcd\xb4\x63\xcf\x01\x43\xba\x9c\x83\xdc\x8f\x60\x3b\xf3\x5a\xb4\xb4\x7b\xae\xda\x0b\x90\x38\x75\xef\x81\x1d\x66\xd2\xf7\x57\x70\x36\xb3\xbf\xfc\x28\xaf\x71\x25\x85\x5b\x13\xfe\x1e\x7f\x5a\xb4\x3c", - ["AOL Time Warner Root Certification Authority 1"] = "\x30\x82\x03\xe6\x30\x82\x02\xce\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x83\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x13\x14\x41\x4f\x4c\x20\x54\x69\x6d\x65\x20\x57\x61\x72\x6e\x65\x72\x20\x49\x6e\x63\x2e\x31\x1c\x30\x1a\x06\x03\x55\x04\x0b\x13\x13\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x49\x6e\x63\x2e\x31\x37\x30\x35\x06\x03\x55\x04\x03\x13\x2e\x41\x4f\x4c\x20\x54\x69\x6d\x65\x20\x57\x61\x72\x6e\x65\x72\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x31\x30\x1e\x17\x0d\x30\x32\x30\x35\x32\x39\x30\x36\x30\x30\x30\x30\x5a\x17\x0d\x33\x37\x31\x31\x32\x30\x31\x35\x30\x33\x30\x30\x5a\x30\x81\x83\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x13\x14\x41\x4f\x4c\x20\x54\x69\x6d\x65\x20\x57\x61\x72\x6e\x65\x72\x20\x49\x6e\x63\x2e\x31\x1c\x30\x1a\x06\x03\x55\x04\x0b\x13\x13\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x49\x6e\x63\x2e\x31\x37\x30\x35\x06\x03\x55\x04\x03\x13\x2e\x41\x4f\x4c\x20\x54\x69\x6d\x65\x20\x57\x61\x72\x6e\x65\x72\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x31\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\x99\xde\x8f\xc3\x25\xa3\x69\x34\xe8\x05\xf7\x74\xb9\xbf\x5a\x97\x19\xb9\x2f\x94\xd2\x93\xe5\x2d\x89\xca\x84\x7c\x3f\x10\x43\x1b\x8c\x8b\x7c\x84\x58\xf8\x24\x7c\x48\xcf\x2a\xfd\xc0\x15\xd9\x18\x7e\x84\x1a\x17\xd3\xdb\x9e\xd7\xca\xe4\xd9\xd7\xaa\x58\x51\x87\xf0\xf0\x8b\x48\x4e\xe2\xc2\xc4\x59\x69\x30\x62\xb6\x30\xa2\x8c\x0b\x11\x99\x61\x35\x6d\x7e\xef\xc5\xb1\x19\x06\x20\x12\x8e\x42\xe1\xdf\x0f\x96\x10\x52\xa8\xcf\x9c\x5f\x95\x14\xd8\xaf\x3b\x75\x0b\x31\x20\x1f\x44\x2f\xa2\x62\x41\xb3\xbb\x18\x21\xdb\xca\x71\x3c\x8c\xec\xb6\xb9\x0d\x9f\xef\x51\xef\x4d\x7b\x12\xf2\x0b\x0c\xe1\xac\x40\x8f\x77\x7f\xb0\xca\x78\x71\x0c\x5d\x16\x71\x70\xa2\xd7\xc2\x3a\x85\xcd\x0e\x9a\xc4\xe0\x00\xb0\xd5\x25\xea\xdc\x2b\xe4\x94\x2d\x38\x9c\x89\x41\x57\x64\x28\x65\x19\x1c\xb6\x44\xb4\xc8\x31\x6b\x8e\x01\x7b\x76\x59\x25\x7f\x15\x1c\x84\x08\x7c\x73\x65\x20\x0a\xa1\x04\x2e\x1a\x32\xa8\x9a\x20\xb1\x9c\x2c\x21\x59\xe7\xfb\xcf\xee\x70\x2d\x08\xca\x63\x3e\x2c\x9b\x93\x19\x6a\xa4\xc2\x97\xff\xb7\x86\x57\x88\x85\x6c\x9e\x15\x16\x2b\x4d\x2c\xb3\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xa1\x36\x30\x16\xcb\x86\x90\x00\x45\x80\x53\xb1\x8f\xc8\xd8\x3d\x7c\xbe\x5f\x12\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xa1\x36\x30\x16\xcb\x86\x90\x00\x45\x80\x53\xb1\x8f\xc8\xd8\x3d\x7c\xbe\x5f\x12\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x8a\x20\x18\xa5\xbe\xb3\x2f\xb4\xa6\x84\x00\x40\x30\x29\xfa\xb4\x14\x73\x4c\x79\x45\xa7\xf6\x70\xe0\xe8\x7e\x64\x1e\x0a\x95\x7c\x6a\x61\xc2\xef\x4e\x1f\xbe\xff\xc9\x99\x1f\x07\x61\x4a\xe1\x5d\x4c\xcd\xad\xee\xd0\x52\x32\xd9\x59\x32\xbc\xda\x79\x72\xd6\x7b\x09\xe8\x02\x81\x35\xd3\x0a\xdf\x11\x1d\xc9\x79\xa0\x80\x4d\xfe\x5a\xd7\x56\xd6\xed\x0f\x2a\xaf\xa7\x18\x75\x33\x0c\xea\xc1\x61\x05\x4f\x6a\x9a\x89\xf2\x8d\xb9\x9f\x2e\xef\xb0\x5f\x5a\x00\xeb\xbe\xad\xa0\xf8\x44\x05\x67\xbc\xcb\x04\xef\x9e\x64\xc5\xe9\xc8\x3f\x05\xbf\xc6\x2f\x07\x1c\xc3\x36\x71\x86\xca\x38\x66\x4a\xcd\xd6\xb8\x4b\xc6\x6c\xa7\x97\x3b\xfa\x13\x2d\x6e\x23\x61\x87\xa1\x63\x42\xac\xc2\xcb\x97\x9f\x61\x68\xcf\x2d\x4c\x04\x9d\xd7\x25\x4f\x0a\x0e\x4d\x90\x8b\x18\x56\xa8\x93\x48\x57\xdc\x6f\xae\xbd\x9e\x67\x57\x77\x89\x50\xb3\xbe\x11\x9b\x45\x67\x83\x86\x19\x87\xd3\x98\xbd\x08\x1a\x16\x1f\x58\x82\x0b\xe1\x96\x69\x05\x4b\x8e\xec\x83\x51\x31\x07\xd5\xd4\x9f\xff\x59\x7b\xa8\x6e\x85\xcf\xd3\x4b\xa9\x49\xb0\x5f\xb0\x39\x28\x68\x0e\x73\xdd\x25\x9a\xde\x12", - ["AOL Time Warner Root Certification Authority 2"] = "\x30\x82\x05\xe6\x30\x82\x03\xce\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x83\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x13\x14\x41\x4f\x4c\x20\x54\x69\x6d\x65\x20\x57\x61\x72\x6e\x65\x72\x20\x49\x6e\x63\x2e\x31\x1c\x30\x1a\x06\x03\x55\x04\x0b\x13\x13\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x49\x6e\x63\x2e\x31\x37\x30\x35\x06\x03\x55\x04\x03\x13\x2e\x41\x4f\x4c\x20\x54\x69\x6d\x65\x20\x57\x61\x72\x6e\x65\x72\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x32\x30\x1e\x17\x0d\x30\x32\x30\x35\x32\x39\x30\x36\x30\x30\x30\x30\x5a\x17\x0d\x33\x37\x30\x39\x32\x38\x32\x33\x34\x33\x30\x30\x5a\x30\x81\x83\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x13\x14\x41\x4f\x4c\x20\x54\x69\x6d\x65\x20\x57\x61\x72\x6e\x65\x72\x20\x49\x6e\x63\x2e\x31\x1c\x30\x1a\x06\x03\x55\x04\x0b\x13\x13\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x49\x6e\x63\x2e\x31\x37\x30\x35\x06\x03\x55\x04\x03\x13\x2e\x41\x4f\x4c\x20\x54\x69\x6d\x65\x20\x57\x61\x72\x6e\x65\x72\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x32\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xb4\x37\x5a\x08\x16\x99\x14\xe8\x55\xb1\x1b\x24\x6b\xfc\xc7\x8b\xe6\x87\xa9\x89\xee\x8b\x99\xcd\x4f\x40\x86\xa4\xb6\x4d\xc9\xd9\xb1\xdc\x3c\x4d\x0d\x85\x4c\x15\x6c\x46\x8b\x52\x78\x9f\xf8\x23\xfd\x67\xf5\x24\x3a\x68\x5d\xd0\xf7\x64\x61\x41\x54\xa3\x8b\xa5\x08\xd2\x29\x5b\x9b\x60\x4f\x26\x83\xd1\x63\x12\x56\x49\x76\xa4\x16\xc2\xa5\x9d\x45\xac\x8b\x84\x95\xa8\x16\xb1\xec\x9f\xea\x24\x1a\xef\xb9\x57\x5c\x9a\x24\x21\x2c\x4d\x0e\x71\x1f\xa6\xac\x5d\x45\x74\x03\x98\xc4\x54\x8c\x16\x4a\x41\x77\x86\x95\x75\x0c\x47\x01\x66\x60\xfc\x15\xf1\x0f\xea\xf5\x14\x78\xc7\x0e\xd7\x6e\x81\x1c\x5e\xbf\x5e\xe7\x3a\x2a\xd8\x97\x17\x30\x7c\x00\xad\x08\x9d\x33\xaf\xb8\x99\x61\x80\x8b\xa8\x95\x7e\x14\xdc\x12\x6c\xa4\xd0\xd8\xef\x40\x49\x02\x36\xf9\x6e\xa9\xd6\x1d\x96\x56\x04\xb2\xb3\x2d\x16\x56\x86\x8f\xd9\x20\x57\x80\xcd\x67\x10\x6d\xb0\x4c\xf0\xda\x46\xb6\xea\x25\x2e\x46\xaf\x8d\xb0\x85\x38\x34\x8b\x14\x26\x82\x2b\xac\xae\x99\x0b\x8e\x14\xd7\x52\xbd\x9e\x69\xc3\x86\x02\x0b\xea\x76\x75\x31\x09\xce\x33\x19\x21\x85\x43\xe6\x89\x2d\x9f\x25\x37\x67\xf1\x23\x6a\xd2\x00\x6d\x97\xf9\x9f\xe7\x29\xca\xdd\x1f\xd7\x06\xea\xb8\xc9\xb9\x09\x21\x9f\xc8\x3f\x06\xc5\xd2\xe9\x12\x46\x00\x4e\x7b\x08\xeb\x42\x3d\x2b\x48\x6e\x9d\x67\xdd\x4b\x02\xe4\x44\xf3\x93\x19\xa5\x27\xce\x69\x7a\xbe\x67\xd3\xfc\x50\xa4\x2c\xab\xc3\x6b\xb9\xe3\x80\x4c\xcf\x05\x61\x4b\x2b\xdc\x1b\xb9\xa6\xd2\xd0\xaa\xf5\x2b\x73\xfb\xce\x90\x35\x9f\x0c\x52\x1c\xbf\x5c\x21\x61\x11\x5b\x15\x4b\xa9\x24\x51\xfc\xa4\x5c\xf7\x17\x9d\xb0\xd2\xfa\x07\xe9\x8f\x56\xe4\x1a\x8c\x68\x8a\x04\xd3\x7c\x5a\xe3\x9e\xa2\xa1\xca\x71\x5b\xa2\xd4\xa0\xe7\x29\x85\x5d\x03\x68\x2a\x4f\xd2\x06\xd7\x3d\xf9\xc3\x03\x2f\x3f\x65\xf9\x67\x1e\x47\x40\xd3\x63\x0f\xe3\xd5\x8e\xf9\x85\xab\x97\x4c\xb3\xd7\x26\xeb\x96\x0a\x94\xde\x85\x36\x9c\xc8\x7f\x81\x09\x02\x49\x2a\x0e\xf5\x64\x32\x0c\x82\xd1\xba\x6a\x82\x1b\xb3\x4b\x74\x11\xf3\x8c\x77\xd6\x9f\xbf\xdc\x37\xa4\xa7\x55\x04\x2f\xd4\x31\xe8\xd3\x46\xb9\x03\x7c\xda\x12\x4e\x59\x64\xb7\x51\x31\x31\x50\xa0\xca\x1c\x27\xd9\x10\x2e\xad\xd6\xbd\x10\x66\x2b\xc3\xb0\x22\x4a\x12\x5b\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x4f\x69\x6d\x03\x7e\x9d\x9f\x07\x18\x43\xbc\xb7\x10\x4e\xd5\xbf\xa9\xc4\x20\x28\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x4f\x69\x6d\x03\x7e\x9d\x9f\x07\x18\x43\xbc\xb7\x10\x4e\xd5\xbf\xa9\xc4\x20\x28\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x3b\xf3\xae\xca\xe8\x2e\x87\x85\xfb\x65\x59\xe7\xad\x11\x14\xa5\x57\xbc\x58\x9f\x24\x12\x57\xbb\xfb\x3f\x34\xda\xee\xad\x7a\x2a\x34\x72\x70\x31\x6b\xc7\x19\x98\x80\xc9\x82\xde\x37\x77\x5e\x54\x8b\x8e\xf2\xea\x67\x4f\xc9\x74\x84\x91\x56\x09\xd5\xe5\x7a\x9a\x81\xb6\x81\xc2\xad\x36\xe4\xf1\x54\x11\x53\xf3\x34\x45\x01\x26\xc8\xe5\x1a\xbc\x34\x44\x21\xde\xad\x25\xfc\x76\x16\x77\x21\x90\x80\x98\x57\x9d\x4e\xea\xec\x2f\xaa\x3c\x14\x7b\x57\xc1\x7e\x18\x14\x67\xee\x24\xc6\xbd\xba\x15\xb0\xd2\x18\xbd\xb7\x55\x81\xac\x53\xc0\xe8\xdd\x69\x12\x13\x42\xb7\x02\xb5\x05\x41\xca\x79\x50\x6e\x82\x0e\x71\x72\x93\x46\xe8\x9d\x0d\x5d\xbd\xae\xce\x29\xad\x63\xd5\x55\x16\x80\x30\x27\xff\x76\xba\xf7\xb8\xd6\x4a\xe3\xd9\xb5\xf9\x52\xd0\x4e\x40\xa9\xc7\xe5\xc2\x32\xc7\xaa\x76\x24\xe1\x6b\x05\x50\xeb\xc5\xbf\x0a\x54\xe5\xb9\x42\x3c\x24\xfb\xb7\x07\x9c\x30\x9f\x79\x5a\xe6\xe0\x40\x52\x15\xf4\xfc\xaa\xf4\x56\xf9\x44\x97\x87\xed\x0e\x65\x72\x5e\xbe\x26\xfb\x4d\xa4\x2d\x08\x07\xde\xd8\x5c\xa0\xdc\x81\x33\x99\x18\x25\x11\x77\xa7\xeb\xfd\x58\x09\x2c\x99\x6b\x1b\x8a\xf3\x52\x3f\x1a\x4d\x48\x60\xf1\xa0\xf6\x33\x02\x53\x8b\xed\x25\x09\xb8\x0d\x2d\xed\x97\x73\xec\xd7\x96\x1f\x8e\x60\x0e\xda\x10\x9b\x2f\x18\x24\xf6\xa6\x4d\x0a\xf9\x3b\xcb\x75\xc2\xcc\x2f\xce\x24\x69\xc9\x0a\x22\x8e\x59\xa7\xf7\x82\x0c\xd7\xd7\x6b\x35\x9c\x43\x00\x6a\xc4\x95\x67\xba\x9c\x45\xcb\xb8\x0e\x37\xf7\xdc\x4e\x01\x4f\xbe\x0a\xb6\x03\xd3\xad\x8a\x45\xf7\xda\x27\x4d\x29\xb1\x48\xdf\xe4\x11\xe4\x96\x46\xbd\x6c\x02\x3e\xd6\x51\xc8\x95\x17\x01\x15\xa9\xf2\xaa\xaa\xf2\xbf\x2f\x65\x1b\x6f\xd0\xb9\x1a\x93\xf5\x8e\x35\xc4\x80\x87\x3e\x94\x2f\x66\xe4\xe9\xa8\xff\x41\x9c\x70\x2a\x4f\x2a\x39\x18\x95\x1e\x7e\xfb\x61\x01\x3c\x51\x08\x2e\x28\x18\xa4\x16\x0f\x31\xfd\x3a\x6c\x23\x93\x20\x76\xe1\xfd\x07\x85\xd1\x5b\x3f\xd2\x1c\x73\x32\xdd\xfa\xb9\xf8\x8c\xcf\x02\x87\x7a\x9a\x96\xe4\xed\x4f\x89\x8d\x53\x43\xab\x0e\x13\xc0\x01\x15\xb4\x79\x38\xdb\xfc\x6e\x3d\x9e\x51\xb6\xb8\x13\x8b\x67\xcf\xf9\x7c\xd9\x22\x1d\xf6\x5d\xc5\x1c\x01\x2f\x98\xe8\x7a\x24\x18\xbc\x84\xd7\xfa\xdc\x72\x5b\xf7\xc1\x3a\x68", - ["RSA Security 2048 v3"] = "\x30\x82\x03\x61\x30\x82\x02\x49\xa0\x03\x02\x01\x02\x02\x10\x0a\x01\x01\x01\x00\x00\x02\x7c\x00\x00\x00\x0a\x00\x00\x00\x02\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x3a\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x52\x53\x41\x20\x53\x65\x63\x75\x72\x69\x74\x79\x20\x49\x6e\x63\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x52\x53\x41\x20\x53\x65\x63\x75\x72\x69\x74\x79\x20\x32\x30\x34\x38\x20\x56\x33\x30\x1e\x17\x0d\x30\x31\x30\x32\x32\x32\x32\x30\x33\x39\x32\x33\x5a\x17\x0d\x32\x36\x30\x32\x32\x32\x32\x30\x33\x39\x32\x33\x5a\x30\x3a\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x52\x53\x41\x20\x53\x65\x63\x75\x72\x69\x74\x79\x20\x49\x6e\x63\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x52\x53\x41\x20\x53\x65\x63\x75\x72\x69\x74\x79\x20\x32\x30\x34\x38\x20\x56\x33\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xb7\x8f\x55\x71\xd2\x80\xdd\x7b\x69\x79\xa7\xf0\x18\x50\x32\x3c\x62\x67\xf6\x0a\x95\x07\xdd\xe6\x1b\xf3\x9e\xd9\xd2\x41\x54\x6b\xad\x9f\x7c\xbe\x19\xcd\xfb\x46\xab\x41\x68\x1e\x18\xea\x55\xc8\x2f\x91\x78\x89\x28\xfb\x27\x29\x60\xff\xdf\x8f\x8c\x3b\xc9\x49\x9b\xb5\xa4\x94\xce\x01\xea\x3e\xb5\x63\x7b\x7f\x26\xfd\x19\xdd\xc0\x21\xbd\x84\xd1\x2d\x4f\x46\xc3\x4e\xdc\xd8\x37\x39\x3b\x28\xaf\xcb\x9d\x1a\xea\x2b\xaf\x21\xa5\xc1\x23\x22\xb8\xb8\x1b\x5a\x13\x87\x57\x83\xd1\xf0\x20\xe7\xe8\x4f\x23\x42\xb0\x00\xa5\x7d\x89\xe9\xe9\x61\x73\x94\x98\x71\x26\xbc\x2d\x6a\xe0\xf7\x4d\xf0\xf1\xb6\x2a\x38\x31\x81\x0d\x29\xe1\x00\xc1\x51\x0f\x4c\x52\xf8\x04\x5a\xaa\x7d\x72\xd3\xb8\x87\x2a\xbb\x63\x10\x03\x2a\xb3\xa1\x4f\x0d\x5a\x5e\x46\xb7\x3d\x0e\xf5\x74\xec\x99\x9f\xf9\x3d\x24\x81\x88\xa6\xdd\x60\x54\xe8\x95\x36\x3d\xc6\x09\x93\x9a\xa3\x12\x80\x00\x55\x99\x19\x47\xbd\xd0\xa5\x7c\xc3\xba\xfb\x1f\xf7\xf5\x0f\xf8\xac\xb9\xb5\xf4\x37\x98\x13\x18\xde\x85\x5b\xb7\x0c\x82\x3b\x87\x6f\x95\x39\x58\x30\xda\x6e\x01\x68\x17\x22\xcc\xc0\x0b\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x07\xc3\x51\x30\xa4\xaa\xe9\x45\xae\x35\x24\xfa\xff\x24\x2c\x33\xd0\xb1\x9d\x8c\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x07\xc3\x51\x30\xa4\xaa\xe9\x45\xae\x35\x24\xfa\xff\x24\x2c\x33\xd0\xb1\x9d\x8c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x5f\x3e\x86\x76\x6e\xb8\x35\x3c\x4e\x36\x1c\x1e\x79\x98\xbf\xfd\xd5\x12\x11\x79\x52\x0e\xee\x31\x89\xbc\xdd\x7f\xf9\xd1\xc6\x15\x21\xe8\x8a\x01\x54\x0d\x3a\xfb\x54\xb9\xd6\x63\xd4\xb1\xaa\x96\x4d\xa2\x42\x4d\xd4\x53\x1f\x8b\x10\xde\x7f\x65\xbe\x60\x13\x27\x71\x88\xa4\x73\xe3\x84\x63\xd1\xa4\x55\xe1\x50\x93\xe6\x1b\x0e\x79\xd0\x67\xbc\x46\xc8\xbf\x3f\x17\x0d\x95\xe6\xc6\x90\x69\xde\xe7\xb4\x2f\xde\x95\x7d\xd0\x12\x3f\x3d\x3e\x7f\x4d\x3f\x14\x68\xf5\x11\x50\xd5\xc1\xf4\x90\xa5\x08\x1d\x31\x60\xff\x60\x8c\x23\x54\x0a\xaf\xfe\xa1\x6e\xc5\xd1\x7a\x2a\x68\x78\xcf\x1e\x82\x0a\x20\xb4\x1f\xad\xe5\x85\xb2\x6a\x68\x75\x4e\xad\x25\x37\x94\x85\xbe\xbd\xa1\xd4\xea\xb7\x0c\x4b\x3c\x9d\xe8\x12\x00\xf0\x5f\xac\x0d\xe1\xac\x70\x63\x73\xf7\x7f\x79\x9f\x32\x25\x42\x74\x05\x80\x28\xbf\xbd\xc1\x24\x96\x58\x15\xb1\x17\x21\xe9\x89\x4b\xdb\x07\x88\x67\xf4\x15\xad\x70\x3e\x2f\x4d\x85\x3b\xc2\xb7\xdb\xfe\x98\x68\x23\x89\xe1\x74\x0f\xde\xf4\xc5\x84\x63\x29\x1b\xcc\xcb\x07\xc9\x00\xa4\xa9\xd7\xc2\x22\x4f\x67\xd7\x77\xec\x20\x05\x61\xde", - ["GeoTrust Global CA"] = "\x30\x82\x03\x54\x30\x82\x02\x3c\xa0\x03\x02\x01\x02\x02\x03\x02\x34\x56\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x42\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x47\x6c\x6f\x62\x61\x6c\x20\x43\x41\x30\x1e\x17\x0d\x30\x32\x30\x35\x32\x31\x30\x34\x30\x30\x30\x30\x5a\x17\x0d\x32\x32\x30\x35\x32\x31\x30\x34\x30\x30\x30\x30\x5a\x30\x42\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x47\x6c\x6f\x62\x61\x6c\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xda\xcc\x18\x63\x30\xfd\xf4\x17\x23\x1a\x56\x7e\x5b\xdf\x3c\x6c\x38\xe4\x71\xb7\x78\x91\xd4\xbc\xa1\xd8\x4c\xf8\xa8\x43\xb6\x03\xe9\x4d\x21\x07\x08\x88\xda\x58\x2f\x66\x39\x29\xbd\x05\x78\x8b\x9d\x38\xe8\x05\xb7\x6a\x7e\x71\xa4\xe6\xc4\x60\xa6\xb0\xef\x80\xe4\x89\x28\x0f\x9e\x25\xd6\xed\x83\xf3\xad\xa6\x91\xc7\x98\xc9\x42\x18\x35\x14\x9d\xad\x98\x46\x92\x2e\x4f\xca\xf1\x87\x43\xc1\x16\x95\x57\x2d\x50\xef\x89\x2d\x80\x7a\x57\xad\xf2\xee\x5f\x6b\xd2\x00\x8d\xb9\x14\xf8\x14\x15\x35\xd9\xc0\x46\xa3\x7b\x72\xc8\x91\xbf\xc9\x55\x2b\xcd\xd0\x97\x3e\x9c\x26\x64\xcc\xdf\xce\x83\x19\x71\xca\x4e\xe6\xd4\xd5\x7b\xa9\x19\xcd\x55\xde\xc8\xec\xd2\x5e\x38\x53\xe5\x5c\x4f\x8c\x2d\xfe\x50\x23\x36\xfc\x66\xe6\xcb\x8e\xa4\x39\x19\x00\xb7\x95\x02\x39\x91\x0b\x0e\xfe\x38\x2e\xd1\x1d\x05\x9a\xf6\x4d\x3e\x6f\x0f\x07\x1d\xaf\x2c\x1e\x8f\x60\x39\xe2\xfa\x36\x53\x13\x39\xd4\x5e\x26\x2b\xdb\x3d\xa8\x14\xbd\x32\xeb\x18\x03\x28\x52\x04\x71\xe5\xab\x33\x3d\xe1\x38\xbb\x07\x36\x84\x62\x9c\x79\xea\x16\x30\xf4\x5f\xc0\x2b\xe8\x71\x6b\xe4\xf9\x02\x03\x01\x00\x01\xa3\x53\x30\x51\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xc0\x7a\x98\x68\x8d\x89\xfb\xab\x05\x64\x0c\x11\x7d\xaa\x7d\x65\xb8\xca\xcc\x4e\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xc0\x7a\x98\x68\x8d\x89\xfb\xab\x05\x64\x0c\x11\x7d\xaa\x7d\x65\xb8\xca\xcc\x4e\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x35\xe3\x29\x6a\xe5\x2f\x5d\x54\x8e\x29\x50\x94\x9f\x99\x1a\x14\xe4\x8f\x78\x2a\x62\x94\xa2\x27\x67\x9e\xd0\xcf\x1a\x5e\x47\xe9\xc1\xb2\xa4\xcf\xdd\x41\x1a\x05\x4e\x9b\x4b\xee\x4a\x6f\x55\x52\xb3\x24\xa1\x37\x0a\xeb\x64\x76\x2a\x2e\x2c\xf3\xfd\x3b\x75\x90\xbf\xfa\x71\xd8\xc7\x3d\x37\xd2\xb5\x05\x95\x62\xb9\xa6\xde\x89\x3d\x36\x7b\x38\x77\x48\x97\xac\xa6\x20\x8f\x2e\xa6\xc9\x0c\xc2\xb2\x99\x45\x00\xc7\xce\x11\x51\x22\x22\xe0\xa5\xea\xb6\x15\x48\x09\x64\xea\x5e\x4f\x74\xf7\x05\x3e\xc7\x8a\x52\x0c\xdb\x15\xb4\xbd\x6d\x9b\xe5\xc6\xb1\x54\x68\xa9\xe3\x69\x90\xb6\x9a\xa5\x0f\xb8\xb9\x3f\x20\x7d\xae\x4a\xb5\xb8\x9c\xe4\x1d\xb6\xab\xe6\x94\xa5\xc1\xc7\x83\xad\xdb\xf5\x27\x87\x0e\x04\x6c\xd5\xff\xdd\xa0\x5d\xed\x87\x52\xb7\x2b\x15\x02\xae\x39\xa6\x6a\x74\xe9\xda\xc4\xe7\xbc\x4d\x34\x1e\xa9\x5c\x4d\x33\x5f\x92\x09\x2f\x88\x66\x5d\x77\x97\xc7\x1d\x76\x13\xa9\xd5\xe5\xf1\x16\x09\x11\x35\xd5\xac\xdb\x24\x71\x70\x2c\x98\x56\x0b\xd9\x17\xb4\xd1\xe3\x51\x2b\x5e\x75\xe8\xd5\xd0\xdc\x4f\x34\xed\xc2\x05\x66\x80\xa1\xcb\xe6\x33", - ["GeoTrust Global CA 2"] = "\x30\x82\x03\x66\x30\x82\x02\x4e\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x44\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x1d\x30\x1b\x06\x03\x55\x04\x03\x13\x14\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x47\x6c\x6f\x62\x61\x6c\x20\x43\x41\x20\x32\x30\x1e\x17\x0d\x30\x34\x30\x33\x30\x34\x30\x35\x30\x30\x30\x30\x5a\x17\x0d\x31\x39\x30\x33\x30\x34\x30\x35\x30\x30\x30\x30\x5a\x30\x44\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x1d\x30\x1b\x06\x03\x55\x04\x03\x13\x14\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x47\x6c\x6f\x62\x61\x6c\x20\x43\x41\x20\x32\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xef\x3c\x4d\x40\x3d\x10\xdf\x3b\x53\x00\xe1\x67\xfe\x94\x60\x15\x3e\x85\x88\xf1\x89\x0d\x90\xc8\x28\x23\x99\x05\xe8\x2b\x20\x9d\xc6\xf3\x60\x46\xd8\xc1\xb2\xd5\x8c\x31\xd9\xdc\x20\x79\x24\x81\xbf\x35\x32\xfc\x63\x69\xdb\xb1\x2a\x6b\xee\x21\x58\xf2\x08\xe9\x78\xcb\x6f\xcb\xfc\x16\x52\xc8\x91\xc4\xff\x3d\x73\xde\xb1\x3e\xa7\xc2\x7d\x66\xc1\xf5\x7e\x52\x24\x1a\xe2\xd5\x67\x91\xd0\x82\x10\xd7\x78\x4b\x4f\x2b\x42\x39\xbd\x64\x2d\x40\xa0\xb0\x10\xd3\x38\x48\x46\x88\xa1\x0c\xbb\x3a\x33\x2a\x62\x98\xfb\x00\x9d\x13\x59\x7f\x6f\x3b\x72\xaa\xee\xa6\x0f\x86\xf9\x05\x61\xea\x67\x7f\x0c\x37\x96\x8b\xe6\x69\x16\x47\x11\xc2\x27\x59\x03\xb3\xa6\x60\xc2\x21\x40\x56\xfa\xa0\xc7\x7d\x3a\x13\xe3\xec\x57\xc7\xb3\xd6\xae\x9d\x89\x80\xf7\x01\xe7\x2c\xf6\x96\x2b\x13\x0d\x79\x2c\xd9\xc0\xe4\x86\x7b\x4b\x8c\x0c\x72\x82\x8a\xfb\x17\xcd\x00\x6c\x3a\x13\x3c\xb0\x84\x87\x4b\x16\x7a\x29\xb2\x4f\xdb\x1d\xd4\x0b\xf3\x66\x37\xbd\xd8\xf6\x57\xbb\x5e\x24\x7a\xb8\x3c\x8b\xb9\xfa\x92\x1a\x1a\x84\x9e\xd8\x74\x8f\xaa\x1b\x7f\x5e\xf4\xfe\x45\x22\x21\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x71\x38\x36\xf2\x02\x31\x53\x47\x2b\x6e\xba\x65\x46\xa9\x10\x15\x58\x20\x05\x09\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x71\x38\x36\xf2\x02\x31\x53\x47\x2b\x6e\xba\x65\x46\xa9\x10\x15\x58\x20\x05\x09\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x03\xf7\xb5\x2b\xab\x5d\x10\xfc\x7b\xb2\xb2\x5e\xac\x9b\x0e\x7e\x53\x78\x59\x3e\x42\x04\xfe\x75\xa3\xad\xac\x81\x4e\xd7\x02\x8b\x5e\xc4\x2d\xc8\x52\x76\xc7\x2c\x1f\xfc\x81\x32\x98\xd1\x4b\xc6\x92\x93\x33\x35\x31\x2f\xfc\xd8\x1d\x44\xdd\xe0\x81\x7f\x9d\xe9\x8b\xe1\x64\x91\x62\x0b\x39\x08\x8c\xac\x74\x9d\x59\xd9\x7a\x59\x52\x97\x11\xb9\x16\x7b\x6f\x45\xd3\x96\xd9\x31\x7d\x02\x36\x0f\x9c\x3b\x6e\xcf\x2c\x0d\x03\x46\x45\xeb\xa0\xf4\x7f\x48\x44\xc6\x08\x40\xcc\xde\x1b\x70\xb5\x29\xad\xba\x8b\x3b\x34\x65\x75\x1b\x71\x21\x1d\x2c\x14\x0a\xb0\x96\x95\xb8\xd6\xea\xf2\x65\xfb\x29\xba\x4f\xea\x91\x93\x74\x69\xb6\xf2\xff\xe1\x1a\xd0\x0c\xd1\x76\x85\xcb\x8a\x25\xbd\x97\x5e\x2c\x6f\x15\x99\x26\xe7\xb6\x29\xff\x22\xec\xc9\x02\xc7\x56\x00\xcd\x49\xb9\xb3\x6c\x7b\x53\x04\x1a\xe2\xa8\xc9\xaa\x12\x05\x23\xc2\xce\xe7\xbb\x04\x02\xcc\xc0\x47\xa2\xe4\xc4\x29\x2f\x5b\x45\x57\x89\x51\xee\x3c\xeb\x52\x08\xff\x07\x35\x1e\x9f\x35\x6a\x47\x4a\x56\x98\xd1\x5a\x85\x1f\x8c\xf5\x22\xbf\xab\xce\x83\xf3\xe2\x22\x29\xae\x7d\x83\x40\xa8\xba\x6c", - ["GeoTrust Universal CA"] = "\x30\x82\x05\x68\x30\x82\x03\x50\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x45\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x1e\x30\x1c\x06\x03\x55\x04\x03\x13\x15\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x30\x1e\x17\x0d\x30\x34\x30\x33\x30\x34\x30\x35\x30\x30\x30\x30\x5a\x17\x0d\x32\x39\x30\x33\x30\x34\x30\x35\x30\x30\x30\x30\x5a\x30\x45\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x1e\x30\x1c\x06\x03\x55\x04\x03\x13\x15\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xa6\x15\x55\xa0\xa3\xc6\xe0\x1f\x8c\x9d\x21\x50\xd7\xc1\xbe\x2b\x5b\xb5\xa4\x9e\xa1\xd9\x72\x58\xbd\x00\x1b\x4c\xbf\x61\xc9\x14\x1d\x45\x82\xab\xc6\x1d\x80\xd6\x3d\xeb\x10\x9c\x3a\xaf\x6d\x24\xf8\xbc\x71\x01\x9e\x06\xf5\x7c\x5f\x1e\xc1\x0e\x55\xca\x83\x9a\x59\x30\xae\x19\xcb\x30\x48\x95\xed\x22\x37\x8d\xf4\x4a\x9a\x72\x66\x3e\xad\x95\xc0\xe0\x16\x00\xe0\x10\x1f\x2b\x31\x0e\xd7\x94\x54\xd3\x42\x33\xa0\x34\x1d\x1e\x45\x76\xdd\x4f\xca\x18\x37\xec\x85\x15\x7a\x19\x08\xfc\xd5\xc7\x9c\xf0\xf2\xa9\x2e\x10\xa9\x92\xe6\x3d\x58\x3d\xa9\x16\x68\x3c\x2f\x75\x21\x18\x7f\x28\x77\xa5\xe1\x61\x17\xb7\xa6\xe9\xf8\x1e\x99\xdb\x73\x6e\xf4\x0a\xa2\x21\x6c\xee\xda\xaa\x85\x92\x66\xaf\xf6\x7a\x6b\x82\xda\xba\x22\x08\x35\x0f\xcf\x42\xf1\x35\xfa\x6a\xee\x7e\x2b\x25\xcc\x3a\x11\xe4\x6d\xaf\x73\xb2\x76\x1d\xad\xd0\xb2\x78\x67\x1a\xa4\x39\x1c\x51\x0b\x67\x56\x83\xfd\x38\x5d\x0d\xce\xdd\xf0\xbb\x2b\x96\x1f\xde\x7b\x32\x52\xfd\x1d\xbb\xb5\x06\xa1\xb2\x21\x5e\xa5\xd6\x95\x68\x7f\xf0\x99\x9e\xdc\x45\x08\x3e\xe7\xd2\x09\x0d\x35\x94\xdd\x80\x4e\x53\x97\xd7\xb5\x09\x44\x20\x64\x16\x17\x03\x02\x4c\x53\x0d\x68\xde\xd5\xaa\x72\x4d\x93\x6d\x82\x0e\xdb\x9c\xbd\xcf\xb4\xf3\x5c\x5d\x54\x7a\x69\x09\x96\xd6\xdb\x11\xc1\x8d\x75\xa8\xb4\xcf\x39\xc8\xce\x3c\xbc\x24\x7c\xe6\x62\xca\xe1\xbd\x7d\xa7\xbd\x57\x65\x0b\xe4\xfe\x25\xed\xb6\x69\x10\xdc\x28\x1a\x46\xbd\x01\x1d\xd0\x97\xb5\xe1\x98\x3b\xc0\x37\x64\xd6\x3d\x94\xee\x0b\xe1\xf5\x28\xae\x0b\x56\xbf\x71\x8b\x23\x29\x41\x8e\x86\xc5\x4b\x52\x7b\xd8\x71\xab\x1f\x8a\x15\xa6\x3b\x83\x5a\xd7\x58\x01\x51\xc6\x4c\x41\xd9\x7f\xd8\x41\x67\x72\xa2\x28\xdf\x60\x83\xa9\x9e\xc8\x7b\xfc\x53\x73\x72\x59\xf5\x93\x7a\x17\x76\x0e\xce\xf7\xe5\x5c\xd9\x0b\x55\x34\xa2\xaa\x5b\xb5\x6a\x54\xe7\x13\xca\x57\xec\x97\x6d\xf4\x5e\x06\x2f\x45\x8b\x58\xd4\x23\x16\x92\xe4\x16\x6e\x28\x63\x59\x30\xdf\x50\x01\x9c\x63\x89\x1a\x9f\xdb\x17\x94\x82\x70\x37\xc3\x24\x9e\x9a\x47\xd6\x5a\xca\x4e\xa8\x69\x89\x72\x1f\x91\x6c\xdb\x7e\x9e\x1b\xad\xc7\x1f\x73\xdd\x2c\x4f\x19\x65\xfd\x7f\x93\x40\x10\x2e\xd2\xf0\xed\x3c\x9e\x2e\x28\x3e\x69\x26\x33\xc5\x7b\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xda\xbb\x2e\xaa\xb0\x0c\xb8\x88\x26\x51\x74\x5c\x6d\x03\xd3\xc0\xd8\x8f\x7a\xd6\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xda\xbb\x2e\xaa\xb0\x0c\xb8\x88\x26\x51\x74\x5c\x6d\x03\xd3\xc0\xd8\x8f\x7a\xd6\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x31\x78\xe6\xc7\xb5\xdf\xb8\x94\x40\xc9\x71\xc4\xa8\x35\xec\x46\x1d\xc2\x85\xf3\x28\x58\x86\xb0\x0b\xfc\x8e\xb2\x39\x8f\x44\x55\xab\x64\x84\x5c\x69\xa9\xd0\x9a\x38\x3c\xfa\xe5\x1f\x35\xe5\x44\xe3\x80\x79\x94\x68\xa4\xbb\xc4\x9f\x3d\xe1\x34\xcd\x30\x46\x8b\x54\x2b\x95\xa5\xef\xf7\x3f\x99\x84\xfd\x35\xe6\xcf\x31\xc6\xdc\x6a\xbf\xa7\xd7\x23\x08\xe1\x98\x5e\xc3\x5a\x08\x76\xa9\xa6\xaf\x77\x2f\xb7\x60\xbd\x44\x46\x6a\xef\x97\xff\x73\x95\xc1\x8e\xe8\x93\xfb\xfd\x31\xb7\xec\x57\x11\x11\x45\x9b\x30\xf1\x1a\x88\x39\xc1\x4f\x3c\xa7\x00\xd5\xc7\xfc\xab\x6d\x80\x22\x70\xa5\x0c\xe0\x5d\x04\x29\x02\xfb\xcb\xa0\x91\xd1\x7c\xd6\xc3\x7e\x50\xd5\x9d\x58\xbe\x41\x38\xeb\xb9\x75\x3c\x15\xd9\x9b\xc9\x4a\x83\x59\xc0\xda\x53\xfd\x33\xbb\x36\x18\x9b\x85\x0f\x15\xdd\xee\x2d\xac\x76\x93\xb9\xd9\x01\x8d\x48\x10\xa8\xfb\xf5\x38\x86\xf1\xdb\x0a\xc6\xbd\x84\xa3\x23\x41\xde\xd6\x77\x6f\x85\xd4\x85\x1c\x50\xe0\xae\x51\x8a\xba\x8d\x3e\x76\xe2\xb9\xca\x27\xf2\x5f\x9f\xef\x6e\x59\x0d\x06\xd8\x2b\x17\xa4\xd2\x7c\x6b\xbb\x5f\x14\x1a\x48\x8f\x1a\x4c\xe7\xb3\x47\x1c\x8e\x4c\x45\x2b\x20\xee\x48\xdf\xe7\xdd\x09\x8e\x18\xa8\xda\x40\x8d\x92\x26\x11\x53\x61\x73\x5d\xeb\xbd\xe7\xc4\x4d\x29\x37\x61\xeb\xac\x39\x2d\x67\x2e\x16\xd6\xf5\x00\x83\x85\xa1\xcc\x7f\x76\xc4\x7d\xe4\xb7\x4b\x66\xef\x03\x45\x60\x69\xb6\x0c\x52\x96\x92\x84\x5e\xa6\xa3\xb5\xa4\x3e\x2b\xd9\xcc\xd8\x1b\x47\xaa\xf2\x44\xda\x4f\xf9\x03\xe8\xf0\x14\xcb\x3f\xf3\x83\xde\xd0\xc1\x54\xe3\xb7\xe8\x0a\x37\x4d\x8b\x20\x59\x03\x30\x19\xa1\x2c\xc8\xbd\x11\x1f\xdf\xae\xc9\x4a\xc5\xf3\x27\x66\x66\x86\xac\x68\x91\xff\xd9\xe6\x53\x1c\x0f\x8b\x5c\x69\x65\x0a\x26\xc8\x1e\x34\xc3\x5d\x51\x7b\xd7\xa9\x9c\x06\xa1\x36\xdd\xd5\x89\x94\xbc\xd9\xe4\x2d\x0c\x5e\x09\x6c\x08\x97\x7c\xa3\x3d\x7c\x93\xff\x3f\xa1\x14\xa7\xcf\xb5\x5d\xeb\xdb\xdb\x1c\xc4\x76\xdf\x88\xb9\xbd\x45\x05\x95\x1b\xae\xfc\x46\x6a\x4c\xaf\x48\xe3\xce\xae\x0f\xd2\x7e\xeb\xe6\x6c\x9c\x4f\x81\x6a\x7a\x64\xac\xbb\x3e\xd5\xe7\xcb\x76\x2e\xc5\xa7\x48\xc1\x5c\x90\x0f\xcb\xc8\x3f\xfa\xe6\x32\xe1\x8d\x1b\x6f\xa4\xe6\x8e\xd8\xf9\x29\x48\x8a\xce\x73\xfe\x2c", - ["GeoTrust Universal CA 2"] = "\x30\x82\x05\x6c\x30\x82\x03\x54\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x47\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x20\x30\x1e\x06\x03\x55\x04\x03\x13\x17\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x20\x32\x30\x1e\x17\x0d\x30\x34\x30\x33\x30\x34\x30\x35\x30\x30\x30\x30\x5a\x17\x0d\x32\x39\x30\x33\x30\x34\x30\x35\x30\x30\x30\x30\x5a\x30\x47\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x20\x30\x1e\x06\x03\x55\x04\x03\x13\x17\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x20\x32\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xb3\x54\x52\xc1\xc9\x3e\xf2\xd9\xdc\xb1\x53\x1a\x59\x29\xe7\xb1\xc3\x45\x28\xe5\xd7\xd1\xed\xc5\xc5\x4b\xa1\xaa\x74\x7b\x57\xaf\x4a\x26\xfc\xd8\xf5\x5e\xa7\x6e\x19\xdb\x74\x0c\x4f\x35\x5b\x32\x0b\x01\xe3\xdb\xeb\x7a\x77\x35\xea\xaa\x5a\xe0\xd6\xe8\xa1\x57\x94\xf0\x90\xa3\x74\x56\x94\x44\x30\x03\x1e\x5c\x4e\x2b\x85\x26\x74\x82\x7a\x0c\x76\xa0\x6f\x4d\xce\x41\x2d\xa0\x15\x06\x14\x5f\xb7\x42\xcd\x7b\x8f\x58\x61\x34\xdc\x2a\x08\xf9\x2e\xc3\x01\xa6\x22\x44\x1c\x4c\x07\x82\xe6\x5b\xce\xd0\x4a\x7c\x04\xd3\x19\x73\x27\xf0\xaa\x98\x7f\x2e\xaf\x4e\xeb\x87\x1e\x24\x77\x6a\x5d\xb6\xe8\x5b\x45\xba\xdc\xc3\xa1\x05\x6f\x56\x8e\x8f\x10\x26\xa5\x49\xc3\x2e\xd7\x41\x87\x22\xe0\x4f\x86\xca\x60\xb5\xea\xa1\x63\xc0\x01\x97\x10\x79\xbd\x00\x3c\x12\x6d\x2b\x15\xb1\xac\x4b\xb1\xee\x18\xb9\x4e\x96\xdc\xdc\x76\xff\x3b\xbe\xcf\x5f\x03\xc0\xfc\x3b\xe8\xbe\x46\x1b\xff\xda\x40\xc2\x52\xf7\xfe\xe3\x3a\xf7\x6a\x77\x35\xd0\xda\x8d\xeb\x5e\x18\x6a\x31\xc7\x1e\xba\x3c\x1b\x28\xd6\x6b\x54\xc6\xaa\x5b\xd7\xa2\x2c\x1b\x19\xcc\xa2\x02\xf6\x9b\x59\xbd\x37\x6b\x86\xb5\x6d\x82\xba\xd8\xea\xc9\x56\xbc\xa9\x36\x58\xfd\x3e\x19\xf3\xed\x0c\x26\xa9\x93\x38\xf8\x4f\xc1\x5d\x22\x06\xd0\x97\xea\xe1\xad\xc6\x55\xe0\x81\x2b\x28\x83\x3a\xfa\xf4\x7b\x21\x51\x00\xbe\x52\x38\xce\xcd\x66\x79\xa8\xf4\x81\x56\xe2\xd0\x83\x09\x47\x51\x5b\x50\x6a\xcf\xdb\x48\x1a\x5d\x3e\xf7\xcb\xf6\x65\xf7\x6c\xf1\x95\xf8\x02\x3b\x32\x56\x82\x39\x7a\x5b\xbd\x2f\x89\x1b\xbf\xa1\xb4\xe8\xff\x7f\x8d\x8c\xdf\x03\xf1\x60\x4e\x58\x11\x4c\xeb\xa3\x3f\x10\x2b\x83\x9a\x01\x73\xd9\x94\x6d\x84\x00\x27\x66\xac\xf0\x70\x40\x09\x42\x92\xad\x4f\x93\x0d\x61\x09\x51\x24\xd8\x92\xd5\x0b\x94\x61\xb2\x87\xb2\xed\xff\x9a\x35\xff\x85\x54\xca\xed\x44\x43\xac\x1b\x3c\x16\x6b\x48\x4a\x0a\x1c\x40\x88\x1f\x92\xc2\x0b\x00\x05\xff\xf2\xc8\x02\x4a\xa4\xaa\xa9\xcc\x99\x96\x9c\x2f\x58\xe0\x7d\xe1\xbe\xbb\x07\xdc\x5f\x04\x72\x5c\x31\x34\xc3\xec\x5f\x2d\xe0\x3d\x64\x90\x22\xe6\xd1\xec\xb8\x2e\xdd\x59\xae\xd9\xa1\x37\xbf\x54\x35\xdc\x73\x32\x4f\x8c\x04\x1e\x33\xb2\xc9\x46\xf1\xd8\x5c\xc8\x55\x50\xc9\x68\xbd\xa8\xba\x36\x09\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x76\xf3\x55\xe1\xfa\xa4\x36\xfb\xf0\x9f\x5c\x62\x71\xed\x3c\xf4\x47\x38\x10\x2b\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x76\xf3\x55\xe1\xfa\xa4\x36\xfb\xf0\x9f\x5c\x62\x71\xed\x3c\xf4\x47\x38\x10\x2b\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x66\xc1\xc6\x23\xf3\xd9\xe0\x2e\x6e\x5f\xe8\xcf\xae\xb0\xb0\x25\x4d\x2b\xf8\x3b\x58\x9b\x40\x24\x37\x5a\xcb\xab\x16\x49\xff\xb3\x75\x79\x33\xa1\x2f\x6d\x70\x17\x34\x91\xfe\x67\x7e\x8f\xec\x9b\xe5\x5e\x82\xa9\x55\x1f\x2f\xdc\xd4\x51\x07\x12\xfe\xac\x16\x3e\x2c\x35\xc6\x63\xfc\xdc\x10\xeb\x0d\xa3\xaa\xd0\x7c\xcc\xd1\xd0\x2f\x51\x2e\xc4\x14\x5a\xde\xe8\x19\xe1\x3e\xc6\xcc\xa4\x29\xe7\x2e\x84\xaa\x06\x30\x78\x76\x54\x73\x28\x98\x59\x38\xe0\x00\x0d\x62\xd3\x42\x7d\x21\x9f\xae\x3d\x3a\x8c\xd5\xfa\x77\x0d\x18\x2b\x16\x0e\x5f\x36\xe1\xfc\x2a\xb5\x30\x24\xcf\xe0\x63\x0c\x7b\x58\x1a\xfe\x99\xba\x42\x12\xb1\x91\xf4\x7c\x68\xe2\xc8\xe8\xaf\x2c\xea\xc9\x7e\xae\xbb\x2a\x3d\x0d\x15\xdc\x34\x95\xb6\x18\x74\xa8\x6a\x0f\xc7\xb4\xf4\x13\xc4\xe4\x5b\xed\x0a\xd2\xa4\x97\x4c\x2a\xed\x2f\x6c\x12\x89\x3d\xf1\x27\x70\xaa\x6a\x03\x52\x21\x9f\x40\xa8\x67\x50\xf2\xf3\x5a\x1f\xdf\xdf\x23\xf6\xdc\x78\x4e\xe6\x98\x4f\x55\x3a\x53\xe3\xef\xf2\xf4\x9f\xc7\x7c\xd8\x58\xaf\x29\x22\x97\xb8\xe0\xbd\x91\x2e\xb0\x76\xec\x57\x11\xcf\xef\x29\x44\xf3\xe9\x85\x7a\x60\x63\xe4\x5d\x33\x89\x17\xd9\x31\xaa\xda\xd6\xf3\x18\x35\x72\xcf\x87\x2b\x2f\x63\x23\x84\x5d\x84\x8c\x3f\x57\xa0\x88\xfc\x99\x91\x28\x26\x69\x99\xd4\x8f\x97\x44\xbe\x8e\xd5\x48\xb1\xa4\x28\x29\xf1\x15\xb4\xe1\xe5\x9e\xdd\xf8\x8f\xa6\x6f\x26\xd7\x09\x3c\x3a\x1c\x11\x0e\xa6\x6c\x37\xf7\xad\x44\x87\x2c\x28\xc7\xd8\x74\x82\xb3\xd0\x6f\x4a\x57\xbb\x35\x29\x27\xa0\x8b\xe8\x21\xa7\x87\x64\x36\x5d\xcc\xd8\x16\xac\xc7\xb2\x27\x40\x92\x55\x38\x28\x8d\x51\x6e\xdd\x14\x67\x53\x6c\x71\x5c\x26\x84\x4d\x75\x5a\xb6\x7e\x60\x56\xa9\x4d\xad\xfb\x9b\x1e\x97\xf3\x0d\xd9\xd2\x97\x54\x77\xda\x3d\x12\xb7\xe0\x1e\xef\x08\x06\xac\xf9\x85\x87\xe9\xa2\xdc\xaf\x7e\x18\x12\x83\xfd\x56\x17\x41\x2e\xd5\x29\x82\x7d\x99\xf4\x31\xf6\x71\xa9\xcf\x2c\x01\x27\xa5\x05\xb9\xaa\xb2\x48\x4e\x2a\xef\x9f\x93\x52\x51\x95\x3c\x52\x73\x8e\x56\x4c\x17\x40\xc0\x09\x28\xe4\x8b\x6a\x48\x53\xdb\xec\xcd\x55\x55\xf1\xc6\xf8\xe9\xa2\x2c\x4c\xa6\xd1\x26\x5f\x7e\xaf\x5a\x4c\xda\x1f\xa6\xf2\x1c\x2c\x7e\xae\x02\x16\xd2\x56\xd0\x2f\x57\x53\x47\xe8\x92", - ["America Online Root Certification Authority 1"] = "\x30\x82\x03\xa4\x30\x82\x02\x8c\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x63\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x49\x6e\x63\x2e\x31\x36\x30\x34\x06\x03\x55\x04\x03\x13\x2d\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x31\x30\x1e\x17\x0d\x30\x32\x30\x35\x32\x38\x30\x36\x30\x30\x30\x30\x5a\x17\x0d\x33\x37\x31\x31\x31\x39\x32\x30\x34\x33\x30\x30\x5a\x30\x63\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x49\x6e\x63\x2e\x31\x36\x30\x34\x06\x03\x55\x04\x03\x13\x2d\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x31\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xa8\x2f\xe8\xa4\x69\x06\x03\x47\xc3\xe9\x2a\x98\xff\x19\xa2\x70\x9a\xc6\x50\xb2\x7e\xa5\xdf\x68\x4d\x1b\x7c\x0f\xb6\x97\x68\x7d\x2d\xa6\x8b\x97\xe9\x64\x86\xc9\xa3\xef\xa0\x86\xbf\x60\x65\x9c\x4b\x54\x88\xc2\x48\xc5\x4a\x39\xbf\x14\xe3\x59\x55\xe5\x19\xb4\x74\xc8\xb4\x05\x39\x5c\x16\xa5\xe2\x95\x05\xe0\x12\xae\x59\x8b\xa2\x33\x68\x58\x1c\xa6\xd4\x15\xb7\xd8\x9f\xd7\xdc\x71\xab\x7e\x9a\xbf\x9b\x8e\x33\x0f\x22\xfd\x1f\x2e\xe7\x07\x36\xef\x62\x39\xc5\xdd\xcb\xba\x25\x14\x23\xde\x0c\xc6\x3d\x3c\xce\x82\x08\xe6\x66\x3e\xda\x51\x3b\x16\x3a\xa3\x05\x7f\xa0\xdc\x87\xd5\x9c\xfc\x72\xa9\xa0\x7d\x78\xe4\xb7\x31\x55\x1e\x65\xbb\xd4\x61\xb0\x21\x60\xed\x10\x32\x72\xc5\x92\x25\x1e\xf8\x90\x4a\x18\x78\x47\xdf\x7e\x30\x37\x3e\x50\x1b\xdb\x1c\xd3\x6b\x9a\x86\x53\x07\xb0\xef\xac\x06\x78\xf8\x84\x99\xfe\x21\x8d\x4c\x80\xb6\x0c\x82\xf6\x66\x70\x79\x1a\xd3\x4f\xa3\xcf\xf1\xcf\x46\xb0\x4b\x0f\x3e\xdd\x88\x62\xb8\x8c\xa9\x09\x28\x3b\x7a\xc7\x97\xe1\x1e\xe5\xf4\x9f\xc0\xc0\xae\x24\xa0\xc8\xa1\xd9\x0f\xd6\x7b\x26\x82\x69\x32\x3d\xa7\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x00\xad\xd9\xa3\xf6\x79\xf6\x6e\x74\xa9\x7f\x33\x3d\x81\x17\xd7\x4c\xcf\x33\xde\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x00\xad\xd9\xa3\xf6\x79\xf6\x6e\x74\xa9\x7f\x33\x3d\x81\x17\xd7\x4c\xcf\x33\xde\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x7c\x8a\xd1\x1f\x18\x37\x82\xe0\xb8\xb0\xa3\xed\x56\x95\xc8\x62\x61\x9c\x05\xa2\xcd\xc2\x62\x26\x61\xcd\x10\x16\xd7\xcc\xb4\x65\x34\xd0\x11\x8a\xad\xa8\xa9\x05\x66\xef\x74\xf3\x6d\x5f\x9d\x99\xaf\xf6\x8b\xfb\xeb\x52\xb2\x05\x98\xa2\x6f\x2a\xc5\x54\xbd\x25\xbd\x5f\xae\xc8\x86\xea\x46\x2c\xc1\xb3\xbd\xc1\xe9\x49\x70\x18\x16\x97\x08\x13\x8c\x20\xe0\x1b\x2e\x3a\x47\xcb\x1e\xe4\x00\x30\x95\x5b\xf4\x45\xa3\xc0\x1a\xb0\x01\x4e\xab\xbd\xc0\x23\x6e\x63\x3f\x80\x4a\xc5\x07\xed\xdc\xe2\x6f\xc7\xc1\x62\xf1\xe3\x72\xd6\x04\xc8\x74\x67\x0b\xfa\x88\xab\xa1\x01\xc8\x6f\xf0\x14\xaf\xd2\x99\xcd\x51\x93\x7e\xed\x2e\x38\xc7\xbd\xce\x46\x50\x3d\x72\xe3\x79\x25\x9d\x9b\x88\x2b\x10\x20\xdd\xa5\xb8\x32\x9f\x8d\xe0\x29\xdf\x21\x74\x86\x82\xdb\x2f\x82\x30\xc6\xc7\x35\x86\xb3\xf9\x96\x5f\x46\xdb\x0c\x45\xfd\xf3\x50\xc3\x6f\xc6\xc3\x48\xad\x46\xa6\xe1\x27\x47\x0a\x1d\x0e\x9b\xb6\xc2\x77\x7f\x63\xf2\xe0\x7d\x1a\xbe\xfc\xe0\xdf\xd7\xc7\xa7\x6c\xb0\xf9\xae\xba\x3c\xfd\x74\xb4\x11\xe8\x58\x0d\x80\xbc\xd3\xa8\x80\x3a\x99\xed\x75\xcc\x46\x7b", - ["America Online Root Certification Authority 2"] = "\x30\x82\x05\xa4\x30\x82\x03\x8c\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x63\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x49\x6e\x63\x2e\x31\x36\x30\x34\x06\x03\x55\x04\x03\x13\x2d\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x32\x30\x1e\x17\x0d\x30\x32\x30\x35\x32\x38\x30\x36\x30\x30\x30\x30\x5a\x17\x0d\x33\x37\x30\x39\x32\x39\x31\x34\x30\x38\x30\x30\x5a\x30\x63\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x49\x6e\x63\x2e\x31\x36\x30\x34\x06\x03\x55\x04\x03\x13\x2d\x41\x6d\x65\x72\x69\x63\x61\x20\x4f\x6e\x6c\x69\x6e\x65\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x32\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xcc\x41\x45\x1d\xe9\x3d\x4d\x10\xf6\x8c\xb1\x41\xc9\xe0\x5e\xcb\x0d\xb7\xbf\x47\x73\xd3\xf0\x55\x4d\xdd\xc6\x0c\xfa\xb1\x66\x05\x6a\xcd\x78\xb4\xdc\x02\xdb\x4e\x81\xf3\xd7\xa7\x7c\x71\xbc\x75\x63\xa0\x5d\xe3\x07\x0c\x48\xec\x25\xc4\x03\x20\xf4\xff\x0e\x3b\x12\xff\x9b\x8d\xe1\xc6\xd5\x1b\xb4\x6d\x22\xe3\xb1\xdb\x7f\x21\x64\xaf\x86\xbc\x57\x22\x2a\xd6\x47\x81\x57\x44\x82\x56\x53\xbd\x86\x14\x01\x0b\xfc\x7f\x74\xa4\x5a\xae\xf1\xba\x11\xb5\x9b\x58\x5a\x80\xb4\x37\x78\x09\x33\x7c\x32\x47\x03\x5c\xc4\xa5\x83\x48\xf4\x57\x56\x6e\x81\x36\x27\x18\x4f\xec\x9b\x28\xc2\xd4\xb4\xd7\x7c\x0c\x3e\x0c\x2b\xdf\xca\x04\xd7\xc6\x8e\xea\x58\x4e\xa8\xa4\xa5\x18\x1c\x6c\x45\x98\xa3\x41\xd1\x2d\xd2\xc7\x6d\x8d\x19\xf1\xad\x79\xb7\x81\x3f\xbd\x06\x82\x27\x2d\x10\x58\x05\xb5\x78\x05\xb9\x2f\xdb\x0c\x6b\x90\x90\x7e\x14\x59\x38\xbb\x94\x24\x13\xe5\xd1\x9d\x14\xdf\xd3\x82\x4d\x46\xf0\x80\x39\x52\x32\x0f\xe3\x84\xb2\x7a\x43\xf2\x5e\xde\x5f\x3f\x1d\xdd\xe3\xb2\x1b\xa0\xa1\x2a\x23\x03\x6e\x2e\x01\x15\x87\x5c\xa6\x75\x75\xc7\x97\x61\xbe\xde\x86\xdc\xd4\x48\xdb\xbd\x2a\xbf\x4a\x55\xda\xe8\x7d\x50\xfb\xb4\x80\x17\xb8\x94\xbf\x01\x3d\xea\xda\xba\x7c\xe0\x58\x67\x17\xb9\x58\xe0\x88\x86\x46\x67\x6c\x9d\x10\x47\x58\x32\xd0\x35\x7c\x79\x2a\x90\xa2\x5a\x10\x11\x23\x35\xad\x2f\xcc\xe4\x4a\x5b\xa7\xc8\x27\xf2\x83\xde\x5e\xbb\x5e\x77\xe7\xe8\xa5\x6e\x63\xc2\x0d\x5d\x61\xd0\x8c\xd2\x6c\x5a\x21\x0e\xca\x28\xa3\xce\x2a\xe9\x95\xc7\x48\xcf\x96\x6f\x1d\x92\x25\xc8\xc6\xc6\xc1\xc1\x0c\x05\xac\x26\xc4\xd2\x75\xd2\xe1\x2a\x67\xc0\x3d\x5b\xa5\x9a\xeb\xcf\x7b\x1a\xa8\x9d\x14\x45\xe5\x0f\xa0\x9a\x65\xde\x2f\x28\xbd\xce\x6f\x94\x66\x83\x48\x29\xd8\xea\x65\x8c\xaf\x93\xd9\x64\x9f\x55\x57\x26\xbf\x6f\xcb\x37\x31\x99\xa3\x60\xbb\x1c\xad\x89\x34\x32\x62\xb8\x43\x21\x06\x72\x0c\xa1\x5c\x6d\x46\xc5\xfa\x29\xcf\x30\xde\x89\xdc\x71\x5b\xdd\xb6\x37\x3e\xdf\x50\xf5\xb8\x07\x25\x26\xe5\xbc\xb5\xfe\x3c\x02\xb3\xb7\xf8\xbe\x43\xc1\x87\x11\x94\x9e\x23\x6c\x17\x8a\xb8\x8a\x27\x0c\x54\x47\xf0\xa9\xb3\xc0\x80\x8c\xa0\x27\xeb\x1d\x19\xe3\x07\x8e\x77\x70\xca\x2b\xf4\x7d\x76\xe0\x78\x67\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x4d\x45\xc1\x68\x38\xbb\x73\xa9\x69\xa1\x20\xe7\xed\xf5\x22\xa1\x23\x14\xd7\x9e\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x4d\x45\xc1\x68\x38\xbb\x73\xa9\x69\xa1\x20\xe7\xed\xf5\x22\xa1\x23\x14\xd7\x9e\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x67\x6b\x06\xb9\x5f\x45\x3b\x2a\x4b\x33\xb3\xe6\x1b\x6b\x59\x4e\x22\xcc\xb9\xb7\xa4\x25\xc9\xa7\xc4\xf0\x54\x96\x0b\x64\xf3\xb1\x58\x4f\x5e\x51\xfc\xb2\x97\x7b\x27\x65\xc2\xe5\xca\xe7\x0d\x0c\x25\x7b\x62\xe3\xfa\x9f\xb4\x87\xb7\x45\x46\xaf\x83\xa5\x97\x48\x8c\xa5\xbd\xf1\x16\x2b\x9b\x76\x2c\x7a\x35\x60\x6c\x11\x80\x97\xcc\xa9\x92\x52\xe6\x2b\xe6\x69\xed\xa9\xf8\x36\x2d\x2c\x77\xbf\x61\x48\xd1\x63\x0b\xb9\x5b\x52\xed\x18\xb0\x43\x42\x22\xa6\xb1\x77\xae\xde\x69\xc5\xcd\xc7\x1c\xa1\xb1\xa5\x1c\x10\xfb\x18\xbe\x1a\x70\xdd\xc1\x92\x4b\xbe\x29\x5a\x9d\x3f\x35\xbe\xe5\x7d\x51\xf8\x55\xe0\x25\x75\x23\x87\x1e\x5c\xdc\xba\x9d\xb0\xac\xb3\x69\xdb\x17\x83\xc9\xf7\xde\x0c\xbc\x08\xdc\x91\x9e\xa8\xd0\xd7\x15\x37\x73\xa5\x35\xb8\xfc\x7e\xc5\x44\x40\x06\xc3\xeb\xf8\x22\x80\x5c\x47\xce\x02\xe3\x11\x9f\x44\xff\xfd\x9a\x32\xcc\x7d\x64\x51\x0e\xeb\x57\x26\x76\x3a\xe3\x1e\x22\x3c\xc2\xa6\x36\xdd\x19\xef\xa7\xfc\x12\xf3\x26\xc0\x59\x31\x85\x4c\x9c\xd8\xcf\xdf\xa4\xcc\xcc\x29\x93\xff\x94\x6d\x76\x5c\x13\x08\x97\xf2\xed\xa5\x0b\x4d\xdd\xe8\xc9\x68\x0e\x66\xd3\x00\x0e\x33\x12\x5b\xbc\x95\xe5\x32\x90\xa8\xb3\xc6\x6c\x83\xad\x77\xee\x8b\x7e\x7e\xb1\xa9\xab\xd3\xe1\xf1\xb6\xc0\xb1\xea\x88\xc0\xe7\xd3\x90\xe9\x28\x92\x94\x7b\x68\x7b\x97\x2a\x0a\x67\x2d\x85\x02\x38\x10\xe4\x03\x61\xd4\xda\x25\x36\xc7\x08\x58\x2d\xa1\xa7\x51\xaf\x30\x0a\x49\xf5\xa6\x69\x87\x07\x2d\x44\x46\x76\x8e\x2a\xe5\x9a\x3b\xd7\x18\xa2\xfc\x9c\x38\x10\xcc\xc6\x3b\xd2\xb5\x17\x3a\x6f\xfd\xae\x25\xbd\xf5\x72\x59\x64\xb1\x74\x2a\x38\x5f\x18\x4c\xdf\xcf\x71\x04\x5a\x36\xd4\xbf\x2f\x99\x9c\xe8\xd9\xba\xb1\x95\xe6\x02\x4b\x21\xa1\x5b\xd5\xc1\x4f\x8f\xae\x69\x6d\x53\xdb\x01\x93\xb5\x5c\x1e\x18\xdd\x64\x5a\xca\x18\x28\x3e\x63\x04\x11\xfd\x1c\x8d\x00\x0f\xb8\x37\xdf\x67\x8a\x9d\x66\xa9\x02\x6a\x91\xff\x13\xca\x2f\x5d\x83\xbc\x87\x93\x6c\xdc\x24\x51\x16\x04\x25\x66\xfa\xb3\xd9\xc2\xba\x29\xbe\x9a\x48\x38\x82\x99\xf4\xbf\x3b\x4a\x31\x19\xf9\xbf\x8e\x21\x33\x14\xca\x4f\x54\x5f\xfb\xce\xfb\x8f\x71\x7f\xfd\x5e\x19\xa0\x0f\x4b\x91\xb8\xc4\x54\xbc\x06\xb0\x45\x8f\x26\x91\xa2\x8e\xfe\xa9", - ["Visa eCommerce Root"] = "\x30\x82\x03\xa2\x30\x82\x02\x8a\xa0\x03\x02\x01\x02\x02\x10\x13\x86\x35\x4d\x1d\x3f\x06\xf2\xc1\xf9\x65\x05\xd5\x90\x1c\x62\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x6b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x0d\x30\x0b\x06\x03\x55\x04\x0a\x13\x04\x56\x49\x53\x41\x31\x2f\x30\x2d\x06\x03\x55\x04\x0b\x13\x26\x56\x69\x73\x61\x20\x49\x6e\x74\x65\x72\x6e\x61\x74\x69\x6f\x6e\x61\x6c\x20\x53\x65\x72\x76\x69\x63\x65\x20\x41\x73\x73\x6f\x63\x69\x61\x74\x69\x6f\x6e\x31\x1c\x30\x1a\x06\x03\x55\x04\x03\x13\x13\x56\x69\x73\x61\x20\x65\x43\x6f\x6d\x6d\x65\x72\x63\x65\x20\x52\x6f\x6f\x74\x30\x1e\x17\x0d\x30\x32\x30\x36\x32\x36\x30\x32\x31\x38\x33\x36\x5a\x17\x0d\x32\x32\x30\x36\x32\x34\x30\x30\x31\x36\x31\x32\x5a\x30\x6b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x0d\x30\x0b\x06\x03\x55\x04\x0a\x13\x04\x56\x49\x53\x41\x31\x2f\x30\x2d\x06\x03\x55\x04\x0b\x13\x26\x56\x69\x73\x61\x20\x49\x6e\x74\x65\x72\x6e\x61\x74\x69\x6f\x6e\x61\x6c\x20\x53\x65\x72\x76\x69\x63\x65\x20\x41\x73\x73\x6f\x63\x69\x61\x74\x69\x6f\x6e\x31\x1c\x30\x1a\x06\x03\x55\x04\x03\x13\x13\x56\x69\x73\x61\x20\x65\x43\x6f\x6d\x6d\x65\x72\x63\x65\x20\x52\x6f\x6f\x74\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xaf\x57\xde\x56\x1e\x6e\xa1\xda\x60\xb1\x94\x27\xcb\x17\xdb\x07\x3f\x80\x85\x4f\xc8\x9c\xb6\xd0\xf4\x6f\x4f\xcf\x99\xd8\xe1\xdb\xc2\x48\x5c\x3a\xac\x39\x33\xc7\x1f\x6a\x8b\x26\x3d\x2b\x35\xf5\x48\xb1\x91\xc1\x02\x4e\x04\x96\x91\x7b\xb0\x33\xf0\xb1\x14\x4e\x11\x6f\xb5\x40\xaf\x1b\x45\xa5\x4a\xef\x7e\xb6\xac\xf2\xa0\x1f\x58\x3f\x12\x46\x60\x3c\x8d\xa1\xe0\x7d\xcf\x57\x3e\x33\x1e\xfb\x47\xf1\xaa\x15\x97\x07\x55\x66\xa5\xb5\x2d\x2e\xd8\x80\x59\xb2\xa7\x0d\xb7\x46\xec\x21\x63\xff\x35\xab\xa5\x02\xcf\x2a\xf4\x4c\xfe\x7b\xf5\x94\x5d\x84\x4d\xa8\xf2\x60\x8f\xdb\x0e\x25\x3c\x9f\x73\x71\xcf\x94\xdf\x4a\xea\xdb\xdf\x72\x38\x8c\xf3\x96\xbd\xf1\x17\xbc\xd2\xba\x3b\x45\x5a\xc6\xa7\xf6\xc6\x17\x8b\x01\x9d\xfc\x19\xa8\x2a\x83\x16\xb8\x3a\x48\xfe\x4e\x3e\xa0\xab\x06\x19\xe9\x53\xf3\x80\x13\x07\xed\x2d\xbf\x3f\x0a\x3c\x55\x20\x39\x2c\x2c\x00\x69\x74\x95\x4a\xbc\x20\xb2\xa9\x79\xe5\x18\x89\x91\xa8\xdc\x1c\x4d\xef\xbb\x7e\x37\x0b\x5d\xfe\x39\xa5\x88\x52\x8c\x00\x6c\xec\x18\x7c\x41\xbd\xf6\x8b\x75\x77\xba\x60\x9d\x84\xe7\xfe\x2d\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x15\x38\x83\x0f\x3f\x2c\x3f\x70\x33\x1e\xcd\x46\xfe\x07\x8c\x20\xe0\xd7\xc3\xb7\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x5f\xf1\x41\x7d\x7c\x5c\x08\xb9\x2b\xe0\xd5\x92\x47\xfa\x67\x5c\xa5\x13\xc3\x03\x21\x9b\x2b\x4c\x89\x46\xcf\x59\x4d\xc9\xfe\xa5\x40\xb6\x63\xcd\xdd\x71\x28\x95\x67\x11\xcc\x24\xac\xd3\x44\x6c\x71\xae\x01\x20\x6b\x03\xa2\x8f\x18\xb7\x29\x3a\x7d\xe5\x16\x60\x53\x78\x3c\xc0\xaf\x15\x83\xf7\x8f\x52\x33\x24\xbd\x64\x93\x97\xee\x8b\xf7\xdb\x18\xa8\x6d\x71\xb3\xf7\x2c\x17\xd0\x74\x25\x69\xf7\xfe\x6b\x3c\x94\xbe\x4d\x4b\x41\x8c\x4e\xe2\x73\xd0\xe3\x90\x22\x73\x43\xcd\xf3\xef\xea\x73\xce\x45\x8a\xb0\xa6\x49\xff\x4c\x7d\x9d\x71\x88\xc4\x76\x1d\x90\x5b\x1d\xee\xfd\xcc\xf7\xee\xfd\x60\xa5\xb1\x7a\x16\x71\xd1\x16\xd0\x7c\x12\x3c\x6c\x69\x97\xdb\xae\x5f\x39\x9a\x70\x2f\x05\x3c\x19\x46\x04\x99\x20\x36\xd0\x60\x6e\x61\x06\xbb\x16\x42\x8c\x70\xf7\x30\xfb\xe0\xdb\x66\xa3\x00\x01\xbd\xe6\x2c\xda\x91\x5f\xa0\x46\x8b\x4d\x6a\x9c\x3d\x3d\xdd\x05\x46\xfe\x76\xbf\xa0\x0a\x3c\xe4\x00\xe6\x27\xb7\xff\x84\x2d\xde\xba\x22\x27\x96\x10\x71\xeb\x22\xed\xdf\xdf\x33\x9c\xcf\xe3\xad\xae\x8e\xd4\x8e\xe6\x4f\x51\xaf\x16\x92\xe0\x5c\xf6\x07\x0f", - ["TC TrustCenter, Germany, Class 2 CA"] = "\x30\x82\x03\x5c\x30\x82\x02\xc5\xa0\x03\x02\x01\x02\x02\x02\x03\xea\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x30\x81\xbc\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x10\x30\x0e\x06\x03\x55\x04\x08\x13\x07\x48\x61\x6d\x62\x75\x72\x67\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x48\x61\x6d\x62\x75\x72\x67\x31\x3a\x30\x38\x06\x03\x55\x04\x0a\x13\x31\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x66\x6f\x72\x20\x53\x65\x63\x75\x72\x69\x74\x79\x20\x69\x6e\x20\x44\x61\x74\x61\x20\x4e\x65\x74\x77\x6f\x72\x6b\x73\x20\x47\x6d\x62\x48\x31\x22\x30\x20\x06\x03\x55\x04\x0b\x13\x19\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x41\x31\x29\x30\x27\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x1a\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x40\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2e\x64\x65\x30\x1e\x17\x0d\x39\x38\x30\x33\x30\x39\x31\x31\x35\x39\x35\x39\x5a\x17\x0d\x31\x31\x30\x31\x30\x31\x31\x31\x35\x39\x35\x39\x5a\x30\x81\xbc\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x10\x30\x0e\x06\x03\x55\x04\x08\x13\x07\x48\x61\x6d\x62\x75\x72\x67\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x48\x61\x6d\x62\x75\x72\x67\x31\x3a\x30\x38\x06\x03\x55\x04\x0a\x13\x31\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x66\x6f\x72\x20\x53\x65\x63\x75\x72\x69\x74\x79\x20\x69\x6e\x20\x44\x61\x74\x61\x20\x4e\x65\x74\x77\x6f\x72\x6b\x73\x20\x47\x6d\x62\x48\x31\x22\x30\x20\x06\x03\x55\x04\x0b\x13\x19\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x41\x31\x29\x30\x27\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x1a\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x40\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2e\x64\x65\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xda\x38\xe8\xed\x32\x00\x29\x71\x83\x01\x0d\xbf\x8c\x01\xdc\xda\xc6\xad\x39\xa4\xa9\x8a\x2f\xd5\x8b\x5c\x68\x5f\x50\xc6\x62\xf5\x66\xbd\xca\x91\x22\xec\xaa\x1d\x51\xd7\x3d\xb3\x51\xb2\x83\x4e\x5d\xcb\x49\xb0\xf0\x4c\x55\xe5\x6b\x2d\xc7\x85\x0b\x30\x1c\x92\x4e\x82\xd4\xca\x02\xed\xf7\x6f\xbe\xdc\xe0\xe3\x14\xb8\x05\x53\xf2\x9a\xf4\x56\x8b\x5a\x9e\x85\x93\xd1\xb4\x82\x56\xae\x4d\xbb\xa8\x4b\x57\x16\xbc\xfe\xf8\x58\x9e\xf8\x29\x8d\xb0\x7b\xcd\x78\xc9\x4f\xac\x8b\x67\x0c\xf1\x9c\xfb\xfc\x57\x9b\x57\x5c\x4f\x0d\x02\x03\x01\x00\x01\xa3\x6b\x30\x69\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x33\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x08\x04\x26\x16\x24\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2e\x64\x65\x2f\x67\x75\x69\x64\x65\x6c\x69\x6e\x65\x73\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x03\x81\x81\x00\x84\x52\xfb\x28\xdf\xff\x1f\x75\x01\xbc\x01\xbe\x04\x56\x97\x6a\x74\x42\x24\x31\x83\xf9\x46\xb1\x06\x8a\x89\xcf\x96\x2c\x33\xbf\x8c\xb5\x5f\x7a\x72\xa1\x85\x06\xce\x86\xf8\x05\x8e\xe8\xf9\x25\xca\xda\x83\x8c\x06\xac\xeb\x36\x6d\x85\x91\x34\x04\x36\xf4\x42\xf0\xf8\x79\x2e\x0a\x48\x5c\xab\xcc\x51\x4f\x78\x76\xa0\xd9\xac\x19\xbd\x2a\xd1\x69\x04\x28\x91\xca\x36\x10\x27\x80\x57\x5b\xd2\x5c\xf5\xc2\x5b\xab\x64\x81\x63\x74\x51\xf4\x97\xbf\xcd\x12\x28\xf7\x4d\x66\x7f\xa7\xf0\x1c\x01\x26\x78\xb2\x66\x47\x70\x51\x64", - ["TC TrustCenter, Germany, Class 3 CA"] = "\x30\x82\x03\x5c\x30\x82\x02\xc5\xa0\x03\x02\x01\x02\x02\x02\x03\xeb\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x30\x81\xbc\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x10\x30\x0e\x06\x03\x55\x04\x08\x13\x07\x48\x61\x6d\x62\x75\x72\x67\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x48\x61\x6d\x62\x75\x72\x67\x31\x3a\x30\x38\x06\x03\x55\x04\x0a\x13\x31\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x66\x6f\x72\x20\x53\x65\x63\x75\x72\x69\x74\x79\x20\x69\x6e\x20\x44\x61\x74\x61\x20\x4e\x65\x74\x77\x6f\x72\x6b\x73\x20\x47\x6d\x62\x48\x31\x22\x30\x20\x06\x03\x55\x04\x0b\x13\x19\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x43\x41\x31\x29\x30\x27\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x1a\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x40\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2e\x64\x65\x30\x1e\x17\x0d\x39\x38\x30\x33\x30\x39\x31\x31\x35\x39\x35\x39\x5a\x17\x0d\x31\x31\x30\x31\x30\x31\x31\x31\x35\x39\x35\x39\x5a\x30\x81\xbc\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x10\x30\x0e\x06\x03\x55\x04\x08\x13\x07\x48\x61\x6d\x62\x75\x72\x67\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x48\x61\x6d\x62\x75\x72\x67\x31\x3a\x30\x38\x06\x03\x55\x04\x0a\x13\x31\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x66\x6f\x72\x20\x53\x65\x63\x75\x72\x69\x74\x79\x20\x69\x6e\x20\x44\x61\x74\x61\x20\x4e\x65\x74\x77\x6f\x72\x6b\x73\x20\x47\x6d\x62\x48\x31\x22\x30\x20\x06\x03\x55\x04\x0b\x13\x19\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x43\x41\x31\x29\x30\x27\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x1a\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x40\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2e\x64\x65\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xb6\xb4\xc1\x35\x05\x2e\x0d\x8d\xec\xa0\x40\x6a\x1c\x0e\x27\xa6\x50\x92\x6b\x50\x1b\x07\xde\x2e\xe7\x76\xcc\xe0\xda\xfc\x84\xa8\x5e\x8c\x63\x6a\x2b\x4d\xd9\x4e\x02\x76\x11\xc1\x0b\xf2\x8d\x79\xca\x00\xb6\xf1\xb0\x0e\xd7\xfb\xa4\x17\x3d\xaf\xab\x69\x7a\x96\x27\xbf\xaf\x33\xa1\x9a\x2a\x59\xaa\xc4\xb5\x37\x08\xf2\x12\xa5\x31\xb6\x43\xf5\x32\x96\x71\x28\x28\xab\x8d\x28\x86\xdf\xbb\xee\xe3\x0c\x7d\x30\xd6\xc3\x52\xab\x8f\x5d\x27\x9c\x6b\xc0\xa3\xe7\x05\x6b\x57\x49\x44\xb3\x6e\xea\x64\xcf\xd2\x8e\x7a\x50\x77\x77\x02\x03\x01\x00\x01\xa3\x6b\x30\x69\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x33\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x08\x04\x26\x16\x24\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2e\x64\x65\x2f\x67\x75\x69\x64\x65\x6c\x69\x6e\x65\x73\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x03\x81\x81\x00\x16\x3d\xc6\xcd\xc1\xbb\x85\x71\x85\x46\x9f\x3e\x20\x8f\x51\x28\x99\xec\x2d\x45\x21\x63\x23\x5b\x04\xbb\x4c\x90\xb8\x88\x92\x04\x4d\xbd\x7d\x01\xa3\x3f\xf6\xec\xce\xf1\xde\xfe\x7d\xe5\xe1\x3e\xbb\xc6\xab\x5e\x0b\xdd\x3d\x96\xc4\xcb\xa9\xd4\xf9\x26\xe6\x06\x4e\x9e\x0c\xa5\x7a\xba\x6e\xc3\x7c\x82\x19\xd1\xc7\xb1\xb1\xc3\xdb\x0d\x8e\x9b\x40\x7c\x37\x0b\xf1\x5d\xe8\xfd\x1f\x90\x88\xa5\x0e\x4e\x37\x64\x21\xa8\x4e\x8d\xb4\x9f\xf1\xde\x48\xad\xd5\x56\x18\x52\x29\x8b\x47\x34\x12\x09\xd4\xbb\x92\x35\xef\x0f\xdb\x34", - ["Certum Root CA"] = "\x30\x82\x03\x0c\x30\x82\x01\xf4\xa0\x03\x02\x01\x02\x02\x03\x01\x00\x20\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x3e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x50\x4c\x31\x1b\x30\x19\x06\x03\x55\x04\x0a\x13\x12\x55\x6e\x69\x7a\x65\x74\x6f\x20\x53\x70\x2e\x20\x7a\x20\x6f\x2e\x6f\x2e\x31\x12\x30\x10\x06\x03\x55\x04\x03\x13\x09\x43\x65\x72\x74\x75\x6d\x20\x43\x41\x30\x1e\x17\x0d\x30\x32\x30\x36\x31\x31\x31\x30\x34\x36\x33\x39\x5a\x17\x0d\x32\x37\x30\x36\x31\x31\x31\x30\x34\x36\x33\x39\x5a\x30\x3e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x50\x4c\x31\x1b\x30\x19\x06\x03\x55\x04\x0a\x13\x12\x55\x6e\x69\x7a\x65\x74\x6f\x20\x53\x70\x2e\x20\x7a\x20\x6f\x2e\x6f\x2e\x31\x12\x30\x10\x06\x03\x55\x04\x03\x13\x09\x43\x65\x72\x74\x75\x6d\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xce\xb1\xc1\x2e\xd3\x4f\x7c\xcd\x25\xce\x18\x3e\x4f\xc4\x8c\x6f\x80\x6a\x73\xc8\x5b\x51\xf8\x9b\xd2\xdc\xbb\x00\x5c\xb1\xa0\xfc\x75\x03\xee\x81\xf0\x88\xee\x23\x52\xe9\xe6\x15\x33\x8d\xac\x2d\x09\xc5\x76\xf9\x2b\x39\x80\x89\xe4\x97\x4b\x90\xa5\xa8\x78\xf8\x73\x43\x7b\xa4\x61\xb0\xd8\x58\xcc\xe1\x6c\x66\x7e\x9c\xf3\x09\x5e\x55\x63\x84\xd5\xa8\xef\xf3\xb1\x2e\x30\x68\xb3\xc4\x3c\xd8\xac\x6e\x8d\x99\x5a\x90\x4e\x34\xdc\x36\x9a\x8f\x81\x88\x50\xb7\x6d\x96\x42\x09\xf3\xd7\x95\x83\x0d\x41\x4b\xb0\x6a\x6b\xf8\xfc\x0f\x7e\x62\x9f\x67\xc4\xed\x26\x5f\x10\x26\x0f\x08\x4f\xf0\xa4\x57\x28\xce\x8f\xb8\xed\x45\xf6\x6e\xee\x25\x5d\xaa\x6e\x39\xbe\xe4\x93\x2f\xd9\x47\xa0\x72\xeb\xfa\xa6\x5b\xaf\xca\x53\x3f\xe2\x0e\xc6\x96\x56\x11\x6e\xf7\xe9\x66\xa9\x26\xd8\x7f\x95\x53\xed\x0a\x85\x88\xba\x4f\x29\xa5\x42\x8c\x5e\xb6\xfc\x85\x20\x00\xaa\x68\x0b\xa1\x1a\x85\x01\x9c\xc4\x46\x63\x82\x88\xb6\x22\xb1\xee\xfe\xaa\x46\x59\x7e\xcf\x35\x2c\xd5\xb6\xda\x5d\xf7\x48\x33\x14\x54\xb6\xeb\xd9\x6f\xce\xcd\x88\xd6\xab\x1b\xda\x96\x3b\x1d\x59\x02\x03\x01\x00\x01\xa3\x13\x30\x11\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xb8\x8d\xce\xef\xe7\x14\xba\xcf\xee\xb0\x44\x92\x6c\xb4\x39\x3e\xa2\x84\x6e\xad\xb8\x21\x77\xd2\xd4\x77\x82\x87\xe6\x20\x41\x81\xee\xe2\xf8\x11\xb7\x63\xd1\x17\x37\xbe\x19\x76\x24\x1c\x04\x1a\x4c\xeb\x3d\xaa\x67\x6f\x2d\xd4\xcd\xfe\x65\x31\x70\xc5\x1b\xa6\x02\x0a\xba\x60\x7b\x6d\x58\xc2\x9a\x49\xfe\x63\x32\x0b\x6b\xe3\x3a\xc0\xac\xab\x3b\xb0\xe8\xd3\x09\x51\x8c\x10\x83\xc6\x34\xe0\xc5\x2b\xe0\x1a\xb6\x60\x14\x27\x6c\x32\x77\x8c\xbc\xb2\x72\x98\xcf\xcd\xcc\x3f\xb9\xc8\x24\x42\x14\xd6\x57\xfc\xe6\x26\x43\xa9\x1d\xe5\x80\x90\xce\x03\x54\x28\x3e\xf7\x3f\xd3\xf8\x4d\xed\x6a\x0a\x3a\x93\x13\x9b\x3b\x14\x23\x13\x63\x9c\x3f\xd1\x87\x27\x79\xe5\x4c\x51\xe3\x01\xad\x85\x5d\x1a\x3b\xb1\xd5\x73\x10\xa4\xd3\xf2\xbc\x6e\x64\xf5\x5a\x56\x90\xa8\xc7\x0e\x4c\x74\x0f\x2e\x71\x3b\xf7\xc8\x47\xf4\x69\x6f\x15\xf2\x11\x5e\x83\x1e\x9c\x7c\x52\xae\xfd\x02\xda\x12\xa8\x59\x67\x18\xdb\xbc\x70\xdd\x9b\xb1\x69\xed\x80\xce\x89\x40\x48\x6a\x0e\x35\xca\x29\x66\x15\x21\x94\x2c\xe8\x60\x2a\x9b\x85\x4a\x40\xf3\x6b\x8a\x24\xec\x06\x16\x2c\x73", - ["Comodo AAA Services root"] = "\x30\x82\x04\x32\x30\x82\x03\x1a\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x7b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x42\x31\x1b\x30\x19\x06\x03\x55\x04\x08\x0c\x12\x47\x72\x65\x61\x74\x65\x72\x20\x4d\x61\x6e\x63\x68\x65\x73\x74\x65\x72\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x0c\x07\x53\x61\x6c\x66\x6f\x72\x64\x31\x1a\x30\x18\x06\x03\x55\x04\x0a\x0c\x11\x43\x6f\x6d\x6f\x64\x6f\x20\x43\x41\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x0c\x18\x41\x41\x41\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x53\x65\x72\x76\x69\x63\x65\x73\x30\x1e\x17\x0d\x30\x34\x30\x31\x30\x31\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x38\x31\x32\x33\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x7b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x42\x31\x1b\x30\x19\x06\x03\x55\x04\x08\x0c\x12\x47\x72\x65\x61\x74\x65\x72\x20\x4d\x61\x6e\x63\x68\x65\x73\x74\x65\x72\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x0c\x07\x53\x61\x6c\x66\x6f\x72\x64\x31\x1a\x30\x18\x06\x03\x55\x04\x0a\x0c\x11\x43\x6f\x6d\x6f\x64\x6f\x20\x43\x41\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x0c\x18\x41\x41\x41\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x53\x65\x72\x76\x69\x63\x65\x73\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xbe\x40\x9d\xf4\x6e\xe1\xea\x76\x87\x1c\x4d\x45\x44\x8e\xbe\x46\xc8\x83\x06\x9d\xc1\x2a\xfe\x18\x1f\x8e\xe4\x02\xfa\xf3\xab\x5d\x50\x8a\x16\x31\x0b\x9a\x06\xd0\xc5\x70\x22\xcd\x49\x2d\x54\x63\xcc\xb6\x6e\x68\x46\x0b\x53\xea\xcb\x4c\x24\xc0\xbc\x72\x4e\xea\xf1\x15\xae\xf4\x54\x9a\x12\x0a\xc3\x7a\xb2\x33\x60\xe2\xda\x89\x55\xf3\x22\x58\xf3\xde\xdc\xcf\xef\x83\x86\xa2\x8c\x94\x4f\x9f\x68\xf2\x98\x90\x46\x84\x27\xc7\x76\xbf\xe3\xcc\x35\x2c\x8b\x5e\x07\x64\x65\x82\xc0\x48\xb0\xa8\x91\xf9\x61\x9f\x76\x20\x50\xa8\x91\xc7\x66\xb5\xeb\x78\x62\x03\x56\xf0\x8a\x1a\x13\xea\x31\xa3\x1e\xa0\x99\xfd\x38\xf6\xf6\x27\x32\x58\x6f\x07\xf5\x6b\xb8\xfb\x14\x2b\xaf\xb7\xaa\xcc\xd6\x63\x5f\x73\x8c\xda\x05\x99\xa8\x38\xa8\xcb\x17\x78\x36\x51\xac\xe9\x9e\xf4\x78\x3a\x8d\xcf\x0f\xd9\x42\xe2\x98\x0c\xab\x2f\x9f\x0e\x01\xde\xef\x9f\x99\x49\xf1\x2d\xdf\xac\x74\x4d\x1b\x98\xb5\x47\xc5\xe5\x29\xd1\xf9\x90\x18\xc7\x62\x9c\xbe\x83\xc7\x26\x7b\x3e\x8a\x25\xc7\xc0\xdd\x9d\xe6\x35\x68\x10\x20\x9d\x8f\xd8\xde\xd2\xc3\x84\x9c\x0d\x5e\xe8\x2f\xc9\x02\x03\x01\x00\x01\xa3\x81\xc0\x30\x81\xbd\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xa0\x11\x0a\x23\x3e\x96\xf1\x07\xec\xe2\xaf\x29\xef\x82\xa5\x7f\xd0\x30\xa4\xb4\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x7b\x06\x03\x55\x1d\x1f\x04\x74\x30\x72\x30\x38\xa0\x36\xa0\x34\x86\x32\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x63\x6f\x6d\x6f\x64\x6f\x63\x61\x2e\x63\x6f\x6d\x2f\x41\x41\x41\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x53\x65\x72\x76\x69\x63\x65\x73\x2e\x63\x72\x6c\x30\x36\xa0\x34\xa0\x32\x86\x30\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x63\x6f\x6d\x6f\x64\x6f\x2e\x6e\x65\x74\x2f\x41\x41\x41\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x53\x65\x72\x76\x69\x63\x65\x73\x2e\x63\x72\x6c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x08\x56\xfc\x02\xf0\x9b\xe8\xff\xa4\xfa\xd6\x7b\xc6\x44\x80\xce\x4f\xc4\xc5\xf6\x00\x58\xcc\xa6\xb6\xbc\x14\x49\x68\x04\x76\xe8\xe6\xee\x5d\xec\x02\x0f\x60\xd6\x8d\x50\x18\x4f\x26\x4e\x01\xe3\xe6\xb0\xa5\xee\xbf\xbc\x74\x54\x41\xbf\xfd\xfc\x12\xb8\xc7\x4f\x5a\xf4\x89\x60\x05\x7f\x60\xb7\x05\x4a\xf3\xf6\xf1\xc2\xbf\xc4\xb9\x74\x86\xb6\x2d\x7d\x6b\xcc\xd2\xf3\x46\xdd\x2f\xc6\xe0\x6a\xc3\xc3\x34\x03\x2c\x7d\x96\xdd\x5a\xc2\x0e\xa7\x0a\x99\xc1\x05\x8b\xab\x0c\x2f\xf3\x5c\x3a\xcf\x6c\x37\x55\x09\x87\xde\x53\x40\x6c\x58\xef\xfc\xb6\xab\x65\x6e\x04\xf6\x1b\xdc\x3c\xe0\x5a\x15\xc6\x9e\xd9\xf1\x59\x48\x30\x21\x65\x03\x6c\xec\xe9\x21\x73\xec\x9b\x03\xa1\xe0\x37\xad\xa0\x15\x18\x8f\xfa\xba\x02\xce\xa7\x2c\xa9\x10\x13\x2c\xd4\xe5\x08\x26\xab\x22\x97\x60\xf8\x90\x5e\x74\xd4\xa2\x9a\x53\xbd\xf2\xa9\x68\xe0\xa2\x6e\xc2\xd7\x6c\xb1\xa3\x0f\x9e\xbf\xeb\x68\xe7\x56\xf2\xae\xf2\xe3\x2b\x38\x3a\x09\x81\xb5\x6b\x85\xd7\xbe\x2d\xed\x3f\x1a\xb7\xb2\x63\xe2\xf5\x62\x2c\x82\xd4\x6a\x00\x41\x50\xf1\x39\x83\x9f\x95\xe9\x36\x96\x98\x6e", - ["Comodo Secure Services root"] = "\x30\x82\x04\x3f\x30\x82\x03\x27\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x7e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x42\x31\x1b\x30\x19\x06\x03\x55\x04\x08\x0c\x12\x47\x72\x65\x61\x74\x65\x72\x20\x4d\x61\x6e\x63\x68\x65\x73\x74\x65\x72\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x0c\x07\x53\x61\x6c\x66\x6f\x72\x64\x31\x1a\x30\x18\x06\x03\x55\x04\x0a\x0c\x11\x43\x6f\x6d\x6f\x64\x6f\x20\x43\x41\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x24\x30\x22\x06\x03\x55\x04\x03\x0c\x1b\x53\x65\x63\x75\x72\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x53\x65\x72\x76\x69\x63\x65\x73\x30\x1e\x17\x0d\x30\x34\x30\x31\x30\x31\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x38\x31\x32\x33\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x7e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x42\x31\x1b\x30\x19\x06\x03\x55\x04\x08\x0c\x12\x47\x72\x65\x61\x74\x65\x72\x20\x4d\x61\x6e\x63\x68\x65\x73\x74\x65\x72\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x0c\x07\x53\x61\x6c\x66\x6f\x72\x64\x31\x1a\x30\x18\x06\x03\x55\x04\x0a\x0c\x11\x43\x6f\x6d\x6f\x64\x6f\x20\x43\x41\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x24\x30\x22\x06\x03\x55\x04\x03\x0c\x1b\x53\x65\x63\x75\x72\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x53\x65\x72\x76\x69\x63\x65\x73\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xc0\x71\x33\x82\x8a\xd0\x70\xeb\x73\x87\x82\x40\xd5\x1d\xe4\xcb\xc9\x0e\x42\x90\xf9\xde\x34\xb9\xa1\xba\x11\xf4\x25\x85\xf3\xcc\x72\x6d\xf2\x7b\x97\x6b\xb3\x07\xf1\x77\x24\x91\x5f\x25\x8f\xf6\x74\x3d\xe4\x80\xc2\xf8\x3c\x0d\xf3\xbf\x40\xea\xf7\xc8\x52\xd1\x72\x6f\xef\xc8\xab\x41\xb8\x6e\x2e\x17\x2a\x95\x69\x0c\xcd\xd2\x1e\x94\x7b\x2d\x94\x1d\xaa\x75\xd7\xb3\x98\xcb\xac\xbc\x64\x53\x40\xbc\x8f\xac\xac\x36\xcb\x5c\xad\xbb\xdd\xe0\x94\x17\xec\xd1\x5c\xd0\xbf\xef\xa5\x95\xc9\x90\xc5\xb0\xac\xfb\x1b\x43\xdf\x7a\x08\x5d\xb7\xb8\xf2\x40\x1b\x2b\x27\x9e\x50\xce\x5e\x65\x82\x88\x8c\x5e\xd3\x4e\x0c\x7a\xea\x08\x91\xb6\x36\xaa\x2b\x42\xfb\xea\xc2\xa3\x39\xe5\xdb\x26\x38\xad\x8b\x0a\xee\x19\x63\xc7\x1c\x24\xdf\x03\x78\xda\xe6\xea\xc1\x47\x1a\x0b\x0b\x46\x09\xdd\x02\xfc\xde\xcb\x87\x5f\xd7\x30\x63\x68\xa1\xae\xdc\x32\xa1\xba\xbe\xfe\x44\xab\x68\xb6\xa5\x17\x15\xfd\xbd\xd5\xa7\xa7\x9a\xe4\x44\x33\xe9\x88\x8e\xfc\xed\x51\xeb\x93\x71\x4e\xad\x01\xe7\x44\x8e\xab\x2d\xcb\xa8\xfe\x01\x49\x48\xf0\xc0\xdd\xc7\x68\xd8\x92\xfe\x3d\x02\x03\x01\x00\x01\xa3\x81\xc7\x30\x81\xc4\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x3c\xd8\x93\x88\xc2\xc0\x82\x09\xcc\x01\x99\x06\x93\x20\xe9\x9e\x70\x09\x63\x4f\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x81\x81\x06\x03\x55\x1d\x1f\x04\x7a\x30\x78\x30\x3b\xa0\x39\xa0\x37\x86\x35\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x63\x6f\x6d\x6f\x64\x6f\x63\x61\x2e\x63\x6f\x6d\x2f\x53\x65\x63\x75\x72\x65\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x53\x65\x72\x76\x69\x63\x65\x73\x2e\x63\x72\x6c\x30\x39\xa0\x37\xa0\x35\x86\x33\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x63\x6f\x6d\x6f\x64\x6f\x2e\x6e\x65\x74\x2f\x53\x65\x63\x75\x72\x65\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x53\x65\x72\x76\x69\x63\x65\x73\x2e\x63\x72\x6c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x87\x01\x6d\x23\x1d\x7e\x5b\x17\x7d\xc1\x61\x32\xcf\x8f\xe7\xf3\x8a\x94\x59\x66\xe0\x9e\x28\xa8\x5e\xd3\xb7\xf4\x34\xe6\xaa\x39\xb2\x97\x16\xc5\x82\x6f\x32\xa4\xe9\x8c\xe7\xaf\xfd\xef\xc2\xe8\xb9\x4b\xaa\xa3\xf4\xe6\xda\x8d\x65\x21\xfb\xba\x80\xeb\x26\x28\x85\x1a\xfe\x39\x8c\xde\x5b\x04\x04\xb4\x54\xf9\xa3\x67\x9e\x41\xfa\x09\x52\xcc\x05\x48\xa8\xc9\x3f\x21\x04\x1e\xce\x48\x6b\xfc\x85\xe8\xc2\x7b\xaf\x7f\xb7\xcc\xf8\x5f\x3a\xfd\x35\xc6\x0d\xef\x97\xdc\x4c\xab\x11\xe1\x6b\xcb\x31\xd1\x6c\xfb\x48\x80\xab\xdc\x9c\x37\xb8\x21\x14\x4b\x0d\x71\x3d\xec\x83\x33\x6e\xd1\x6e\x32\x16\xec\x98\xc7\x16\x8b\x59\xa6\x34\xab\x05\x57\x2d\x93\xf7\xaa\x13\xcb\xd2\x13\xe2\xb7\x2e\x3b\xcd\x6b\x50\x17\x09\x68\x3e\xb5\x26\x57\xee\xb6\xe0\xb6\xdd\xb9\x29\x80\x79\x7d\x8f\xa3\xf0\xa4\x28\xa4\x15\xc4\x85\xf4\x27\xd4\x6b\xbf\xe5\x5c\xe4\x65\x02\x76\x54\xb4\xe3\x37\x66\x24\xd3\x19\x61\xc8\x52\x10\xe5\x8b\x37\x9a\xb9\xa9\xf9\x1d\xbf\xea\x99\x92\x61\x96\xff\x01\xcd\xa1\x5f\x0d\xbc\x71\xbc\x0e\xac\x0b\x1d\x47\x45\x1d\xc1\xec\x7c\xec\xfd\x29", - ["Comodo Trusted Services root"] = "\x30\x82\x04\x43\x30\x82\x03\x2b\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x7f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x42\x31\x1b\x30\x19\x06\x03\x55\x04\x08\x0c\x12\x47\x72\x65\x61\x74\x65\x72\x20\x4d\x61\x6e\x63\x68\x65\x73\x74\x65\x72\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x0c\x07\x53\x61\x6c\x66\x6f\x72\x64\x31\x1a\x30\x18\x06\x03\x55\x04\x0a\x0c\x11\x43\x6f\x6d\x6f\x64\x6f\x20\x43\x41\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x25\x30\x23\x06\x03\x55\x04\x03\x0c\x1c\x54\x72\x75\x73\x74\x65\x64\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x53\x65\x72\x76\x69\x63\x65\x73\x30\x1e\x17\x0d\x30\x34\x30\x31\x30\x31\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x38\x31\x32\x33\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x7f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x42\x31\x1b\x30\x19\x06\x03\x55\x04\x08\x0c\x12\x47\x72\x65\x61\x74\x65\x72\x20\x4d\x61\x6e\x63\x68\x65\x73\x74\x65\x72\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x0c\x07\x53\x61\x6c\x66\x6f\x72\x64\x31\x1a\x30\x18\x06\x03\x55\x04\x0a\x0c\x11\x43\x6f\x6d\x6f\x64\x6f\x20\x43\x41\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x25\x30\x23\x06\x03\x55\x04\x03\x0c\x1c\x54\x72\x75\x73\x74\x65\x64\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x53\x65\x72\x76\x69\x63\x65\x73\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xdf\x71\x6f\x36\x58\x53\x5a\xf2\x36\x54\x57\x80\xc4\x74\x08\x20\xed\x18\x7f\x2a\x1d\xe6\x35\x9a\x1e\x25\xac\x9c\xe5\x96\x7e\x72\x52\xa0\x15\x42\xdb\x59\xdd\x64\x7a\x1a\xd0\xb8\x7b\xdd\x39\x15\xbc\x55\x48\xc4\xed\x3a\x00\xea\x31\x11\xba\xf2\x71\x74\x1a\x67\xb8\xcf\x33\xcc\xa8\x31\xaf\xa3\xe3\xd7\x7f\xbf\x33\x2d\x4c\x6a\x3c\xec\x8b\xc3\x92\xd2\x53\x77\x24\x74\x9c\x07\x6e\x70\xfc\xbd\x0b\x5b\x76\xba\x5f\xf2\xff\xd7\x37\x4b\x4a\x60\x78\xf7\xf0\xfa\xca\x70\xb4\xea\x59\xaa\xa3\xce\x48\x2f\xa9\xc3\xb2\x0b\x7e\x17\x72\x16\x0c\xa6\x07\x0c\x1b\x38\xcf\xc9\x62\xb7\x3f\xa0\x93\xa5\x87\x41\xf2\xb7\x70\x40\x77\xd8\xbe\x14\x7c\xe3\xa8\xc0\x7a\x8e\xe9\x63\x6a\xd1\x0f\x9a\xc6\xd2\xf4\x8b\x3a\x14\x04\x56\xd4\xed\xb8\xcc\x6e\xf5\xfb\xe2\x2c\x58\xbd\x7f\x4f\x6b\x2b\xf7\x60\x24\x58\x24\xce\x26\xef\x34\x91\x3a\xd5\xe3\x81\xd0\xb2\xf0\x04\x02\xd7\x5b\xb7\x3e\x92\xac\x6b\x12\x8a\xf9\xe4\x05\xb0\x3b\x91\x49\x5c\xb2\xeb\x53\xea\xf8\x9f\x47\x86\xee\xbf\x95\xc0\xc0\x06\x9f\xd2\x5b\x5e\x11\x1b\xf4\xc7\x04\x35\x29\xd2\x55\x5c\xe4\xed\xeb\x02\x03\x01\x00\x01\xa3\x81\xc9\x30\x81\xc6\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xc5\x7b\x58\xbd\xed\xda\x25\x69\xd2\xf7\x59\x16\xa8\xb3\x32\xc0\x7b\x27\x5b\xf4\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x81\x83\x06\x03\x55\x1d\x1f\x04\x7c\x30\x7a\x30\x3c\xa0\x3a\xa0\x38\x86\x36\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x63\x6f\x6d\x6f\x64\x6f\x63\x61\x2e\x63\x6f\x6d\x2f\x54\x72\x75\x73\x74\x65\x64\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x53\x65\x72\x76\x69\x63\x65\x73\x2e\x63\x72\x6c\x30\x3a\xa0\x38\xa0\x36\x86\x34\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x63\x6f\x6d\x6f\x64\x6f\x2e\x6e\x65\x74\x2f\x54\x72\x75\x73\x74\x65\x64\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x53\x65\x72\x76\x69\x63\x65\x73\x2e\x63\x72\x6c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xc8\x93\x81\x3b\x89\xb4\xaf\xb8\x84\x12\x4c\x8d\xd2\xf0\xdb\x70\xba\x57\x86\x15\x34\x10\xb9\x2f\x7f\x1e\xb0\xa8\x89\x60\xa1\x8a\xc2\x77\x0c\x50\x4a\x9b\x00\x8b\xd8\x8b\xf4\x41\xe2\xd0\x83\x8a\x4a\x1c\x14\x06\xb0\xa3\x68\x05\x70\x31\x30\xa7\x53\x9b\x0e\xe9\x4a\xa0\x58\x69\x67\x0e\xae\x9d\xf6\xa5\x2c\x41\xbf\x3c\x06\x6b\xe4\x59\xcc\x6d\x10\xf1\x96\x6f\x1f\xdf\xf4\x04\x02\xa4\x9f\x45\x3e\xc8\xd8\xfa\x36\x46\x44\x50\x3f\x82\x97\x91\x1f\x28\xdb\x18\x11\x8c\x2a\xe4\x65\x83\x57\x12\x12\x8c\x17\x3f\x94\x36\xfe\x5d\xb0\xc0\x04\x77\x13\xb8\xf4\x15\xd5\x3f\x38\xcc\x94\x3a\x55\xd0\xac\x98\xf5\xba\x00\x5f\xe0\x86\x19\x81\x78\x2f\x28\xc0\x7e\xd3\xcc\x42\x0a\xf5\xae\x50\xa0\xd1\x3e\xc6\xa1\x71\xec\x3f\xa0\x20\x8c\x66\x3a\x89\xb4\x8e\xd4\xd8\xb1\x4d\x25\x47\xee\x2f\x88\xc8\xb5\xe1\x05\x45\xc0\xbe\x14\x71\xde\x7a\xfd\x8e\x7b\x7d\x4d\x08\x96\xa5\x12\x73\xf0\x2d\xca\x37\x27\x74\x12\x27\x4c\xcb\xb6\x97\xe9\xd9\xae\x08\x6d\x5a\x39\x40\xdd\x05\x47\x75\x6a\x5a\x21\xb3\xa3\x18\xcf\x4e\xf7\x2e\x57\xb7\x98\x70\x5e\xc8\xc4\x78\xb0\x62", - ["QuoVadis Root CA"] = "\x30\x82\x05\xd0\x30\x82\x04\xb8\xa0\x03\x02\x01\x02\x02\x04\x3a\xb6\x50\x8b\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x7f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42\x4d\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x25\x30\x23\x06\x03\x55\x04\x0b\x13\x1c\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x2e\x30\x2c\x06\x03\x55\x04\x03\x13\x25\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x31\x30\x33\x31\x39\x31\x38\x33\x33\x33\x33\x5a\x17\x0d\x32\x31\x30\x33\x31\x37\x31\x38\x33\x33\x33\x33\x5a\x30\x7f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42\x4d\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x25\x30\x23\x06\x03\x55\x04\x0b\x13\x1c\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x2e\x30\x2c\x06\x03\x55\x04\x03\x13\x25\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xbf\x61\xb5\x95\x53\xba\x57\xfc\xfa\xf2\x67\x0b\x3a\x1a\xdf\x11\x80\x64\x95\xb4\xd1\xbc\xcd\x7a\xcf\xf6\x29\x96\x2e\x24\x54\x40\x24\x38\xf7\x1a\x85\xdc\x58\x4c\xcb\xa4\x27\x42\x97\xd0\x9f\x83\x8a\xc3\xe4\x06\x03\x5b\x00\xa5\x51\x1e\x70\x04\x74\xe2\xc1\xd4\x3a\xab\xd7\xad\x3b\x07\x18\x05\x8e\xfd\x83\xac\xea\x66\xd9\x18\x1b\x68\x8a\xf5\x57\x1a\x98\xba\xf5\xed\x76\x3d\x7c\xd9\xde\x94\x6a\x3b\x4b\x17\xc1\xd5\x8f\xbd\x65\x38\x3a\x95\xd0\x3d\x55\x36\x4e\xdf\x79\x57\x31\x2a\x1e\xd8\x59\x65\x49\x58\x20\x98\x7e\xab\x5f\x7e\x9f\xe9\xd6\x4d\xec\x83\x74\xa9\xc7\x6c\xd8\xee\x29\x4a\x85\x2a\x06\x14\xf9\x54\xe6\xd3\xda\x65\x07\x8b\x63\x37\x12\xd7\xd0\xec\xc3\x7b\x20\x41\x44\xa3\xed\xcb\xa0\x17\xe1\x71\x65\xce\x1d\x66\x31\xf7\x76\x01\x19\xc8\x7d\x03\x58\xb6\x95\x49\x1d\xa6\x12\x26\xe8\xc6\x0c\x76\xe0\xe3\x66\xcb\xea\x5d\xa6\x26\xee\xe5\xcc\x5f\xbd\x67\xa7\x01\x27\x0e\xa2\xca\x54\xc5\xb1\x7a\x95\x1d\x71\x1e\x4a\x29\x8a\x03\xdc\x6a\x45\xc1\xa4\x19\x5e\x6f\x36\xcd\xc3\xa2\xb0\xb7\xfe\x5c\x38\xe2\x52\xbc\xf8\x44\x43\xe6\x90\xbb\x02\x03\x01\x00\x01\xa3\x82\x02\x52\x30\x82\x02\x4e\x30\x3d\x06\x08\x2b\x06\x01\x05\x05\x07\x01\x01\x04\x31\x30\x2f\x30\x2d\x06\x08\x2b\x06\x01\x05\x05\x07\x30\x01\x86\x21\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6f\x63\x73\x70\x2e\x71\x75\x6f\x76\x61\x64\x69\x73\x6f\x66\x66\x73\x68\x6f\x72\x65\x2e\x63\x6f\x6d\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x82\x01\x1a\x06\x03\x55\x1d\x20\x04\x82\x01\x11\x30\x82\x01\x0d\x30\x82\x01\x09\x06\x09\x2b\x06\x01\x04\x01\xbe\x58\x00\x01\x30\x81\xfb\x30\x81\xd4\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x02\x30\x81\xc7\x1a\x81\xc4\x52\x65\x6c\x69\x61\x6e\x63\x65\x20\x6f\x6e\x20\x74\x68\x65\x20\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x62\x79\x20\x61\x6e\x79\x20\x70\x61\x72\x74\x79\x20\x61\x73\x73\x75\x6d\x65\x73\x20\x61\x63\x63\x65\x70\x74\x61\x6e\x63\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x74\x68\x65\x6e\x20\x61\x70\x70\x6c\x69\x63\x61\x62\x6c\x65\x20\x73\x74\x61\x6e\x64\x61\x72\x64\x20\x74\x65\x72\x6d\x73\x20\x61\x6e\x64\x20\x63\x6f\x6e\x64\x69\x74\x69\x6f\x6e\x73\x20\x6f\x66\x20\x75\x73\x65\x2c\x20\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x70\x72\x61\x63\x74\x69\x63\x65\x73\x2c\x20\x61\x6e\x64\x20\x74\x68\x65\x20\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x50\x6f\x6c\x69\x63\x79\x2e\x30\x22\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x16\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x71\x75\x6f\x76\x61\x64\x69\x73\x2e\x62\x6d\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x8b\x4b\x6d\xed\xd3\x29\xb9\x06\x19\xec\x39\x39\xa9\xf0\x97\x84\x6a\xcb\xef\xdf\x30\x81\xae\x06\x03\x55\x1d\x23\x04\x81\xa6\x30\x81\xa3\x80\x14\x8b\x4b\x6d\xed\xd3\x29\xb9\x06\x19\xec\x39\x39\xa9\xf0\x97\x84\x6a\xcb\xef\xdf\xa1\x81\x84\xa4\x81\x81\x30\x7f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42\x4d\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x25\x30\x23\x06\x03\x55\x04\x0b\x13\x1c\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x2e\x30\x2c\x06\x03\x55\x04\x03\x13\x25\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x82\x04\x3a\xb6\x50\x8b\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x8a\xd4\x14\xb5\xfe\xf4\x9a\x92\xa7\x19\xd4\xa4\x7e\x72\x18\x8f\xd9\x68\x7c\x52\x24\xdd\x67\x6f\x39\x7a\xc4\xaa\x5e\x3d\xe2\x58\xb0\x4d\x70\x98\x84\x61\xe8\x1b\xe3\x69\x18\x0e\xce\xfb\x47\x50\xa0\x4e\xff\xf0\x24\x1f\xbd\xb2\xce\xf5\x27\xfc\xec\x2f\x53\xaa\x73\x7b\x03\x3d\x74\x6e\xe6\x16\x9e\xeb\xa5\x2e\xc4\xbf\x56\x27\x50\x2b\x62\xba\xbe\x4b\x1c\x3c\x55\x5c\x41\x1d\x24\xbe\x82\x20\x47\x5d\xd5\x44\x7e\x7a\x16\x68\xdf\x7d\x4d\x51\x70\x78\x57\x1d\x33\x1e\xfd\x02\x99\x9c\x0c\xcd\x0a\x05\x4f\xc7\xbb\x8e\xa4\x75\xfa\x4a\x6d\xb1\x80\x8e\x09\x56\xb9\x9c\x1a\x60\xfe\x5d\xc1\xd7\x7a\xdc\x11\x78\xd0\xd6\x5d\xc1\xb7\xd5\xad\x32\x99\x03\x3a\x8a\xcc\x54\x25\x39\x31\x81\x7b\x13\x22\x51\xba\x46\x6c\xa1\xbb\x9e\xfa\x04\x6c\x49\x26\x74\x8f\xd2\x73\xeb\xcc\x30\xa2\xe6\xea\x59\x22\x87\xf8\x97\xf5\x0e\xfd\xea\xcc\x92\xa4\x16\xc4\x52\x18\xea\x21\xce\xb1\xf1\xe6\x84\x81\xe5\xba\xa9\x86\x28\xf2\x43\x5a\x5d\x12\x9d\xac\x1e\xd9\xa8\xe5\x0a\x6a\xa7\x7f\xa0\x87\x29\xcf\xf2\x89\x4d\xd4\xec\xc5\xe2\xe6\x7a\xd0\x36\x23\x8a\x4a\x74\x36\xf9", - ["QuoVadis Root CA 2"] = "\x30\x82\x05\xb7\x30\x82\x03\x9f\xa0\x03\x02\x01\x02\x02\x02\x05\x09\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x45\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42\x4d\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x32\x30\x1e\x17\x0d\x30\x36\x31\x31\x32\x34\x31\x38\x32\x37\x30\x30\x5a\x17\x0d\x33\x31\x31\x31\x32\x34\x31\x38\x32\x33\x33\x33\x5a\x30\x45\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42\x4d\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x32\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\x9a\x18\xca\x4b\x94\x0d\x00\x2d\xaf\x03\x29\x8a\xf0\x0f\x81\xc8\xae\x4c\x19\x85\x1d\x08\x9f\xab\x29\x44\x85\xf3\x2f\x81\xad\x32\x1e\x90\x46\xbf\xa3\x86\x26\x1a\x1e\xfe\x7e\x1c\x18\x3a\x5c\x9c\x60\x17\x2a\x3a\x74\x83\x33\x30\x7d\x61\x54\x11\xcb\xed\xab\xe0\xe6\xd2\xa2\x7e\xf5\x6b\x6f\x18\xb7\x0a\x0b\x2d\xfd\xe9\x3e\xef\x0a\xc6\xb3\x10\xe9\xdc\xc2\x46\x17\xf8\x5d\xfd\xa4\xda\xff\x9e\x49\x5a\x9c\xe6\x33\xe6\x24\x96\xf7\x3f\xba\x5b\x2b\x1c\x7a\x35\xc2\xd6\x67\xfe\xab\x66\x50\x8b\x6d\x28\x60\x2b\xef\xd7\x60\xc3\xc7\x93\xbc\x8d\x36\x91\xf3\x7f\xf8\xdb\x11\x13\xc4\x9c\x77\x76\xc1\xae\xb7\x02\x6a\x81\x7a\xa9\x45\x83\xe2\x05\xe6\xb9\x56\xc1\x94\x37\x8f\x48\x71\x63\x22\xec\x17\x65\x07\x95\x8a\x4b\xdf\x8f\xc6\x5a\x0a\xe5\xb0\xe3\x5f\x5e\x6b\x11\xab\x0c\xf9\x85\xeb\x44\xe9\xf8\x04\x73\xf2\xe9\xfe\x5c\x98\x8c\xf5\x73\xaf\x6b\xb4\x7e\xcd\xd4\x5c\x02\x2b\x4c\x39\xe1\xb2\x95\x95\x2d\x42\x87\xd7\xd5\xb3\x90\x43\xb7\x6c\x13\xf1\xde\xdd\xf6\xc4\xf8\x89\x3f\xd1\x75\xf5\x92\xc3\x91\xd5\x8a\x88\xd0\x90\xec\xdc\x6d\xde\x89\xc2\x65\x71\x96\x8b\x0d\x03\xfd\x9c\xbf\x5b\x16\xac\x92\xdb\xea\xfe\x79\x7c\xad\xeb\xaf\xf7\x16\xcb\xdb\xcd\x25\x2b\xe5\x1f\xfb\x9a\x9f\xe2\x51\xcc\x3a\x53\x0c\x48\xe6\x0e\xbd\xc9\xb4\x76\x06\x52\xe6\x11\x13\x85\x72\x63\x03\x04\xe0\x04\x36\x2b\x20\x19\x02\xe8\x74\xa7\x1f\xb6\xc9\x56\x66\xf0\x75\x25\xdc\x67\xc1\x0e\x61\x60\x88\xb3\x3e\xd1\xa8\xfc\xa3\xda\x1d\xb0\xd1\xb1\x23\x54\xdf\x44\x76\x6d\xed\x41\xd8\xc1\xb2\x22\xb6\x53\x1c\xdf\x35\x1d\xdc\xa1\x77\x2a\x31\xe4\x2d\xf5\xe5\xe5\xdb\xc8\xe0\xff\xe5\x80\xd7\x0b\x63\xa0\xff\x33\xa1\x0f\xba\x2c\x15\x15\xea\x97\xb3\xd2\xa2\xb5\xbe\xf2\x8c\x96\x1e\x1a\x8f\x1d\x6c\xa4\x61\x37\xb9\x86\x73\x33\xd7\x97\x96\x9e\x23\x7d\x82\xa4\x4c\x81\xe2\xa1\xd1\xba\x67\x5f\x95\x07\xa3\x27\x11\xee\x16\x10\x7b\xbc\x45\x4a\x4c\xb2\x04\xd2\xab\xef\xd5\xfd\x0c\x51\xce\x50\x6a\x08\x31\xf9\x91\xda\x0c\x8f\x64\x5c\x03\xc3\x3a\x8b\x20\x3f\x6e\x8d\x67\x3d\x3a\xd6\xfe\x7d\x5b\x88\xc9\x5e\xfb\xcc\x61\xdc\x8b\x33\x77\xd3\x44\x32\x35\x09\x62\x04\x92\x16\x10\xd8\x9e\x27\x47\xfb\x3b\x21\xe3\xf8\xeb\x1d\x5b\x02\x03\x01\x00\x01\xa3\x81\xb0\x30\x81\xad\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x1a\x84\x62\xbc\x48\x4c\x33\x25\x04\xd4\xee\xd0\xf6\x03\xc4\x19\x46\xd1\x94\x6b\x30\x6e\x06\x03\x55\x1d\x23\x04\x67\x30\x65\x80\x14\x1a\x84\x62\xbc\x48\x4c\x33\x25\x04\xd4\xee\xd0\xf6\x03\xc4\x19\x46\xd1\x94\x6b\xa1\x49\xa4\x47\x30\x45\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42\x4d\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x32\x82\x02\x05\x09\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x3e\x0a\x16\x4d\x9f\x06\x5b\xa8\xae\x71\x5d\x2f\x05\x2f\x67\xe6\x13\x45\x83\xc4\x36\xf6\xf3\xc0\x26\x0c\x0d\xb5\x47\x64\x5d\xf8\xb4\x72\xc9\x46\xa5\x03\x18\x27\x55\x89\x78\x7d\x76\xea\x96\x34\x80\x17\x20\xdc\xe7\x83\xf8\x8d\xfc\x07\xb8\xda\x5f\x4d\x2e\x67\xb2\x84\xfd\xd9\x44\xfc\x77\x50\x81\xe6\x7c\xb4\xc9\x0d\x0b\x72\x53\xf8\x76\x07\x07\x41\x47\x96\x0c\xfb\xe0\x82\x26\x93\x55\x8c\xfe\x22\x1f\x60\x65\x7c\x5f\xe7\x26\xb3\xf7\x32\x90\x98\x50\xd4\x37\x71\x55\xf6\x92\x21\x78\xf7\x95\x79\xfa\xf8\x2d\x26\x87\x66\x56\x30\x77\xa6\x37\x78\x33\x52\x10\x58\xae\x3f\x61\x8e\xf2\x6a\xb1\xef\x18\x7e\x4a\x59\x63\xca\x8d\xa2\x56\xd5\xa7\x2f\xbc\x56\x1f\xcf\x39\xc1\xe2\xfb\x0a\xa8\x15\x2c\x7d\x4d\x7a\x63\xc6\x6c\x97\x44\x3c\xd2\x6f\xc3\x4a\x17\x0a\xf8\x90\xd2\x57\xa2\x19\x51\xa5\x2d\x97\x41\xda\x07\x4f\xa9\x50\xda\x90\x8d\x94\x46\xe1\x3e\xf0\x94\xfd\x10\x00\x38\xf5\x3b\xe8\x40\xe1\xb4\x6e\x56\x1a\x20\xcc\x6f\x58\x8d\xed\x2e\x45\x8f\xd6\xe9\x93\x3f\xe7\xb1\x2c\xdf\x3a\xd6\x22\x8c\xdc\x84\xbb\x22\x6f\xd0\xf8\xe4\xc6\x39\xe9\x04\x88\x3c\xc3\xba\xeb\x55\x7a\x6d\x80\x99\x24\xf5\x6c\x01\xfb\xf8\x97\xb0\x94\x5b\xeb\xfd\xd2\x6f\xf1\x77\x68\x0d\x35\x64\x23\xac\xb8\x55\xa1\x03\xd1\x4d\x42\x19\xdc\xf8\x75\x59\x56\xa3\xf9\xa8\x49\x79\xf8\xaf\x0e\xb9\x11\xa0\x7c\xb7\x6a\xed\x34\xd0\xb6\x26\x62\x38\x1a\x87\x0c\xf8\xe8\xfd\x2e\xd3\x90\x7f\x07\x91\x2a\x1d\xd6\x7e\x5c\x85\x83\x99\xb0\x38\x08\x3f\xe9\x5e\xf9\x35\x07\xe4\xc9\x62\x6e\x57\x7f\xa7\x50\x95\xf7\xba\xc8\x9b\xe6\x8e\xa2\x01\xc5\xd6\x66\xbf\x79\x61\xf3\x3c\x1c\xe1\xb9\x82\x5c\x5d\xa0\xc3\xe9\xd8\x48\xbd\x19\xa2\x11\x14\x19\x6e\xb2\x86\x1b\x68\x3e\x48\x37\x1a\x88\xb7\x5d\x96\x5e\x9c\xc7\xef\x27\x62\x08\xe2\x91\x19\x5c\xd2\xf1\x21\xdd\xba\x17\x42\x82\x97\x71\x81\x53\x31\xa9\x9f\xf6\x7d\x62\xbf\x72\xe1\xa3\x93\x1d\xcc\x8a\x26\x5a\x09\x38\xd0\xce\xd7\x0d\x80\x16\xb4\x78\xa5\x3a\x87\x4c\x8d\x8a\xa5\xd5\x46\x97\xf2\x2c\x10\xb9\xbc\x54\x22\xc0\x01\x50\x69\x43\x9e\xf4\xb2\xef\x6d\xf8\xec\xda\xf1\xe3\xb1\xef\xdf\x91\x8f\x54\x2a\x0b\x25\xc1\x26\x19\xc4\x52\x10\x05\x65\xd5\x82\x10\xea\xc2\x31\xcd\x2e", - ["QuoVadis Root CA 3"] = "\x30\x82\x06\x9d\x30\x82\x04\x85\xa0\x03\x02\x01\x02\x02\x02\x05\xc6\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x45\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42\x4d\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x33\x30\x1e\x17\x0d\x30\x36\x31\x31\x32\x34\x31\x39\x31\x31\x32\x33\x5a\x17\x0d\x33\x31\x31\x31\x32\x34\x31\x39\x30\x36\x34\x34\x5a\x30\x45\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42\x4d\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x33\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xcc\x57\x42\x16\x54\x9c\xe6\x98\xd3\xd3\x4d\xee\xfe\xed\xc7\x9f\x43\x39\x4a\x65\xb3\xe8\x16\x88\x34\xdb\x0d\x59\x91\x74\xcf\x92\xb8\x04\x40\xad\x02\x4b\x31\xab\xbc\x8d\x91\x68\xd8\x20\x0e\x1a\x01\xe2\x1a\x7b\x4e\x17\x5d\xe2\x8a\xb7\x3f\x99\x1a\xcd\xeb\x61\xab\xc2\x65\xa6\x1f\xb7\xb7\xbd\xb7\x8f\xfc\xfd\x70\x8f\x0b\xa0\x67\xbe\x01\xa2\x59\xcf\x71\xe6\x0f\x29\x76\xff\xb1\x56\x79\x45\x2b\x1f\x9e\x7a\x54\xe8\xa3\x29\x35\x68\xa4\x01\x4f\x0f\xa4\x2e\x37\xef\x1b\xbf\xe3\x8f\x10\xa8\x72\xab\x58\x57\xe7\x54\x86\xc8\xc9\xf3\x5b\xda\x2c\xda\x5d\x8e\x6e\x3c\xa3\x3e\xda\xfb\x82\xe5\xdd\xf2\x5c\xb2\x05\x33\x6f\x8a\x36\xce\xd0\x13\x4e\xff\xbf\x4a\x0c\x34\x4c\xa6\xc3\x21\xbd\x50\x04\x55\xeb\xb1\xbb\x9d\xfb\x45\x1e\x64\x15\xde\x55\x01\x8c\x02\x76\xb5\xcb\xa1\x3f\x42\x69\xbc\x2f\xbd\x68\x43\x16\x56\x89\x2a\x37\x61\x91\xfd\xa6\xae\x4e\xc0\xcb\x14\x65\x94\x37\x4b\x92\x06\xef\x04\xd0\xc8\x9c\x88\xdb\x0b\x7b\x81\xaf\xb1\x3d\x2a\xc4\x65\x3a\x78\xb6\xee\xdc\x80\xb1\xd2\xd3\x99\x9c\x3a\xee\x6b\x5a\x6b\xb3\x8d\xb7\xd5\xce\x9c\xc2\xbe\xa5\x4b\x2f\x16\xb1\x9e\x68\x3b\x06\x6f\xae\x7d\x9f\xf8\xde\xec\xcc\x29\xa7\x98\xa3\x25\x43\x2f\xef\xf1\x5f\x26\xe1\x88\x4d\xf8\x5e\x6e\xd7\xd9\x14\x6e\x19\x33\x69\xa7\x3b\x84\x89\x93\xc4\x53\x55\x13\xa1\x51\x78\x40\xf8\xb8\xc9\xa2\xee\x7b\xba\x52\x42\x83\x9e\x14\xed\x05\x52\x5a\x59\x56\xa7\x97\xfc\x9d\x3f\x0a\x29\xd8\xdc\x4f\x91\x0e\x13\xbc\xde\x95\xa4\xdf\x8b\x99\xbe\xac\x9b\x33\x88\xef\xb5\x81\xaf\x1b\xc6\x22\x53\xc8\xf6\xc7\xee\x97\x14\xb0\xc5\x7c\x78\x52\xc8\xf0\xce\x6e\x77\x60\x84\xa6\xe9\x2a\x76\x20\xed\x58\x01\x17\x30\x93\xe9\x1a\x8b\xe0\x73\x63\xd9\x6a\x92\x94\x49\x4e\xb4\xad\x4a\x85\xc4\xa3\x22\x30\xfc\x09\xed\x68\x22\x73\xa6\x88\x0c\x55\x21\x58\xc5\xe1\x3a\x9f\x2a\xdd\xca\xe1\x90\xe0\xd9\x73\xab\x6c\x80\xb8\xe8\x0b\x64\x93\xa0\x9c\x8c\x19\xff\xb3\xd2\x0c\xec\x91\x26\x87\x8a\xb3\xa2\xe1\x70\x8f\x2c\x0a\xe5\xcd\x6d\x68\x51\xeb\xda\x3f\x05\x7f\x8b\x32\xe6\x13\x5c\x6b\xfe\x5f\x40\xe2\x22\xc8\xb4\xb4\x64\x4f\xd6\xba\x7d\x48\x3e\xa8\x69\x0c\xd7\xbb\x86\x71\xc9\x73\xb8\x3f\x3b\x9d\x25\x4b\xda\xff\x40\xeb\x02\x03\x01\x00\x01\xa3\x82\x01\x95\x30\x82\x01\x91\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x81\xe1\x06\x03\x55\x1d\x20\x04\x81\xd9\x30\x81\xd6\x30\x81\xd3\x06\x09\x2b\x06\x01\x04\x01\xbe\x58\x00\x03\x30\x81\xc5\x30\x81\x93\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x02\x30\x81\x86\x1a\x81\x83\x41\x6e\x79\x20\x75\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x63\x6f\x6e\x73\x74\x69\x74\x75\x74\x65\x73\x20\x61\x63\x63\x65\x70\x74\x61\x6e\x63\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x33\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x50\x6f\x6c\x69\x63\x79\x20\x2f\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x50\x72\x61\x63\x74\x69\x63\x65\x20\x53\x74\x61\x74\x65\x6d\x65\x6e\x74\x2e\x30\x2d\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x21\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x71\x75\x6f\x76\x61\x64\x69\x73\x67\x6c\x6f\x62\x61\x6c\x2e\x63\x6f\x6d\x2f\x63\x70\x73\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xf2\xc0\x13\xe0\x82\x43\x3e\xfb\xee\x2f\x67\x32\x96\x35\x5c\xdb\xb8\xcb\x02\xd0\x30\x6e\x06\x03\x55\x1d\x23\x04\x67\x30\x65\x80\x14\xf2\xc0\x13\xe0\x82\x43\x3e\xfb\xee\x2f\x67\x32\x96\x35\x5c\xdb\xb8\xcb\x02\xd0\xa1\x49\xa4\x47\x30\x45\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x42\x4d\x31\x19\x30\x17\x06\x03\x55\x04\x0a\x13\x10\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x51\x75\x6f\x56\x61\x64\x69\x73\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x33\x82\x02\x05\xc6\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x4f\xad\xa0\x2c\x4c\xfa\xc0\xf2\x6f\xf7\x66\x55\xab\x23\x34\xee\xe7\x29\xda\xc3\x5b\xb6\xb0\x83\xd9\xd0\xd0\xe2\x21\xfb\xf3\x60\xa7\x3b\x5d\x60\x53\x27\xa2\x9b\xf6\x08\x22\x2a\xe7\xbf\xa0\x72\xe5\x9c\x24\x6a\x31\xb1\x90\x7a\x27\xdb\x84\x11\x89\x27\xa6\x77\x5a\x38\xd7\xbf\xac\x86\xfc\xee\x5d\x83\xbc\x06\xc6\xd1\x77\x6b\x0f\x6d\x24\x2f\x4b\x7a\x6c\xa7\x07\x96\xca\xe3\x84\x9f\xad\x88\x8b\x1d\xab\x16\x8d\x5b\x66\x17\xd9\x16\xf4\x8b\x80\xd2\xdd\xf8\xb2\x76\xc3\xfc\x38\x13\xaa\x0c\xde\x42\x69\x2b\x6e\xf3\x3c\xeb\x80\x27\xdb\xf5\xa6\x44\x0d\x9f\x5a\x55\x59\x0b\xd5\x0d\x52\x48\xc5\xae\x9f\xf2\x2f\x80\xc5\xea\x32\x50\x35\x12\x97\x2e\xc1\xe1\xff\xf1\x23\x88\x51\x38\x9f\xf2\x66\x56\x76\xe7\x0f\x51\x97\xa5\x52\x0c\x4d\x49\x51\x95\x36\x3d\xbf\xa2\x4b\x0c\x10\x1d\x86\x99\x4c\xaa\xf3\x72\x11\x93\xe4\xea\xf6\x9b\xda\xa8\x5d\xa7\x4d\xb7\x9e\x02\xae\x73\x00\xc8\xda\x23\x03\xe8\xf9\xea\x19\x74\x62\x00\x94\xcb\x22\x20\xbe\x94\xa7\x59\xb5\x82\x6a\xbe\x99\x79\x7a\xa9\xf2\x4a\x24\x52\xf7\x74\xfd\xba\x4e\xe6\xa8\x1d\x02\x6e\xb1\x0d\x80\x44\xc1\xae\xd3\x23\x37\x5f\xbb\x85\x7c\x2b\x92\x2e\xe8\x7e\xa5\x8b\xdd\x99\xe1\xbf\x27\x6f\x2d\x5d\xaa\x7b\x87\xfe\x0a\xdd\x4b\xfc\x8e\xf5\x26\xe4\x6e\x70\x42\x6e\x33\xec\x31\x9e\x7b\x93\xc1\xe4\xc9\x69\x1a\x3d\xc0\x6b\x4e\x22\x6d\xee\xab\x58\x4d\xc6\xd0\x41\xc1\x2b\xea\x4f\x12\x87\x5e\xeb\x45\xd8\x6c\xf5\x98\x02\xd3\xa0\xd8\x55\x8a\x06\x99\x19\xa2\xa0\x77\xd1\x30\x9e\xac\xcc\x75\xee\x83\xf5\xb0\x62\x39\xcf\x6c\x57\xe2\x4c\xd2\x91\x0b\x0e\x75\x28\x1b\x9a\xbf\xfd\x1a\x43\xf1\xca\x77\xfb\x3b\x8f\x61\xb8\x69\x28\x16\x42\x04\x5e\x70\x2a\x1c\x21\xd8\x8f\xe1\xbd\x23\x5b\x2d\x74\x40\x92\xd9\x63\x19\x0d\x73\xdd\x69\xbc\x62\x47\xbc\xe0\x74\x2b\xb2\xeb\x7d\xbe\x41\x1b\xb5\xc0\x46\xc5\xa1\x22\xcb\x5f\x4e\xc1\x28\x92\xde\x18\xba\xd5\x2a\x28\xbb\x11\x8b\x17\x93\x98\x99\x60\x94\x5c\x23\xcf\x5a\x27\x97\x5e\x0b\x05\x06\x93\x37\x1e\x3b\x69\x36\xeb\xa9\x9e\x61\x1d\x8f\x32\xda\x8e\x0c\xd6\x74\x3e\x7b\x09\x24\xda\x01\x77\x47\xc4\x3b\xcd\x34\x8c\x99\xf5\xca\xe1\x25\x61\x33\xb2\x59\x1b\xe2\x6e\xd7\x37\x57\xb6\x0d\xa9\x12\xda", - ["Security Communication Root CA"] = "\x30\x82\x03\x5a\x30\x82\x02\x42\xa0\x03\x02\x01\x02\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x50\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4a\x50\x31\x18\x30\x16\x06\x03\x55\x04\x0a\x13\x0f\x53\x45\x43\x4f\x4d\x20\x54\x72\x75\x73\x74\x2e\x6e\x65\x74\x31\x27\x30\x25\x06\x03\x55\x04\x0b\x13\x1e\x53\x65\x63\x75\x72\x69\x74\x79\x20\x43\x6f\x6d\x6d\x75\x6e\x69\x63\x61\x74\x69\x6f\x6e\x20\x52\x6f\x6f\x74\x43\x41\x31\x30\x1e\x17\x0d\x30\x33\x30\x39\x33\x30\x30\x34\x32\x30\x34\x39\x5a\x17\x0d\x32\x33\x30\x39\x33\x30\x30\x34\x32\x30\x34\x39\x5a\x30\x50\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4a\x50\x31\x18\x30\x16\x06\x03\x55\x04\x0a\x13\x0f\x53\x45\x43\x4f\x4d\x20\x54\x72\x75\x73\x74\x2e\x6e\x65\x74\x31\x27\x30\x25\x06\x03\x55\x04\x0b\x13\x1e\x53\x65\x63\x75\x72\x69\x74\x79\x20\x43\x6f\x6d\x6d\x75\x6e\x69\x63\x61\x74\x69\x6f\x6e\x20\x52\x6f\x6f\x74\x43\x41\x31\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xb3\xb3\xfe\x7f\xd3\x6d\xb1\xef\x16\x7c\x57\xa5\x0c\x6d\x76\x8a\x2f\x4b\xbf\x64\xfb\x4c\xee\x8a\xf0\xf3\x29\x7c\xf5\xff\xee\x2a\xe0\xe9\xe9\xba\x5b\x64\x22\x9a\x9a\x6f\x2c\x3a\x26\x69\x51\x05\x99\x26\xdc\xd5\x1c\x6a\x71\xc6\x9a\x7d\x1e\x9d\xdd\x7c\x6c\xc6\x8c\x67\x67\x4a\x3e\xf8\x71\xb0\x19\x27\xa9\x09\x0c\xa6\x95\xbf\x4b\x8c\x0c\xfa\x55\x98\x3b\xd8\xe8\x22\xa1\x4b\x71\x38\x79\xac\x97\x92\x69\xb3\x89\x7e\xea\x21\x68\x06\x98\x14\x96\x87\xd2\x61\x36\xbc\x6d\x27\x56\x9e\x57\xee\xc0\xc0\x56\xfd\x32\xcf\xa4\xd9\x8e\xc2\x23\xd7\x8d\xa8\xf3\xd8\x25\xac\x97\xe4\x70\x38\xf4\xb6\x3a\xb4\x9d\x3b\x97\x26\x43\xa3\xa1\xbc\x49\x59\x72\x4c\x23\x30\x87\x01\x58\xf6\x4e\xbe\x1c\x68\x56\x66\xaf\xcd\x41\x5d\xc8\xb3\x4d\x2a\x55\x46\xab\x1f\xda\x1e\xe2\x40\x3d\xdb\xcd\x7d\xb9\x92\x80\x9c\x37\xdd\x0c\x96\x64\x9d\xdc\x22\xf7\x64\x8b\xdf\x61\xde\x15\x94\x52\x15\xa0\x7d\x52\xc9\x4b\xa8\x21\xc9\xc6\xb1\xed\xcb\xc3\x95\x60\xd1\x0f\xf0\xab\x70\xf8\xdf\xcb\x4d\x7e\xec\xd6\xfa\xab\xd9\xbd\x7f\x54\xf2\xa5\xe9\x79\xfa\xd9\xd6\x76\x24\x28\x73\x02\x03\x01\x00\x01\xa3\x3f\x30\x3d\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xa0\x73\x49\x99\x68\xdc\x85\x5b\x65\xe3\x9b\x28\x2f\x57\x9f\xbd\x33\xbc\x07\x48\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x68\x40\xa9\xa8\xbb\xe4\x4f\x5d\x79\xb3\x05\xb5\x17\xb3\x60\x13\xeb\xc6\x92\x5d\xe0\xd1\xd3\x6a\xfe\xfb\xbe\x9b\x6d\xbf\xc7\x05\x6d\x59\x20\xc4\x1c\xf0\xb7\xda\x84\x58\x02\x63\xfa\x48\x16\xef\x4f\xa5\x0b\xf7\x4a\x98\xf2\x3f\x9e\x1b\xad\x47\x6b\x63\xce\x08\x47\xeb\x52\x3f\x78\x9c\xaf\x4d\xae\xf8\xd5\x4f\xcf\x9a\x98\x2a\x10\x41\x39\x52\xc4\xdd\xd9\x9b\x0e\xef\x93\x01\xae\xb2\x2e\xca\x68\x42\x24\x42\x6c\xb0\xb3\x3a\x3e\xcd\xe9\xda\x48\xc4\x15\xcb\xe9\xf9\x07\x0f\x92\x50\x49\x8a\xdd\x31\x97\x5f\xc9\xe9\x37\xaa\x3b\x59\x65\x97\x94\x32\xc9\xb3\x9f\x3e\x3a\x62\x58\xc5\x49\xad\x62\x0e\x71\xa5\x32\xaa\x2f\xc6\x89\x76\x43\x40\x13\x13\x67\x3d\xa2\x54\x25\x10\xcb\xf1\x3a\xf2\xd9\xfa\xdb\x49\x56\xbb\xa6\xfe\xa7\x41\x35\xc3\xe0\x88\x61\xc9\x88\xc7\xdf\x36\x10\x22\x98\x59\xea\xb0\x4a\xfb\x56\x16\x73\x6e\xac\x4d\xf7\x22\xa1\x4f\xad\x1d\x7a\x2d\x45\x27\xe5\x30\xc1\x5e\xf2\xda\x13\xcb\x25\x42\x51\x95\x47\x03\x8c\x6c\x21\xcc\x74\x42\xed\x53\xff\x33\x8b\x8f\x0f\x57\x01\x16\x2f\xcf\xa6\xee\xc9\x70\x22\x14\xbd\xfd\xbe\x6c\x0b\x03", - ["Sonera Class 2 Root CA"] = "\x30\x82\x03\x20\x30\x82\x02\x08\xa0\x03\x02\x01\x02\x02\x01\x1d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x39\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x46\x49\x31\x0f\x30\x0d\x06\x03\x55\x04\x0a\x13\x06\x53\x6f\x6e\x65\x72\x61\x31\x19\x30\x17\x06\x03\x55\x04\x03\x13\x10\x53\x6f\x6e\x65\x72\x61\x20\x43\x6c\x61\x73\x73\x32\x20\x43\x41\x30\x1e\x17\x0d\x30\x31\x30\x34\x30\x36\x30\x37\x32\x39\x34\x30\x5a\x17\x0d\x32\x31\x30\x34\x30\x36\x30\x37\x32\x39\x34\x30\x5a\x30\x39\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x46\x49\x31\x0f\x30\x0d\x06\x03\x55\x04\x0a\x13\x06\x53\x6f\x6e\x65\x72\x61\x31\x19\x30\x17\x06\x03\x55\x04\x03\x13\x10\x53\x6f\x6e\x65\x72\x61\x20\x43\x6c\x61\x73\x73\x32\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\x90\x17\x4a\x35\x9d\xca\xf0\x0d\x96\xc7\x44\xfa\x16\x37\xfc\x48\xbd\xbd\x7f\x80\x2d\x35\x3b\xe1\x6f\xa8\x67\xa9\xbf\x03\x1c\x4d\x8c\x6f\x32\x47\xd5\x41\x68\xa4\x13\x04\xc1\x35\x0c\x9a\x84\x43\xfc\x5c\x1d\xff\x89\xb3\xe8\x17\x18\xcd\x91\x5f\xfb\x89\xe3\xea\xbf\x4e\x5d\x7c\x1b\x26\xd3\x75\x79\xed\xe6\x84\xe3\x57\xe5\xad\x29\xc4\xf4\x3a\x28\xe7\xa5\x7b\x84\x36\x69\xb3\xfd\x5e\x76\xbd\xa3\x2d\x99\xd3\x90\x4e\x23\x28\x7d\x18\x63\xf1\x54\x3b\x26\x9d\x76\x5b\x97\x42\xb2\xff\xae\xf0\x4e\xec\xdd\x39\x95\x4e\x83\x06\x7f\xe7\x49\x40\xc8\xc5\x01\xb2\x54\x5a\x66\x1d\x3d\xfc\xf9\xe9\x3c\x0a\x9e\x81\xb8\x70\xf0\x01\x8b\xe4\x23\x54\x7c\xc8\xae\xf8\x90\x1e\x00\x96\x72\xd4\x54\xcf\x61\x23\xbc\xea\xfb\x9d\x02\x95\xd1\xb6\xb9\x71\x3a\x69\x08\x3f\x0f\xb4\xe1\x42\xc7\x88\xf5\x3f\x98\xa8\xa7\xba\x1c\xe0\x71\x71\xef\x58\x57\x81\x50\x7a\x5c\x6b\x74\x46\x0e\x83\x03\x98\xc3\x8e\xa8\x6e\xf2\x76\x32\x6e\x27\x83\xc2\x73\xf3\xdc\x18\xe8\xb4\x93\xea\x75\x44\x6b\x04\x60\x20\x71\x57\x87\x9d\xf3\xbe\xa0\x90\x23\x3d\x8a\x24\xe1\xda\x21\xdb\xc3\x02\x03\x01\x00\x01\xa3\x33\x30\x31\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x11\x06\x03\x55\x1d\x0e\x04\x0a\x04\x08\x4a\xa0\xaa\x58\x84\xd3\x5e\x3c\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x5a\xce\x87\xf9\x16\x72\x15\x57\x4b\x1d\xd9\x9b\xe7\xa2\x26\x30\xec\x93\x67\xdf\xd6\x2d\xd2\x34\xaf\xf7\x38\xa5\xce\xab\x16\xb9\xab\x2f\x7c\x35\xcb\xac\xd0\x0f\xb4\x4c\x2b\xfc\x80\xef\x6b\x8c\x91\x5f\x36\x76\xf7\xdb\xb3\x1b\x19\xea\xf4\xb2\x11\xfd\x61\x71\x44\xbf\x28\xb3\x3a\x1d\xbf\xb3\x43\xe8\x9f\xbf\xdc\x31\x08\x71\xb0\x9d\x8d\xd6\x34\x47\x32\x90\xc6\x65\x24\xf7\xa0\x4a\x7c\x04\x73\x8f\x39\x6f\x17\x8c\x72\xb5\xbd\x4b\xc8\x7a\xf8\x7b\x83\xc3\x28\x4e\x9c\x09\xea\x67\x3f\xb2\x67\x04\x1b\xc3\x14\xda\xf8\xe7\x49\x24\x91\xd0\x1d\x6a\xfa\x61\x39\xef\x6b\xe7\x21\x75\x06\x07\xd8\x12\xb4\x21\x20\x70\x42\x71\x81\xda\x3c\x9a\x36\xbe\xa6\x5b\x0d\x6a\x6c\x9a\x1f\x91\x7b\xf9\xf9\xef\x42\xba\x4e\x4e\x9e\xcc\x0c\x8d\x94\xdc\xd9\x45\x9c\x5e\xec\x42\x50\x63\xae\xf4\x5d\xc4\xb1\x12\xdc\xca\x3b\xa8\x2e\x9d\x14\x5a\x05\x75\xb7\xec\xd7\x63\xe2\xba\x35\xb6\x04\x08\x91\xe8\xda\x9d\x9c\xf6\x66\xb5\x18\xac\x0a\xa6\x54\x26\x34\x33\xd2\x1b\xc1\xd4\x7f\x1a\x3a\x8e\x0b\xaa\x32\x6e\xdb\xfc\x4f\x25\x9f\xd9\x32\xc7\x96\x5a\x70\xac\xdf\x4c", - ["Staat der Nederlanden Root CA"] = "\x30\x82\x03\xba\x30\x82\x02\xa2\xa0\x03\x02\x01\x02\x02\x04\x00\x98\x96\x8a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x55\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4e\x4c\x31\x1e\x30\x1c\x06\x03\x55\x04\x0a\x13\x15\x53\x74\x61\x61\x74\x20\x64\x65\x72\x20\x4e\x65\x64\x65\x72\x6c\x61\x6e\x64\x65\x6e\x31\x26\x30\x24\x06\x03\x55\x04\x03\x13\x1d\x53\x74\x61\x61\x74\x20\x64\x65\x72\x20\x4e\x65\x64\x65\x72\x6c\x61\x6e\x64\x65\x6e\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x1e\x17\x0d\x30\x32\x31\x32\x31\x37\x30\x39\x32\x33\x34\x39\x5a\x17\x0d\x31\x35\x31\x32\x31\x36\x30\x39\x31\x35\x33\x38\x5a\x30\x55\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4e\x4c\x31\x1e\x30\x1c\x06\x03\x55\x04\x0a\x13\x15\x53\x74\x61\x61\x74\x20\x64\x65\x72\x20\x4e\x65\x64\x65\x72\x6c\x61\x6e\x64\x65\x6e\x31\x26\x30\x24\x06\x03\x55\x04\x03\x13\x1d\x53\x74\x61\x61\x74\x20\x64\x65\x72\x20\x4e\x65\x64\x65\x72\x6c\x61\x6e\x64\x65\x6e\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\x98\xd2\xb5\x51\x11\x7a\x81\xa6\x14\x98\x71\x6d\xbe\xcc\xe7\x13\x1b\xd6\x27\x0e\x7a\xb3\x6a\x18\x1c\xb6\x61\x5a\xd5\x61\x09\xbf\xde\x90\x13\xc7\x67\xee\xdd\xf3\xda\xc5\x0c\x12\x9e\x35\x55\x3e\x2c\x27\x88\x40\x6b\xf7\xdc\xdd\x22\x61\xf5\xc2\xc7\x0e\xf5\xf6\xd5\x76\x53\x4d\x8f\x8c\xbc\x18\x76\x37\x85\x9d\xe8\xca\x49\xc7\xd2\x4f\x98\x13\x09\xa2\x3e\x22\x88\x9c\x7f\xd6\xf2\x10\x65\xb4\xee\x5f\x18\xd5\x17\xe3\xf8\xc5\xfd\xe2\x9d\xa2\xef\x53\x0e\x85\x77\xa2\x0f\xe1\x30\x47\xee\x00\xe7\x33\x7d\x44\x67\x1a\x0b\x51\xe8\x8b\xa0\x9e\x50\x98\x68\x34\x52\x1f\x2e\x6d\x01\xf2\x60\x45\xf2\x31\xeb\xa9\x31\x68\x29\xbb\x7a\x41\x9e\xc6\x19\x7f\x94\xb4\x51\x39\x03\x7f\xb2\xde\xa7\x32\x9b\xb4\x47\x8e\x6f\xb4\x4a\xae\xe5\xaf\xb1\xdc\xb0\x1b\x61\xbc\x99\x72\xde\xe4\x89\xb7\x7a\x26\x5d\xda\x33\x49\x5b\x52\x9c\x0e\xf5\x8a\xad\xc3\xb8\x3d\xe8\x06\x6a\xc2\xd5\x2a\x0b\x6c\x7b\x84\xbd\x56\x05\xcb\x86\x65\x92\xec\x44\x2b\xb0\x8e\xb9\xdc\x70\x0b\x46\xda\xad\xbc\x63\x88\x39\xfa\xdb\x6a\xfe\x23\xfa\xbc\xe4\x48\xf4\x67\x2b\x6a\x11\x10\x21\x49\x02\x03\x01\x00\x01\xa3\x81\x91\x30\x81\x8e\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x4f\x06\x03\x55\x1d\x20\x04\x48\x30\x46\x30\x44\x06\x04\x55\x1d\x20\x00\x30\x3c\x30\x3a\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x2e\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x70\x6b\x69\x6f\x76\x65\x72\x68\x65\x69\x64\x2e\x6e\x6c\x2f\x70\x6f\x6c\x69\x63\x69\x65\x73\x2f\x72\x6f\x6f\x74\x2d\x70\x6f\x6c\x69\x63\x79\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xa8\x7d\xeb\xbc\x63\xa4\x74\x13\x74\x00\xec\x96\xe0\xd3\x34\xc1\x2c\xbf\x6c\xf8\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x05\x84\x87\x55\x74\x36\x61\xc1\xbb\xd1\xd4\xc6\x15\xa8\x13\xb4\x9f\xa4\xfe\xbb\xee\x15\xb4\x2f\x06\x0c\x29\xf2\xa8\x92\xa4\x61\x0d\xfc\xab\x5c\x08\x5b\x51\x13\x2b\x4d\xc2\x2a\x61\xc8\xf8\x09\x58\xfc\x2d\x02\xb2\x39\x7d\x99\x66\x81\xbf\x6e\x5c\x95\x45\x20\x6c\xe6\x79\xa7\xd1\xd8\x1c\x29\xfc\xc2\x20\x27\x51\xc8\xf1\x7c\x5d\x34\x67\x69\x85\x11\x30\xc6\x00\xd2\xd7\xf3\xd3\x7c\xb6\xf0\x31\x57\x28\x12\x82\x73\xe9\x33\x2f\xa6\x55\xb4\x0b\x91\x94\x47\x9c\xfa\xbb\x7a\x42\x32\xe8\xae\x7e\x2d\xc8\xbc\xac\x14\xbf\xd9\x0f\xd9\x5b\xfc\xc1\xf9\x7a\x95\xe1\x7d\x7e\x96\xfc\x71\xb0\xc2\x4c\xc8\xdf\x45\x34\xc9\xce\x0d\xf2\x9c\x64\x08\xd0\x3b\xc3\x29\xc5\xb2\xed\x90\x04\xc1\xb1\x29\x91\xc5\x30\x6f\xc1\xa9\x72\x33\xcc\xfe\x5d\x16\x17\x2c\x11\x69\xe7\x7e\xfe\xc5\x83\x08\xdf\xbc\xdc\x22\x3a\x2e\x20\x69\x23\x39\x56\x60\x67\x90\x8b\x2e\x76\x39\xfb\x11\x88\x97\xf6\x7c\xbd\x4b\xb8\x20\x16\x67\x05\x8d\xe2\x3b\xc1\x72\x3f\x94\x95\x37\xc7\x5d\xb9\x9e\xd8\x93\xa1\x17\x8f\xff\x0c\x66\x15\xc1\x24\x7c\x32\x7c\x03\x1d\x3b\xa1\x58\x45\x32\x93", - ["TDC Internet Root CA"] = "\x30\x82\x04\x2b\x30\x82\x03\x13\xa0\x03\x02\x01\x02\x02\x04\x3a\xcc\xa5\x4c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x43\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x4b\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x54\x44\x43\x20\x49\x6e\x74\x65\x72\x6e\x65\x74\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x54\x44\x43\x20\x49\x6e\x74\x65\x72\x6e\x65\x74\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x1e\x17\x0d\x30\x31\x30\x34\x30\x35\x31\x36\x33\x33\x31\x37\x5a\x17\x0d\x32\x31\x30\x34\x30\x35\x31\x37\x30\x33\x31\x37\x5a\x30\x43\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x4b\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x54\x44\x43\x20\x49\x6e\x74\x65\x72\x6e\x65\x74\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x54\x44\x43\x20\x49\x6e\x74\x65\x72\x6e\x65\x74\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xc4\xb8\x40\xbc\x91\xd5\x63\x1f\xd7\x99\xa0\x8b\x0c\x40\x1e\x74\xb7\x48\x9d\x46\x8c\x02\xb2\xe0\x24\x5f\xf0\x19\x13\xa7\x37\x83\x6b\x5d\xc7\x8e\xf9\x84\x30\xce\x1a\x3b\xfa\xfb\xce\x8b\x6d\x23\xc6\xc3\x6e\x66\x9f\x89\xa5\xdf\xe0\x42\x50\x67\xfa\x1f\x6c\x1e\xf4\xd0\x05\xd6\xbf\xca\xd6\x4e\xe4\x68\x60\x6c\x46\xaa\x1c\x5d\x63\xe1\x07\x86\x0e\x65\x00\xa7\x2e\xa6\x71\xc6\xbc\xb9\x81\xa8\x3a\x7d\x1a\xd2\xf9\xd1\xac\x4b\xcb\xce\x75\xaf\xdc\x7b\xfa\x81\x73\xd4\xfc\xba\xbd\x41\x88\xd4\x74\xb3\xf9\x5e\x38\x3a\x3c\x43\xa8\xd2\x95\x4e\x77\x6d\x13\x0c\x9d\x8f\x78\x01\xb7\x5a\x20\x1f\x03\x37\x35\xe2\x2c\xdb\x4b\x2b\x2c\x78\xb9\x49\xdb\xc4\xd0\xc7\x9c\x9c\xe4\x8a\x20\x09\x21\x16\x56\x66\xff\x05\xec\x5b\xe3\xf0\xcf\xab\x24\x24\x5e\xc3\x7f\x70\x7a\x12\xc4\xd2\xb5\x10\xa0\xb6\x21\xe1\x8d\x78\x69\x55\x44\x69\xf5\xca\x96\x1c\x34\x85\x17\x25\x77\xe2\xf6\x2f\x27\x98\x78\xfd\x79\x06\x3a\xa2\xd6\x5a\x43\xc1\xff\xec\x04\x3b\xee\x13\xef\xd3\x58\x5a\xff\x92\xeb\xec\xae\xda\xf2\x37\x03\x47\x41\xb6\x97\xc9\x2d\x0a\x41\x22\xbb\xbb\xe6\xa7\x02\x03\x01\x00\x01\xa3\x82\x01\x25\x30\x82\x01\x21\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x65\x06\x03\x55\x1d\x1f\x04\x5e\x30\x5c\x30\x5a\xa0\x58\xa0\x56\xa4\x54\x30\x52\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x4b\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x54\x44\x43\x20\x49\x6e\x74\x65\x72\x6e\x65\x74\x31\x1d\x30\x1b\x06\x03\x55\x04\x0b\x13\x14\x54\x44\x43\x20\x49\x6e\x74\x65\x72\x6e\x65\x74\x20\x52\x6f\x6f\x74\x20\x43\x41\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x13\x04\x43\x52\x4c\x31\x30\x2b\x06\x03\x55\x1d\x10\x04\x24\x30\x22\x80\x0f\x32\x30\x30\x31\x30\x34\x30\x35\x31\x36\x33\x33\x31\x37\x5a\x81\x0f\x32\x30\x32\x31\x30\x34\x30\x35\x31\x37\x30\x33\x31\x37\x5a\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x6c\x64\x01\xc7\xfd\x85\x6d\xac\xc8\xda\x9e\x50\x08\x85\x08\xb5\x3c\x56\xa8\x50\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x6c\x64\x01\xc7\xfd\x85\x6d\xac\xc8\xda\x9e\x50\x08\x85\x08\xb5\x3c\x56\xa8\x50\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x09\x2a\x86\x48\x86\xf6\x7d\x07\x41\x00\x04\x10\x30\x0e\x1b\x08\x56\x35\x2e\x30\x3a\x34\x2e\x30\x03\x02\x04\x90\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4e\x43\xcc\xd1\xdd\x1d\x10\x1b\x06\x7f\xb7\xa4\xfa\xd3\xd9\x4d\xfb\x23\x9f\x23\x54\x5b\xe6\x8b\x2f\x04\x28\x8b\xb5\x27\x6d\x89\xa1\xec\x98\x69\xdc\xe7\x8d\x26\x83\x05\x79\x74\xec\xb4\xb9\xa3\x97\xc1\x35\x00\xfd\x15\xda\x39\x81\x3a\x95\x31\x90\xde\x97\xe9\x86\xa8\x99\x77\x0c\xe5\x5a\xa0\x84\xff\x12\x16\xac\x6e\xb8\x8d\xc3\x7b\x92\xc2\xac\x2e\xd0\x7d\x28\xec\xb6\xf3\x60\x38\x69\x6f\x3e\xd8\x04\x55\x3e\x9e\xcc\x55\xd2\xba\xfe\xbb\x47\x04\xd7\x0a\xd9\x16\x0a\x34\x29\xf5\x58\x13\xd5\x4f\xcf\x8f\x56\x4b\xb3\x1e\xee\xd3\x98\x79\xda\x08\x1e\x0c\x6f\xb8\xf8\x16\x27\xef\xc2\x6f\x3d\xf6\xa3\x4b\x3e\x0e\xe4\x6d\x6c\xdb\x3b\x41\x12\x9b\xbd\x0d\x47\x23\x7f\x3c\x4a\xd0\xaf\xc0\xaf\xf6\xef\x1b\xb5\x15\xc4\xeb\x83\xc4\x09\x5f\x74\x8b\xd9\x11\xfb\xc2\x56\xb1\x3c\xf8\x70\xca\x34\x8d\x43\x40\x13\x8c\xfd\x99\x03\x54\x79\xc6\x2e\xea\x86\xa1\xf6\x3a\xd4\x09\xbc\xf4\xbc\x66\xcc\x3d\x58\xd0\x57\x49\x0a\xee\x25\xe2\x41\xee\x13\xf9\x9b\x38\x34\xd1\x00\xf5\x7e\xe7\x94\x1d\xfc\x69\x03\x62\xb8\x99\x05\x05\x3d\x6b\x78\x12\xbd\xb0\x6f\x65", - ["TDC OCES Root CA"] = "\x30\x82\x05\x19\x30\x82\x04\x01\xa0\x03\x02\x01\x02\x02\x04\x3e\x48\xbd\xc4\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x31\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x4b\x31\x0c\x30\x0a\x06\x03\x55\x04\x0a\x13\x03\x54\x44\x43\x31\x14\x30\x12\x06\x03\x55\x04\x03\x13\x0b\x54\x44\x43\x20\x4f\x43\x45\x53\x20\x43\x41\x30\x1e\x17\x0d\x30\x33\x30\x32\x31\x31\x30\x38\x33\x39\x33\x30\x5a\x17\x0d\x33\x37\x30\x32\x31\x31\x30\x39\x30\x39\x33\x30\x5a\x30\x31\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x4b\x31\x0c\x30\x0a\x06\x03\x55\x04\x0a\x13\x03\x54\x44\x43\x31\x14\x30\x12\x06\x03\x55\x04\x03\x13\x0b\x54\x44\x43\x20\x4f\x43\x45\x53\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xac\x62\xf6\x61\x20\xb2\xcf\xc0\xc6\x85\xd7\xe3\x79\xe6\xcc\xed\xf2\x39\x92\xa4\x97\x2e\x64\xa3\x84\x5b\x87\x9c\x4c\xfd\xa4\xf3\xc4\x5f\x21\xbd\x56\x10\xeb\xdb\x2e\x61\xec\x93\x69\xe3\xa3\xcc\xbd\x99\xc3\x05\xfc\x06\xb8\xca\x36\x1c\xfe\x90\x8e\x49\x4c\xc4\x56\x9a\x2f\x56\xbc\xcf\x7b\x0c\xf1\x6f\x47\xa6\x0d\x43\x4d\xe2\xe9\x1d\x39\x34\xcd\x8d\x2c\xd9\x12\x98\xf9\xe3\xe1\xc1\x4a\x7c\x86\x38\xc4\xa9\xc4\x61\x88\xd2\x5e\xaf\x1a\x26\x4d\xd5\xe4\xa0\x22\x47\x84\xd9\x64\xb7\x19\x96\xfc\xec\x19\xe4\xb2\x97\x26\x4e\x4a\x4c\xcb\x8f\x24\x8b\x54\x18\x1c\x48\x61\x7b\xd5\x88\x68\xda\x5d\xb5\xea\xcd\x1a\x30\xc1\x80\x83\x76\x50\xaa\x4f\xd1\xd4\xdd\x38\xf0\xef\x16\xf4\xe1\x0c\x50\x06\xbf\xea\xfb\x7a\x49\xa1\x28\x2b\x1c\xf6\xfc\x15\x32\xa3\x74\x6a\x8f\xa9\xc3\x62\x29\x71\x31\xe5\x3b\xa4\x60\x17\x5e\x74\xe6\xda\x13\xed\xe9\x1f\x1f\x1b\xd1\xb2\x68\x73\xc6\x10\x34\x75\x46\x10\x10\xe3\x90\x00\x76\x40\xcb\x8b\xb7\x43\x09\x21\xff\xab\x4e\x93\xc6\x58\xe9\xa5\x82\xdb\x77\xc4\x3a\x99\xb1\x72\x95\x49\x04\xf0\xb7\x2b\xfa\x7b\x59\x8e\xdd\x02\x03\x01\x00\x01\xa3\x82\x02\x37\x30\x82\x02\x33\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x81\xec\x06\x03\x55\x1d\x20\x04\x81\xe4\x30\x81\xe1\x30\x81\xde\x06\x08\x2a\x81\x50\x81\x29\x01\x01\x01\x30\x81\xd1\x30\x2f\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x23\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x65\x72\x74\x69\x66\x69\x6b\x61\x74\x2e\x64\x6b\x2f\x72\x65\x70\x6f\x73\x69\x74\x6f\x72\x79\x30\x81\x9d\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x02\x30\x81\x90\x30\x0a\x16\x03\x54\x44\x43\x30\x03\x02\x01\x01\x1a\x81\x81\x43\x65\x72\x74\x69\x66\x69\x6b\x61\x74\x65\x72\x20\x66\x72\x61\x20\x64\x65\x6e\x6e\x65\x20\x43\x41\x20\x75\x64\x73\x74\x65\x64\x65\x73\x20\x75\x6e\x64\x65\x72\x20\x4f\x49\x44\x20\x31\x2e\x32\x2e\x32\x30\x38\x2e\x31\x36\x39\x2e\x31\x2e\x31\x2e\x31\x2e\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x73\x20\x66\x72\x6f\x6d\x20\x74\x68\x69\x73\x20\x43\x41\x20\x61\x72\x65\x20\x69\x73\x73\x75\x65\x64\x20\x75\x6e\x64\x65\x72\x20\x4f\x49\x44\x20\x31\x2e\x32\x2e\x32\x30\x38\x2e\x31\x36\x39\x2e\x31\x2e\x31\x2e\x31\x2e\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x81\x81\x06\x03\x55\x1d\x1f\x04\x7a\x30\x78\x30\x48\xa0\x46\xa0\x44\xa4\x42\x30\x40\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x4b\x31\x0c\x30\x0a\x06\x03\x55\x04\x0a\x13\x03\x54\x44\x43\x31\x14\x30\x12\x06\x03\x55\x04\x03\x13\x0b\x54\x44\x43\x20\x4f\x43\x45\x53\x20\x43\x41\x31\x0d\x30\x0b\x06\x03\x55\x04\x03\x13\x04\x43\x52\x4c\x31\x30\x2c\xa0\x2a\xa0\x28\x86\x26\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x6f\x63\x65\x73\x2e\x63\x65\x72\x74\x69\x66\x69\x6b\x61\x74\x2e\x64\x6b\x2f\x6f\x63\x65\x73\x2e\x63\x72\x6c\x30\x2b\x06\x03\x55\x1d\x10\x04\x24\x30\x22\x80\x0f\x32\x30\x30\x33\x30\x32\x31\x31\x30\x38\x33\x39\x33\x30\x5a\x81\x0f\x32\x30\x33\x37\x30\x32\x31\x31\x30\x39\x30\x39\x33\x30\x5a\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x60\xb5\x85\xec\x56\x64\x7e\x12\x19\x27\x67\x1d\x50\x15\x4b\x73\xae\x3b\xf9\x12\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x60\xb5\x85\xec\x56\x64\x7e\x12\x19\x27\x67\x1d\x50\x15\x4b\x73\xae\x3b\xf9\x12\x30\x1d\x06\x09\x2a\x86\x48\x86\xf6\x7d\x07\x41\x00\x04\x10\x30\x0e\x1b\x08\x56\x36\x2e\x30\x3a\x34\x2e\x30\x03\x02\x04\x90\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x0a\xba\x26\x26\x46\xd3\x73\xa8\x09\xf3\x6b\x0b\x30\x99\xfd\x8a\xe1\x57\x7a\x11\xd3\xb8\x94\xd7\x09\x10\x6e\xa3\xb1\x38\x03\xd1\xb6\xf2\x43\x41\x29\x62\xa7\x72\xd8\xfb\x7c\x05\xe6\x31\x70\x27\x54\x18\x4e\x8a\x7c\x4e\xe5\xd1\xca\x8c\x78\x88\xcf\x1b\xd3\x90\x8b\xe6\x23\xf8\x0b\x0e\x33\x43\x7d\x9c\xe2\x0a\x19\x8f\xc9\x01\x3e\x74\x5d\x74\xc9\x8b\x1c\x03\xe5\x18\xc8\x01\x4c\x3f\xcb\x97\x05\x5d\x98\x71\xa6\x98\x6f\xb6\x7c\xbd\x37\x7f\xbe\xe1\x93\x25\x6d\x6f\xf0\x0a\xad\x17\x18\xe1\x03\xbc\x07\x29\xc8\xad\x26\xe8\xf8\x61\xf0\xfd\x21\x09\x7e\x9a\x8e\xa9\x68\x7d\x48\x62\x72\xbd\x00\xea\x01\x99\xb8\x06\x82\x51\x81\x4e\xf1\xf5\xb4\x91\x54\xb9\x23\x7a\x00\x9a\x9f\x5d\x8d\xe0\x3c\x64\xb9\x1a\x12\x92\x2a\xc7\x82\x44\x72\x39\xdc\xe2\x3c\xc6\xd8\x55\xf5\x15\x4e\xc8\x05\x0e\xdb\xc6\xd0\x62\xa6\xec\x15\xb4\xb5\x02\x82\xdb\xac\x8c\xa2\x81\xf0\x9b\x99\x31\xf5\x20\x20\xa8\x88\x61\x0a\x07\x9f\x94\xfc\xd0\xd7\x1b\xcc\x2e\x17\xf3\x04\x27\x76\x67\xeb\x54\x83\xfd\xa4\x90\x7e\x06\x3d\x04\xa3\x43\x2d\xda\xfc\x0b\x62\xea\x2f\x5f\x62\x53", - ["UTN DATACorp SGC Root CA"] = "\x30\x82\x04\x5e\x30\x82\x03\x46\xa0\x03\x02\x01\x02\x02\x10\x44\xbe\x0c\x8b\x50\x00\x21\xb4\x11\xd3\x2a\x68\x06\xa9\xad\x69\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x93\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x0b\x30\x09\x06\x03\x55\x04\x08\x13\x02\x55\x54\x31\x17\x30\x15\x06\x03\x55\x04\x07\x13\x0e\x53\x61\x6c\x74\x20\x4c\x61\x6b\x65\x20\x43\x69\x74\x79\x31\x1e\x30\x1c\x06\x03\x55\x04\x0a\x13\x15\x54\x68\x65\x20\x55\x53\x45\x52\x54\x52\x55\x53\x54\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x21\x30\x1f\x06\x03\x55\x04\x0b\x13\x18\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x75\x73\x65\x72\x74\x72\x75\x73\x74\x2e\x63\x6f\x6d\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x55\x54\x4e\x20\x2d\x20\x44\x41\x54\x41\x43\x6f\x72\x70\x20\x53\x47\x43\x30\x1e\x17\x0d\x39\x39\x30\x36\x32\x34\x31\x38\x35\x37\x32\x31\x5a\x17\x0d\x31\x39\x30\x36\x32\x34\x31\x39\x30\x36\x33\x30\x5a\x30\x81\x93\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x0b\x30\x09\x06\x03\x55\x04\x08\x13\x02\x55\x54\x31\x17\x30\x15\x06\x03\x55\x04\x07\x13\x0e\x53\x61\x6c\x74\x20\x4c\x61\x6b\x65\x20\x43\x69\x74\x79\x31\x1e\x30\x1c\x06\x03\x55\x04\x0a\x13\x15\x54\x68\x65\x20\x55\x53\x45\x52\x54\x52\x55\x53\x54\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x21\x30\x1f\x06\x03\x55\x04\x0b\x13\x18\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x75\x73\x65\x72\x74\x72\x75\x73\x74\x2e\x63\x6f\x6d\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x55\x54\x4e\x20\x2d\x20\x44\x41\x54\x41\x43\x6f\x72\x70\x20\x53\x47\x43\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xdf\xee\x58\x10\xa2\x2b\x6e\x55\xc4\x8e\xbf\x2e\x46\x09\xe7\xe0\x08\x0f\x2e\x2b\x7a\x13\x94\x1b\xbd\xf6\xb6\x80\x8e\x65\x05\x93\x00\x1e\xbc\xaf\xe2\x0f\x8e\x19\x0d\x12\x47\xec\xac\xad\xa3\xfa\x2e\x70\xf8\xde\x6e\xfb\x56\x42\x15\x9e\x2e\x5c\xef\x23\xde\x21\xb9\x05\x76\x27\x19\x0f\x4f\xd6\xc3\x9c\xb4\xbe\x94\x19\x63\xf2\xa6\x11\x0a\xeb\x53\x48\x9c\xbe\xf2\x29\x3b\x16\xe8\x1a\xa0\x4c\xa6\xc9\xf4\x18\x59\x68\xc0\x70\xf2\x53\x00\xc0\x5e\x50\x82\xa5\x56\x6f\x36\xf9\x4a\xe0\x44\x86\xa0\x4d\x4e\xd6\x47\x6e\x49\x4a\xcb\x67\xd7\xa6\xc4\x05\xb9\x8e\x1e\xf4\xfc\xff\xcd\xe7\x36\xe0\x9c\x05\x6c\xb2\x33\x22\x15\xd0\xb4\xe0\xcc\x17\xc0\xb2\xc0\xf4\xfe\x32\x3f\x29\x2a\x95\x7b\xd8\xf2\xa7\x4e\x0f\x54\x7c\xa1\x0d\x80\xb3\x09\x03\xc1\xff\x5c\xdd\x5e\x9a\x3e\xbc\xae\xbc\x47\x8a\x6a\xae\x71\xca\x1f\xb1\x2a\xb8\x5f\x42\x05\x0b\xec\x46\x30\xd1\x72\x0b\xca\xe9\x56\x6d\xf5\xef\xdf\x78\xbe\x61\xba\xb2\xa5\xae\x04\x4c\xbc\xa8\xac\x69\x15\x97\xbd\xef\xeb\xb4\x8c\xbf\x35\xf8\xd4\xc3\xd1\x28\x0e\x5c\x3a\x9f\x70\x18\x33\x20\x77\xc4\xa2\xaf\x02\x03\x01\x00\x01\xa3\x81\xab\x30\x81\xa8\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\xc6\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x53\x32\xd1\xb3\xcf\x7f\xfa\xe0\xf1\xa0\x5d\x85\x4e\x92\xd2\x9e\x45\x1d\xb4\x4f\x30\x3d\x06\x03\x55\x1d\x1f\x04\x36\x30\x34\x30\x32\xa0\x30\xa0\x2e\x86\x2c\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x75\x73\x65\x72\x74\x72\x75\x73\x74\x2e\x63\x6f\x6d\x2f\x55\x54\x4e\x2d\x44\x41\x54\x41\x43\x6f\x72\x70\x53\x47\x43\x2e\x63\x72\x6c\x30\x2a\x06\x03\x55\x1d\x25\x04\x23\x30\x21\x06\x08\x2b\x06\x01\x05\x05\x07\x03\x01\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x0a\x03\x03\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x04\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x27\x35\x97\x00\x8a\x8b\x28\xbd\xc6\x33\x30\x1e\x29\xfc\xe2\xf7\xd5\x98\xd4\x40\xbb\x60\xca\xbf\xab\x17\x2c\x09\x36\x7f\x50\xfa\x41\xdc\xae\x96\x3a\x0a\x23\x3e\x89\x59\xc9\xa3\x07\xed\x1b\x37\xad\xfc\x7c\xbe\x51\x49\x5a\xde\x3a\x0a\x54\x08\x16\x45\xc2\x99\xb1\x87\xcd\x8c\x68\xe0\x69\x03\xe9\xc4\x4e\x98\xb2\x3b\x8c\x16\xb3\x0e\xa0\x0c\x98\x50\x9b\x93\xa9\x70\x09\xc8\x2c\xa3\x8f\xdf\x02\xe4\xe0\x71\x3a\xf1\xb4\x23\x72\xa0\xaa\x01\xdf\xdf\x98\x3e\x14\x50\xa0\x31\x26\xbd\x28\xe9\x5a\x30\x26\x75\xf9\x7b\x60\x1c\x8d\xf3\xcd\x50\x26\x6d\x04\x27\x9a\xdf\xd5\x0d\x45\x47\x29\x6b\x2c\xe6\x76\xd9\xa9\x29\x7d\x32\xdd\xc9\x36\x3c\xbd\xae\x35\xf1\x11\x9e\x1d\xbb\x90\x3f\x12\x47\x4e\x8e\xd7\x7e\x0f\x62\x73\x1d\x52\x26\x38\x1c\x18\x49\xfd\x30\x74\x9a\xc4\xe5\x22\x2f\xd8\xc0\x8d\xed\x91\x7a\x4c\x00\x8f\x72\x7f\x5d\xda\xdd\x1b\x8b\x45\x6b\xe7\xdd\x69\x97\xa8\xc5\x56\x4c\x0f\x0c\xf6\x9f\x7a\x91\x37\xf6\x97\x82\xe0\xdd\x71\x69\xff\x76\x3f\x60\x4d\x3c\xcf\xf7\x99\xf9\xc6\x57\xf4\xc9\x55\x39\x78\xba\x2c\x79\xc9\xa6\x88\x2b\xf4\x08", - ["UTN USERFirst Hardware Root CA"] = "\x30\x82\x04\x74\x30\x82\x03\x5c\xa0\x03\x02\x01\x02\x02\x10\x44\xbe\x0c\x8b\x50\x00\x24\xb4\x11\xd3\x36\x2a\xfe\x65\x0a\xfd\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x97\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x0b\x30\x09\x06\x03\x55\x04\x08\x13\x02\x55\x54\x31\x17\x30\x15\x06\x03\x55\x04\x07\x13\x0e\x53\x61\x6c\x74\x20\x4c\x61\x6b\x65\x20\x43\x69\x74\x79\x31\x1e\x30\x1c\x06\x03\x55\x04\x0a\x13\x15\x54\x68\x65\x20\x55\x53\x45\x52\x54\x52\x55\x53\x54\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x21\x30\x1f\x06\x03\x55\x04\x0b\x13\x18\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x75\x73\x65\x72\x74\x72\x75\x73\x74\x2e\x63\x6f\x6d\x31\x1f\x30\x1d\x06\x03\x55\x04\x03\x13\x16\x55\x54\x4e\x2d\x55\x53\x45\x52\x46\x69\x72\x73\x74\x2d\x48\x61\x72\x64\x77\x61\x72\x65\x30\x1e\x17\x0d\x39\x39\x30\x37\x30\x39\x31\x38\x31\x30\x34\x32\x5a\x17\x0d\x31\x39\x30\x37\x30\x39\x31\x38\x31\x39\x32\x32\x5a\x30\x81\x97\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x0b\x30\x09\x06\x03\x55\x04\x08\x13\x02\x55\x54\x31\x17\x30\x15\x06\x03\x55\x04\x07\x13\x0e\x53\x61\x6c\x74\x20\x4c\x61\x6b\x65\x20\x43\x69\x74\x79\x31\x1e\x30\x1c\x06\x03\x55\x04\x0a\x13\x15\x54\x68\x65\x20\x55\x53\x45\x52\x54\x52\x55\x53\x54\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x21\x30\x1f\x06\x03\x55\x04\x0b\x13\x18\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x75\x73\x65\x72\x74\x72\x75\x73\x74\x2e\x63\x6f\x6d\x31\x1f\x30\x1d\x06\x03\x55\x04\x03\x13\x16\x55\x54\x4e\x2d\x55\x53\x45\x52\x46\x69\x72\x73\x74\x2d\x48\x61\x72\x64\x77\x61\x72\x65\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xb1\xf7\xc3\x38\x3f\xb4\xa8\x7f\xcf\x39\x82\x51\x67\xd0\x6d\x9f\xd2\xff\x58\xf3\xe7\x9f\x2b\xec\x0d\x89\x54\x99\xb9\x38\x99\x16\xf7\xe0\x21\x79\x48\xc2\xbb\x61\x74\x12\x96\x1d\x3c\x6a\x72\xd5\x3c\x10\x67\x3a\x39\xed\x2b\x13\xcd\x66\xeb\x95\x09\x33\xa4\x6c\x97\xb1\xe8\xc6\xec\xc1\x75\x79\x9c\x46\x5e\x8d\xab\xd0\x6a\xfd\xb9\x2a\x55\x17\x10\x54\xb3\x19\xf0\x9a\xf6\xf1\xb1\x5d\xb6\xa7\x6d\xfb\xe0\x71\x17\x6b\xa2\x88\xfb\x00\xdf\xfe\x1a\x31\x77\x0c\x9a\x01\x7a\xb1\x32\xe3\x2b\x01\x07\x38\x6e\xc3\xa5\x5e\x23\xbc\x45\x9b\x7b\x50\xc1\xc9\x30\x8f\xdb\xe5\x2b\x7a\xd3\x5b\xfb\x33\x40\x1e\xa0\xd5\x98\x17\xbc\x8b\x87\xc3\x89\xd3\x5d\xa0\x8e\xb2\xaa\xaa\xf6\x8e\x69\x88\x06\xc5\xfa\x89\x21\xf3\x08\x9d\x69\x2e\x09\x33\x9b\x29\x0d\x46\x0f\x8c\xcc\x49\x34\xb0\x69\x51\xbd\xf9\x06\xcd\x68\xad\x66\x4c\xbc\x3e\xac\x61\xbd\x0a\x88\x0e\xc8\xdf\x3d\xee\x7c\x04\x4c\x9d\x0a\x5e\x6b\x91\xd6\xee\xc7\xed\x28\x8d\xab\x4d\x87\x89\x73\xd0\x6e\xa4\xd0\x1e\x16\x8b\x14\xe1\x76\x44\x03\x7f\x63\xac\xe4\xcd\x49\x9c\xc5\x92\xf4\xab\x32\xa1\x48\x5b\x02\x03\x01\x00\x01\xa3\x81\xb9\x30\x81\xb6\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\xc6\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xa1\x72\x5f\x26\x1b\x28\x98\x43\x95\x5d\x07\x37\xd5\x85\x96\x9d\x4b\xd2\xc3\x45\x30\x44\x06\x03\x55\x1d\x1f\x04\x3d\x30\x3b\x30\x39\xa0\x37\xa0\x35\x86\x33\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x75\x73\x65\x72\x74\x72\x75\x73\x74\x2e\x63\x6f\x6d\x2f\x55\x54\x4e\x2d\x55\x53\x45\x52\x46\x69\x72\x73\x74\x2d\x48\x61\x72\x64\x77\x61\x72\x65\x2e\x63\x72\x6c\x30\x31\x06\x03\x55\x1d\x25\x04\x2a\x30\x28\x06\x08\x2b\x06\x01\x05\x05\x07\x03\x01\x06\x08\x2b\x06\x01\x05\x05\x07\x03\x05\x06\x08\x2b\x06\x01\x05\x05\x07\x03\x06\x06\x08\x2b\x06\x01\x05\x05\x07\x03\x07\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x47\x19\x0f\xde\x74\xc6\x99\x97\xaf\xfc\xad\x28\x5e\x75\x8e\xeb\x2d\x67\xee\x4e\x7b\x2b\xd7\x0c\xff\xf6\xde\xcb\x55\xa2\x0a\xe1\x4c\x54\x65\x93\x60\x6b\x9f\x12\x9c\xad\x5e\x83\x2c\xeb\x5a\xae\xc0\xe4\x2d\xf4\x00\x63\x1d\xb8\xc0\x6c\xf2\xcf\x49\xbb\x4d\x93\x6f\x06\xa6\x0a\x22\xb2\x49\x62\x08\x4e\xff\xc8\xc8\x14\xb2\x88\x16\x5d\xe7\x01\xe4\x12\x95\xe5\x45\x34\xb3\x8b\x69\xbd\xcf\xb4\x85\x8f\x75\x51\x9e\x7d\x3a\x38\x3a\x14\x48\x12\xc6\xfb\xa7\x3b\x1a\x8d\x0d\x82\x40\x07\xe8\x04\x08\x90\xa1\x89\xcb\x19\x50\xdf\xca\x1c\x01\xbc\x1d\x04\x19\x7b\x10\x76\x97\x3b\xee\x90\x90\xca\xc4\x0e\x1f\x16\x6e\x75\xef\x33\xf8\xd3\x6f\x5b\x1e\x96\xe3\xe0\x74\x77\x74\x7b\x8a\xa2\x6e\x2d\xdd\x76\xd6\x39\x30\x82\xf0\xab\x9c\x52\xf2\x2a\xc7\xaf\x49\x5e\x7e\xc7\x68\xe5\x82\x81\xc8\x6a\x27\xf9\x27\x88\x2a\xd5\x58\x50\x95\x1f\xf0\x3b\x1c\x57\xbb\x7d\x14\x39\x62\x2b\x9a\xc9\x94\x92\x2a\xa3\x22\x0c\xff\x89\x26\x7d\x5f\x23\x2b\x47\xd7\x15\x1d\xa9\x6a\x9e\x51\x0d\x2a\x51\x9e\x81\xf9\xd4\x3b\x5e\x70\x12\x7f\x10\x32\x9c\x1e\xbb\x9d\xf8\x66\xa8", - ["Camerfirma Chambers of Commerce Root"] = "\x30\x82\x04\xbd\x30\x82\x03\xa5\xa0\x03\x02\x01\x02\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x7f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x55\x31\x27\x30\x25\x06\x03\x55\x04\x0a\x13\x1e\x41\x43\x20\x43\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x20\x53\x41\x20\x43\x49\x46\x20\x41\x38\x32\x37\x34\x33\x32\x38\x37\x31\x23\x30\x21\x06\x03\x55\x04\x0b\x13\x1a\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x31\x22\x30\x20\x06\x03\x55\x04\x03\x13\x19\x43\x68\x61\x6d\x62\x65\x72\x73\x20\x6f\x66\x20\x43\x6f\x6d\x6d\x65\x72\x63\x65\x20\x52\x6f\x6f\x74\x30\x1e\x17\x0d\x30\x33\x30\x39\x33\x30\x31\x36\x31\x33\x34\x33\x5a\x17\x0d\x33\x37\x30\x39\x33\x30\x31\x36\x31\x33\x34\x34\x5a\x30\x7f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x55\x31\x27\x30\x25\x06\x03\x55\x04\x0a\x13\x1e\x41\x43\x20\x43\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x20\x53\x41\x20\x43\x49\x46\x20\x41\x38\x32\x37\x34\x33\x32\x38\x37\x31\x23\x30\x21\x06\x03\x55\x04\x0b\x13\x1a\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x31\x22\x30\x20\x06\x03\x55\x04\x03\x13\x19\x43\x68\x61\x6d\x62\x65\x72\x73\x20\x6f\x66\x20\x43\x6f\x6d\x6d\x65\x72\x63\x65\x20\x52\x6f\x6f\x74\x30\x82\x01\x20\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0d\x00\x30\x82\x01\x08\x02\x82\x01\x01\x00\xb7\x36\x55\xe5\xa5\x5d\x18\x30\xe0\xda\x89\x54\x91\xfc\xc8\xc7\x52\xf8\x2f\x50\xd9\xef\xb1\x75\x73\x65\x47\x7d\x1b\x5b\xba\x75\xc5\xfc\xa1\x88\x24\xfa\x2f\xed\xca\x08\x4a\x39\x54\xc4\x51\x7a\xb5\xda\x60\xea\x38\x3c\x81\xb2\xcb\xf1\xbb\xd9\x91\x23\x3f\x48\x01\x70\x75\xa9\x05\x2a\xad\x1f\x71\xf3\xc9\x54\x3d\x1d\x06\x6a\x40\x3e\xb3\x0c\x85\xee\x5c\x1b\x79\xc2\x62\xc4\xb8\x36\x8e\x35\x5d\x01\x0c\x23\x04\x47\x35\xaa\x9b\x60\x4e\xa0\x66\x3d\xcb\x26\x0a\x9c\x40\xa1\xf4\x5d\x98\xbf\x71\xab\xa5\x00\x68\x2a\xed\x83\x7a\x0f\xa2\x14\xb5\xd4\x22\xb3\x80\xb0\x3c\x0c\x5a\x51\x69\x2d\x58\x18\x8f\xed\x99\x9e\xf1\xae\xe2\x95\xe6\xf6\x47\xa8\xd6\x0c\x0f\xb0\x58\x58\xdb\xc3\x66\x37\x9e\x9b\x91\x54\x33\x37\xd2\x94\x1c\x6a\x48\xc9\xc9\xf2\xa5\xda\xa5\x0c\x23\xf7\x23\x0e\x9c\x32\x55\x5e\x71\x9c\x84\x05\x51\x9a\x2d\xfd\xe6\x4e\x2a\x34\x5a\xde\xca\x40\x37\x67\x0c\x54\x21\x55\x77\xda\x0a\x0c\xcc\x97\xae\x80\xdc\x94\x36\x4a\xf4\x3e\xce\x36\x13\x1e\x53\xe4\xac\x4e\x3a\x05\xec\xdb\xae\x72\x9c\x38\x8b\xd0\x39\x3b\x89\x0a\x3e\x77\xfe\x75\x02\x01\x03\xa3\x82\x01\x44\x30\x82\x01\x40\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x0c\x30\x3c\x06\x03\x55\x1d\x1f\x04\x35\x30\x33\x30\x31\xa0\x2f\xa0\x2d\x86\x2b\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x2f\x63\x68\x61\x6d\x62\x65\x72\x73\x72\x6f\x6f\x74\x2e\x63\x72\x6c\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xe3\x94\xf5\xb1\x4d\xe9\xdb\xa1\x29\x5b\x57\x8b\x4d\x76\x06\x76\xe1\xd1\xa2\x8a\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x27\x06\x03\x55\x1d\x11\x04\x20\x30\x1e\x81\x1c\x63\x68\x61\x6d\x62\x65\x72\x73\x72\x6f\x6f\x74\x40\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x30\x27\x06\x03\x55\x1d\x12\x04\x20\x30\x1e\x81\x1c\x63\x68\x61\x6d\x62\x65\x72\x73\x72\x6f\x6f\x74\x40\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x30\x58\x06\x03\x55\x1d\x20\x04\x51\x30\x4f\x30\x4d\x06\x0b\x2b\x06\x01\x04\x01\x81\x87\x2e\x0a\x03\x01\x30\x3e\x30\x3c\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x30\x68\x74\x74\x70\x3a\x2f\x2f\x63\x70\x73\x2e\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x2f\x63\x70\x73\x2f\x63\x68\x61\x6d\x62\x65\x72\x73\x72\x6f\x6f\x74\x2e\x68\x74\x6d\x6c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x0c\x41\x97\xc2\x1a\x86\xc0\x22\x7c\x9f\xfb\x90\xf3\x1a\xd1\x03\xb1\xef\x13\xf9\x21\x5f\x04\x9c\xda\xc9\xa5\x8d\x27\x6c\x96\x87\x91\xbe\x41\x90\x01\x72\x93\xe7\x1e\x7d\x5f\xf6\x89\xc6\x5d\xa7\x40\x09\x3d\xac\x49\x45\x45\xdc\x2e\x8d\x30\x68\xb2\x09\xba\xfb\xc3\x2f\xcc\xba\x0b\xdf\x3f\x77\x7b\x46\x7d\x3a\x12\x24\x8e\x96\x8f\x3c\x05\x0a\x6f\xd2\x94\x28\x1d\x6d\x0c\xc0\x2e\x88\x22\xd5\xd8\xcf\x1d\x13\xc7\xf0\x48\xd7\xd7\x05\xa7\xcf\xc7\x47\x9e\x3b\x3c\x34\xc8\x80\x4f\xd4\x14\xbb\xfc\x0d\x50\xf7\xfa\xb3\xec\x42\x5f\xa9\xdd\x6d\xc8\xf4\x75\xcf\x7b\xc1\x72\x26\xb1\x01\x1c\x5c\x2c\xfd\x7a\x4e\xb4\x01\xc5\x05\x57\xb9\xe7\x3c\xaa\x05\xd9\x88\xe9\x07\x46\x41\xce\xef\x41\x81\xae\x58\xdf\x83\xa2\xae\xca\xd7\x77\x1f\xe7\x00\x3c\x9d\x6f\x8e\xe4\x32\x09\x1d\x4d\x78\x34\x78\x34\x3c\x94\x9b\x26\xed\x4f\x71\xc6\x19\x7a\xbd\x20\x22\x48\x5a\xfe\x4b\x7d\x03\xb7\xe7\x58\xbe\xc6\x32\x4e\x74\x1e\x68\xdd\xa8\x68\x5b\xb3\x3e\xee\x62\x7d\xd9\x80\xe8\x0a\x75\x7a\xb7\xee\xb4\x65\x9a\x21\x90\xe0\xaa\xd0\x98\xbc\x38\xb5\x73\x3c\x8b\xf8\xdc", - ["Camerfirma Global Chambersign Root"] = "\x30\x82\x04\xc5\x30\x82\x03\xad\xa0\x03\x02\x01\x02\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x7d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x55\x31\x27\x30\x25\x06\x03\x55\x04\x0a\x13\x1e\x41\x43\x20\x43\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x20\x53\x41\x20\x43\x49\x46\x20\x41\x38\x32\x37\x34\x33\x32\x38\x37\x31\x23\x30\x21\x06\x03\x55\x04\x0b\x13\x1a\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x31\x20\x30\x1e\x06\x03\x55\x04\x03\x13\x17\x47\x6c\x6f\x62\x61\x6c\x20\x43\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x20\x52\x6f\x6f\x74\x30\x1e\x17\x0d\x30\x33\x30\x39\x33\x30\x31\x36\x31\x34\x31\x38\x5a\x17\x0d\x33\x37\x30\x39\x33\x30\x31\x36\x31\x34\x31\x38\x5a\x30\x7d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x55\x31\x27\x30\x25\x06\x03\x55\x04\x0a\x13\x1e\x41\x43\x20\x43\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x20\x53\x41\x20\x43\x49\x46\x20\x41\x38\x32\x37\x34\x33\x32\x38\x37\x31\x23\x30\x21\x06\x03\x55\x04\x0b\x13\x1a\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x31\x20\x30\x1e\x06\x03\x55\x04\x03\x13\x17\x47\x6c\x6f\x62\x61\x6c\x20\x43\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x20\x52\x6f\x6f\x74\x30\x82\x01\x20\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0d\x00\x30\x82\x01\x08\x02\x82\x01\x01\x00\xa2\x70\xa2\xd0\x9f\x42\xae\x5b\x17\xc7\xd8\x7d\xcf\x14\x83\xfc\x4f\xc9\xa1\xb7\x13\xaf\x8a\xd7\x9e\x3e\x04\x0a\x92\x8b\x60\x56\xfa\xb4\x32\x2f\x88\x4d\xa1\x60\x08\xf4\xb7\x09\x4e\xa0\x49\x2f\x49\xd6\xd3\xdf\x9d\x97\x5a\x9f\x94\x04\x70\xec\x3f\x59\xd9\xb7\xcc\x66\x8b\x98\x52\x28\x09\x02\xdf\xc5\x2f\x84\x8d\x7a\x97\x77\xbf\xec\x40\x9d\x25\x72\xab\xb5\x3f\x32\x98\xfb\xb7\xb7\xfc\x72\x84\xe5\x35\x87\xf9\x55\xfa\xa3\x1f\x0e\x6f\x2e\x28\xdd\x69\xa0\xd9\x42\x10\xc6\xf8\xb5\x44\xc2\xd0\x43\x7f\xdb\xbc\xe4\xa2\x3c\x6a\x55\x78\x0a\x77\xa9\xd8\xea\x19\x32\xb7\x2f\xfe\x5c\x3f\x1b\xee\xb1\x98\xec\xca\xad\x7a\x69\x45\xe3\x96\x0f\x55\xf6\xe6\xed\x75\xea\x65\xe8\x32\x56\x93\x46\x89\xa8\x25\x8a\x65\x06\xee\x6b\xbf\x79\x07\xd0\xf1\xb7\xaf\xed\x2c\x4d\x92\xbb\xc0\xa8\x5f\xa7\x67\x7d\x04\xf2\x15\x08\x70\xac\x92\xd6\x7d\x04\xd2\x33\xfb\x4c\xb6\x0b\x0b\xfb\x1a\xc9\xc4\x8d\x03\xa9\x7e\x5c\xf2\x50\xab\x12\xa5\xa1\xcf\x48\x50\xa5\xef\xd2\xc8\x1a\x13\xfa\xb0\x7f\xb1\x82\x1c\x77\x6a\x0f\x5f\xdc\x0b\x95\x8f\xef\x43\x7e\xe6\x45\x09\x25\x02\x01\x03\xa3\x82\x01\x50\x30\x82\x01\x4c\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x0c\x30\x3f\x06\x03\x55\x1d\x1f\x04\x38\x30\x36\x30\x34\xa0\x32\xa0\x30\x86\x2e\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x2f\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x72\x6f\x6f\x74\x2e\x63\x72\x6c\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x43\x9c\x36\x9f\xb0\x9e\x30\x4d\xc6\xce\x5f\xad\x10\xab\xe5\x03\xa5\xfa\xa9\x14\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x2a\x06\x03\x55\x1d\x11\x04\x23\x30\x21\x81\x1f\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x72\x6f\x6f\x74\x40\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x30\x2a\x06\x03\x55\x1d\x12\x04\x23\x30\x21\x81\x1f\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x72\x6f\x6f\x74\x40\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x30\x5b\x06\x03\x55\x1d\x20\x04\x54\x30\x52\x30\x50\x06\x0b\x2b\x06\x01\x04\x01\x81\x87\x2e\x0a\x01\x01\x30\x41\x30\x3f\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x33\x68\x74\x74\x70\x3a\x2f\x2f\x63\x70\x73\x2e\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x2e\x6f\x72\x67\x2f\x63\x70\x73\x2f\x63\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x72\x6f\x6f\x74\x2e\x68\x74\x6d\x6c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x3c\x3b\x70\x91\xf9\x04\x54\x27\x91\xe1\xed\xed\xfe\x68\x7f\x61\x5d\xe5\x41\x65\x4f\x32\xf1\x18\x05\x94\x6a\x1c\xde\x1f\x70\xdb\x3e\x7b\x32\x02\x34\xb5\x0c\x6c\xa1\x8a\x7c\xa5\xf4\x8f\xff\xd4\xd8\xad\x17\xd5\x2d\x04\xd1\x3f\x58\x80\xe2\x81\x59\x88\xbe\xc0\xe3\x46\x93\x24\xfe\x90\xbd\x26\xa2\x30\x2d\xe8\x97\x26\x57\x35\x89\x74\x96\x18\xf6\x15\xe2\xaf\x24\x19\x56\x02\x02\xb2\xba\x0f\x14\xea\xc6\x8a\x66\xc1\x86\x45\x55\x8b\xbe\x92\xbe\x9c\xa4\x04\xc7\x49\x3c\x9e\xe8\x29\x7a\x89\xd7\xfe\xaf\xff\x68\xf5\xa5\x17\x90\xbd\xac\x99\xcc\xa5\x86\x57\x09\x67\x46\xdb\xd6\x16\xc2\x46\xf1\xe4\xa9\x50\xf5\x8f\xd1\x92\x15\xd3\x5f\x3e\xc6\x00\x49\x3a\x6e\x58\xb2\xd1\xd1\x27\x0d\x25\xc8\x32\xf8\x20\x11\xcd\x7d\x32\x33\x48\x94\x54\x4c\xdd\xdc\x79\xc4\x30\x9f\xeb\x8e\xb8\x55\xb5\xd7\x88\x5c\xc5\x6a\x24\x3d\xb2\xd3\x05\x03\x51\xc6\x07\xef\xcc\x14\x72\x74\x3d\x6e\x72\xce\x18\x28\x8c\x4a\xa0\x77\xe5\x09\x2b\x45\x44\x47\xac\xb7\x67\x7f\x01\x8a\x05\x5a\x93\xbe\xa1\xc1\xff\xf8\xe7\x0e\x67\xa4\x47\x49\x76\x5d\x75\x90\x1a\xf5\x26\x8f\xf0", - ["NetLock Notary (Class A) Root"] = "\x30\x82\x06\x7d\x30\x82\x05\x65\xa0\x03\x02\x01\x02\x02\x02\x01\x03\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x30\x81\xaf\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x10\x30\x0e\x06\x03\x55\x04\x08\x13\x07\x48\x75\x6e\x67\x61\x72\x79\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x13\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x27\x30\x25\x06\x03\x55\x04\x0a\x13\x1e\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x48\x61\x6c\x6f\x7a\x61\x74\x62\x69\x7a\x74\x6f\x6e\x73\x61\x67\x69\x20\x4b\x66\x74\x2e\x31\x1a\x30\x18\x06\x03\x55\x04\x0b\x13\x11\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x6b\x31\x36\x30\x34\x06\x03\x55\x04\x03\x13\x2d\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x6f\x7a\x6a\x65\x67\x79\x7a\x6f\x69\x20\x28\x43\x6c\x61\x73\x73\x20\x41\x29\x20\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x30\x1e\x17\x0d\x39\x39\x30\x32\x32\x34\x32\x33\x31\x34\x34\x37\x5a\x17\x0d\x31\x39\x30\x32\x31\x39\x32\x33\x31\x34\x34\x37\x5a\x30\x81\xaf\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x10\x30\x0e\x06\x03\x55\x04\x08\x13\x07\x48\x75\x6e\x67\x61\x72\x79\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x13\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x27\x30\x25\x06\x03\x55\x04\x0a\x13\x1e\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x48\x61\x6c\x6f\x7a\x61\x74\x62\x69\x7a\x74\x6f\x6e\x73\x61\x67\x69\x20\x4b\x66\x74\x2e\x31\x1a\x30\x18\x06\x03\x55\x04\x0b\x13\x11\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x6b\x31\x36\x30\x34\x06\x03\x55\x04\x03\x13\x2d\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x6f\x7a\x6a\x65\x67\x79\x7a\x6f\x69\x20\x28\x43\x6c\x61\x73\x73\x20\x41\x29\x20\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xbc\x74\x8c\x0f\xbb\x4c\xf4\x37\x1e\xa9\x05\x82\xd8\xe6\xe1\x6c\x70\xea\x78\xb5\x6e\xd1\x38\x44\x0d\xa8\x83\xce\x5d\xd2\xd6\xd5\x81\xc5\xd4\x4b\xe7\x5b\x94\x70\x26\xdb\x3b\x9d\x6a\x4c\x62\xf7\x71\xf3\x64\xd6\x61\x3b\x3d\xeb\x73\xa3\x37\xd9\xcf\xea\x8c\x92\x3b\xcd\xf7\x07\xdc\x66\x74\x97\xf4\x45\x22\xdd\xf4\x5c\xe0\xbf\x6d\xf3\xbe\x65\x33\xe4\x15\x3a\xbf\xdb\x98\x90\x55\x38\xc4\xed\xa6\x55\x63\x0b\xb0\x78\x04\xf4\xe3\x6e\xc1\x3f\x8e\xfc\x51\x78\x1f\x92\x9e\x83\xc2\xfe\xd9\xb0\xa9\xc9\xbc\x5a\x00\xff\xa9\xa8\x98\x74\xfb\xf6\x2c\x3e\x15\x39\x0d\xb6\x04\x55\xa8\x0e\x98\x20\x42\xb3\xb1\x25\xad\x7e\x9a\x6f\x5d\x53\xb1\xab\x0c\xfc\xeb\xe0\xf3\x7a\xb3\xa8\xb3\xff\x46\xf6\x63\xa2\xd8\x3a\x98\x7b\xb6\xac\x85\xff\xb0\x25\x4f\x74\x63\xe7\x13\x07\xa5\x0a\x8f\x05\xf7\xc0\x64\x6f\x7e\xa7\x27\x80\x96\xde\xd4\x2e\x86\x60\xc7\x6b\x2b\x5e\x73\x7b\x17\xe7\x91\x3f\x64\x0c\xd8\x4b\x22\x34\x2b\x9b\x32\xf2\x48\x1f\x9f\xa1\x0a\x84\x7a\xe2\xc2\xad\x97\x3d\x8e\xd5\xc1\xf9\x56\xa3\x50\xe9\xc6\xb4\xfa\x98\xa2\xee\x95\xe6\x2a\x03\x8c\xdf\x02\x03\x01\x00\x01\xa3\x82\x02\x9f\x30\x82\x02\x9b\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x00\x06\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x04\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x82\x02\x60\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x0d\x04\x82\x02\x51\x16\x82\x02\x4d\x46\x49\x47\x59\x45\x4c\x45\x4d\x21\x20\x45\x7a\x65\x6e\x20\x74\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x20\x61\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x66\x74\x2e\x20\x41\x6c\x74\x61\x6c\x61\x6e\x6f\x73\x20\x53\x7a\x6f\x6c\x67\x61\x6c\x74\x61\x74\x61\x73\x69\x20\x46\x65\x6c\x74\x65\x74\x65\x6c\x65\x69\x62\x65\x6e\x20\x6c\x65\x69\x72\x74\x20\x65\x6c\x6a\x61\x72\x61\x73\x6f\x6b\x20\x61\x6c\x61\x70\x6a\x61\x6e\x20\x6b\x65\x73\x7a\x75\x6c\x74\x2e\x20\x41\x20\x68\x69\x74\x65\x6c\x65\x73\x69\x74\x65\x73\x20\x66\x6f\x6c\x79\x61\x6d\x61\x74\x61\x74\x20\x61\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x66\x74\x2e\x20\x74\x65\x72\x6d\x65\x6b\x66\x65\x6c\x65\x6c\x6f\x73\x73\x65\x67\x2d\x62\x69\x7a\x74\x6f\x73\x69\x74\x61\x73\x61\x20\x76\x65\x64\x69\x2e\x20\x41\x20\x64\x69\x67\x69\x74\x61\x6c\x69\x73\x20\x61\x6c\x61\x69\x72\x61\x73\x20\x65\x6c\x66\x6f\x67\x61\x64\x61\x73\x61\x6e\x61\x6b\x20\x66\x65\x6c\x74\x65\x74\x65\x6c\x65\x20\x61\x7a\x20\x65\x6c\x6f\x69\x72\x74\x20\x65\x6c\x6c\x65\x6e\x6f\x72\x7a\x65\x73\x69\x20\x65\x6c\x6a\x61\x72\x61\x73\x20\x6d\x65\x67\x74\x65\x74\x65\x6c\x65\x2e\x20\x41\x7a\x20\x65\x6c\x6a\x61\x72\x61\x73\x20\x6c\x65\x69\x72\x61\x73\x61\x20\x6d\x65\x67\x74\x61\x6c\x61\x6c\x68\x61\x74\x6f\x20\x61\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x66\x74\x2e\x20\x49\x6e\x74\x65\x72\x6e\x65\x74\x20\x68\x6f\x6e\x6c\x61\x70\x6a\x61\x6e\x20\x61\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x2f\x64\x6f\x63\x73\x20\x63\x69\x6d\x65\x6e\x20\x76\x61\x67\x79\x20\x6b\x65\x72\x68\x65\x74\x6f\x20\x61\x7a\x20\x65\x6c\x6c\x65\x6e\x6f\x72\x7a\x65\x73\x40\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x20\x65\x2d\x6d\x61\x69\x6c\x20\x63\x69\x6d\x65\x6e\x2e\x20\x49\x4d\x50\x4f\x52\x54\x41\x4e\x54\x21\x20\x54\x68\x65\x20\x69\x73\x73\x75\x61\x6e\x63\x65\x20\x61\x6e\x64\x20\x74\x68\x65\x20\x75\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x69\x73\x20\x73\x75\x62\x6a\x65\x63\x74\x20\x74\x6f\x20\x74\x68\x65\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x43\x50\x53\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x61\x74\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x2f\x64\x6f\x63\x73\x20\x6f\x72\x20\x62\x79\x20\x65\x2d\x6d\x61\x69\x6c\x20\x61\x74\x20\x63\x70\x73\x40\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x2e\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x03\x82\x01\x01\x00\x48\x24\x46\xf7\xba\x56\x6f\xfa\xc8\x28\x03\x40\x4e\xe5\x31\x39\x6b\x26\x6b\x53\x7f\xdb\xdf\xdf\xf3\x71\x3d\x26\xc0\x14\x0e\xc6\x67\x7b\x23\xa8\x0c\x73\xdd\x01\xbb\xc6\xca\x6e\x37\x39\x55\xd5\xc7\x8c\x56\x20\x0e\x28\x0a\x0e\xd2\x2a\xa4\xb0\x49\x52\xc6\x38\x07\xfe\xbe\x0a\x09\x8c\xd1\x98\xcf\xca\xda\x14\x31\xa1\x4f\xd2\x39\xfc\x0f\x11\x2c\x43\xc3\xdd\xab\x93\xc7\x55\x3e\x47\x7c\x18\x1a\x00\xdc\xf3\x7b\xd8\xf2\x7f\x52\x6c\x20\xf4\x0b\x5f\x69\x52\xf4\xee\xf8\xb2\x29\x60\xeb\xe3\x49\x31\x21\x0d\xd6\xb5\x10\x41\xe2\x41\x09\x6c\xe2\x1a\x9a\x56\x4b\x77\x02\xf6\xa0\x9b\x9a\x27\x87\xe8\x55\x29\x71\xc2\x90\x9f\x45\x78\x1a\xe1\x15\x64\x3d\xd0\x0e\xd8\xa0\x76\x9f\xae\xc5\xd0\x2e\xea\xd6\x0f\x56\xec\x64\x7f\x5a\x9b\x14\x58\x01\x27\x7e\x13\x50\xc7\x6b\x2a\xe6\x68\x3c\xbf\x5c\xa0\x0a\x1b\xe1\x0e\x7a\xe9\xe2\x80\xc3\xe9\xe9\xf6\xfd\x6c\x11\x9e\xd0\xe5\x28\x27\x2b\x54\x32\x42\x14\x82\x75\xe6\x4a\xf0\x2b\x66\x75\x63\x8c\xa2\xfb\x04\x3e\x83\x0e\x9b\x36\xf0\x18\xe4\x26\x20\xc3\x8c\xf0\x28\x07\xad\x3c\x17\x66\x88\xb5\xfd\xb6\x88", - ["NetLock Business (Class B) Root"] = "\x30\x82\x05\x4b\x30\x82\x04\xb4\xa0\x03\x02\x01\x02\x02\x01\x69\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x30\x81\x99\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x13\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x27\x30\x25\x06\x03\x55\x04\x0a\x13\x1e\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x48\x61\x6c\x6f\x7a\x61\x74\x62\x69\x7a\x74\x6f\x6e\x73\x61\x67\x69\x20\x4b\x66\x74\x2e\x31\x1a\x30\x18\x06\x03\x55\x04\x0b\x13\x11\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x6b\x31\x32\x30\x30\x06\x03\x55\x04\x03\x13\x29\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x55\x7a\x6c\x65\x74\x69\x20\x28\x43\x6c\x61\x73\x73\x20\x42\x29\x20\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x30\x1e\x17\x0d\x39\x39\x30\x32\x32\x35\x31\x34\x31\x30\x32\x32\x5a\x17\x0d\x31\x39\x30\x32\x32\x30\x31\x34\x31\x30\x32\x32\x5a\x30\x81\x99\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x13\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x27\x30\x25\x06\x03\x55\x04\x0a\x13\x1e\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x48\x61\x6c\x6f\x7a\x61\x74\x62\x69\x7a\x74\x6f\x6e\x73\x61\x67\x69\x20\x4b\x66\x74\x2e\x31\x1a\x30\x18\x06\x03\x55\x04\x0b\x13\x11\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x6b\x31\x32\x30\x30\x06\x03\x55\x04\x03\x13\x29\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x55\x7a\x6c\x65\x74\x69\x20\x28\x43\x6c\x61\x73\x73\x20\x42\x29\x20\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xb1\xea\x04\xec\x20\xa0\x23\xc2\x8f\x38\x60\xcf\xc7\x46\xb3\xd5\x1b\xfe\xfb\xb9\x99\x9e\x04\xdc\x1c\x7f\x8c\x4a\x81\x98\xee\xa4\xd4\xca\x8a\x17\xb9\x22\x7f\x83\x0a\x75\x4c\x9b\xc0\x69\xd8\x64\x39\xa3\xed\x92\xa3\xfd\x5b\x5c\x74\x1a\xc0\x47\xca\x3a\x69\x76\x9a\xba\xe2\x44\x17\xfc\x4c\xa3\xd5\xfe\xb8\x97\x88\xaf\x88\x03\x89\x1f\xa4\xf2\x04\x3e\xc8\x07\x0b\xe6\xf9\xb3\x2f\x7a\x62\x14\x09\x46\x14\xca\x64\xf5\x8b\x80\xb5\x62\xa8\xd8\x6b\xd6\x71\x93\x2d\xb3\xbf\x09\x54\x58\xed\x06\xeb\xa8\x7b\xdc\x43\xb1\xa1\x69\x02\x03\x01\x00\x01\xa3\x82\x02\x9f\x30\x82\x02\x9b\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x04\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x00\x06\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x82\x02\x60\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x0d\x04\x82\x02\x51\x16\x82\x02\x4d\x46\x49\x47\x59\x45\x4c\x45\x4d\x21\x20\x45\x7a\x65\x6e\x20\x74\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x20\x61\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x66\x74\x2e\x20\x41\x6c\x74\x61\x6c\x61\x6e\x6f\x73\x20\x53\x7a\x6f\x6c\x67\x61\x6c\x74\x61\x74\x61\x73\x69\x20\x46\x65\x6c\x74\x65\x74\x65\x6c\x65\x69\x62\x65\x6e\x20\x6c\x65\x69\x72\x74\x20\x65\x6c\x6a\x61\x72\x61\x73\x6f\x6b\x20\x61\x6c\x61\x70\x6a\x61\x6e\x20\x6b\x65\x73\x7a\x75\x6c\x74\x2e\x20\x41\x20\x68\x69\x74\x65\x6c\x65\x73\x69\x74\x65\x73\x20\x66\x6f\x6c\x79\x61\x6d\x61\x74\x61\x74\x20\x61\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x66\x74\x2e\x20\x74\x65\x72\x6d\x65\x6b\x66\x65\x6c\x65\x6c\x6f\x73\x73\x65\x67\x2d\x62\x69\x7a\x74\x6f\x73\x69\x74\x61\x73\x61\x20\x76\x65\x64\x69\x2e\x20\x41\x20\x64\x69\x67\x69\x74\x61\x6c\x69\x73\x20\x61\x6c\x61\x69\x72\x61\x73\x20\x65\x6c\x66\x6f\x67\x61\x64\x61\x73\x61\x6e\x61\x6b\x20\x66\x65\x6c\x74\x65\x74\x65\x6c\x65\x20\x61\x7a\x20\x65\x6c\x6f\x69\x72\x74\x20\x65\x6c\x6c\x65\x6e\x6f\x72\x7a\x65\x73\x69\x20\x65\x6c\x6a\x61\x72\x61\x73\x20\x6d\x65\x67\x74\x65\x74\x65\x6c\x65\x2e\x20\x41\x7a\x20\x65\x6c\x6a\x61\x72\x61\x73\x20\x6c\x65\x69\x72\x61\x73\x61\x20\x6d\x65\x67\x74\x61\x6c\x61\x6c\x68\x61\x74\x6f\x20\x61\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x66\x74\x2e\x20\x49\x6e\x74\x65\x72\x6e\x65\x74\x20\x68\x6f\x6e\x6c\x61\x70\x6a\x61\x6e\x20\x61\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x2f\x64\x6f\x63\x73\x20\x63\x69\x6d\x65\x6e\x20\x76\x61\x67\x79\x20\x6b\x65\x72\x68\x65\x74\x6f\x20\x61\x7a\x20\x65\x6c\x6c\x65\x6e\x6f\x72\x7a\x65\x73\x40\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x20\x65\x2d\x6d\x61\x69\x6c\x20\x63\x69\x6d\x65\x6e\x2e\x20\x49\x4d\x50\x4f\x52\x54\x41\x4e\x54\x21\x20\x54\x68\x65\x20\x69\x73\x73\x75\x61\x6e\x63\x65\x20\x61\x6e\x64\x20\x74\x68\x65\x20\x75\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x69\x73\x20\x73\x75\x62\x6a\x65\x63\x74\x20\x74\x6f\x20\x74\x68\x65\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x43\x50\x53\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x61\x74\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x2f\x64\x6f\x63\x73\x20\x6f\x72\x20\x62\x79\x20\x65\x2d\x6d\x61\x69\x6c\x20\x61\x74\x20\x63\x70\x73\x40\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x2e\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x03\x81\x81\x00\x04\xdb\xae\x8c\x17\xaf\xf8\x0e\x90\x31\x4e\xcd\x3e\x09\xc0\x6d\x3a\xb0\xf8\x33\x4c\x47\x4c\xe3\x75\x88\x10\x97\xac\xb0\x38\x15\x91\xc6\x29\x96\xcc\x21\xc0\x6d\x3c\xa5\x74\xcf\xd8\x82\xa5\x39\xc3\x65\xe3\x42\x70\xbb\x22\x90\xe3\x7d\xdb\x35\x76\xe1\xa0\xb5\xda\x9f\x70\x6e\x93\x1a\x30\x39\x1d\x30\xdb\x2e\xe3\x7c\xb2\x91\xb2\xd1\x37\x29\xfa\xb9\xd6\x17\x5c\x47\x4f\xe3\x1d\x38\xeb\x9f\xd5\x7b\x95\xa8\x28\x9e\x15\x4a\xd1\xd1\xd0\x2b\x00\x97\xa0\xe2\x92\x36\x2b\x63\xac\x58\x01\x6b\x33\x29\x50\x86\x83\xf1\x01\x48", - ["NetLock Express (Class C) Root"] = "\x30\x82\x05\x4f\x30\x82\x04\xb8\xa0\x03\x02\x01\x02\x02\x01\x68\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x30\x81\x9b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x13\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x27\x30\x25\x06\x03\x55\x04\x0a\x13\x1e\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x48\x61\x6c\x6f\x7a\x61\x74\x62\x69\x7a\x74\x6f\x6e\x73\x61\x67\x69\x20\x4b\x66\x74\x2e\x31\x1a\x30\x18\x06\x03\x55\x04\x0b\x13\x11\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x6b\x31\x34\x30\x32\x06\x03\x55\x04\x03\x13\x2b\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x45\x78\x70\x72\x65\x73\x73\x7a\x20\x28\x43\x6c\x61\x73\x73\x20\x43\x29\x20\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x30\x1e\x17\x0d\x39\x39\x30\x32\x32\x35\x31\x34\x30\x38\x31\x31\x5a\x17\x0d\x31\x39\x30\x32\x32\x30\x31\x34\x30\x38\x31\x31\x5a\x30\x81\x9b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x13\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x27\x30\x25\x06\x03\x55\x04\x0a\x13\x1e\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x48\x61\x6c\x6f\x7a\x61\x74\x62\x69\x7a\x74\x6f\x6e\x73\x61\x67\x69\x20\x4b\x66\x74\x2e\x31\x1a\x30\x18\x06\x03\x55\x04\x0b\x13\x11\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x6b\x31\x34\x30\x32\x06\x03\x55\x04\x03\x13\x2b\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x45\x78\x70\x72\x65\x73\x73\x7a\x20\x28\x43\x6c\x61\x73\x73\x20\x43\x29\x20\x54\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x6b\x69\x61\x64\x6f\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xeb\xec\xb0\x6c\x61\x8a\x23\x25\xaf\x60\x20\xe3\xd9\x9f\xfc\x93\x0b\xdb\x5d\x8d\xb0\xa1\xb3\x40\x3a\x82\xce\xfd\x75\xe0\x78\x32\x03\x86\x5a\x86\x95\x91\xed\x53\xfa\x9d\x40\xfc\xe6\xe8\xdd\xd9\x5b\x7a\x03\xbd\x5d\xf3\x3b\x0c\xc3\x51\x79\x9b\xad\x55\xa0\xe9\xd0\x03\x10\xaf\x0a\xba\x14\x42\xd9\x52\x26\x11\x22\xc7\xd2\x20\xcc\x82\xa4\x9a\xa9\xfe\xb8\x81\x76\x9d\x6a\xb7\xd2\x36\x75\x3e\xb1\x86\x09\xf6\x6e\x6d\x7e\x4e\xb7\x7a\xec\xae\x71\x84\xf6\x04\x33\x08\x25\x32\xeb\x74\xac\x16\x44\xc6\xe4\x40\x93\x1d\x7f\xad\x02\x03\x01\x00\x01\xa3\x82\x02\x9f\x30\x82\x02\x9b\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x04\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x00\x06\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x82\x02\x60\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x0d\x04\x82\x02\x51\x16\x82\x02\x4d\x46\x49\x47\x59\x45\x4c\x45\x4d\x21\x20\x45\x7a\x65\x6e\x20\x74\x61\x6e\x75\x73\x69\x74\x76\x61\x6e\x79\x20\x61\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x66\x74\x2e\x20\x41\x6c\x74\x61\x6c\x61\x6e\x6f\x73\x20\x53\x7a\x6f\x6c\x67\x61\x6c\x74\x61\x74\x61\x73\x69\x20\x46\x65\x6c\x74\x65\x74\x65\x6c\x65\x69\x62\x65\x6e\x20\x6c\x65\x69\x72\x74\x20\x65\x6c\x6a\x61\x72\x61\x73\x6f\x6b\x20\x61\x6c\x61\x70\x6a\x61\x6e\x20\x6b\x65\x73\x7a\x75\x6c\x74\x2e\x20\x41\x20\x68\x69\x74\x65\x6c\x65\x73\x69\x74\x65\x73\x20\x66\x6f\x6c\x79\x61\x6d\x61\x74\x61\x74\x20\x61\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x66\x74\x2e\x20\x74\x65\x72\x6d\x65\x6b\x66\x65\x6c\x65\x6c\x6f\x73\x73\x65\x67\x2d\x62\x69\x7a\x74\x6f\x73\x69\x74\x61\x73\x61\x20\x76\x65\x64\x69\x2e\x20\x41\x20\x64\x69\x67\x69\x74\x61\x6c\x69\x73\x20\x61\x6c\x61\x69\x72\x61\x73\x20\x65\x6c\x66\x6f\x67\x61\x64\x61\x73\x61\x6e\x61\x6b\x20\x66\x65\x6c\x74\x65\x74\x65\x6c\x65\x20\x61\x7a\x20\x65\x6c\x6f\x69\x72\x74\x20\x65\x6c\x6c\x65\x6e\x6f\x72\x7a\x65\x73\x69\x20\x65\x6c\x6a\x61\x72\x61\x73\x20\x6d\x65\x67\x74\x65\x74\x65\x6c\x65\x2e\x20\x41\x7a\x20\x65\x6c\x6a\x61\x72\x61\x73\x20\x6c\x65\x69\x72\x61\x73\x61\x20\x6d\x65\x67\x74\x61\x6c\x61\x6c\x68\x61\x74\x6f\x20\x61\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x66\x74\x2e\x20\x49\x6e\x74\x65\x72\x6e\x65\x74\x20\x68\x6f\x6e\x6c\x61\x70\x6a\x61\x6e\x20\x61\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x2f\x64\x6f\x63\x73\x20\x63\x69\x6d\x65\x6e\x20\x76\x61\x67\x79\x20\x6b\x65\x72\x68\x65\x74\x6f\x20\x61\x7a\x20\x65\x6c\x6c\x65\x6e\x6f\x72\x7a\x65\x73\x40\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x20\x65\x2d\x6d\x61\x69\x6c\x20\x63\x69\x6d\x65\x6e\x2e\x20\x49\x4d\x50\x4f\x52\x54\x41\x4e\x54\x21\x20\x54\x68\x65\x20\x69\x73\x73\x75\x61\x6e\x63\x65\x20\x61\x6e\x64\x20\x74\x68\x65\x20\x75\x73\x65\x20\x6f\x66\x20\x74\x68\x69\x73\x20\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x69\x73\x20\x73\x75\x62\x6a\x65\x63\x74\x20\x74\x6f\x20\x74\x68\x65\x20\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x43\x50\x53\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x61\x74\x20\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x2f\x64\x6f\x63\x73\x20\x6f\x72\x20\x62\x79\x20\x65\x2d\x6d\x61\x69\x6c\x20\x61\x74\x20\x63\x70\x73\x40\x6e\x65\x74\x6c\x6f\x63\x6b\x2e\x6e\x65\x74\x2e\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x04\x05\x00\x03\x81\x81\x00\x10\xad\x7f\xd7\x0c\x32\x80\x0a\xd8\x86\xf1\x79\x98\xb5\xad\xd4\xcd\xb3\x36\xc4\x96\x48\xc1\x5c\xcd\x9a\xd9\x05\x2e\x9f\xbe\x50\xeb\xf4\x26\x14\x10\x2d\xd4\x66\x17\xf8\x9e\xc1\x27\xfd\xf1\xed\xe4\x7b\x4b\xa0\x6c\xb5\xab\x9a\x57\x70\xa6\xed\xa0\xa4\xed\x2e\xf5\xfd\xfc\xbd\xfe\x4d\x37\x08\x0c\xbc\xe3\x96\x83\x22\xf5\x49\x1b\x7f\x4b\x2b\xb4\x54\xc1\x80\x7c\x99\x4e\x1d\xd0\x8c\xee\xd0\xac\xe5\x92\xfa\x75\x56\xfe\x64\xa0\x13\x8f\xb8\xb8\x16\x9d\x61\x05\x67\x80\xc8\xd0\xd8\xa5\x07\x02\x34\x98\x04\x8d\x33\x04\xd4", - ["XRamp Global CA Root"] = "\x30\x82\x04\x30\x30\x82\x03\x18\xa0\x03\x02\x01\x02\x02\x10\x50\x94\x6c\xec\x18\xea\xd5\x9c\x4d\xd5\x97\xef\x75\x8f\xa0\xad\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x82\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1e\x30\x1c\x06\x03\x55\x04\x0b\x13\x15\x77\x77\x77\x2e\x78\x72\x61\x6d\x70\x73\x65\x63\x75\x72\x69\x74\x79\x2e\x63\x6f\x6d\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x13\x1b\x58\x52\x61\x6d\x70\x20\x53\x65\x63\x75\x72\x69\x74\x79\x20\x53\x65\x72\x76\x69\x63\x65\x73\x20\x49\x6e\x63\x31\x2d\x30\x2b\x06\x03\x55\x04\x03\x13\x24\x58\x52\x61\x6d\x70\x20\x47\x6c\x6f\x62\x61\x6c\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x34\x31\x31\x30\x31\x31\x37\x31\x34\x30\x34\x5a\x17\x0d\x33\x35\x30\x31\x30\x31\x30\x35\x33\x37\x31\x39\x5a\x30\x81\x82\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x1e\x30\x1c\x06\x03\x55\x04\x0b\x13\x15\x77\x77\x77\x2e\x78\x72\x61\x6d\x70\x73\x65\x63\x75\x72\x69\x74\x79\x2e\x63\x6f\x6d\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x13\x1b\x58\x52\x61\x6d\x70\x20\x53\x65\x63\x75\x72\x69\x74\x79\x20\x53\x65\x72\x76\x69\x63\x65\x73\x20\x49\x6e\x63\x31\x2d\x30\x2b\x06\x03\x55\x04\x03\x13\x24\x58\x52\x61\x6d\x70\x20\x47\x6c\x6f\x62\x61\x6c\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\x98\x24\x1e\xbd\x15\xb4\xba\xdf\xc7\x8c\xa5\x27\xb6\x38\x0b\x69\xf3\xb6\x4e\xa8\x2c\x2e\x21\x1d\x5c\x44\xdf\x21\x5d\x7e\x23\x74\xfe\x5e\x7e\xb4\x4a\xb7\xa6\xad\x1f\xae\xe0\x06\x16\xe2\x9b\x5b\xd9\x67\x74\x6b\x5d\x80\x8f\x29\x9d\x86\x1b\xd9\x9c\x0d\x98\x6d\x76\x10\x28\x58\xe4\x65\xb0\x7f\x4a\x98\x79\x9f\xe0\xc3\x31\x7e\x80\x2b\xb5\x8c\xc0\x40\x3b\x11\x86\xd0\xcb\xa2\x86\x36\x60\xa4\xd5\x30\x82\x6d\xd9\x6e\xd0\x0f\x12\x04\x33\x97\x5f\x4f\x61\x5a\xf0\xe4\xf9\x91\xab\xe7\x1d\x3b\xbc\xe8\xcf\xf4\x6b\x2d\x34\x7c\xe2\x48\x61\x1c\x8e\xf3\x61\x44\xcc\x6f\xa0\x4a\xa9\x94\xb0\x4d\xda\xe7\xa9\x34\x7a\x72\x38\xa8\x41\xcc\x3c\x94\x11\x7d\xeb\xc8\xa6\x8c\xb7\x86\xcb\xca\x33\x3b\xd9\x3d\x37\x8b\xfb\x7a\x3e\x86\x2c\xe7\x73\xd7\x0a\x57\xac\x64\x9b\x19\xeb\xf4\x0f\x04\x08\x8a\xac\x03\x17\x19\x64\xf4\x5a\x25\x22\x8d\x34\x2c\xb2\xf6\x68\x1d\x12\x6d\xd3\x8a\x1e\x14\xda\xc4\x8f\xa6\xe2\x23\x85\xd5\x7a\x0d\xbd\x6a\xe0\xe9\xec\xec\x17\xbb\x42\x1b\x67\xaa\x25\xed\x45\x83\x21\xfc\xc1\xc9\x7c\xd5\x62\x3e\xfa\xf2\xc5\x2d\xd3\xfd\xd4\x65\x02\x03\x01\x00\x01\xa3\x81\x9f\x30\x81\x9c\x30\x13\x06\x09\x2b\x06\x01\x04\x01\x82\x37\x14\x02\x04\x06\x1e\x04\x00\x43\x00\x41\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x86\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xc6\x4f\xa2\x3d\x06\x63\x84\x09\x9c\xce\x62\xe4\x04\xac\x8d\x5c\xb5\xe9\xb6\x1b\x30\x36\x06\x03\x55\x1d\x1f\x04\x2f\x30\x2d\x30\x2b\xa0\x29\xa0\x27\x86\x25\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x78\x72\x61\x6d\x70\x73\x65\x63\x75\x72\x69\x74\x79\x2e\x63\x6f\x6d\x2f\x58\x47\x43\x41\x2e\x63\x72\x6c\x30\x10\x06\x09\x2b\x06\x01\x04\x01\x82\x37\x15\x01\x04\x03\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x91\x15\x39\x03\x01\x1b\x67\xfb\x4a\x1c\xf9\x0a\x60\x5b\xa1\xda\x4d\x97\x62\xf9\x24\x53\x27\xd7\x82\x64\x4e\x90\x2e\xc3\x49\x1b\x2b\x9a\xdc\xfc\xa8\x78\x67\x35\xf1\x1d\xf0\x11\xbd\xb7\x48\xe3\x10\xf6\x0d\xdf\x3f\xd2\xc9\xb6\xaa\x55\xa4\x48\xba\x02\xdb\xde\x59\x2e\x15\x5b\x3b\x9d\x16\x7d\x47\xd7\x37\xea\x5f\x4d\x76\x12\x36\xbb\x1f\xd7\xa1\x81\x04\x46\x20\xa3\x2c\x6d\xa9\x9e\x01\x7e\x3f\x29\xce\x00\x93\xdf\xfd\xc9\x92\x73\x89\x89\x64\x9e\xe7\x2b\xe4\x1c\x91\x2c\xd2\xb9\xce\x7d\xce\x6f\x31\x99\xd3\xe6\xbe\xd2\x1e\x90\xf0\x09\x14\x79\x5c\x23\xab\x4d\xd2\xda\x21\x1f\x4d\x99\x79\x9d\xe1\xcf\x27\x9f\x10\x9b\x1c\x88\x0d\xb0\x8a\x64\x41\x31\xb8\x0e\x6c\x90\x24\xa4\x9b\x5c\x71\x8f\xba\xbb\x7e\x1c\x1b\xdb\x6a\x80\x0f\x21\xbc\xe9\xdb\xa6\xb7\x40\xf4\xb2\x8b\xa9\xb1\xe4\xef\x9a\x1a\xd0\x3d\x69\x99\xee\xa8\x28\xa3\xe1\x3c\xb3\xf0\xb2\x11\x9c\xcf\x7c\x40\xe6\xdd\xe7\x43\x7d\xa2\xd8\x3a\xb5\xa9\x8d\xf2\x34\x99\xc4\xd4\x10\xe1\x06\xfd\x09\x84\x10\x3b\xee\xc4\x4c\xf4\xec\x27\x7c\x42\xc2\x74\x7c\x82\x8a\x09\xc9\xb4\x03\x25\xbc", - ["Go Daddy Class 2 CA"] = "\x30\x82\x04\x00\x30\x82\x02\xe8\xa0\x03\x02\x01\x02\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x63\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x21\x30\x1f\x06\x03\x55\x04\x0a\x13\x18\x54\x68\x65\x20\x47\x6f\x20\x44\x61\x64\x64\x79\x20\x47\x72\x6f\x75\x70\x2c\x20\x49\x6e\x63\x2e\x31\x31\x30\x2f\x06\x03\x55\x04\x0b\x13\x28\x47\x6f\x20\x44\x61\x64\x64\x79\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x34\x30\x36\x32\x39\x31\x37\x30\x36\x32\x30\x5a\x17\x0d\x33\x34\x30\x36\x32\x39\x31\x37\x30\x36\x32\x30\x5a\x30\x63\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x21\x30\x1f\x06\x03\x55\x04\x0a\x13\x18\x54\x68\x65\x20\x47\x6f\x20\x44\x61\x64\x64\x79\x20\x47\x72\x6f\x75\x70\x2c\x20\x49\x6e\x63\x2e\x31\x31\x30\x2f\x06\x03\x55\x04\x0b\x13\x28\x47\x6f\x20\x44\x61\x64\x64\x79\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x01\x20\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0d\x00\x30\x82\x01\x08\x02\x82\x01\x01\x00\xde\x9d\xd7\xea\x57\x18\x49\xa1\x5b\xeb\xd7\x5f\x48\x86\xea\xbe\xdd\xff\xe4\xef\x67\x1c\xf4\x65\x68\xb3\x57\x71\xa0\x5e\x77\xbb\xed\x9b\x49\xe9\x70\x80\x3d\x56\x18\x63\x08\x6f\xda\xf2\xcc\xd0\x3f\x7f\x02\x54\x22\x54\x10\xd8\xb2\x81\xd4\xc0\x75\x3d\x4b\x7f\xc7\x77\xc3\x3e\x78\xab\x1a\x03\xb5\x20\x6b\x2f\x6a\x2b\xb1\xc5\x88\x7e\xc4\xbb\x1e\xb0\xc1\xd8\x45\x27\x6f\xaa\x37\x58\xf7\x87\x26\xd7\xd8\x2d\xf6\xa9\x17\xb7\x1f\x72\x36\x4e\xa6\x17\x3f\x65\x98\x92\xdb\x2a\x6e\x5d\xa2\xfe\x88\xe0\x0b\xde\x7f\xe5\x8d\x15\xe1\xeb\xcb\x3a\xd5\xe2\x12\xa2\x13\x2d\xd8\x8e\xaf\x5f\x12\x3d\xa0\x08\x05\x08\xb6\x5c\xa5\x65\x38\x04\x45\x99\x1e\xa3\x60\x60\x74\xc5\x41\xa5\x72\x62\x1b\x62\xc5\x1f\x6f\x5f\x1a\x42\xbe\x02\x51\x65\xa8\xae\x23\x18\x6a\xfc\x78\x03\xa9\x4d\x7f\x80\xc3\xfa\xab\x5a\xfc\xa1\x40\xa4\xca\x19\x16\xfe\xb2\xc8\xef\x5e\x73\x0d\xee\x77\xbd\x9a\xf6\x79\x98\xbc\xb1\x07\x67\xa2\x15\x0d\xdd\xa0\x58\xc6\x44\x7b\x0a\x3e\x62\x28\x5f\xba\x41\x07\x53\x58\xcf\x11\x7e\x38\x74\xc5\xf8\xff\xb5\x69\x90\x8f\x84\x74\xea\x97\x1b\xaf\x02\x01\x03\xa3\x81\xc0\x30\x81\xbd\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xd2\xc4\xb0\xd2\x91\xd4\x4c\x11\x71\xb3\x61\xcb\x3d\xa1\xfe\xdd\xa8\x6a\xd4\xe3\x30\x81\x8d\x06\x03\x55\x1d\x23\x04\x81\x85\x30\x81\x82\x80\x14\xd2\xc4\xb0\xd2\x91\xd4\x4c\x11\x71\xb3\x61\xcb\x3d\xa1\xfe\xdd\xa8\x6a\xd4\xe3\xa1\x67\xa4\x65\x30\x63\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x21\x30\x1f\x06\x03\x55\x04\x0a\x13\x18\x54\x68\x65\x20\x47\x6f\x20\x44\x61\x64\x64\x79\x20\x47\x72\x6f\x75\x70\x2c\x20\x49\x6e\x63\x2e\x31\x31\x30\x2f\x06\x03\x55\x04\x0b\x13\x28\x47\x6f\x20\x44\x61\x64\x64\x79\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x82\x01\x00\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x32\x4b\xf3\xb2\xca\x3e\x91\xfc\x12\xc6\xa1\x07\x8c\x8e\x77\xa0\x33\x06\x14\x5c\x90\x1e\x18\xf7\x08\xa6\x3d\x0a\x19\xf9\x87\x80\x11\x6e\x69\xe4\x96\x17\x30\xff\x34\x91\x63\x72\x38\xee\xcc\x1c\x01\xa3\x1d\x94\x28\xa4\x31\xf6\x7a\xc4\x54\xd7\xf6\xe5\x31\x58\x03\xa2\xcc\xce\x62\xdb\x94\x45\x73\xb5\xbf\x45\xc9\x24\xb5\xd5\x82\x02\xad\x23\x79\x69\x8d\xb8\xb6\x4d\xce\xcf\x4c\xca\x33\x23\xe8\x1c\x88\xaa\x9d\x8b\x41\x6e\x16\xc9\x20\xe5\x89\x9e\xcd\x3b\xda\x70\xf7\x7e\x99\x26\x20\x14\x54\x25\xab\x6e\x73\x85\xe6\x9b\x21\x9d\x0a\x6c\x82\x0e\xa8\xf8\xc2\x0c\xfa\x10\x1e\x6c\x96\xef\x87\x0d\xc4\x0f\x61\x8b\xad\xee\x83\x2b\x95\xf8\x8e\x92\x84\x72\x39\xeb\x20\xea\x83\xed\x83\xcd\x97\x6e\x08\xbc\xeb\x4e\x26\xb6\x73\x2b\xe4\xd3\xf6\x4c\xfe\x26\x71\xe2\x61\x11\x74\x4a\xff\x57\x1a\x87\x0f\x75\x48\x2e\xcf\x51\x69\x17\xa0\x02\x12\x61\x95\xd5\xd1\x40\xb2\x10\x4c\xee\xc4\xac\x10\x43\xa6\xa5\x9e\x0a\xd5\x95\x62\x9a\x0d\xcf\x88\x82\xc5\x32\x0c\xe4\x2b\x9f\x45\xe6\x0d\x9f\x28\x9c\xb1\xb9\x2a\x5a\x57\xad\x37\x0f\xaf\x1d\x7f\xdb\xbd\x9f", - ["Starfield Class 2 CA"] = "\x30\x82\x04\x0f\x30\x82\x02\xf7\xa0\x03\x02\x01\x02\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x68\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x25\x30\x23\x06\x03\x55\x04\x0a\x13\x1c\x53\x74\x61\x72\x66\x69\x65\x6c\x64\x20\x54\x65\x63\x68\x6e\x6f\x6c\x6f\x67\x69\x65\x73\x2c\x20\x49\x6e\x63\x2e\x31\x32\x30\x30\x06\x03\x55\x04\x0b\x13\x29\x53\x74\x61\x72\x66\x69\x65\x6c\x64\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x34\x30\x36\x32\x39\x31\x37\x33\x39\x31\x36\x5a\x17\x0d\x33\x34\x30\x36\x32\x39\x31\x37\x33\x39\x31\x36\x5a\x30\x68\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x25\x30\x23\x06\x03\x55\x04\x0a\x13\x1c\x53\x74\x61\x72\x66\x69\x65\x6c\x64\x20\x54\x65\x63\x68\x6e\x6f\x6c\x6f\x67\x69\x65\x73\x2c\x20\x49\x6e\x63\x2e\x31\x32\x30\x30\x06\x03\x55\x04\x0b\x13\x29\x53\x74\x61\x72\x66\x69\x65\x6c\x64\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x01\x20\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0d\x00\x30\x82\x01\x08\x02\x82\x01\x01\x00\xb7\x32\xc8\xfe\xe9\x71\xa6\x04\x85\xad\x0c\x11\x64\xdf\xce\x4d\xef\xc8\x03\x18\x87\x3f\xa1\xab\xfb\x3c\xa6\x9f\xf0\xc3\xa1\xda\xd4\xd8\x6e\x2b\x53\x90\xfb\x24\xa4\x3e\x84\xf0\x9e\xe8\x5f\xec\xe5\x27\x44\xf5\x28\xa6\x3f\x7b\xde\xe0\x2a\xf0\xc8\xaf\x53\x2f\x9e\xca\x05\x01\x93\x1e\x8f\x66\x1c\x39\xa7\x4d\xfa\x5a\xb6\x73\x04\x25\x66\xeb\x77\x7f\xe7\x59\xc6\x4a\x99\x25\x14\x54\xeb\x26\xc7\xf3\x7f\x19\xd5\x30\x70\x8f\xaf\xb0\x46\x2a\xff\xad\xeb\x29\xed\xd7\x9f\xaa\x04\x87\xa3\xd4\xf9\x89\xa5\x34\x5f\xdb\x43\x91\x82\x36\xd9\x66\x3c\xb1\xb8\xb9\x82\xfd\x9c\x3a\x3e\x10\xc8\x3b\xef\x06\x65\x66\x7a\x9b\x19\x18\x3d\xff\x71\x51\x3c\x30\x2e\x5f\xbe\x3d\x77\x73\xb2\x5d\x06\x6c\xc3\x23\x56\x9a\x2b\x85\x26\x92\x1c\xa7\x02\xb3\xe4\x3f\x0d\xaf\x08\x79\x82\xb8\x36\x3d\xea\x9c\xd3\x35\xb3\xbc\x69\xca\xf5\xcc\x9d\xe8\xfd\x64\x8d\x17\x80\x33\x6e\x5e\x4a\x5d\x99\xc9\x1e\x87\xb4\x9d\x1a\xc0\xd5\x6e\x13\x35\x23\x5e\xdf\x9b\x5f\x3d\xef\xd6\xf7\x76\xc2\xea\x3e\xbb\x78\x0d\x1c\x42\x67\x6b\x04\xd8\xf8\xd6\xda\x6f\x8b\xf2\x44\xa0\x01\xab\x02\x01\x03\xa3\x81\xc5\x30\x81\xc2\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xbf\x5f\xb7\xd1\xce\xdd\x1f\x86\xf4\x5b\x55\xac\xdc\xd7\x10\xc2\x0e\xa9\x88\xe7\x30\x81\x92\x06\x03\x55\x1d\x23\x04\x81\x8a\x30\x81\x87\x80\x14\xbf\x5f\xb7\xd1\xce\xdd\x1f\x86\xf4\x5b\x55\xac\xdc\xd7\x10\xc2\x0e\xa9\x88\xe7\xa1\x6c\xa4\x6a\x30\x68\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x25\x30\x23\x06\x03\x55\x04\x0a\x13\x1c\x53\x74\x61\x72\x66\x69\x65\x6c\x64\x20\x54\x65\x63\x68\x6e\x6f\x6c\x6f\x67\x69\x65\x73\x2c\x20\x49\x6e\x63\x2e\x31\x32\x30\x30\x06\x03\x55\x04\x0b\x13\x29\x53\x74\x61\x72\x66\x69\x65\x6c\x64\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x82\x01\x00\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x05\x9d\x3f\x88\x9d\xd1\xc9\x1a\x55\xa1\xac\x69\xf3\xf3\x59\xda\x9b\x01\x87\x1a\x4f\x57\xa9\xa1\x79\x09\x2a\xdb\xf7\x2f\xb2\x1e\xcc\xc7\x5e\x6a\xd8\x83\x87\xa1\x97\xef\x49\x35\x3e\x77\x06\x41\x58\x62\xbf\x8e\x58\xb8\x0a\x67\x3f\xec\xb3\xdd\x21\x66\x1f\xc9\x54\xfa\x72\xcc\x3d\x4c\x40\xd8\x81\xaf\x77\x9e\x83\x7a\xbb\xa2\xc7\xf5\x34\x17\x8e\xd9\x11\x40\xf4\xfc\x2c\x2a\x4d\x15\x7f\xa7\x62\x5d\x2e\x25\xd3\x00\x0b\x20\x1a\x1d\x68\xf9\x17\xb8\xf4\xbd\x8b\xed\x28\x59\xdd\x4d\x16\x8b\x17\x83\xc8\xb2\x65\xc7\x2d\x7a\xa5\xaa\xbc\x53\x86\x6d\xdd\x57\xa4\xca\xf8\x20\x41\x0b\x68\xf0\xf4\xfb\x74\xbe\x56\x5d\x7a\x79\xf5\xf9\x1d\x85\xe3\x2d\x95\xbe\xf5\x71\x90\x43\xcc\x8d\x1f\x9a\x00\x0a\x87\x29\xe9\x55\x22\x58\x00\x23\xea\xe3\x12\x43\x29\x5b\x47\x08\xdd\x8c\x41\x6a\x65\x06\xa8\xe5\x21\xaa\x41\xb4\x95\x21\x95\xb9\x7d\xd1\x34\xab\x13\xd6\xad\xbc\xdc\xe2\x3d\x39\xcd\xbd\x3e\x75\x70\xa1\x18\x59\x03\xc9\x22\xb4\x8f\x9c\xd5\x5e\x2a\xd7\xa5\xb6\xd4\x0a\x6d\xf8\xb7\x40\x11\x46\x9a\x1f\x79\x0e\x62\xbf\x0f\x97\xec\xe0\x2f\x1f\x17\x94", - ["StartCom Certification Authority"] = "\x30\x82\x07\xc9\x30\x82\x05\xb1\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x7d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x49\x4c\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x53\x74\x61\x72\x74\x43\x6f\x6d\x20\x4c\x74\x64\x2e\x31\x2b\x30\x29\x06\x03\x55\x04\x0b\x13\x22\x53\x65\x63\x75\x72\x65\x20\x44\x69\x67\x69\x74\x61\x6c\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x53\x69\x67\x6e\x69\x6e\x67\x31\x29\x30\x27\x06\x03\x55\x04\x03\x13\x20\x53\x74\x61\x72\x74\x43\x6f\x6d\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x36\x30\x39\x31\x37\x31\x39\x34\x36\x33\x36\x5a\x17\x0d\x33\x36\x30\x39\x31\x37\x31\x39\x34\x36\x33\x36\x5a\x30\x7d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x49\x4c\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x53\x74\x61\x72\x74\x43\x6f\x6d\x20\x4c\x74\x64\x2e\x31\x2b\x30\x29\x06\x03\x55\x04\x0b\x13\x22\x53\x65\x63\x75\x72\x65\x20\x44\x69\x67\x69\x74\x61\x6c\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x53\x69\x67\x6e\x69\x6e\x67\x31\x29\x30\x27\x06\x03\x55\x04\x03\x13\x20\x53\x74\x61\x72\x74\x43\x6f\x6d\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xc1\x88\xdb\x09\xbc\x6c\x46\x7c\x78\x9f\x95\x7b\xb5\x33\x90\xf2\x72\x62\xd6\xc1\x36\x20\x22\x24\x5e\xce\xe9\x77\xf2\x43\x0a\xa2\x06\x64\xa4\xcc\x8e\x36\xf8\x38\xe6\x23\xf0\x6e\x6d\xb1\x3c\xdd\x72\xa3\x85\x1c\xa1\xd3\x3d\xb4\x33\x2b\xd3\x2f\xaf\xfe\xea\xb0\x41\x59\x67\xb6\xc4\x06\x7d\x0a\x9e\x74\x85\xd6\x79\x4c\x80\x37\x7a\xdf\x39\x05\x52\x59\xf7\xf4\x1b\x46\x43\xa4\xd2\x85\x85\xd2\xc3\x71\xf3\x75\x62\x34\xba\x2c\x8a\x7f\x1e\x8f\xee\xed\x34\xd0\x11\xc7\x96\xcd\x52\x3d\xba\x33\xd6\xdd\x4d\xde\x0b\x3b\x4a\x4b\x9f\xc2\x26\x2f\xfa\xb5\x16\x1c\x72\x35\x77\xca\x3c\x5d\xe6\xca\xe1\x26\x8b\x1a\x36\x76\x5c\x01\xdb\x74\x14\x25\xfe\xed\xb5\xa0\x88\x0f\xdd\x78\xca\x2d\x1f\x07\x97\x30\x01\x2d\x72\x79\xfa\x46\xd6\x13\x2a\xa8\xb9\xa6\xab\x83\x49\x1d\xe5\xf2\xef\xdd\xe4\x01\x8e\x18\x0a\x8f\x63\x53\x16\x85\x62\xa9\x0e\x19\x3a\xcc\xb5\x66\xa6\xc2\x6b\x74\x07\xe4\x2b\xe1\x76\x3e\xb4\x6d\xd8\xf6\x44\xe1\x73\x62\x1f\x3b\xc4\xbe\xa0\x53\x56\x25\x6c\x51\x09\xf7\xaa\xab\xca\xbf\x76\xfd\x6d\x9b\xf3\x9d\xdb\xbf\x3d\x66\xbc\x0c\x56\xaa\xaf\x98\x48\x95\x3a\x4b\xdf\xa7\x58\x50\xd9\x38\x75\xa9\x5b\xea\x43\x0c\x02\xff\x99\xeb\xe8\x6c\x4d\x70\x5b\x29\x65\x9c\xdd\xaa\x5d\xcc\xaf\x01\x31\xec\x0c\xeb\xd2\x8d\xe8\xea\x9c\x7b\xe6\x6e\xf7\x27\x66\x0c\x1a\x48\xd7\x6e\x42\xe3\x3f\xde\x21\x3e\x7b\xe1\x0d\x70\xfb\x63\xaa\xa8\x6c\x1a\x54\xb4\x5c\x25\x7a\xc9\xa2\xc9\x8b\x16\xa6\xbb\x2c\x7e\x17\x5e\x05\x4d\x58\x6e\x12\x1d\x01\xee\x12\x10\x0d\xc6\x32\x7f\x18\xff\xfc\xf4\xfa\xcd\x6e\x91\xe8\x36\x49\xbe\x1a\x48\x69\x8b\xc2\x96\x4d\x1a\x12\xb2\x69\x17\xc1\x0a\x90\xd6\xfa\x79\x22\x48\xbf\xba\x7b\x69\xf8\x70\xc7\xfa\x7a\x37\xd8\xd8\x0d\xd2\x76\x4f\x57\xff\x90\xb7\xe3\x91\xd2\xdd\xef\xc2\x60\xb7\x67\x3a\xdd\xfe\xaa\x9c\xf0\xd4\x8b\x7f\x72\x22\xce\xc6\x9f\x97\xb6\xf8\xaf\x8a\xa0\x10\xa8\xd9\xfb\x18\xc6\xb6\xb5\x5c\x52\x3c\x89\xb6\x19\x2a\x73\x01\x0a\x0f\x03\xb3\x12\x60\xf2\x7a\x2f\x81\xdb\xa3\x6e\xff\x26\x30\x97\xf5\x8b\xdd\x89\x57\xb6\xad\x3d\xb3\xaf\x2b\xc5\xb7\x76\x02\xf0\xa5\xd6\x2b\x9a\x86\x14\x2a\x72\xf6\xe3\x33\x8c\x5d\x09\x4b\x13\xdf\xbb\x8c\x74\x13\x52\x4b\x02\x03\x01\x00\x01\xa3\x82\x02\x52\x30\x82\x02\x4e\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\xae\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x4e\x0b\xef\x1a\xa4\x40\x5b\xa5\x17\x69\x87\x30\xca\x34\x68\x43\xd0\x41\xae\xf2\x30\x64\x06\x03\x55\x1d\x1f\x04\x5d\x30\x5b\x30\x2c\xa0\x2a\xa0\x28\x86\x26\x68\x74\x74\x70\x3a\x2f\x2f\x63\x65\x72\x74\x2e\x73\x74\x61\x72\x74\x63\x6f\x6d\x2e\x6f\x72\x67\x2f\x73\x66\x73\x63\x61\x2d\x63\x72\x6c\x2e\x63\x72\x6c\x30\x2b\xa0\x29\xa0\x27\x86\x25\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x73\x74\x61\x72\x74\x63\x6f\x6d\x2e\x6f\x72\x67\x2f\x73\x66\x73\x63\x61\x2d\x63\x72\x6c\x2e\x63\x72\x6c\x30\x82\x01\x5d\x06\x03\x55\x1d\x20\x04\x82\x01\x54\x30\x82\x01\x50\x30\x82\x01\x4c\x06\x0b\x2b\x06\x01\x04\x01\x81\xb5\x37\x01\x01\x01\x30\x82\x01\x3b\x30\x2f\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x23\x68\x74\x74\x70\x3a\x2f\x2f\x63\x65\x72\x74\x2e\x73\x74\x61\x72\x74\x63\x6f\x6d\x2e\x6f\x72\x67\x2f\x70\x6f\x6c\x69\x63\x79\x2e\x70\x64\x66\x30\x35\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x29\x68\x74\x74\x70\x3a\x2f\x2f\x63\x65\x72\x74\x2e\x73\x74\x61\x72\x74\x63\x6f\x6d\x2e\x6f\x72\x67\x2f\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x2e\x70\x64\x66\x30\x81\xd0\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x02\x30\x81\xc3\x30\x27\x16\x20\x53\x74\x61\x72\x74\x20\x43\x6f\x6d\x6d\x65\x72\x63\x69\x61\x6c\x20\x28\x53\x74\x61\x72\x74\x43\x6f\x6d\x29\x20\x4c\x74\x64\x2e\x30\x03\x02\x01\x01\x1a\x81\x97\x4c\x69\x6d\x69\x74\x65\x64\x20\x4c\x69\x61\x62\x69\x6c\x69\x74\x79\x2c\x20\x72\x65\x61\x64\x20\x74\x68\x65\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x2a\x4c\x65\x67\x61\x6c\x20\x4c\x69\x6d\x69\x74\x61\x74\x69\x6f\x6e\x73\x2a\x20\x6f\x66\x20\x74\x68\x65\x20\x53\x74\x61\x72\x74\x43\x6f\x6d\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x50\x6f\x6c\x69\x63\x79\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x61\x74\x20\x68\x74\x74\x70\x3a\x2f\x2f\x63\x65\x72\x74\x2e\x73\x74\x61\x72\x74\x63\x6f\x6d\x2e\x6f\x72\x67\x2f\x70\x6f\x6c\x69\x63\x79\x2e\x70\x64\x66\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x38\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x0d\x04\x2b\x16\x29\x53\x74\x61\x72\x74\x43\x6f\x6d\x20\x46\x72\x65\x65\x20\x53\x53\x4c\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x16\x6c\x99\xf4\x66\x0c\x34\xf5\xd0\x85\x5e\x7d\x0a\xec\xda\x10\x4e\x38\x1c\x5e\xdf\xa6\x25\x05\x4b\x91\x32\xc1\xe8\x3b\xf1\x3d\xdd\x44\x09\x5b\x07\x49\x8a\x29\xcb\x66\x02\xb7\xb1\x9a\xf7\x25\x98\x09\x3c\x8e\x1b\xe1\xdd\x36\x87\x2b\x4b\xbb\x68\xd3\x39\x66\x3d\xa0\x26\xc7\xf2\x39\x91\x1d\x51\xab\x82\x7b\x7e\xd5\xce\x5a\xe4\xe2\x03\x57\x70\x69\x97\x08\xf9\x5e\x58\xa6\x0a\xdf\x8c\x06\x9a\x45\x16\x16\x38\x0a\x5e\x57\xf6\x62\xc7\x7a\x02\x05\xe6\xbc\x1e\xb5\xf2\x9e\xf4\xa9\x29\x83\xf8\xb2\x14\xe3\x6e\x28\x87\x44\xc3\x90\x1a\xde\x38\xa9\x3c\xac\x43\x4d\x64\x45\xce\xdd\x28\xa9\x5c\xf2\x73\x7b\x04\xf8\x17\xe8\xab\xb1\xf3\x2e\x5c\x64\x6e\x73\x31\x3a\x12\xb8\xbc\xb3\x11\xe4\x7d\x8f\x81\x51\x9a\x3b\x8d\x89\xf4\x4d\x93\x66\x7b\x3c\x03\xed\xd3\x9a\x1d\x9a\xf3\x65\x50\xf5\xa0\xd0\x75\x9f\x2f\xaf\xf0\xea\x82\x43\x98\xf8\x69\x9c\x89\x79\xc4\x43\x8e\x46\x72\xe3\x64\x36\x12\xaf\xf7\x25\x1e\x38\x89\x90\x77\x7e\xc3\x6b\x6a\xb9\xc3\xcb\x44\x4b\xac\x78\x90\x8b\xe7\xc7\x2c\x1e\x4b\x11\x44\xc8\x34\x52\x27\xcd\x0a\x5d\x9f\x85\xc1\x89\xd5\x1a\x78\xf2\x95\x10\x53\x32\xdd\x80\x84\x66\x75\xd9\xb5\x68\x28\xfb\x61\x2e\xbe\x84\xa8\x38\xc0\x99\x12\x86\xa5\x1e\x67\x64\xad\x06\x2e\x2f\xa9\x70\x85\xc7\x96\x0f\x7c\x89\x65\xf5\x8e\x43\x54\x0e\xab\xdd\xa5\x80\x39\x94\x60\xc0\x34\xc9\x96\x70\x2c\xa3\x12\xf5\x1f\x48\x7b\xbd\x1c\x7e\x6b\xb7\x9d\x90\xf4\x22\x3b\xae\xf8\xfc\x2a\xca\xfa\x82\x52\xa0\xef\xaf\x4b\x55\x93\xeb\xc1\xb5\xf0\x22\x8b\xac\x34\x4e\x26\x22\x04\xa1\x87\x2c\x75\x4a\xb7\xe5\x7d\x13\xd7\xb8\x0c\x64\xc0\x36\xd2\xc9\x2f\x86\x12\x8c\x23\x09\xc1\x1b\x82\x3b\x73\x49\xa3\x6a\x57\x87\x94\xe5\xd6\x78\xc5\x99\x43\x63\xe3\x4d\xe0\x77\x2d\xe1\x65\x99\x72\x69\x04\x1a\x47\x09\xe6\x0f\x01\x56\x24\xfb\x1f\xbf\x0e\x79\xa9\x58\x2e\xb9\xc4\x09\x01\x7e\x95\xba\x6d\x00\x06\x3e\xb2\xea\x4a\x10\x39\xd8\xd0\x2b\xf5\xbf\xec\x75\xbf\x97\x02\xc5\x09\x1b\x08\xdc\x55\x37\xe2\x81\xfb\x37\x84\x43\x62\x20\xca\xe7\x56\x4b\x65\xea\xfe\x6c\xc1\x24\x93\x24\xa1\x34\xeb\x05\xff\x9a\x22\xae\x9b\x7d\x3f\xf1\x65\x51\x0a\xa6\x30\x6a\xb3\xf4\x88\x1c\x80\x0d\xfc\x72\x8a\xe8\x83\x5e", - ["Taiwan GRCA"] = "\x30\x82\x05\x72\x30\x82\x03\x5a\xa0\x03\x02\x01\x02\x02\x10\x1f\x9d\x59\x5a\xd7\x2f\xc2\x06\x44\xa5\x80\x08\x69\xe3\x5e\xf6\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x3f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x57\x31\x30\x30\x2e\x06\x03\x55\x04\x0a\x0c\x27\x47\x6f\x76\x65\x72\x6e\x6d\x65\x6e\x74\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x32\x31\x32\x30\x35\x31\x33\x32\x33\x33\x33\x5a\x17\x0d\x33\x32\x31\x32\x30\x35\x31\x33\x32\x33\x33\x33\x5a\x30\x3f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x57\x31\x30\x30\x2e\x06\x03\x55\x04\x0a\x0c\x27\x47\x6f\x76\x65\x72\x6e\x6d\x65\x6e\x74\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\x9a\x25\xb8\xec\xcc\xa2\x75\xa8\x7b\xf7\xce\x5b\x59\x8a\xc9\xd1\x86\x12\x08\x54\xec\x9c\xf2\xe7\x46\xf6\x88\xf3\x7c\xe9\xa5\xdf\x4c\x47\x36\xa4\x1b\x01\x1c\x7f\x1e\x57\x8a\x8d\xc3\xc5\xd1\x21\xe3\xda\x24\x3f\x48\x2b\xfb\x9f\x2e\xa1\x94\xe7\x2c\x1c\x93\xd1\xbf\x1b\x01\x87\x53\x99\xce\xa7\xf5\x0a\x21\x76\x77\xff\xa9\xb7\xc6\x73\x94\x4f\x46\xf7\x10\x49\x37\xfa\xa8\x59\x49\x5d\x6a\x81\x07\x56\xf2\x8a\xf9\x06\xd0\xf7\x70\x22\x4d\xb4\xb7\x41\xb9\x32\xb8\xb1\xf0\xb1\xc3\x9c\x3f\x70\xfd\x53\xdd\x81\xaa\xd8\x63\x78\xf6\xd8\x53\x6e\xa1\xac\x6a\x84\x24\x72\x54\x86\xc6\xd2\xb2\xca\x1c\x0e\x79\x81\xd6\xb5\x70\x62\x08\x01\x2e\x4e\x4f\x0e\xd5\x11\xaf\xa9\xaf\xe5\x9a\xbf\xdc\xcc\x87\x6d\x26\xe4\xc9\x57\xa2\xfb\x96\xf9\xcc\xe1\x3f\x53\x8c\x6c\x4c\x7e\x9b\x53\x08\x0b\x6c\x17\xfb\x67\xc8\xc2\xad\xb1\xcd\x80\xb4\x97\xdc\x76\x01\x16\x15\xe9\x6a\xd7\xa4\xe1\x78\x47\xce\x86\xd5\xfb\x31\xf3\xfa\x31\xbe\x34\xaa\x28\xfb\x70\x4c\x1d\x49\xc7\xaf\x2c\x9d\x6d\x66\xa6\xb6\x8d\x64\x7e\xb5\x20\x6a\x9d\x3b\x81\xb6\x8f\x40\x00\x67\x4b\x89\x86\xb8\xcc\x65\xfe\x15\x53\xe9\x04\xc1\xd6\x5f\x1d\x44\xd7\x0a\x2f\x27\x9a\x46\x7d\xa1\x0d\x75\xad\x54\x86\x15\xdc\x49\x3b\xf1\x96\xce\x0f\x9b\xa0\xec\xa3\x7a\x5d\xbe\xd5\x2a\x75\x42\xe5\x7b\xde\xa5\xb6\xaa\xaf\x28\xac\xac\x90\xac\x38\xb7\xd5\x68\x35\x26\x7a\xdc\xf7\x3b\xf3\xfd\x45\x9b\xd1\xbb\x43\x78\x6e\x6f\xf1\x42\x54\x6a\x98\xf0\x0d\xad\x97\xe9\x52\x5e\xe9\xd5\x6a\x72\xde\x6a\xf7\x1b\x60\x14\xf4\xa5\xe4\xb6\x71\x67\xaa\x1f\xea\xe2\x4d\xc1\x42\x40\xfe\x67\x46\x17\x38\x2f\x47\x3f\x71\x9c\xae\xe5\x21\xca\x61\x2d\x6d\x07\xa8\x84\x7c\x2d\xee\x51\x25\xf1\x63\x90\x9e\xfd\xe1\x57\x88\x6b\xef\x8a\x23\x6d\xb1\xe6\xbd\x3f\xad\xd1\x3d\x96\x0b\x85\x8d\xcd\x6b\x27\xbb\xb7\x05\x9b\xec\xbb\x91\xa9\x0a\x07\x12\x02\x97\x4e\x20\x90\xf0\xff\x0d\x1e\xe2\x41\x3b\xd3\x40\x3a\xe7\x8d\x5d\xda\x66\xe4\x02\xb0\x07\x52\x98\x5c\x0e\x8e\x33\x9c\xc2\xa6\x95\xfb\x55\x19\x6e\x4c\x8e\xae\x4b\x0f\xbd\xc1\x38\x4d\x5e\x8f\x84\x1d\x66\xcd\xc5\x60\x96\xb4\x52\x5a\x05\x89\x8e\x95\x7a\x98\xc1\x91\x3c\x95\x23\xb2\x0e\xf4\x79\xb4\xc9\x7c\xc1\x4a\x21\x02\x03\x01\x00\x01\xa3\x6a\x30\x68\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xcc\xcc\xef\xcc\x29\x60\xa4\x3b\xb1\x92\xb6\x3c\xfa\x32\x62\x8f\xac\x25\x15\x3b\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x39\x06\x04\x67\x2a\x07\x00\x04\x31\x30\x2f\x30\x2d\x02\x01\x00\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x30\x07\x06\x05\x67\x2a\x03\x00\x00\x04\x14\x03\x9b\xf0\x22\x13\xff\x95\x28\x36\xd3\xdc\x9e\xc0\x32\xfb\x31\x3a\x8a\x51\x65\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x40\x80\x4a\xfa\x26\xc9\xce\x5e\x30\xdd\x4f\x86\x74\x76\x58\xf5\xae\xb3\x83\x33\x78\xa4\x7a\x74\x17\x19\x4e\xe9\x52\xb5\xb9\xe0\x0a\x74\x62\xaa\x68\xca\x78\xa0\x4c\x9a\x8e\x2c\x23\x2e\xd5\x6a\x12\x24\xbf\xd4\x68\xd3\x8a\xd0\xd8\x9c\x9f\xb4\x1f\x0c\xde\x38\x7e\x57\x38\xfc\x8d\xe2\x4f\x5e\x0c\x9f\xab\x3b\xd2\xff\x75\x97\xcb\xa4\xe3\x67\x08\xff\xe5\xc0\x16\xb5\x48\x01\x7d\xe9\xf9\x0a\xff\x1b\xe5\x6a\x69\xbf\x78\x21\xa8\xc2\xa7\x23\xa9\x86\xab\x76\x56\xe8\x0e\x0c\xf6\x13\xdd\x2a\x66\x8a\x64\x49\x3d\x1a\x18\x87\x90\x04\x9f\x42\x52\xb7\x4f\xcb\xfe\x47\x41\x76\x35\xef\xff\x00\x76\x36\x45\x32\x9b\xc6\x46\x85\x5d\xe2\x24\xb0\x1e\xe3\x48\x96\x98\x57\x47\x94\x55\x7a\x0f\x41\xb1\x44\x24\xf3\xc1\xfe\x1a\x6b\xbf\x88\xfd\xc1\xa6\xda\x93\x60\x5e\x81\x4a\x99\x20\x9c\x48\x66\x19\xb5\x00\x79\x54\x0f\xb8\x2c\x2f\x4b\xbc\xa9\x5d\x5b\x60\x7f\x8c\x87\xa5\xe0\x52\x63\x2a\xbe\xd8\x3b\x85\x40\x15\xfe\x1e\xb6\x65\x3f\xc5\x4b\xda\x7e\xb5\x7a\x35\x29\xa3\x2e\x7a\x98\x60\x22\xa3\xf4\x7d\x27\x4e\x2d\xea\xb4\x74\x3c\xe9\x0f\xa4\x33\x0f\x10\x11\xbc\x13\x01\xd6\xe5\x0e\xd3\xbf\xb5\x12\xa2\xe1\x45\x23\xc0\xcc\x08\x6e\x61\xb7\x89\xab\x83\xe3\x24\x1e\xe6\x5d\x07\xe7\x1f\x20\x3e\xcf\x67\xc8\xe7\xac\x30\x6d\x27\x4b\x68\x6e\x4b\x2a\x5c\x02\x08\x34\xdb\xf8\x76\xe4\x67\xa3\x26\x9c\x3f\xa2\x32\xc2\x4a\xc5\x81\x18\x31\x10\x56\xaa\x84\xef\x2d\x0a\xff\xb8\x1f\x77\xd2\xbf\xa5\x58\xa0\x62\xe4\xd7\x4b\x91\x75\x8d\x89\x80\x98\x7e\x6d\xcb\x53\x4e\x5e\xaf\xf6\xb2\x97\x85\x97\xb9\xda\x55\x06\xb9\x24\xee\xd7\xc6\x38\x1e\x63\x1b\x12\x3b\x95\xe1\x58\xac\xf2\xdf\x84\xd5\x5f\x99\x2f\x0d\x55\x5b\xe6\x38\xdb\x2e\x3f\x72\xe9\x48\x85\xcb\xbb\x29\x13\x8f\x1e\x38\x55\xb9\xf3\xb2\xc4\x30\x99\x23\x4e\x5d\xf2\x48\xa1\x12\x0c\xdc\x12\x90\x09\x90\x54\x91\x03\x3c\x47\xe5\xd5\xc9\x65\xe0\xb7\x4b\x7d\xec\x47\xd3\xb3\x0b\x3e\xad\x9e\xd0\x74\x00\x0e\xeb\xbd\x51\xad\xc0\xde\x2c\xc0\xc3\x6a\xfe\xef\xdc\x0b\xa7\xfa\x46\xdf\x60\xdb\x9c\xa6\x59\x50\x75\x23\x69\x73\x93\xb2\xf9\xfc\x02\xd3\x47\xe6\x71\xce\x10\x02\xee\x27\x8c\x84\xff\xac\x45\x0d\x13\x5c\x83\x32\xe0\x25\xa5\x86\x2c\x7c\xf4\x12", - ["Firmaprofesional Root CA"] = "\x30\x82\x04\x57\x30\x82\x03\x3f\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x9d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x31\x22\x30\x20\x06\x03\x55\x04\x07\x13\x19\x43\x2f\x20\x4d\x75\x6e\x74\x61\x6e\x65\x72\x20\x32\x34\x34\x20\x42\x61\x72\x63\x65\x6c\x6f\x6e\x61\x31\x42\x30\x40\x06\x03\x55\x04\x03\x13\x39\x41\x75\x74\x6f\x72\x69\x64\x61\x64\x20\x64\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x63\x69\x6f\x6e\x20\x46\x69\x72\x6d\x61\x70\x72\x6f\x66\x65\x73\x69\x6f\x6e\x61\x6c\x20\x43\x49\x46\x20\x41\x36\x32\x36\x33\x34\x30\x36\x38\x31\x26\x30\x24\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x17\x63\x61\x40\x66\x69\x72\x6d\x61\x70\x72\x6f\x66\x65\x73\x69\x6f\x6e\x61\x6c\x2e\x63\x6f\x6d\x30\x1e\x17\x0d\x30\x31\x31\x30\x32\x34\x32\x32\x30\x30\x30\x30\x5a\x17\x0d\x31\x33\x31\x30\x32\x34\x32\x32\x30\x30\x30\x30\x5a\x30\x81\x9d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x31\x22\x30\x20\x06\x03\x55\x04\x07\x13\x19\x43\x2f\x20\x4d\x75\x6e\x74\x61\x6e\x65\x72\x20\x32\x34\x34\x20\x42\x61\x72\x63\x65\x6c\x6f\x6e\x61\x31\x42\x30\x40\x06\x03\x55\x04\x03\x13\x39\x41\x75\x74\x6f\x72\x69\x64\x61\x64\x20\x64\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x63\x69\x6f\x6e\x20\x46\x69\x72\x6d\x61\x70\x72\x6f\x66\x65\x73\x69\x6f\x6e\x61\x6c\x20\x43\x49\x46\x20\x41\x36\x32\x36\x33\x34\x30\x36\x38\x31\x26\x30\x24\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x17\x63\x61\x40\x66\x69\x72\x6d\x61\x70\x72\x6f\x66\x65\x73\x69\x6f\x6e\x61\x6c\x2e\x63\x6f\x6d\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xe7\x23\x03\x6f\x6f\x23\xa5\x5e\x78\xce\x95\x2c\xed\x94\x1e\x6e\x0a\x9e\x01\xc7\xea\x30\xd1\x2c\x9d\xdd\x37\xe8\x9b\x98\x79\x56\xd3\xfc\x73\xdf\xd0\x8a\xde\x55\x8f\x51\xf9\x5a\xea\xde\xb5\x70\xc4\xed\xa4\xed\xff\xa3\x0d\x6e\x0f\x64\x50\x31\xaf\x01\x27\x58\xae\xfe\x6c\xa7\x4a\x2f\x17\x2d\xd3\x73\xd5\x13\x1c\x8f\x59\xa5\x34\x2c\x1d\x54\x04\x45\xcd\x68\xb8\xa0\xc0\x03\xa5\xcf\x85\x42\x47\x95\x28\x5b\xcf\xef\x80\x6c\xe0\x90\x97\x8a\x01\x3c\x1d\xf3\x87\x10\x30\x26\x48\x7d\xd7\xfc\xe9\x9d\x91\x71\xff\x41\x9a\xa9\x40\xb5\x37\x9c\x29\x20\x4f\x1f\x52\xe3\xa0\x7d\x13\x6d\x54\xb7\x0a\xde\xe9\x6a\x4e\x07\xac\xac\x19\x5f\xdc\x7e\x62\x74\xf6\xb2\x05\x00\xba\x85\xa0\xfd\x1d\x38\x6e\xcb\x5a\xbb\x86\xbc\x94\x67\x33\x35\x83\x2c\x1f\x23\xcd\xf8\xc8\x91\x71\xcc\x97\x8b\xef\xae\x0f\xdc\x29\x03\x1b\xc0\x39\xeb\x70\xed\xc1\x6e\x0e\xd8\x67\x0b\x89\xa9\xbc\x35\xe4\xef\xb6\x34\xb4\xa5\xb6\xc4\x2d\xa5\xbe\xd0\xc3\x94\x24\x48\xdb\xdf\x96\xd3\x00\xb5\x66\x1a\x8b\x66\x05\x0f\xdd\x3f\x3f\xcb\x3f\xaa\x5e\x9a\x4a\xf8\xb4\x4a\xef\x95\x37\x1b\x02\x03\x01\x00\x01\xa3\x81\x9f\x30\x81\x9c\x30\x2a\x06\x03\x55\x1d\x11\x04\x23\x30\x21\x86\x1f\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x66\x69\x72\x6d\x61\x70\x72\x6f\x66\x65\x73\x69\x6f\x6e\x61\x6c\x2e\x63\x6f\x6d\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x01\x30\x2b\x06\x03\x55\x1d\x10\x04\x24\x30\x22\x80\x0f\x32\x30\x30\x31\x31\x30\x32\x34\x32\x32\x30\x30\x30\x30\x5a\x81\x0f\x32\x30\x31\x33\x31\x30\x32\x34\x32\x32\x30\x30\x30\x30\x5a\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x33\x0b\xa0\x66\xd1\xea\xda\xce\xde\x62\x93\x04\x28\x52\xb5\x14\x7f\x38\x68\xb7\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x47\x73\xfe\x8d\x27\x54\xf0\xf5\xd4\x77\x9c\x27\x79\x57\x57\xb7\x15\x56\xec\xc7\xd8\x58\xb7\x01\x02\xf4\x33\xed\x93\x50\x88\x9e\x7c\x46\xb1\xbd\x3f\x14\x6f\xf1\xb3\x47\x48\x8b\x8c\x97\x06\xd7\xea\x7e\xa3\x5c\x2a\xbb\x4d\x2f\x47\xe2\xf8\x39\x06\xc9\x9c\x2e\x31\x1a\x03\x78\xf4\xbc\x38\xc6\x22\x8b\x33\x31\xf0\x16\x04\x04\x7d\xf9\x76\xe4\x4b\xd7\xc0\xe6\x83\xec\x59\xcc\x3f\xde\xff\x4f\x6b\xb7\x67\x7e\xa6\x86\x81\x32\x23\x03\x9d\xc8\xf7\x5f\xc1\x4a\x60\xa5\x92\xa9\xb1\xa4\xa0\x60\xc3\x78\x87\xb3\x22\xf3\x2a\xeb\x5b\xa9\xed\x05\xab\x37\x0f\xb1\xe2\xd3\x95\x76\x63\x56\x74\x8c\x58\x72\x1b\x37\xe5\x64\xa1\xbe\x4d\x0c\x93\x98\x0c\x97\xf6\x87\x6d\xb3\x3f\xe7\xcb\x80\xa6\xed\x88\xc7\x5f\x50\x62\x02\xe8\x99\x74\x16\xd0\xe6\xb4\x39\xf1\x27\xcb\xc8\x40\xd6\xe3\x86\x10\xa9\x23\x12\x92\xe0\x69\x41\x63\xa7\xaf\x25\x0b\xc0\xc5\x92\xcb\x1e\x98\xa3\x5a\xba\xc5\x33\x0f\xa0\x97\x01\xdd\x7f\xe0\x7b\xd6\x06\x54\xcf\xa1\xe2\x4d\x38\xeb\x4b\x50\xb5\xcb\x26\xf4\xca\xda\x70\x4a\x6a\xa1\xe2\x79\xaa\xe1\xa7\x33\xf6\xfd\x4a\x1f\xf6\xd9\x60", - ["Wells Fargo Root CA"] = "\x30\x82\x03\xe5\x30\x82\x02\xcd\xa0\x03\x02\x01\x02\x02\x04\x39\xe4\x97\x9e\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x82\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x31\x2c\x30\x2a\x06\x03\x55\x04\x0b\x13\x23\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x2f\x30\x2d\x06\x03\x55\x04\x03\x13\x26\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x30\x31\x30\x31\x31\x31\x36\x34\x31\x32\x38\x5a\x17\x0d\x32\x31\x30\x31\x31\x34\x31\x36\x34\x31\x32\x38\x5a\x30\x81\x82\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x13\x0b\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x31\x2c\x30\x2a\x06\x03\x55\x04\x0b\x13\x23\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x31\x2f\x30\x2d\x06\x03\x55\x04\x03\x13\x26\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xd5\xa8\x33\x3b\x26\xf9\x34\xff\xcd\x9b\x7e\xe5\x04\x47\xce\x00\xe2\x7d\x77\xe7\x31\xc2\x2e\x27\xa5\x4d\x68\xb9\x31\xba\x8d\x43\x59\x97\xc7\x73\xaa\x7f\x3d\x5c\x40\x9e\x05\xe5\xa1\xe2\x89\xd9\x4c\xb8\x3f\x9b\xf9\x0c\xb4\xc8\x62\x19\x2c\x45\xae\x91\x1e\x73\x71\x41\xc4\x4b\x13\xfd\x70\xc2\x25\xac\x22\xf5\x75\x0b\xb7\x53\xe4\xa5\x2b\xdd\xce\xbd\x1c\x3a\x7a\xc3\xf7\x13\x8f\x26\x54\x9c\x16\x6b\x6b\xaf\xfb\xd8\x96\xb1\x60\x9a\x48\xe0\x25\x22\x24\x79\x34\xce\x0e\x26\x00\x0b\x4e\xab\xfd\x8b\xce\x82\xd7\x2f\x08\x70\x68\xc1\xa8\x0a\xf9\x74\x4f\x07\xab\xa4\xf9\xe2\x83\x7e\x27\x73\x74\x3e\xb8\xf9\x38\x42\xfc\xa5\xa8\x5b\x48\x23\xb3\xeb\xe3\x25\xb2\x80\xae\x96\xd4\x0a\x9c\xc2\x78\x9a\xc6\x68\x18\xae\x37\x62\x37\x5e\x51\x75\xa8\x58\x63\xc0\x51\xee\x40\x78\x7e\xa8\xaf\x1a\xa0\xe1\xb0\x78\x9d\x50\x8c\x7b\xe7\xb3\xfc\x8e\x23\xb0\xdb\x65\x00\x70\x84\x01\x08\x00\x14\x6e\x54\x86\x9a\xba\xcc\xf9\x37\x10\xf6\xe0\xde\x84\x2d\x9d\xa4\x85\x37\xd3\x87\xe3\x15\xd0\xc1\x17\x90\x7e\x19\x21\x6a\x12\xa9\x76\xfd\x12\x02\xe9\x4f\x21\x5e\x17\x02\x03\x01\x00\x01\xa3\x61\x30\x5f\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x4c\x06\x03\x55\x1d\x20\x04\x45\x30\x43\x30\x41\x06\x0b\x60\x86\x48\x01\x86\xfb\x7b\x87\x07\x01\x0b\x30\x32\x30\x30\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x24\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x65\x6c\x6c\x73\x66\x61\x72\x67\x6f\x2e\x63\x6f\x6d\x2f\x63\x65\x72\x74\x70\x6f\x6c\x69\x63\x79\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xd2\x27\xdd\x9c\x0a\x77\x2b\xbb\x22\xf2\x02\xb5\x4a\x4a\x91\xf9\xd1\x2d\xbe\xe4\xbb\x1a\x68\xef\x0e\xa4\x00\xe9\xee\xe7\xef\xee\xf6\xf9\xe5\x74\xa4\xc2\xd8\x52\x58\xc4\x74\xfb\xce\x6b\xb5\x3b\x29\x79\x18\x5a\xef\x9b\xed\x1f\x6b\x36\xee\x48\x25\x25\x14\xb6\x56\xa2\x10\xe8\xee\xa7\x7f\xd0\x3f\xa3\xd0\xc3\x5d\x26\xee\x07\xcc\xc3\xc1\x24\x21\x87\x1e\xdf\x2a\x12\x53\x6f\x41\x16\xe7\xed\xae\x94\xfa\x8c\x72\xfa\x13\x47\xf0\x3c\x7e\xae\x7d\x11\x3a\x13\xec\xed\xfa\x6f\x72\x64\x7b\x9d\x7d\x7f\x26\xfd\x7a\xfb\x25\xad\xea\x3e\x29\x7f\x4c\xe3\x00\x57\x32\xb0\xb3\xe9\xed\x53\x17\xd9\x8b\xb2\x14\x0e\x30\xe8\xe5\xd5\x13\xc6\x64\xaf\xc4\x00\xd5\xd8\x58\x24\xfc\xf5\x8f\xec\xf1\xc7\x7d\xa5\xdb\x0f\x27\xd1\xc6\xf2\x40\x88\xe6\x1f\xf6\x61\xa8\xf4\x42\xc8\xb9\x37\xd3\xa9\xbe\x2c\x56\x78\xc2\x72\x9b\x59\x5d\x35\x40\x8a\xe8\x4e\x63\x1a\xb6\xe9\x20\x6a\x51\xe2\xce\xa4\x90\xdf\x76\x70\x99\x5c\x70\x43\x4d\xb7\xb6\xa7\x19\x64\x4e\x92\xb7\xc5\x91\x3c\x7f\x48\x16\x65\x7b\x16\xfd\xcb\xfc\xfb\xd9\xd5\xd6\x4f\x21\x65\x3b\x4a\x7f\x47\xa3\xfb", - ["Swisscom Root CA 1"] = "\x30\x82\x05\xd9\x30\x82\x03\xc1\xa0\x03\x02\x01\x02\x02\x10\x5c\x0b\x85\x5c\x0b\xe7\x59\x41\xdf\x57\xcc\x3f\x7f\x9d\xa8\x36\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x64\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x63\x68\x31\x11\x30\x0f\x06\x03\x55\x04\x0a\x13\x08\x53\x77\x69\x73\x73\x63\x6f\x6d\x31\x25\x30\x23\x06\x03\x55\x04\x0b\x13\x1c\x44\x69\x67\x69\x74\x61\x6c\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x53\x65\x72\x76\x69\x63\x65\x73\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x53\x77\x69\x73\x73\x63\x6f\x6d\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x31\x30\x1e\x17\x0d\x30\x35\x30\x38\x31\x38\x31\x32\x30\x36\x32\x30\x5a\x17\x0d\x32\x35\x30\x38\x31\x38\x32\x32\x30\x36\x32\x30\x5a\x30\x64\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x63\x68\x31\x11\x30\x0f\x06\x03\x55\x04\x0a\x13\x08\x53\x77\x69\x73\x73\x63\x6f\x6d\x31\x25\x30\x23\x06\x03\x55\x04\x0b\x13\x1c\x44\x69\x67\x69\x74\x61\x6c\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x53\x65\x72\x76\x69\x63\x65\x73\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x53\x77\x69\x73\x73\x63\x6f\x6d\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x31\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xd0\xb9\xb0\xa8\x0c\xd9\xbb\x3f\x21\xf8\x1b\xd5\x33\x93\x80\x16\x65\x20\x75\xb2\x3d\x9b\x60\x6d\x46\xc8\x8c\x31\x6f\x17\xc3\xfa\x9a\x6c\x56\xed\x3c\xc5\x91\x57\xc3\xcd\xab\x96\x49\x90\x2a\x19\x4b\x1e\xa3\x6d\x57\xdd\xf1\x2b\x62\x28\x75\x45\x5e\xaa\xd6\x5b\xfa\x0b\x25\xd8\xa1\x16\xf9\x1c\xc4\x2e\xe6\x95\x2a\x67\xcc\xd0\x29\x6e\x3c\x85\x34\x38\x61\x49\xb1\x00\x9f\xd6\x3a\x71\x5f\x4d\x6d\xce\x5f\xb9\xa9\xe4\x89\x7f\x6a\x52\xfa\xca\x9b\xf2\xdc\xa9\xf9\x9d\x99\x47\x3f\x4e\x29\x5f\xb4\xa6\x8d\x5d\x7b\x0b\x99\x11\x03\x03\xfe\xe7\xdb\xdb\xa3\xff\x1d\xa5\xcd\x90\x1e\x01\x1f\x35\xb0\x7f\x00\xdb\x90\x6f\xc6\x7e\x7b\xd1\xee\x7a\x7a\xa7\xaa\x0c\x57\x6f\xa4\x6d\xc5\x13\x3b\xb0\xa5\xd9\xed\x32\x1c\xb4\x5e\x67\x8b\x54\xdc\x73\x87\xe5\xd3\x17\x7c\x66\x50\x72\x5d\xd4\x1a\x58\xc1\xd9\xcf\xd8\x89\x02\x6f\xa7\x49\xb4\x36\x5d\xd0\xa4\xde\x07\x2c\xb6\x75\xb7\x28\x91\xd6\x97\xbe\x28\xf5\x98\x1e\xea\x5b\x26\xc9\xbd\xb0\x97\x73\xda\xae\x91\x26\xeb\x68\xc1\xf9\x39\x15\xd6\x67\x4b\x0a\x6d\x4f\xcb\xcf\xb0\xe4\x42\x71\x8c\x53\x79\xe7\xee\xe1\xdb\x1d\xa0\x6e\x1d\x8c\x1a\x77\x35\x5c\x16\x1e\x2b\x53\x1f\x34\x8b\xd1\x6c\xfc\xf2\x67\x07\x7a\xf5\xad\xed\xd6\x9a\xab\xa1\xb1\x4b\xe1\xcc\x37\x5f\xfd\x7f\xcd\x4d\xae\xb8\x1f\x9c\x43\xf9\x2a\x58\x55\x43\x45\xbc\x96\xcd\x70\x0e\xfc\xc9\xe3\x66\xba\x4e\x8d\x3b\x81\xcb\x15\x64\x7b\xb9\x94\xe8\x5d\x33\x52\x85\x71\x2e\x4f\x8e\xa2\x06\x11\x51\xc9\xe3\xcb\xa1\x6e\x31\x08\x64\x0c\xc2\xd2\x3c\xf5\x36\xe8\xd7\xd0\x0e\x78\x23\x20\x91\xc9\x24\x2a\x65\x29\x5b\x22\xf7\x21\xce\x83\x5e\xa4\xf3\xde\x4b\xd3\x68\x8f\x46\x75\x5c\x83\x09\x6e\x29\x6b\xc4\x70\x8c\xf5\x9d\xd7\x20\x2f\xff\x46\xd2\x2b\x38\xc2\x2f\x75\x1c\x3d\x7e\xda\xa5\xef\x1e\x60\x85\x69\x42\xd3\xcc\xf8\x63\xfe\x1e\x43\x39\x85\xa6\xb6\x63\x41\x10\xb3\x73\x1e\xbc\xd3\xfa\xca\x7d\x16\x47\xe2\xa7\xd5\xd0\xa3\x8a\x0a\x08\x96\x62\x56\x6e\x34\xdb\xd9\x02\xb9\x30\x75\xe3\x04\xd2\xe7\x8f\xc2\xb0\x11\x40\x0a\xac\xd5\x71\x02\x62\x8b\x31\xbe\xdd\xc6\x23\x58\x31\x42\x43\x2d\x74\xf9\xc6\x9e\xa6\x8a\x0f\xe9\xfe\xbf\x83\xe6\x43\x57\x24\xba\xef\x46\x34\xaa\xd7\x12\x01\x38\xed\x02\x03\x01\x00\x01\xa3\x81\x86\x30\x81\x83\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x1d\x06\x03\x55\x1d\x21\x04\x16\x30\x14\x30\x12\x06\x07\x60\x85\x74\x01\x53\x00\x01\x06\x07\x60\x85\x74\x01\x53\x00\x01\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x07\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x03\x25\x2f\xde\x6f\x82\x01\x3a\x5c\x2c\xdc\x2b\xa1\x69\xb5\x67\xd4\x8c\xd3\xfd\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x03\x25\x2f\xde\x6f\x82\x01\x3a\x5c\x2c\xdc\x2b\xa1\x69\xb5\x67\xd4\x8c\xd3\xfd\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x35\x10\xcb\xec\xa6\x04\x0d\x0d\x0f\xcd\xc0\xdb\xab\xa8\xf2\x88\x97\x0c\xdf\x93\x2f\x4d\x7c\x40\x56\x31\x7a\xeb\xa4\x0f\x60\xcd\x7a\xf3\xbe\xc3\x27\x8e\x03\x3e\xa4\xdd\x12\xef\x7e\x1e\x74\x06\x3c\x3f\x31\xf2\x1c\x7b\x91\x31\x21\xb4\xf0\xd0\x6c\x97\xd4\xe9\x97\xb2\x24\x56\x1e\x56\xc3\x35\xbd\x88\x05\x0f\x5b\x10\x1a\x64\xe1\xc7\x82\x30\xf9\x32\xad\x9e\x50\x2c\xe7\x78\x05\xd0\x31\xb1\x5a\x98\x8a\x75\x4e\x90\x5c\x6a\x14\x2a\xe0\x52\x47\x82\x60\xe6\x1e\xda\x81\xb1\xfb\x14\x0b\x5a\xf1\x9f\xd2\x95\xba\x3e\xd0\x1b\xd6\x15\x1d\xa3\xbe\x86\xd5\xdb\x0f\xc0\x49\x64\xbb\x2e\x50\x19\x4b\xd2\x24\xf8\xdd\x1e\x07\x56\xd0\x38\xa0\x95\x70\x20\x76\x8c\xd7\xdd\x1e\xde\x9f\x71\xc4\x23\xef\x83\x13\x5c\xa3\x24\x15\x4d\x29\x40\x3c\x6a\xc4\xa9\xd8\xb7\xa6\x44\xa5\x0d\xf4\xe0\x9d\x77\x1e\x40\x70\x26\xfc\xda\xd9\x36\xe4\x79\xe4\xb5\x3f\xbc\x9b\x65\xbe\xbb\x11\x96\xcf\xdb\xc6\x28\x39\x3a\x08\xce\x47\x5b\x53\x5a\xc5\x99\xfe\x5d\xa9\xdd\xef\x4c\xd4\xc6\xa5\xad\x02\xe6\x8c\x07\x12\x1e\x6f\x03\xd1\x6f\xa0\xa3\xf3\x29\xbd\x12\xc7\x50\xa2\xb0\x7f\x88\xa9\x99\x77\x9a\xb1\xc0\xa5\x39\x2e\x5c\x7c\x69\xe2\x2c\xb0\xea\x37\x6a\xa4\xe1\x5a\xe1\xf5\x50\xe5\x83\xef\xa5\xbb\x2a\x88\xe7\x8c\xdb\xfd\x6d\x5e\x97\x19\xa8\x7e\x66\x75\x6b\x71\xea\xbf\xb1\xc7\x6f\xa0\xf4\x8e\xa4\xec\x34\x51\x5b\x8c\x26\x03\x70\xa1\x77\xd5\x01\x12\x57\x00\x35\xdb\x23\xde\x0e\x8a\x28\x99\xfd\xb1\x10\x6f\x4b\xff\x38\x2d\x60\x4e\x2c\x9c\xeb\x67\xb5\xad\x49\xee\x4b\x1f\xac\xaf\xfb\x0d\x90\x5a\x66\x60\x70\x5d\xaa\xcd\x78\xd4\x24\xee\xc8\x41\xa0\x93\x01\x92\x9c\x6a\x9e\xfc\xb9\x24\xc5\xb3\x15\x82\x7e\xbe\xae\x95\x2b\xeb\xb1\xc0\xda\xe3\x01\x60\x0b\x5e\x69\xac\x84\x56\x61\xbe\x71\x17\xfe\x1d\x13\x0f\xfe\xc6\x87\x45\xe9\xfe\x32\xa0\x1a\x0d\x13\xa4\x94\x55\x71\xa5\x16\x8b\xba\xca\x89\xb0\xb2\xc7\xfc\x8f\xd8\x54\xb5\x93\x62\x9d\xce\xcf\x59\xfb\x3d\x18\xce\x2a\xcb\x35\x15\x82\x5d\xff\x54\x22\x5b\x71\x52\xfb\xb7\xc9\xfe\x60\x9b\x00\x41\x64\xf0\xaa\x2a\xec\xb6\x42\x43\xce\x89\x66\x81\xc8\x8b\x9f\x39\x54\x03\x25\xd3\x16\x35\x8e\x84\xd0\x5f\xfa\x30\x1a\xf5\x9a\x6c\xf4\x0e\x53\xf9\x3a\x5b\xd1\x1c", - ["DigiCert Assured ID Root CA"] = "\x30\x82\x03\xb7\x30\x82\x02\x9f\xa0\x03\x02\x01\x02\x02\x10\x0c\xe7\xe0\xe5\x17\xd8\x46\xfe\x8f\xe5\x60\xfc\x1b\xf0\x30\x39\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x65\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x44\x69\x67\x69\x43\x65\x72\x74\x20\x49\x6e\x63\x31\x19\x30\x17\x06\x03\x55\x04\x0b\x13\x10\x77\x77\x77\x2e\x64\x69\x67\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x31\x24\x30\x22\x06\x03\x55\x04\x03\x13\x1b\x44\x69\x67\x69\x43\x65\x72\x74\x20\x41\x73\x73\x75\x72\x65\x64\x20\x49\x44\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x1e\x17\x0d\x30\x36\x31\x31\x31\x30\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x31\x31\x31\x31\x30\x30\x30\x30\x30\x30\x30\x5a\x30\x65\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x44\x69\x67\x69\x43\x65\x72\x74\x20\x49\x6e\x63\x31\x19\x30\x17\x06\x03\x55\x04\x0b\x13\x10\x77\x77\x77\x2e\x64\x69\x67\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x31\x24\x30\x22\x06\x03\x55\x04\x03\x13\x1b\x44\x69\x67\x69\x43\x65\x72\x74\x20\x41\x73\x73\x75\x72\x65\x64\x20\x49\x44\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xad\x0e\x15\xce\xe4\x43\x80\x5c\xb1\x87\xf3\xb7\x60\xf9\x71\x12\xa5\xae\xdc\x26\x94\x88\xaa\xf4\xce\xf5\x20\x39\x28\x58\x60\x0c\xf8\x80\xda\xa9\x15\x95\x32\x61\x3c\xb5\xb1\x28\x84\x8a\x8a\xdc\x9f\x0a\x0c\x83\x17\x7a\x8f\x90\xac\x8a\xe7\x79\x53\x5c\x31\x84\x2a\xf6\x0f\x98\x32\x36\x76\xcc\xde\xdd\x3c\xa8\xa2\xef\x6a\xfb\x21\xf2\x52\x61\xdf\x9f\x20\xd7\x1f\xe2\xb1\xd9\xfe\x18\x64\xd2\x12\x5b\x5f\xf9\x58\x18\x35\xbc\x47\xcd\xa1\x36\xf9\x6b\x7f\xd4\xb0\x38\x3e\xc1\x1b\xc3\x8c\x33\xd9\xd8\x2f\x18\xfe\x28\x0f\xb3\xa7\x83\xd6\xc3\x6e\x44\xc0\x61\x35\x96\x16\xfe\x59\x9c\x8b\x76\x6d\xd7\xf1\xa2\x4b\x0d\x2b\xff\x0b\x72\xda\x9e\x60\xd0\x8e\x90\x35\xc6\x78\x55\x87\x20\xa1\xcf\xe5\x6d\x0a\xc8\x49\x7c\x31\x98\x33\x6c\x22\xe9\x87\xd0\x32\x5a\xa2\xba\x13\x82\x11\xed\x39\x17\x9d\x99\x3a\x72\xa1\xe6\xfa\xa4\xd9\xd5\x17\x31\x75\xae\x85\x7d\x22\xae\x3f\x01\x46\x86\xf6\x28\x79\xc8\xb1\xda\xe4\x57\x17\xc4\x7e\x1c\x0e\xb0\xb4\x92\xa6\x56\xb3\xbd\xb2\x97\xed\xaa\xa7\xf0\xb7\xc5\xa8\x3f\x95\x16\xd0\xff\xa1\x96\xeb\x08\x5f\x18\x77\x4f\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x45\xeb\xa2\xaf\xf4\x92\xcb\x82\x31\x2d\x51\x8b\xa7\xa7\x21\x9d\xf3\x6d\xc8\x0f\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x45\xeb\xa2\xaf\xf4\x92\xcb\x82\x31\x2d\x51\x8b\xa7\xa7\x21\x9d\xf3\x6d\xc8\x0f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xa2\x0e\xbc\xdf\xe2\xed\xf0\xe3\x72\x73\x7a\x64\x94\xbf\xf7\x72\x66\xd8\x32\xe4\x42\x75\x62\xae\x87\xeb\xf2\xd5\xd9\xde\x56\xb3\x9f\xcc\xce\x14\x28\xb9\x0d\x97\x60\x5c\x12\x4c\x58\xe4\xd3\x3d\x83\x49\x45\x58\x97\x35\x69\x1a\xa8\x47\xea\x56\xc6\x79\xab\x12\xd8\x67\x81\x84\xdf\x7f\x09\x3c\x94\xe6\xb8\x26\x2c\x20\xbd\x3d\xb3\x28\x89\xf7\x5f\xff\x22\xe2\x97\x84\x1f\xe9\x65\xef\x87\xe0\xdf\xc1\x67\x49\xb3\x5d\xeb\xb2\x09\x2a\xeb\x26\xed\x78\xbe\x7d\x3f\x2b\xf3\xb7\x26\x35\x6d\x5f\x89\x01\xb6\x49\x5b\x9f\x01\x05\x9b\xab\x3d\x25\xc1\xcc\xb6\x7f\xc2\xf1\x6f\x86\xc6\xfa\x64\x68\xeb\x81\x2d\x94\xeb\x42\xb7\xfa\x8c\x1e\xdd\x62\xf1\xbe\x50\x67\xb7\x6c\xbd\xf3\xf1\x1f\x6b\x0c\x36\x07\x16\x7f\x37\x7c\xa9\x5b\x6d\x7a\xf1\x12\x46\x60\x83\xd7\x27\x04\xbe\x4b\xce\x97\xbe\xc3\x67\x2a\x68\x11\xdf\x80\xe7\x0c\x33\x66\xbf\x13\x0d\x14\x6e\xf3\x7f\x1f\x63\x10\x1e\xfa\x8d\x1b\x25\x6d\x6c\x8f\xa5\xb7\x61\x01\xb1\xd2\xa3\x26\xa1\x10\x71\x9d\xad\xe2\xc3\xf9\xc3\x99\x51\xb7\x2b\x07\x08\xce\x2e\xe6\x50\xb2\xa7\xfa\x0a\x45\x2f\xa2\xf0\xf2", - ["DigiCert Global Root CA"] = "\x30\x82\x03\xaf\x30\x82\x02\x97\xa0\x03\x02\x01\x02\x02\x10\x08\x3b\xe0\x56\x90\x42\x46\xb1\xa1\x75\x6a\xc9\x59\x91\xc7\x4a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x61\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x44\x69\x67\x69\x43\x65\x72\x74\x20\x49\x6e\x63\x31\x19\x30\x17\x06\x03\x55\x04\x0b\x13\x10\x77\x77\x77\x2e\x64\x69\x67\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x31\x20\x30\x1e\x06\x03\x55\x04\x03\x13\x17\x44\x69\x67\x69\x43\x65\x72\x74\x20\x47\x6c\x6f\x62\x61\x6c\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x1e\x17\x0d\x30\x36\x31\x31\x31\x30\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x31\x31\x31\x31\x30\x30\x30\x30\x30\x30\x30\x5a\x30\x61\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x44\x69\x67\x69\x43\x65\x72\x74\x20\x49\x6e\x63\x31\x19\x30\x17\x06\x03\x55\x04\x0b\x13\x10\x77\x77\x77\x2e\x64\x69\x67\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x31\x20\x30\x1e\x06\x03\x55\x04\x03\x13\x17\x44\x69\x67\x69\x43\x65\x72\x74\x20\x47\x6c\x6f\x62\x61\x6c\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xe2\x3b\xe1\x11\x72\xde\xa8\xa4\xd3\xa3\x57\xaa\x50\xa2\x8f\x0b\x77\x90\xc9\xa2\xa5\xee\x12\xce\x96\x5b\x01\x09\x20\xcc\x01\x93\xa7\x4e\x30\xb7\x53\xf7\x43\xc4\x69\x00\x57\x9d\xe2\x8d\x22\xdd\x87\x06\x40\x00\x81\x09\xce\xce\x1b\x83\xbf\xdf\xcd\x3b\x71\x46\xe2\xd6\x66\xc7\x05\xb3\x76\x27\x16\x8f\x7b\x9e\x1e\x95\x7d\xee\xb7\x48\xa3\x08\xda\xd6\xaf\x7a\x0c\x39\x06\x65\x7f\x4a\x5d\x1f\xbc\x17\xf8\xab\xbe\xee\x28\xd7\x74\x7f\x7a\x78\x99\x59\x85\x68\x6e\x5c\x23\x32\x4b\xbf\x4e\xc0\xe8\x5a\x6d\xe3\x70\xbf\x77\x10\xbf\xfc\x01\xf6\x85\xd9\xa8\x44\x10\x58\x32\xa9\x75\x18\xd5\xd1\xa2\xbe\x47\xe2\x27\x6a\xf4\x9a\x33\xf8\x49\x08\x60\x8b\xd4\x5f\xb4\x3a\x84\xbf\xa1\xaa\x4a\x4c\x7d\x3e\xcf\x4f\x5f\x6c\x76\x5e\xa0\x4b\x37\x91\x9e\xdc\x22\xe6\x6d\xce\x14\x1a\x8e\x6a\xcb\xfe\xcd\xb3\x14\x64\x17\xc7\x5b\x29\x9e\x32\xbf\xf2\xee\xfa\xd3\x0b\x42\xd4\xab\xb7\x41\x32\xda\x0c\xd4\xef\xf8\x81\xd5\xbb\x8d\x58\x3f\xb5\x1b\xe8\x49\x28\xa2\x70\xda\x31\x04\xdd\xf7\xb2\x16\xf2\x4c\x0a\x4e\x07\xa8\xed\x4a\x3d\x5e\xb5\x7f\xa3\x90\xc3\xaf\x27\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x03\xde\x50\x35\x56\xd1\x4c\xbb\x66\xf0\xa3\xe2\x1b\x1b\xc3\x97\xb2\x3d\xd1\x55\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x03\xde\x50\x35\x56\xd1\x4c\xbb\x66\xf0\xa3\xe2\x1b\x1b\xc3\x97\xb2\x3d\xd1\x55\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xcb\x9c\x37\xaa\x48\x13\x12\x0a\xfa\xdd\x44\x9c\x4f\x52\xb0\xf4\xdf\xae\x04\xf5\x79\x79\x08\xa3\x24\x18\xfc\x4b\x2b\x84\xc0\x2d\xb9\xd5\xc7\xfe\xf4\xc1\x1f\x58\xcb\xb8\x6d\x9c\x7a\x74\xe7\x98\x29\xab\x11\xb5\xe3\x70\xa0\xa1\xcd\x4c\x88\x99\x93\x8c\x91\x70\xe2\xab\x0f\x1c\xbe\x93\xa9\xff\x63\xd5\xe4\x07\x60\xd3\xa3\xbf\x9d\x5b\x09\xf1\xd5\x8e\xe3\x53\xf4\x8e\x63\xfa\x3f\xa7\xdb\xb4\x66\xdf\x62\x66\xd6\xd1\x6e\x41\x8d\xf2\x2d\xb5\xea\x77\x4a\x9f\x9d\x58\xe2\x2b\x59\xc0\x40\x23\xed\x2d\x28\x82\x45\x3e\x79\x54\x92\x26\x98\xe0\x80\x48\xa8\x37\xef\xf0\xd6\x79\x60\x16\xde\xac\xe8\x0e\xcd\x6e\xac\x44\x17\x38\x2f\x49\xda\xe1\x45\x3e\x2a\xb9\x36\x53\xcf\x3a\x50\x06\xf7\x2e\xe8\xc4\x57\x49\x6c\x61\x21\x18\xd5\x04\xad\x78\x3c\x2c\x3a\x80\x6b\xa7\xeb\xaf\x15\x14\xe9\xd8\x89\xc1\xb9\x38\x6c\xe2\x91\x6c\x8a\xff\x64\xb9\x77\x25\x57\x30\xc0\x1b\x24\xa3\xe1\xdc\xe9\xdf\x47\x7c\xb5\xb4\x24\x08\x05\x30\xec\x2d\xbd\x0b\xbf\x45\xbf\x50\xb9\xa9\xf3\xeb\x98\x01\x12\xad\xc8\x88\xc6\x98\x34\x5f\x8d\x0a\x3c\xc6\xe9\xd5\x95\x95\x6d\xde", - ["DigiCert High Assurance EV Root CA"] = "\x30\x82\x03\xc5\x30\x82\x02\xad\xa0\x03\x02\x01\x02\x02\x10\x02\xac\x5c\x26\x6a\x0b\x40\x9b\x8f\x0b\x79\xf2\xae\x46\x25\x77\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x6c\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x44\x69\x67\x69\x43\x65\x72\x74\x20\x49\x6e\x63\x31\x19\x30\x17\x06\x03\x55\x04\x0b\x13\x10\x77\x77\x77\x2e\x64\x69\x67\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x31\x2b\x30\x29\x06\x03\x55\x04\x03\x13\x22\x44\x69\x67\x69\x43\x65\x72\x74\x20\x48\x69\x67\x68\x20\x41\x73\x73\x75\x72\x61\x6e\x63\x65\x20\x45\x56\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x1e\x17\x0d\x30\x36\x31\x31\x31\x30\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x31\x31\x31\x31\x30\x30\x30\x30\x30\x30\x30\x5a\x30\x6c\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x44\x69\x67\x69\x43\x65\x72\x74\x20\x49\x6e\x63\x31\x19\x30\x17\x06\x03\x55\x04\x0b\x13\x10\x77\x77\x77\x2e\x64\x69\x67\x69\x63\x65\x72\x74\x2e\x63\x6f\x6d\x31\x2b\x30\x29\x06\x03\x55\x04\x03\x13\x22\x44\x69\x67\x69\x43\x65\x72\x74\x20\x48\x69\x67\x68\x20\x41\x73\x73\x75\x72\x61\x6e\x63\x65\x20\x45\x56\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xc6\xcc\xe5\x73\xe6\xfb\xd4\xbb\xe5\x2d\x2d\x32\xa6\xdf\xe5\x81\x3f\xc9\xcd\x25\x49\xb6\x71\x2a\xc3\xd5\x94\x34\x67\xa2\x0a\x1c\xb0\x5f\x69\xa6\x40\xb1\xc4\xb7\xb2\x8f\xd0\x98\xa4\xa9\x41\x59\x3a\xd3\xdc\x94\xd6\x3c\xdb\x74\x38\xa4\x4a\xcc\x4d\x25\x82\xf7\x4a\xa5\x53\x12\x38\xee\xf3\x49\x6d\x71\x91\x7e\x63\xb6\xab\xa6\x5f\xc3\xa4\x84\xf8\x4f\x62\x51\xbe\xf8\xc5\xec\xdb\x38\x92\xe3\x06\xe5\x08\x91\x0c\xc4\x28\x41\x55\xfb\xcb\x5a\x89\x15\x7e\x71\xe8\x35\xbf\x4d\x72\x09\x3d\xbe\x3a\x38\x50\x5b\x77\x31\x1b\x8d\xb3\xc7\x24\x45\x9a\xa7\xac\x6d\x00\x14\x5a\x04\xb7\xba\x13\xeb\x51\x0a\x98\x41\x41\x22\x4e\x65\x61\x87\x81\x41\x50\xa6\x79\x5c\x89\xde\x19\x4a\x57\xd5\x2e\xe6\x5d\x1c\x53\x2c\x7e\x98\xcd\x1a\x06\x16\xa4\x68\x73\xd0\x34\x04\x13\x5c\xa1\x71\xd3\x5a\x7c\x55\xdb\x5e\x64\xe1\x37\x87\x30\x56\x04\xe5\x11\xb4\x29\x80\x12\xf1\x79\x39\x88\xa2\x02\x11\x7c\x27\x66\xb7\x88\xb7\x78\xf2\xca\x0a\xa8\x38\xab\x0a\x64\xc2\xbf\x66\x5d\x95\x84\xc1\xa1\x25\x1e\x87\x5d\x1a\x50\x0b\x20\x12\xcc\x41\xbb\x6e\x0b\x51\x38\xb8\x4b\xcb\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xb1\x3e\xc3\x69\x03\xf8\xbf\x47\x01\xd4\x98\x26\x1a\x08\x02\xef\x63\x64\x2b\xc3\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xb1\x3e\xc3\x69\x03\xf8\xbf\x47\x01\xd4\x98\x26\x1a\x08\x02\xef\x63\x64\x2b\xc3\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x1c\x1a\x06\x97\xdc\xd7\x9c\x9f\x3c\x88\x66\x06\x08\x57\x21\xdb\x21\x47\xf8\x2a\x67\xaa\xbf\x18\x32\x76\x40\x10\x57\xc1\x8a\xf3\x7a\xd9\x11\x65\x8e\x35\xfa\x9e\xfc\x45\xb5\x9e\xd9\x4c\x31\x4b\xb8\x91\xe8\x43\x2c\x8e\xb3\x78\xce\xdb\xe3\x53\x79\x71\xd6\xe5\x21\x94\x01\xda\x55\x87\x9a\x24\x64\xf6\x8a\x66\xcc\xde\x9c\x37\xcd\xa8\x34\xb1\x69\x9b\x23\xc8\x9e\x78\x22\x2b\x70\x43\xe3\x55\x47\x31\x61\x19\xef\x58\xc5\x85\x2f\x4e\x30\xf6\xa0\x31\x16\x23\xc8\xe7\xe2\x65\x16\x33\xcb\xbf\x1a\x1b\xa0\x3d\xf8\xca\x5e\x8b\x31\x8b\x60\x08\x89\x2d\x0c\x06\x5c\x52\xb7\xc4\xf9\x0a\x98\xd1\x15\x5f\x9f\x12\xbe\x7c\x36\x63\x38\xbd\x44\xa4\x7f\xe4\x26\x2b\x0a\xc4\x97\x69\x0d\xe9\x8c\xe2\xc0\x10\x57\xb8\xc8\x76\x12\x91\x55\xf2\x48\x69\xd8\xbc\x2a\x02\x5b\x0f\x44\xd4\x20\x31\xdb\xf4\xba\x70\x26\x5d\x90\x60\x9e\xbc\x4b\x17\x09\x2f\xb4\xcb\x1e\x43\x68\xc9\x07\x27\xc1\xd2\x5c\xf7\xea\x21\xb9\x68\x12\x9c\x3c\x9c\xbf\x9e\xfc\x80\x5c\x9b\x63\xcd\xec\x47\xaa\x25\x27\x67\xa0\x37\xf3\x00\x82\x7d\x54\xd7\xa9\xf8\xe9\x2e\x13\xa3\x77\xe8\x1f\x4a", - ["Certplus Class 2 Primary CA"] = "\x30\x82\x03\x92\x30\x82\x02\x7a\xa0\x03\x02\x01\x02\x02\x11\x00\x85\xbd\x4b\xf3\xd8\xda\xe3\x69\xf6\x94\xd7\x5f\xc3\xa5\x44\x23\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x3d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x46\x52\x31\x11\x30\x0f\x06\x03\x55\x04\x0a\x13\x08\x43\x65\x72\x74\x70\x6c\x75\x73\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x43\x6c\x61\x73\x73\x20\x32\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x41\x30\x1e\x17\x0d\x39\x39\x30\x37\x30\x37\x31\x37\x30\x35\x30\x30\x5a\x17\x0d\x31\x39\x30\x37\x30\x36\x32\x33\x35\x39\x35\x39\x5a\x30\x3d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x46\x52\x31\x11\x30\x0f\x06\x03\x55\x04\x0a\x13\x08\x43\x65\x72\x74\x70\x6c\x75\x73\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x43\x6c\x61\x73\x73\x20\x32\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xdc\x50\x96\xd0\x12\xf8\x35\xd2\x08\x78\x7a\xb6\x52\x70\xfd\x6f\xee\xcf\xb9\x11\xcb\x5d\x77\xe1\xec\xe9\x7e\x04\x8d\xd6\xcc\x6f\x73\x43\x57\x60\xac\x33\x0a\x44\xec\x03\x5f\x1c\x80\x24\x91\xe5\xa8\x91\x56\x12\x82\xf7\xe0\x2b\xf4\xdb\xae\x61\x2e\x89\x10\x8d\x6b\x6c\xba\xb3\x02\xbd\xd5\x36\xc5\x48\x37\x23\xe2\xf0\x5a\x37\x52\x33\x17\x12\xe2\xd1\x60\x4d\xbe\x2f\x41\x11\xe3\xf6\x17\x25\x0c\x8b\x91\xc0\x1b\x99\x7b\x99\x56\x0d\xaf\xee\xd2\xbc\x47\x57\xe3\x79\x49\x7b\x34\x89\x27\x24\x84\xde\xb1\xec\xe9\x58\x4e\xfe\x4e\xdf\x5a\xbe\x41\xad\xac\x08\xc5\x18\x0e\xef\xd2\x53\xee\x6c\xd0\x9d\x12\x01\x13\x8d\xdc\x80\x62\xf7\x95\xa9\x44\x88\x4a\x71\x4e\x60\x55\x9e\xdb\x23\x19\x79\x56\x07\x0c\x3f\x63\x0b\x5c\xb0\xe2\xbe\x7e\x15\xfc\x94\x33\x58\x41\x38\x74\xc4\xe1\x8f\x8b\xdf\x26\xac\x1f\xb5\x8b\x3b\xb7\x43\x59\x6b\xb0\x24\xa6\x6d\x90\x8b\xc4\x72\xea\x5d\x33\x98\xb7\xcb\xde\x5e\x7b\xef\x94\xf1\x1b\x3e\xca\xc9\x21\xc1\xc5\x98\x02\xaa\xa2\xf6\x5b\x77\x9b\xf5\x7e\x96\x55\x34\x1c\x67\x69\xc0\xf1\x42\xe3\x47\xac\xfc\x28\x1c\x66\x55\x02\x03\x01\x00\x01\xa3\x81\x8c\x30\x81\x89\x30\x0f\x06\x03\x55\x1d\x13\x04\x08\x30\x06\x01\x01\xff\x02\x01\x0a\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xe3\x73\x2d\xdf\xcb\x0e\x28\x0c\xde\xdd\xb3\xa4\xca\x79\xb8\x8e\xbb\xe8\x30\x89\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x01\x06\x30\x37\x06\x03\x55\x1d\x1f\x04\x30\x30\x2e\x30\x2c\xa0\x2a\xa0\x28\x86\x26\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x65\x72\x74\x70\x6c\x75\x73\x2e\x63\x6f\x6d\x2f\x43\x52\x4c\x2f\x63\x6c\x61\x73\x73\x32\x2e\x63\x72\x6c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xa7\x54\xcf\x88\x44\x19\xcb\xdf\xd4\x7f\x00\xdf\x56\x33\x62\xb5\xf7\x51\x01\x90\xeb\xc3\x3f\xd1\x88\x44\xe9\x24\x5d\xef\xe7\x14\xbd\x20\xb7\x9a\x3c\x00\xfe\x6d\x9f\xdb\x90\xdc\xd7\xf4\x62\xd6\x8b\x70\x5d\xe7\xe5\x04\x48\xa9\x68\x7c\xc9\xf1\x42\xf3\x6c\x7f\xc5\x7a\x7c\x1d\x51\x88\xba\xd2\x0a\x3e\x27\x5d\xde\x2d\x51\x4e\xd3\x13\x64\x69\xe4\x2e\xe3\xd3\xe7\x9b\x09\x99\xa6\xe0\x95\x9b\xce\x1a\xd7\x7f\xbe\x3c\xce\x52\xb3\x11\x15\xc1\x0f\x17\xcd\x03\xbb\x9c\x25\x15\xba\xa2\x76\x89\xfc\x06\xf1\x18\xd0\x93\x4b\x0e\x7c\x82\xb7\xa5\xf4\xf6\x5f\xfe\xed\x40\xa6\x9d\x84\x74\x39\xb9\xdc\x1e\x85\x16\xda\x29\x1b\x86\x23\x00\xc9\xbb\x89\x7e\x6e\x80\x88\x1e\x2f\x14\xb4\x03\x24\xa8\x32\x6f\x03\x9a\x47\x2c\x30\xbe\x56\xc6\xa7\x42\x02\x70\x1b\xea\x40\xd8\xba\x05\x03\x70\x07\xa4\x96\xff\xfd\x48\x33\x0a\xe1\xdc\xa5\x81\x90\x9b\x4d\xdd\x7d\xe7\xe7\xb2\xcd\x5c\xc8\x6a\x95\xf8\xa5\xf6\x8d\xc4\x5d\x78\x08\xbe\x7b\x06\xd6\x49\xcf\x19\x36\x50\x23\x2e\x08\xe6\x9e\x05\x4d\x47\x18\xd5\x16\xe9\xb1\xd6\xb6\x10\xd5\xbb\x97\xbf\xa2\x8e\xb4\x54", - ["DST Root CA X3"] = "\x30\x82\x03\x4a\x30\x82\x02\x32\xa0\x03\x02\x01\x02\x02\x10\x44\xaf\xb0\x80\xd6\xa3\x27\xba\x89\x30\x39\x86\x2e\xf8\x40\x6b\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x3f\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x13\x1b\x44\x69\x67\x69\x74\x61\x6c\x20\x53\x69\x67\x6e\x61\x74\x75\x72\x65\x20\x54\x72\x75\x73\x74\x20\x43\x6f\x2e\x31\x17\x30\x15\x06\x03\x55\x04\x03\x13\x0e\x44\x53\x54\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x58\x33\x30\x1e\x17\x0d\x30\x30\x30\x39\x33\x30\x32\x31\x31\x32\x31\x39\x5a\x17\x0d\x32\x31\x30\x39\x33\x30\x31\x34\x30\x31\x31\x35\x5a\x30\x3f\x31\x24\x30\x22\x06\x03\x55\x04\x0a\x13\x1b\x44\x69\x67\x69\x74\x61\x6c\x20\x53\x69\x67\x6e\x61\x74\x75\x72\x65\x20\x54\x72\x75\x73\x74\x20\x43\x6f\x2e\x31\x17\x30\x15\x06\x03\x55\x04\x03\x13\x0e\x44\x53\x54\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x58\x33\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xdf\xaf\xe9\x97\x50\x08\x83\x57\xb4\xcc\x62\x65\xf6\x90\x82\xec\xc7\xd3\x2c\x6b\x30\xca\x5b\xec\xd9\xc3\x7d\xc7\x40\xc1\x18\x14\x8b\xe0\xe8\x33\x76\x49\x2a\xe3\x3f\x21\x49\x93\xac\x4e\x0e\xaf\x3e\x48\xcb\x65\xee\xfc\xd3\x21\x0f\x65\xd2\x2a\xd9\x32\x8f\x8c\xe5\xf7\x77\xb0\x12\x7b\xb5\x95\xc0\x89\xa3\xa9\xba\xed\x73\x2e\x7a\x0c\x06\x32\x83\xa2\x7e\x8a\x14\x30\xcd\x11\xa0\xe1\x2a\x38\xb9\x79\x0a\x31\xfd\x50\xbd\x80\x65\xdf\xb7\x51\x63\x83\xc8\xe2\x88\x61\xea\x4b\x61\x81\xec\x52\x6b\xb9\xa2\xe2\x4b\x1a\x28\x9f\x48\xa3\x9e\x0c\xda\x09\x8e\x3e\x17\x2e\x1e\xdd\x20\xdf\x5b\xc6\x2a\x8a\xab\x2e\xbd\x70\xad\xc5\x0b\x1a\x25\x90\x74\x72\xc5\x7b\x6a\xab\x34\xd6\x30\x89\xff\xe5\x68\x13\x7b\x54\x0b\xc8\xd6\xae\xec\x5a\x9c\x92\x1e\x3d\x64\xb3\x8c\xc6\xdf\xbf\xc9\x41\x70\xec\x16\x72\xd5\x26\xec\x38\x55\x39\x43\xd0\xfc\xfd\x18\x5c\x40\xf1\x97\xeb\xd5\x9a\x9b\x8d\x1d\xba\xda\x25\xb9\xc6\xd8\xdf\xc1\x15\x02\x3a\xab\xda\x6e\xf1\x3e\x2e\xf5\x5c\x08\x9c\x3c\xd6\x83\x69\xe4\x10\x9b\x19\x2a\xb6\x29\x57\xe3\xe5\x3d\x9b\x9f\xf0\x02\x5d\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xc4\xa7\xb1\xa4\x7b\x2c\x71\xfa\xdb\xe1\x4b\x90\x75\xff\xc4\x15\x60\x85\x89\x10\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xa3\x1a\x2c\x9b\x17\x00\x5c\xa9\x1e\xee\x28\x66\x37\x3a\xbf\x83\xc7\x3f\x4b\xc3\x09\xa0\x95\x20\x5d\xe3\xd9\x59\x44\xd2\x3e\x0d\x3e\xbd\x8a\x4b\xa0\x74\x1f\xce\x10\x82\x9c\x74\x1a\x1d\x7e\x98\x1a\xdd\xcb\x13\x4b\xb3\x20\x44\xe4\x91\xe9\xcc\xfc\x7d\xa5\xdb\x6a\xe5\xfe\xe6\xfd\xe0\x4e\xdd\xb7\x00\x3a\xb5\x70\x49\xaf\xf2\xe5\xeb\x02\xf1\xd1\x02\x8b\x19\xcb\x94\x3a\x5e\x48\xc4\x18\x1e\x58\x19\x5f\x1e\x02\x5a\xf0\x0c\xf1\xb1\xad\xa9\xdc\x59\x86\x8b\x6e\xe9\x91\xf5\x86\xca\xfa\xb9\x66\x33\xaa\x59\x5b\xce\xe2\xa7\x16\x73\x47\xcb\x2b\xcc\x99\xb0\x37\x48\xcf\xe3\x56\x4b\xf5\xcf\x0f\x0c\x72\x32\x87\xc6\xf0\x44\xbb\x53\x72\x6d\x43\xf5\x26\x48\x9a\x52\x67\xb7\x58\xab\xfe\x67\x76\x71\x78\xdb\x0d\xa2\x56\x14\x13\x39\x24\x31\x85\xa2\xa8\x02\x5a\x30\x47\xe1\xdd\x50\x07\xbc\x02\x09\x90\x00\xeb\x64\x63\x60\x9b\x16\xbc\x88\xc9\x12\xe6\xd2\x7d\x91\x8b\xf9\x3d\x32\x8d\x65\xb4\xe9\x7c\xb1\x57\x76\xea\xc5\xb6\x28\x39\xbf\x15\x65\x1c\xc8\xf6\x77\x96\x6a\x0a\x8d\x77\x0b\xd8\x91\x0b\x04\x8e\x07\xdb\x29\xb6\x0a\xee\x9d\x82\x35\x35\x10", - ["DST ACES CA X6"] = "\x30\x82\x04\x09\x30\x82\x02\xf1\xa0\x03\x02\x01\x02\x02\x10\x0d\x5e\x99\x0a\xd6\x9d\xb7\x78\xec\xd8\x07\x56\x3b\x86\x15\xd9\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x5b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x20\x30\x1e\x06\x03\x55\x04\x0a\x13\x17\x44\x69\x67\x69\x74\x61\x6c\x20\x53\x69\x67\x6e\x61\x74\x75\x72\x65\x20\x54\x72\x75\x73\x74\x31\x11\x30\x0f\x06\x03\x55\x04\x0b\x13\x08\x44\x53\x54\x20\x41\x43\x45\x53\x31\x17\x30\x15\x06\x03\x55\x04\x03\x13\x0e\x44\x53\x54\x20\x41\x43\x45\x53\x20\x43\x41\x20\x58\x36\x30\x1e\x17\x0d\x30\x33\x31\x31\x32\x30\x32\x31\x31\x39\x35\x38\x5a\x17\x0d\x31\x37\x31\x31\x32\x30\x32\x31\x31\x39\x35\x38\x5a\x30\x5b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x20\x30\x1e\x06\x03\x55\x04\x0a\x13\x17\x44\x69\x67\x69\x74\x61\x6c\x20\x53\x69\x67\x6e\x61\x74\x75\x72\x65\x20\x54\x72\x75\x73\x74\x31\x11\x30\x0f\x06\x03\x55\x04\x0b\x13\x08\x44\x53\x54\x20\x41\x43\x45\x53\x31\x17\x30\x15\x06\x03\x55\x04\x03\x13\x0e\x44\x53\x54\x20\x41\x43\x45\x53\x20\x43\x41\x20\x58\x36\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xb9\x3d\xf5\x2c\xc9\x94\xdc\x75\x8a\x95\x5d\x63\xe8\x84\x77\x76\x66\xb9\x59\x91\x5c\x46\xdd\x92\x3e\x9f\xf9\x0e\x03\xb4\x3d\x61\x92\xbd\x23\x26\xb5\x63\xee\x92\xd2\x9e\xd6\x3c\xc8\x0d\x90\x5f\x64\x81\xb1\xa8\x08\x0d\x4c\xd8\xf9\xd3\x05\x28\x52\xb4\x01\x25\xc5\x95\x1c\x0c\x7e\x3e\x10\x84\x75\xcf\xc1\x19\x91\x63\xcf\xe8\xa8\x91\x88\xb9\x43\x52\xbb\x80\xb1\x55\x89\x8b\x31\xfa\xd0\xb7\x76\xbe\x41\x3d\x30\x9a\xa4\x22\x25\x17\x73\xe8\x1e\xe2\xd3\xac\x2a\xbd\x5b\x38\x21\xd5\x2a\x4b\xd7\x55\x7d\xe3\x3a\x55\xbd\xd7\x6d\x6b\x02\x57\x6b\xe6\x47\x7c\x08\xc8\x82\xba\xde\xa7\x87\x3d\xa1\x6d\xb8\x30\x56\xc2\xb3\x02\x81\x5f\x2d\xf5\xe2\x9a\x30\x18\x28\xb8\x66\xd3\xcb\x01\x96\x6f\xea\x8a\x45\x55\xd6\xe0\x9d\xff\x67\x2b\x17\x02\xa6\x4e\x1a\x6a\x11\x0b\x7e\xb7\x7b\xe7\x98\xd6\x8c\x76\x6f\xc1\x3b\xdb\x50\x93\x7e\xe5\xd0\x8e\x1f\x37\xb8\xbd\xba\xc6\x9f\x6c\xe9\x7c\x33\xf2\x32\x3c\x26\x47\xfa\x27\x24\x02\xc9\x7e\x1d\x5b\x88\x42\x13\x6a\x35\x7c\x7d\x35\xe9\x2e\x66\x91\x72\x93\xd5\x32\x26\xc4\x74\xf5\x53\xa3\xb3\x5d\x9a\xf6\x09\xcb\x02\x03\x01\x00\x01\xa3\x81\xc8\x30\x81\xc5\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\xc6\x30\x1f\x06\x03\x55\x1d\x11\x04\x18\x30\x16\x81\x14\x70\x6b\x69\x2d\x6f\x70\x73\x40\x74\x72\x75\x73\x74\x64\x73\x74\x2e\x63\x6f\x6d\x30\x62\x06\x03\x55\x1d\x20\x04\x5b\x30\x59\x30\x57\x06\x0a\x60\x86\x48\x01\x65\x03\x02\x01\x01\x01\x30\x49\x30\x47\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x3b\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x72\x75\x73\x74\x64\x73\x74\x2e\x63\x6f\x6d\x2f\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x73\x2f\x70\x6f\x6c\x69\x63\x79\x2f\x41\x43\x45\x53\x2d\x69\x6e\x64\x65\x78\x2e\x68\x74\x6d\x6c\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x09\x72\x06\x4e\x18\x43\x0f\xe5\xd6\xcc\xc3\x6a\x8b\x31\x7b\x78\x8f\xa8\x83\xb8\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xa3\xd8\x8e\xd6\xb2\xdb\xce\x05\xe7\x32\xcd\x01\xd3\x04\x03\xe5\x76\xe4\x56\x2b\x9c\x99\x90\xe8\x08\x30\x6c\xdf\x7d\x3d\xee\xe5\xbf\xb5\x24\x40\x84\x49\xe1\xd1\x28\xae\xc4\xc2\x3a\x53\x30\x88\xf1\xf5\x77\x6e\x51\xca\xfa\xff\x99\xaf\x24\x5f\x1b\xa0\xfd\xf2\xac\x84\xca\xdf\xa9\xf0\x5f\x04\x2e\xad\x16\xbf\x21\x97\x10\x81\x3d\xe3\xff\x87\x8d\x32\xdc\x94\xe5\x47\x8a\x5e\x6a\x13\xc9\x94\x95\x3d\xd2\xee\xc8\x34\x95\xd0\x80\xd4\xad\x32\x08\x80\x54\x3c\xe0\xbd\x52\x53\xd7\x52\x7c\xb2\x69\x3f\x7f\x7a\xcf\x6a\x74\xca\xfa\x04\x2a\x9c\x4c\x5a\x06\xa5\xe9\x20\xad\x45\x66\x0f\x69\xf1\xdd\xbf\xe9\xe3\x32\x8b\xfa\xe0\xc1\x86\x4d\x72\x3c\x2e\xd8\x93\x78\x0a\x2a\xf8\xd8\xd2\x27\x3d\x19\x89\x5f\x5a\x7b\x8a\x3b\xcc\x0c\xda\x51\xae\xc7\x0b\xf7\x2b\xb0\x37\x05\xec\xbc\x57\x23\xe2\x38\xd2\x9b\x68\xf3\x56\x12\x88\x4f\x42\x7c\xb8\x31\xc4\xb5\xdb\xe4\xc8\x21\x34\xe9\x48\x11\x35\xee\xfa\xc7\x92\x57\xc5\x9f\x34\xe4\xc7\xf6\xf7\x0e\x0b\x4c\x9c\x68\x78\x7b\x71\x31\xc7\xeb\x1e\xe0\x67\x41\xf3\xb7\xa0\xa7\xcd\xe5\x7a\x33\x36\x6a\xfa\x9a\x2b", - ["TURKTRUST Certificate Services Provider Root 1"] = "\x30\x82\x03\xfb\x30\x82\x02\xe3\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xb7\x31\x3f\x30\x3d\x06\x03\x55\x04\x03\x0c\x36\x54\xc3\x9c\x52\x4b\x54\x52\x55\x53\x54\x20\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x20\x48\x69\x7a\x6d\x65\x74\x20\x53\x61\xc4\x9f\x6c\x61\x79\xc4\xb1\x63\xc4\xb1\x73\xc4\xb1\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x0c\x02\x54\x52\x31\x0f\x30\x0d\x06\x03\x55\x04\x07\x0c\x06\x41\x4e\x4b\x41\x52\x41\x31\x56\x30\x54\x06\x03\x55\x04\x0a\x0c\x4d\x28\x63\x29\x20\x32\x30\x30\x35\x20\x54\xc3\x9c\x52\x4b\x54\x52\x55\x53\x54\x20\x42\x69\x6c\x67\x69\x20\xc4\xb0\x6c\x65\x74\x69\xc5\x9f\x69\x6d\x20\x76\x65\x20\x42\x69\x6c\x69\xc5\x9f\x69\x6d\x20\x47\xc3\xbc\x76\x65\x6e\x6c\x69\xc4\x9f\x69\x20\x48\x69\x7a\x6d\x65\x74\x6c\x65\x72\x69\x20\x41\x2e\xc5\x9e\x2e\x30\x1e\x17\x0d\x30\x35\x30\x35\x31\x33\x31\x30\x32\x37\x31\x37\x5a\x17\x0d\x31\x35\x30\x33\x32\x32\x31\x30\x32\x37\x31\x37\x5a\x30\x81\xb7\x31\x3f\x30\x3d\x06\x03\x55\x04\x03\x0c\x36\x54\xc3\x9c\x52\x4b\x54\x52\x55\x53\x54\x20\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x20\x48\x69\x7a\x6d\x65\x74\x20\x53\x61\xc4\x9f\x6c\x61\x79\xc4\xb1\x63\xc4\xb1\x73\xc4\xb1\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x0c\x02\x54\x52\x31\x0f\x30\x0d\x06\x03\x55\x04\x07\x0c\x06\x41\x4e\x4b\x41\x52\x41\x31\x56\x30\x54\x06\x03\x55\x04\x0a\x0c\x4d\x28\x63\x29\x20\x32\x30\x30\x35\x20\x54\xc3\x9c\x52\x4b\x54\x52\x55\x53\x54\x20\x42\x69\x6c\x67\x69\x20\xc4\xb0\x6c\x65\x74\x69\xc5\x9f\x69\x6d\x20\x76\x65\x20\x42\x69\x6c\x69\xc5\x9f\x69\x6d\x20\x47\xc3\xbc\x76\x65\x6e\x6c\x69\xc4\x9f\x69\x20\x48\x69\x7a\x6d\x65\x74\x6c\x65\x72\x69\x20\x41\x2e\xc5\x9e\x2e\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xca\x52\x05\xd6\x63\x03\xd8\x1c\x5f\xdd\xd2\x7b\x5d\xf2\x0c\x60\x61\x5b\x6b\x3b\x74\x2b\x78\x0d\x7d\x45\xbd\x22\x74\xe8\x8c\x03\xc1\xc6\x11\x2a\x3d\x95\xbc\xa9\x94\xb0\xbb\x91\x97\xc8\x69\x7c\x84\xc5\xb4\x91\x6c\x6c\x13\x6a\xa4\x55\xad\xa4\x85\xe8\x95\x7e\xb3\x00\xaf\x00\xc2\x05\x18\xf5\x70\x9d\x36\x8b\xae\xcb\xe4\x1b\x81\x7f\x93\x88\xfb\x6a\x55\xbb\x7d\x85\x92\xce\xba\x58\x9f\xdb\x32\xc5\xbd\x5d\xef\x22\x4a\x2f\x41\x07\x7e\x49\x61\xb3\x86\xec\x4e\xa6\x41\x6e\x84\xbc\x03\xec\xf5\x3b\x1c\xc8\x1f\xc2\xee\xa8\xee\xea\x12\x4a\x8d\x14\xcf\xf3\x0a\xe0\x50\x39\xf9\x08\x35\xf8\x11\x59\xad\xe7\x22\xea\x4b\xca\x14\x06\xde\x42\xba\xb2\x99\xf3\x2d\x54\x88\x10\x06\xea\xe1\x1a\x3e\x3d\x67\x1f\xfb\xce\xfb\x7c\x82\xe8\x11\x5d\x4a\xc1\xb9\x14\xea\x54\xd9\x66\x9b\x7c\x89\x7d\x04\x9a\x62\xc9\xe9\x52\x3c\x9e\x9c\xef\xd2\xf5\x26\xe4\xe6\xe5\x18\x7c\x8b\x6e\xdf\x6c\xcc\x78\x5b\x4f\x72\xb2\xcb\x5c\x3f\x8c\x05\x8d\xd1\x4c\x8c\xad\x92\xc7\xe1\x78\x7f\x65\x6c\x49\x06\x50\x2c\x9e\x32\xc2\xd7\x4a\xc6\x75\x8a\x59\x4e\x75\x6f\x47\x5e\xc1\x02\x03\x01\x00\x01\xa3\x10\x30\x0e\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x15\xf5\x55\xff\x37\x96\x80\x59\x21\xa4\xfc\xa1\x15\x4c\x20\xf6\xd4\x5f\xda\x03\x24\xfc\xcf\x90\x1a\xf4\x21\x0a\x9a\xee\x3a\xb1\x6a\xef\xef\xf8\x60\xd1\x4c\x36\x66\x45\x1d\xf3\x66\x02\x74\x04\x7b\x92\x30\xa8\xde\x0a\x76\x0f\xef\x95\x6e\xbd\xc9\x37\xe6\x1a\x0d\xac\x89\x48\x5b\xcc\x83\x36\xc2\xf5\x46\x5c\x59\x82\x56\xb4\xd5\xfe\x23\xb4\xd8\x54\x1c\x44\xab\xc4\xa7\xe5\x14\xce\x3c\x41\x61\x7c\x43\xe6\xcd\xc4\x81\x09\x8b\x24\xfb\x54\x25\xd6\x16\xa8\x96\x0c\x67\x07\x6f\xb3\x50\x47\xe3\x1c\x24\x28\xdd\x2a\x98\xa4\x61\xfe\xdb\xea\x12\x37\xbc\x01\x1a\x34\x85\xbd\x6e\x4f\xe7\x91\x72\x07\x44\x85\x1e\x58\xca\x54\x44\xdd\xf7\xac\xb9\xcb\x89\x21\x72\xdb\x8f\xc0\x69\x29\x97\x2a\xa3\xae\x18\x23\x97\x1c\x41\x2a\x8b\x7c\x2a\xc1\x7c\x90\xe8\xa9\x28\xc0\xd3\x91\xc6\xad\x28\x87\x40\x68\xb5\xff\xec\xa7\xd2\xd3\x38\x18\x9c\xd3\x7d\x69\x5d\xf0\xc6\xa5\x1e\x24\x1b\xa3\x47\xfc\x69\x07\x68\xe7\xe4\x9a\xb4\xed\x0f\xa1\x87\x87\x02\xce\x87\xd2\x48\x4e\xe1\xbc\xff\xcb\xf1\x72\x92\x44\x64\x03\x25\xea\xde\x5b\x6e\x9f\xc9\xf2\x4e\xac\xdd\xc7", - ["TURKTRUST Certificate Services Provider Root 2"] = "\x30\x82\x04\x3c\x30\x82\x03\x24\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xbe\x31\x3f\x30\x3d\x06\x03\x55\x04\x03\x0c\x36\x54\xc3\x9c\x52\x4b\x54\x52\x55\x53\x54\x20\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x20\x48\x69\x7a\x6d\x65\x74\x20\x53\x61\xc4\x9f\x6c\x61\x79\xc4\xb1\x63\xc4\xb1\x73\xc4\xb1\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x52\x31\x0f\x30\x0d\x06\x03\x55\x04\x07\x0c\x06\x41\x6e\x6b\x61\x72\x61\x31\x5d\x30\x5b\x06\x03\x55\x04\x0a\x0c\x54\x54\xc3\x9c\x52\x4b\x54\x52\x55\x53\x54\x20\x42\x69\x6c\x67\x69\x20\xc4\xb0\x6c\x65\x74\x69\xc5\x9f\x69\x6d\x20\x76\x65\x20\x42\x69\x6c\x69\xc5\x9f\x69\x6d\x20\x47\xc3\xbc\x76\x65\x6e\x6c\x69\xc4\x9f\x69\x20\x48\x69\x7a\x6d\x65\x74\x6c\x65\x72\x69\x20\x41\x2e\xc5\x9e\x2e\x20\x28\x63\x29\x20\x4b\x61\x73\xc4\xb1\x6d\x20\x32\x30\x30\x35\x30\x1e\x17\x0d\x30\x35\x31\x31\x30\x37\x31\x30\x30\x37\x35\x37\x5a\x17\x0d\x31\x35\x30\x39\x31\x36\x31\x30\x30\x37\x35\x37\x5a\x30\x81\xbe\x31\x3f\x30\x3d\x06\x03\x55\x04\x03\x0c\x36\x54\xc3\x9c\x52\x4b\x54\x52\x55\x53\x54\x20\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x20\x48\x69\x7a\x6d\x65\x74\x20\x53\x61\xc4\x9f\x6c\x61\x79\xc4\xb1\x63\xc4\xb1\x73\xc4\xb1\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x52\x31\x0f\x30\x0d\x06\x03\x55\x04\x07\x0c\x06\x41\x6e\x6b\x61\x72\x61\x31\x5d\x30\x5b\x06\x03\x55\x04\x0a\x0c\x54\x54\xc3\x9c\x52\x4b\x54\x52\x55\x53\x54\x20\x42\x69\x6c\x67\x69\x20\xc4\xb0\x6c\x65\x74\x69\xc5\x9f\x69\x6d\x20\x76\x65\x20\x42\x69\x6c\x69\xc5\x9f\x69\x6d\x20\x47\xc3\xbc\x76\x65\x6e\x6c\x69\xc4\x9f\x69\x20\x48\x69\x7a\x6d\x65\x74\x6c\x65\x72\x69\x20\x41\x2e\xc5\x9e\x2e\x20\x28\x63\x29\x20\x4b\x61\x73\xc4\xb1\x6d\x20\x32\x30\x30\x35\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xa9\x36\x7e\xc3\x91\x43\x4c\xc3\x19\x98\x08\xc8\xc7\x58\x7b\x4f\x16\x8c\xa5\xce\x49\x01\x1f\x73\x0e\xac\x75\x13\xa6\xfa\x9e\x2c\x20\xde\xd8\x90\x0e\x0a\xd1\x69\xd2\x27\xfb\xaa\x77\x9f\x27\x52\x25\xe2\xcb\x5d\xd8\xd8\x83\x50\x17\x7d\x8a\xb5\x82\x3f\x04\x8e\xb4\xd5\xf0\x49\xa7\x64\xb7\x1e\x2e\x5f\x20\x9c\x50\x75\x4f\xaf\xe1\xb5\x41\x14\xf4\x98\x92\x88\xc7\xe5\xe5\x64\x47\x61\x47\x79\xfd\xc0\x51\xf1\xc1\x99\xe7\xdc\xce\x6a\xfb\xaf\xb5\x01\x30\xdc\x46\x1c\xef\x8a\xec\x95\xef\xdc\xff\xaf\x10\x1c\xeb\x9d\xd8\xb0\xaa\x6a\x85\x18\x0d\x17\xc9\x3e\xbf\xf1\x9b\xd0\x09\x89\x42\xfd\xa0\x42\xb4\x9d\x89\x51\x55\x29\xcf\x1b\x70\xbc\x84\x54\xad\xc1\x13\x1f\x98\xf4\x2e\x76\x60\x8b\x5d\x3f\x9a\xad\xca\x0c\xbf\xa7\x56\x5b\x8f\x77\xb8\xd5\x9e\x79\x49\x92\x3f\xe0\xf1\x97\x24\x7a\x6c\x9b\x17\x0f\x6d\xef\x53\x98\x91\x2b\xe4\x0f\xbe\x59\x79\x07\x78\xbb\x97\x95\xf4\x9f\x69\xd4\x58\x87\x0a\xa9\xe3\xcc\xb6\x58\x19\x9f\x26\x21\xb1\xc4\x59\x8d\xb2\x41\x75\xc0\xad\x69\xce\x9c\x00\x08\xf2\x36\xff\x3e\xf0\xa1\x0f\x1a\xac\x14\xfd\xa6\x60\x0f\x02\x03\x01\x00\x01\xa3\x43\x30\x41\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xd9\x37\xb3\x4e\x05\xfd\xd9\xcf\x9f\x12\x16\xae\xb6\x89\x2f\xeb\x25\x3a\x88\x1c\x30\x0f\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x05\x03\x03\x07\x06\x00\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x72\x60\x96\xb7\xc9\xdc\xd8\x29\x5e\x23\x85\x5f\xb2\xb3\x2d\x76\xfb\x88\xd7\x17\xfe\x7b\x6d\x45\xb8\xf6\x85\x6c\x9f\x22\xfc\x2a\x10\x22\xec\xaa\xb9\x30\xf6\xab\x58\xd6\x39\x10\x31\x99\x29\x00\xbd\x89\x66\x41\xfb\x74\xde\x91\xc1\x18\x0b\x9f\xb5\x61\xcb\x9d\x3a\xbe\xf5\xa8\x94\xa3\x22\x55\x6e\x17\x49\xff\xd2\x29\xf1\x38\x26\x5d\xef\xa5\xaa\x3a\xf9\x71\x7b\xe6\xda\x58\x1d\xd3\x74\xc2\x01\xfa\x3e\x69\x58\x5f\xad\xcb\x68\xbe\x14\x2e\x9b\x6c\xc0\xb6\xdc\xa0\x26\xfa\x77\x1a\xe2\x24\xda\x1a\x37\xe0\x67\xad\xd1\x73\x83\x0d\xa5\x1a\x1d\x6e\x12\x92\x7e\x84\x62\x00\x17\xbd\xbc\x25\x18\x57\xf2\xd7\xa9\x6f\x59\x88\xbc\x34\xb7\x2e\x85\x78\x9d\x96\xdc\x14\xc3\x2c\x8a\x52\x9b\x96\x8c\x52\x66\x3d\x86\x16\x8b\x47\xb8\x51\x09\x8c\xea\x7d\xcd\x88\x72\xb3\x60\x33\xb1\xf0\x0a\x44\xef\x0f\xf5\x09\x37\x88\x24\x0e\x2c\x6b\x20\x3a\xa2\xfa\x11\xf2\x40\x35\x9c\x44\x68\x63\x3b\xac\x33\x6f\x63\xbc\x2c\xbb\xf2\xd2\xcb\x76\x7d\x7d\x88\xd8\x1d\xc8\x05\x1d\x6e\xbc\x94\xa9\x66\x8c\x77\x71\xc7\xfa\x91\xfa\x2f\x51\x9e\xe9\x39\x52\xb6\xe7\x04\x42", - ["SwissSign Gold CA - G2"] = "\x30\x82\x05\xba\x30\x82\x03\xa2\xa0\x03\x02\x01\x02\x02\x09\x00\xbb\x40\x1c\x43\xf5\x5e\x4f\xb0\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x45\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x53\x77\x69\x73\x73\x53\x69\x67\x6e\x20\x41\x47\x31\x1f\x30\x1d\x06\x03\x55\x04\x03\x13\x16\x53\x77\x69\x73\x73\x53\x69\x67\x6e\x20\x47\x6f\x6c\x64\x20\x43\x41\x20\x2d\x20\x47\x32\x30\x1e\x17\x0d\x30\x36\x31\x30\x32\x35\x30\x38\x33\x30\x33\x35\x5a\x17\x0d\x33\x36\x31\x30\x32\x35\x30\x38\x33\x30\x33\x35\x5a\x30\x45\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x53\x77\x69\x73\x73\x53\x69\x67\x6e\x20\x41\x47\x31\x1f\x30\x1d\x06\x03\x55\x04\x03\x13\x16\x53\x77\x69\x73\x73\x53\x69\x67\x6e\x20\x47\x6f\x6c\x64\x20\x43\x41\x20\x2d\x20\x47\x32\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xaf\xe4\xee\x7e\x8b\x24\x0e\x12\x6e\xa9\x50\x2d\x16\x44\x3b\x92\x92\x5c\xca\xb8\x5d\x84\x92\x42\x13\x2a\xbc\x65\x57\x82\x40\x3e\x57\x24\xcd\x50\x8b\x25\x2a\xb7\x6f\xfc\xef\xa2\xd0\xc0\x1f\x02\x24\x4a\x13\x96\x8f\x23\x13\xe6\x28\x58\x00\xa3\x47\xc7\x06\xa7\x84\x23\x2b\xbb\xbd\x96\x2b\x7f\x55\xcc\x8b\xc1\x57\x1f\x0e\x62\x65\x0f\xdd\x3d\x56\x8a\x73\xda\xae\x7e\x6d\xba\x81\x1c\x7e\x42\x8c\x20\x35\xd9\x43\x4d\x84\xfa\x84\xdb\x52\x2c\xf3\x0e\x27\x77\x0b\x6b\xbf\x11\x2f\x72\x78\x9f\x2e\xd8\x3e\xe6\x18\x37\x5a\x2a\x72\xf9\xda\x62\x90\x92\x95\xca\x1f\x9c\xe9\xb3\x3c\x2b\xcb\xf3\x01\x13\xbf\x5a\xcf\xc1\xb5\x0a\x60\xbd\xdd\xb5\x99\x64\x53\xb8\xa0\x96\xb3\x6f\xe2\x26\x77\x91\x8c\xe0\x62\x10\x02\x9f\x34\x0f\xa4\xd5\x92\x33\x51\xde\xbe\x8d\xba\x84\x7a\x60\x3c\x6a\xdb\x9f\x2b\xec\xde\xde\x01\x3f\x6e\x4d\xe5\x50\x86\xcb\xb4\xaf\xed\x44\x40\xc5\xca\x5a\x8c\xda\xd2\x2b\x7c\xa8\xee\xbe\xa6\xe5\x0a\xaa\x0e\xa5\xdf\x05\x52\xb7\x55\xc7\x22\x5d\x32\x6a\x97\x97\x63\x13\xdb\xc9\xdb\x79\x36\x7b\x85\x3a\x4a\xc5\x52\x89\xf9\x24\xe7\x9d\x77\xa9\x82\xff\x55\x1c\xa5\x71\x69\x2b\xd1\x02\x24\xf2\xb3\x26\xd4\x6b\xda\x04\x55\xe5\xc1\x0a\xc7\x6d\x30\x37\x90\x2a\xe4\x9e\x14\x33\x5e\x16\x17\x55\xc5\x5b\xb5\xcb\x34\x89\x92\xf1\x9d\x26\x8f\xa1\x07\xd4\xc6\xb2\x78\x50\xdb\x0c\x0c\x0b\x7c\x0b\x8c\x41\xd7\xb9\xe9\xdd\x8c\x88\xf7\xa3\x4d\xb2\x32\xcc\xd8\x17\xda\xcd\xb7\xce\x66\x9d\xd4\xfd\x5e\xff\xbd\x97\x3e\x29\x75\xe7\x7e\xa7\x62\x58\xaf\x25\x34\xa5\x41\xc7\x3d\xbc\x0d\x50\xca\x03\x03\x0f\x08\x5a\x1f\x95\x73\x78\x62\xbf\xaf\x72\x14\x69\x0e\xa5\xe5\x03\x0e\x78\x8e\x26\x28\x42\xf0\x07\x0b\x62\x20\x10\x67\x39\x46\xfa\xa9\x03\xcc\x04\x38\x7a\x66\xef\x20\x83\xb5\x8c\x4a\x56\x8e\x91\x00\xfc\x8e\x5c\x82\xde\x88\xa0\xc3\xe2\x68\x6e\x7d\x8d\xef\x3c\xdd\x65\xf4\x5d\xac\x51\xef\x24\x80\xae\xaa\x56\x97\x6f\xf9\xad\x7d\xda\x61\x3f\x98\x77\x3c\xa5\x91\xb6\x1c\x8c\x26\xda\x65\xa2\x09\x6d\xc1\xe2\x54\xe3\xb9\xca\x4c\x4c\x80\x8f\x77\x7b\x60\x9a\x1e\xdf\xb6\xf2\x48\x1e\x0e\xba\x4e\x54\x6d\x98\xe0\xe1\xa2\x1a\xa2\x77\x50\xcf\xc4\x63\x92\xec\x47\x19\x9d\xeb\xe6\x6b\xce\xc1\x02\x03\x01\x00\x01\xa3\x81\xac\x30\x81\xa9\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x5b\x25\x7b\x96\xa4\x65\x51\x7e\xb8\x39\xf3\xc0\x78\x66\x5e\xe8\x3a\xe7\xf0\xee\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x5b\x25\x7b\x96\xa4\x65\x51\x7e\xb8\x39\xf3\xc0\x78\x66\x5e\xe8\x3a\xe7\xf0\xee\x30\x46\x06\x03\x55\x1d\x20\x04\x3f\x30\x3d\x30\x3b\x06\x09\x60\x85\x74\x01\x59\x01\x02\x01\x01\x30\x2e\x30\x2c\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x20\x68\x74\x74\x70\x3a\x2f\x2f\x72\x65\x70\x6f\x73\x69\x74\x6f\x72\x79\x2e\x73\x77\x69\x73\x73\x73\x69\x67\x6e\x2e\x63\x6f\x6d\x2f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x27\xba\xe3\x94\x7c\xf1\xae\xc0\xde\x17\xe6\xe5\xd8\xd5\xf5\x54\xb0\x83\xf4\xbb\xcd\x5e\x05\x7b\x4f\x9f\x75\x66\xaf\x3c\xe8\x56\x7e\xfc\x72\x78\x38\x03\xd9\x2b\x62\x1b\x00\xb9\xf8\xe9\x60\xcd\xcc\xce\x51\x8a\xc7\x50\x31\x6e\xe1\x4a\x7e\x18\x2f\x69\x59\xb6\x3d\x64\x81\x2b\xe3\x83\x84\xe6\x22\x87\x8e\x7d\xe0\xee\x02\x99\x61\xb8\x1e\xf4\xb8\x2b\x88\x12\x16\x84\xc2\x31\x93\x38\x96\x31\xa6\xb9\x3b\x53\x3f\xc3\x24\x93\x56\x5b\x69\x92\xec\xc5\xc1\xbb\x38\x00\xe3\xec\x17\xa9\xb8\xdc\xc7\x7c\x01\x83\x9f\x32\x47\xba\x52\x22\x34\x1d\x32\x7a\x09\x56\xa7\x7c\x25\x36\xa9\x3d\x4b\xda\xc0\x82\x6f\x0a\xbb\x12\xc8\x87\x4b\x27\x11\xf9\x1e\x2d\xc7\x93\x3f\x9e\xdb\x5f\x26\x6b\x52\xd9\x2e\x8a\xf1\x14\xc6\x44\x8d\x15\xa9\xb7\xbf\xbd\xde\xa6\x1a\xee\xae\x2d\xfb\x48\x77\x17\xfe\xbb\xec\xaf\x18\xf5\x2a\x51\xf0\x39\x84\x97\x95\x6c\x6e\x1b\xc3\x2b\xc4\x74\x60\x79\x25\xb0\x0a\x27\xdf\xdf\x5e\xd2\x39\xcf\x45\x7d\x42\x4b\xdf\xb3\x2c\x1e\xc5\xc6\x5d\xca\x55\x3a\xa0\x9c\x69\x9a\x8f\xda\xef\xb2\xb0\x3c\x9f\x87\x6c\x12\x2b\x65\x70\x15\x52\x31\x1a\x24\xcf\x6f\x31\x23\x50\x1f\x8c\x4f\x8f\x23\xc3\x74\x41\x63\x1c\x55\xa8\x14\xdd\x3e\xe0\x51\x50\xcf\xf1\x1b\x30\x56\x0e\x92\xb0\x82\x85\xd8\x83\xcb\x22\x64\xbc\x2d\xb8\x25\xd5\x54\xa2\xb8\x06\xea\xad\x92\xa4\x24\xa0\xc1\x86\xb5\x4a\x13\x6a\x47\xcf\x2e\x0b\x56\x95\x54\xcb\xce\x9a\xdb\x6a\xb4\xa6\xb2\xdb\x41\x08\x86\x27\x77\xf7\x6a\xa0\x42\x6c\x0b\x38\xce\xd7\x75\x50\x32\x92\xc2\xdf\x2b\x30\x22\x48\xd0\xd5\x41\x38\x25\x5d\xa4\xe9\x5d\x9f\xc6\x94\x75\xd0\x45\xfd\x30\x97\x43\x8f\x90\xab\x0a\xc7\x86\x73\x60\x4a\x69\x2d\xde\xa5\x78\xd7\x06\xda\x6a\x9e\x4b\x3e\x77\x3a\x20\x13\x22\x01\xd0\xbf\x68\x9e\x63\x60\x6b\x35\x4d\x0b\x6d\xba\xa1\x3d\xc0\x93\xe0\x7f\x23\xb3\x55\xad\x72\x25\x4e\x46\xf9\xd2\x16\xef\xb0\x64\xc1\x01\x9e\xe9\xca\xa0\x6a\x98\x0e\xcf\xd8\x60\xf2\x2f\x49\xb8\xe4\x42\xe1\x38\x35\x16\xf4\xc8\x6e\x4f\xf7\x81\x56\xe8\xba\xa3\xbe\x23\xaf\xae\xfd\x6f\x03\xe0\x02\x3b\x30\x76\xfa\x1b\x6d\x41\xcf\x01\xb1\xe9\xb8\xc9\x66\xf4\xdb\x26\xf3\x3a\xa4\x74\xf2\x49\x24\x5b\xc9\xb0\xd0\x57\xc1\xfa\x3e\x7a\xe1\x97\xc9", - ["SwissSign Silver CA - G2"] = "\x30\x82\x05\xbd\x30\x82\x03\xa5\xa0\x03\x02\x01\x02\x02\x08\x4f\x1b\xd4\x2f\x54\xbb\x2f\x4b\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x47\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x53\x77\x69\x73\x73\x53\x69\x67\x6e\x20\x41\x47\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x53\x77\x69\x73\x73\x53\x69\x67\x6e\x20\x53\x69\x6c\x76\x65\x72\x20\x43\x41\x20\x2d\x20\x47\x32\x30\x1e\x17\x0d\x30\x36\x31\x30\x32\x35\x30\x38\x33\x32\x34\x36\x5a\x17\x0d\x33\x36\x31\x30\x32\x35\x30\x38\x33\x32\x34\x36\x5a\x30\x47\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x53\x77\x69\x73\x73\x53\x69\x67\x6e\x20\x41\x47\x31\x21\x30\x1f\x06\x03\x55\x04\x03\x13\x18\x53\x77\x69\x73\x73\x53\x69\x67\x6e\x20\x53\x69\x6c\x76\x65\x72\x20\x43\x41\x20\x2d\x20\x47\x32\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xc4\xf1\x87\x7f\xd3\x78\x31\xf7\x38\xc9\xf8\xc3\x99\x43\xbc\xc7\xf7\xbc\x37\xe7\x4e\x71\xba\x4b\x8f\xa5\x73\x1d\x5c\x6e\x98\xae\x03\x57\xae\x38\x37\x43\x2f\x17\x3d\x1f\xc8\xce\x68\x10\xc1\x78\xae\x19\x03\x2b\x10\xfa\x2c\x79\x83\xf6\xe8\xb9\x68\xb9\x55\xf2\x04\x44\xa7\x39\xf9\xfc\x04\x8b\x1e\xf1\xa2\x4d\x27\xf9\x61\x7b\xba\xb7\xe5\xa2\x13\xb6\xeb\x61\x3e\xd0\x6c\xd1\xe6\xfb\xfa\x5e\xed\x1d\xb4\x9e\xa0\x35\x5b\xa1\x92\xcb\xf0\x49\x92\xfe\x85\x0a\x05\x3e\xe6\xd9\x0b\xe2\x4f\xbb\xdc\x95\x37\xfc\x91\xe9\x32\x35\x22\xd1\x1f\x3a\x4e\x27\x85\x9d\xb0\x15\x94\x32\xda\x61\x0d\x47\x4d\x60\x42\xae\x92\x47\xe8\x83\x5a\x50\x58\xe9\x8a\x8b\xb9\x5d\xa1\xdc\xdd\x99\x4a\x1f\x36\x67\xbb\x48\xe4\x83\xb6\x37\xeb\x48\x3a\xaf\x0f\x67\x8f\x17\x07\xe8\x04\xca\xef\x6a\x31\x87\xd4\xc0\xb6\xf9\x94\x71\x7b\x67\x64\xb8\xb6\x91\x4a\x42\x7b\x65\x2e\x30\x6a\x0c\xf5\x90\xee\x95\xe6\xf2\xcd\x82\xec\xd9\xa1\x4a\xec\xf6\xb2\x4b\xe5\x45\x85\xe6\x6d\x78\x93\x04\x2e\x9c\x82\x6d\x36\xa9\xc4\x31\x64\x1f\x86\x83\x0b\x2a\xf4\x35\x0a\x78\xc9\x55\xcf\x41\xb0\x47\xe9\x30\x9f\x99\xbe\x61\xa8\x06\x84\xb9\x28\x7a\x5f\x38\xd9\x1b\xa9\x38\xb0\x83\x7f\x73\xc1\xc3\x3b\x48\x2a\x82\x0f\x21\x9b\xb8\xcc\xa8\x35\xc3\x84\x1b\x83\xb3\x3e\xbe\xa4\x95\x69\x01\x3a\x89\x00\x78\x04\xd9\xc9\xf4\x99\x19\xab\x56\x7e\x5b\x8b\x86\x39\x15\x91\xa4\x10\x2c\x09\x32\x80\x60\xb3\x93\xc0\x2a\xb6\x18\x0b\x9d\x7e\x8d\x49\xf2\x10\x4a\x7f\xf9\xd5\x46\x2f\x19\x92\xa3\x99\xa7\x26\xac\xbb\x8c\x3c\xe6\x0e\xbc\x47\x07\xdc\x73\x51\xf1\x70\x64\x2f\x08\xf9\xb4\x47\x1d\x30\x6c\x44\xea\x29\x37\x85\x92\x68\x66\xbc\x83\x38\xfe\x7b\x39\x2e\xd3\x50\xf0\x1f\xfb\x5e\x60\xb6\xa9\xa6\xfa\x27\x41\xf1\x9b\x18\x72\xf2\xf5\x84\x74\x4a\xc9\x67\xc4\x54\xae\x48\x64\xdf\x8c\xd1\x6e\xb0\x1d\xe1\x07\x8f\x08\x1e\x99\x9c\x71\xe9\x4c\xd8\xa5\xf7\x47\x12\x1f\x74\xd1\x51\x9e\x86\xf3\xc2\xa2\x23\x40\x0b\x73\xdb\x4b\xa6\xe7\x73\x06\x8c\xc1\xa0\xe9\xc1\x59\xac\x46\xfa\xe6\x2f\xf8\xcf\x71\x9c\x46\x6d\xb9\xc4\x15\x8d\x38\x79\x03\x45\x48\xef\xc4\x5d\xd7\x08\xee\x87\x39\x22\x86\xb2\x0d\x0f\x58\x43\xf7\x71\xa9\x48\x2e\xfd\xea\xd6\x1f\x02\x03\x01\x00\x01\xa3\x81\xac\x30\x81\xa9\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x17\xa0\xcd\xc1\xe4\x41\xb6\x3a\x5b\x3b\xcb\x45\x9d\xbd\x1c\xc2\x98\xfa\x86\x58\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x17\xa0\xcd\xc1\xe4\x41\xb6\x3a\x5b\x3b\xcb\x45\x9d\xbd\x1c\xc2\x98\xfa\x86\x58\x30\x46\x06\x03\x55\x1d\x20\x04\x3f\x30\x3d\x30\x3b\x06\x09\x60\x85\x74\x01\x59\x01\x03\x01\x01\x30\x2e\x30\x2c\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x20\x68\x74\x74\x70\x3a\x2f\x2f\x72\x65\x70\x6f\x73\x69\x74\x6f\x72\x79\x2e\x73\x77\x69\x73\x73\x73\x69\x67\x6e\x2e\x63\x6f\x6d\x2f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x73\xc6\x81\xe0\x27\xd2\x2d\x0f\xe0\x95\x30\xe2\x9a\x41\x7f\x50\x2c\x5f\x5f\x62\x61\xa9\x86\x6a\x69\x18\x0c\x74\x49\xd6\x5d\x84\xea\x41\x52\x18\x6f\x58\xad\x50\x56\x20\x6a\xc6\xbd\x28\x69\x58\x91\xdc\x91\x11\x35\xa9\x3a\x1d\xbc\x1a\xa5\x60\x9e\xd8\x1f\x7f\x45\x91\x69\xd9\x7e\xbb\x78\x72\xc1\x06\x0f\x2a\xce\x8f\x85\x70\x61\xac\xa0\xcd\x0b\xb8\x39\x29\x56\x84\x32\x4e\x86\xbb\x3d\xc4\x2a\xd9\xd7\x1f\x72\xee\xfe\x51\xa1\x22\x41\xb1\x71\x02\x63\x1a\x82\xb0\x62\xab\x5e\x57\x12\x1f\xdf\xcb\xdd\x75\xa0\xc0\x5d\x79\x90\x8c\x1b\xe0\x50\xe6\xde\x31\xfe\x98\x7b\x70\x5f\xa5\x90\xd8\xad\xf8\x02\xb6\x6f\xd3\x60\xdd\x40\x4b\x22\xc5\x3d\xad\x3a\x7a\x9f\x1a\x1a\x47\x91\x79\x33\xba\x82\xdc\x32\x69\x03\x96\x6e\x1f\x4b\xf0\x71\xfe\xe3\x67\x72\xa0\xb1\xbf\x5c\x8b\xe4\xfa\x99\x22\xc7\x84\xb9\x1b\x8d\x23\x97\x3f\xed\x25\xe0\xcf\x65\xbb\xf5\x61\x04\xef\xdd\x1e\xb2\x5a\x41\x22\x5a\xa1\x9f\x5d\x2c\xe8\x5b\xc9\x6d\xa9\x0c\x0c\x78\xaa\x60\xc6\x56\x8f\x01\x5a\x0c\x68\xbc\x69\x19\x79\xc4\x1f\x7e\x97\x05\xbf\xc5\xe9\x24\x51\x5e\xd4\xd5\x4b\x53\xed\xd9\x23\x5a\x36\x03\x65\xa3\xc1\x03\xad\x41\x30\xf3\x46\x1b\x85\x90\xaf\x65\xb5\xd5\xb1\xe4\x16\x5b\x78\x75\x1d\x97\x7a\x6d\x59\xa9\x2a\x8f\x7b\xde\xc3\x87\x89\x10\x99\x49\x73\x78\xc8\x3d\xbd\x51\x35\x74\x2a\xd5\xf1\x7e\x69\x1b\x2a\xbb\x3b\xbd\x25\xb8\x9a\x5a\x3d\x72\x61\x90\x66\x87\xee\x0c\xd6\x4d\xd4\x11\x74\x0b\x6a\xfe\x0b\x03\xfc\xa3\x55\x57\x89\xfe\x4a\xcb\xae\x5b\x17\x05\xc8\xf2\x8d\x23\x31\x53\x38\xd2\x2d\x6a\x3f\x82\xb9\x8d\x08\x6a\xf7\x5e\x41\x74\x6e\xc3\x11\x7e\x07\xac\x29\x60\x91\x3f\x38\xca\x57\x10\x0d\xbd\x30\x2f\xc7\xa5\xe6\x41\xa0\xda\xae\x05\x87\x9a\xa0\xa4\x65\x6c\x4c\x09\x0c\x89\xba\xb8\xd3\xb9\xc0\x93\x8a\x30\xfa\x8d\xe5\x9a\x6b\x15\x01\x4e\x67\xaa\xda\x62\x56\x3e\x84\x08\x66\xd2\xc4\x36\x7d\xa7\x3e\x10\xfc\x88\xe0\xd4\x80\xe5\x00\xbd\xaa\xf3\x4e\x06\xa3\x7a\x6a\xf9\x62\x72\xe3\x09\x4f\xeb\x9b\x0e\x01\x23\xf1\x9f\xbb\x7c\xdc\xdc\x6c\x11\x97\x25\xb2\xf2\xb4\x63\x14\xd2\x06\x2a\x67\x8c\x83\xf5\xce\xea\x07\xd8\x9a\x6a\x1e\xec\xe4\x0a\xbb\x2a\x4c\xeb\x09\x60\x39\xce\xca\x62\xd8\x2e\x6e", - ["GeoTrust Primary Certification Authority"] = "\x30\x82\x03\x7c\x30\x82\x02\x64\xa0\x03\x02\x01\x02\x02\x10\x18\xac\xb5\x6a\xfd\x69\xb6\x15\x3a\x63\x6c\xaf\xda\xfa\xc4\xa1\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x58\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x31\x30\x2f\x06\x03\x55\x04\x03\x13\x28\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x36\x31\x31\x32\x37\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x36\x30\x37\x31\x36\x32\x33\x35\x39\x35\x39\x5a\x30\x58\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x31\x30\x2f\x06\x03\x55\x04\x03\x13\x28\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xbe\xb8\x15\x7b\xff\xd4\x7c\x7d\x67\xad\x83\x64\x7b\xc8\x42\x53\x2d\xdf\xf6\x84\x08\x20\x61\xd6\x01\x59\x6a\x9c\x44\x11\xaf\xef\x76\xfd\x95\x7e\xce\x61\x30\xbb\x7a\x83\x5f\x02\xbd\x01\x66\xca\xee\x15\x8d\x6f\xa1\x30\x9c\xbd\xa1\x85\x9e\x94\x3a\xf3\x56\x88\x00\x31\xcf\xd8\xee\x6a\x96\x02\xd9\xed\x03\x8c\xfb\x75\x6d\xe7\xea\xb8\x55\x16\x05\x16\x9a\xf4\xe0\x5e\xb1\x88\xc0\x64\x85\x5c\x15\x4d\x88\xc7\xb7\xba\xe0\x75\xe9\xad\x05\x3d\x9d\xc7\x89\x48\xe0\xbb\x28\xc8\x03\xe1\x30\x93\x64\x5e\x52\xc0\x59\x70\x22\x35\x57\x88\x8a\xf1\x95\x0a\x83\xd7\xbc\x31\x73\x01\x34\xed\xef\x46\x71\xe0\x6b\x02\xa8\x35\x72\x6b\x97\x9b\x66\xe0\xcb\x1c\x79\x5f\xd8\x1a\x04\x68\x1e\x47\x02\xe6\x9d\x60\xe2\x36\x97\x01\xdf\xce\x35\x92\xdf\xbe\x67\xc7\x6d\x77\x59\x3b\x8f\x9d\xd6\x90\x15\x94\xbc\x42\x34\x10\xc1\x39\xf9\xb1\x27\x3e\x7e\xd6\x8a\x75\xc5\xb2\xaf\x96\xd3\xa2\xde\x9b\xe4\x98\xbe\x7d\xe1\xe9\x81\xad\xb6\x6f\xfc\xd7\x0e\xda\xe0\x34\xb0\x0d\x1a\x77\xe7\xe3\x08\x98\xef\x58\xfa\x9c\x84\xb7\x36\xaf\xc2\xdf\xac\xd2\xf4\x10\x06\x70\x71\x35\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x2c\xd5\x50\x41\x97\x15\x8b\xf0\x8f\x36\x61\x5b\x4a\xfb\x6b\xd9\x99\xc9\x33\x92\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x5a\x70\x7f\x2c\xdd\xb7\x34\x4f\xf5\x86\x51\xa9\x26\xbe\x4b\xb8\xaa\xf1\x71\x0d\xdc\x61\xc7\xa0\xea\x34\x1e\x7a\x77\x0f\x04\x35\xe8\x27\x8f\x6c\x90\xbf\x91\x16\x24\x46\x3e\x4a\x4e\xce\x2b\x16\xd5\x0b\x52\x1d\xfc\x1f\x67\xa2\x02\x45\x31\x4f\xce\xf3\xfa\x03\xa7\x79\x9d\x53\x6a\xd9\xda\x63\x3a\xf8\x80\xd7\xd3\x99\xe1\xa5\xe1\xbe\xd4\x55\x71\x98\x35\x3a\xbe\x93\xea\xae\xad\x42\xb2\x90\x6f\xe0\xfc\x21\x4d\x35\x63\x33\x89\x49\xd6\x9b\x4e\xca\xc7\xe7\x4e\x09\x00\xf7\xda\xc7\xef\x99\x62\x99\x77\xb6\x95\x22\x5e\x8a\xa0\xab\xf4\xb8\x78\x98\xca\x38\x19\x99\xc9\x72\x9e\x78\xcd\x4b\xac\xaf\x19\xa0\x73\x12\x2d\xfc\xc2\x41\xba\x81\x91\xda\x16\x5a\x31\xb7\xf9\xb4\x71\x80\x12\x48\x99\x72\x73\x5a\x59\x53\xc1\x63\x52\x33\xed\xa7\xc9\xd2\x39\x02\x70\xfa\xe0\xb1\x42\x66\x29\xaa\x9b\x51\xed\x30\x54\x22\x14\x5f\xd9\xab\x1d\xc1\xe4\x94\xf0\xf8\xf5\x2b\xf7\xea\xca\x78\x46\xd6\xb8\x91\xfd\xa6\x0d\x2b\x1a\x14\x01\x3e\x80\xf0\x42\xa0\x95\x07\x5e\x6d\xcd\xcc\x4b\xa4\x45\x8d\xab\x12\xe8\xb3\xde\x5a\xe5\xa0\x7c\xe8\x0f\x22\x1d\x5a\xe9\x59", - ["thawte Primary Root CA"] = "\x30\x82\x04\x20\x30\x82\x03\x08\xa0\x03\x02\x01\x02\x02\x10\x34\x4e\xd5\x57\x20\xd5\xed\xec\x49\xf4\x2f\xce\x37\xdb\x2b\x6d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xa9\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x31\x28\x30\x26\x06\x03\x55\x04\x0b\x13\x1f\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x20\x44\x69\x76\x69\x73\x69\x6f\x6e\x31\x38\x30\x36\x06\x03\x55\x04\x0b\x13\x2f\x28\x63\x29\x20\x32\x30\x30\x36\x20\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x1f\x30\x1d\x06\x03\x55\x04\x03\x13\x16\x74\x68\x61\x77\x74\x65\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x1e\x17\x0d\x30\x36\x31\x31\x31\x37\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x36\x30\x37\x31\x36\x32\x33\x35\x39\x35\x39\x5a\x30\x81\xa9\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x31\x28\x30\x26\x06\x03\x55\x04\x0b\x13\x1f\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x20\x44\x69\x76\x69\x73\x69\x6f\x6e\x31\x38\x30\x36\x06\x03\x55\x04\x0b\x13\x2f\x28\x63\x29\x20\x32\x30\x30\x36\x20\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x1f\x30\x1d\x06\x03\x55\x04\x03\x13\x16\x74\x68\x61\x77\x74\x65\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xac\xa0\xf0\xfb\x80\x59\xd4\x9c\xc7\xa4\xcf\x9d\xa1\x59\x73\x09\x10\x45\x0c\x0d\x2c\x6e\x68\xf1\x6c\x5b\x48\x68\x49\x59\x37\xfc\x0b\x33\x19\xc2\x77\x7f\xcc\x10\x2d\x95\x34\x1c\xe6\xeb\x4d\x09\xa7\x1c\xd2\xb8\xc9\x97\x36\x02\xb7\x89\xd4\x24\x5f\x06\xc0\xcc\x44\x94\x94\x8d\x02\x62\x6f\xeb\x5a\xdd\x11\x8d\x28\x9a\x5c\x84\x90\x10\x7a\x0d\xbd\x74\x66\x2f\x6a\x38\xa0\xe2\xd5\x54\x44\xeb\x1d\x07\x9f\x07\xba\x6f\xee\xe9\xfd\x4e\x0b\x29\xf5\x3e\x84\xa0\x01\xf1\x9c\xab\xf8\x1c\x7e\x89\xa4\xe8\xa1\xd8\x71\x65\x0d\xa3\x51\x7b\xee\xbc\xd2\x22\x60\x0d\xb9\x5b\x9d\xdf\xba\xfc\x51\x5b\x0b\xaf\x98\xb2\xe9\x2e\xe9\x04\xe8\x62\x87\xde\x2b\xc8\xd7\x4e\xc1\x4c\x64\x1e\xdd\xcf\x87\x58\xba\x4a\x4f\xca\x68\x07\x1d\x1c\x9d\x4a\xc6\xd5\x2f\x91\xcc\x7c\x71\x72\x1c\xc5\xc0\x67\xeb\x32\xfd\xc9\x92\x5c\x94\xda\x85\xc0\x9b\xbf\x53\x7d\x2b\x09\xf4\x8c\x9d\x91\x1f\x97\x6a\x52\xcb\xde\x09\x36\xa4\x77\xd8\x7b\x87\x50\x44\xd5\x3e\x6e\x29\x69\xfb\x39\x49\x26\x1e\x09\xa5\x80\x7b\x40\x2d\xeb\xe8\x27\x85\xc9\xfe\x61\xfd\x7e\xe6\x7c\x97\x1d\xd5\x9d\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x7b\x5b\x45\xcf\xaf\xce\xcb\x7a\xfd\x31\x92\x1a\x6a\xb6\xf3\x46\xeb\x57\x48\x50\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x79\x11\xc0\x4b\xb3\x91\xb6\xfc\xf0\xe9\x67\xd4\x0d\x6e\x45\xbe\x55\xe8\x93\xd2\xce\x03\x3f\xed\xda\x25\xb0\x1d\x57\xcb\x1e\x3a\x76\xa0\x4c\xec\x50\x76\xe8\x64\x72\x0c\xa4\xa9\xf1\xb8\x8b\xd6\xd6\x87\x84\xbb\x32\xe5\x41\x11\xc0\x77\xd9\xb3\x60\x9d\xeb\x1b\xd5\xd1\x6e\x44\x44\xa9\xa6\x01\xec\x55\x62\x1d\x77\xb8\x5c\x8e\x48\x49\x7c\x9c\x3b\x57\x11\xac\xad\x73\x37\x8e\x2f\x78\x5c\x90\x68\x47\xd9\x60\x60\xe6\xfc\x07\x3d\x22\x20\x17\xc4\xf7\x16\xe9\xc4\xd8\x72\xf9\xc8\x73\x7c\xdf\x16\x2f\x15\xa9\x3e\xfd\x6a\x27\xb6\xa1\xeb\x5a\xba\x98\x1f\xd5\xe3\x4d\x64\x0a\x9d\x13\xc8\x61\xba\xf5\x39\x1c\x87\xba\xb8\xbd\x7b\x22\x7f\xf6\xfe\xac\x40\x79\xe5\xac\x10\x6f\x3d\x8f\x1b\x79\x76\x8b\xc4\x37\xb3\x21\x18\x84\xe5\x36\x00\xeb\x63\x20\x99\xb9\xe9\xfe\x33\x04\xbb\x41\xc8\xc1\x02\xf9\x44\x63\x20\x9e\x81\xce\x42\xd3\xd6\x3f\x2c\x76\xd3\x63\x9c\x59\xdd\x8f\xa6\xe1\x0e\xa0\x2e\x41\xf7\x2e\x95\x47\xcf\xbc\xfd\x33\xf3\xf6\x0b\x61\x7e\x7e\x91\x2b\x81\x47\xc2\x27\x30\xee\xa7\x10\x5d\x37\x8f\x5c\x39\x2b\xe4\x04\xf0\x7b\x8d\x56\x8c\x68", - ["VeriSign Class 3 Public Primary Certification Authority - G5"] = "\x30\x82\x04\xd3\x30\x82\x03\xbb\xa0\x03\x02\x01\x02\x02\x10\x18\xda\xd1\x9e\x26\x7d\xe8\xbb\x4a\x21\x58\xcd\xcc\x6b\x3b\x4a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xca\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x32\x30\x30\x36\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x45\x30\x43\x06\x03\x55\x04\x03\x13\x3c\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x35\x30\x1e\x17\x0d\x30\x36\x31\x31\x30\x38\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x36\x30\x37\x31\x36\x32\x33\x35\x39\x35\x39\x5a\x30\x81\xca\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x32\x30\x30\x36\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x45\x30\x43\x06\x03\x55\x04\x03\x13\x3c\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x35\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xaf\x24\x08\x08\x29\x7a\x35\x9e\x60\x0c\xaa\xe7\x4b\x3b\x4e\xdc\x7c\xbc\x3c\x45\x1c\xbb\x2b\xe0\xfe\x29\x02\xf9\x57\x08\xa3\x64\x85\x15\x27\xf5\xf1\xad\xc8\x31\x89\x5d\x22\xe8\x2a\xaa\xa6\x42\xb3\x8f\xf8\xb9\x55\xb7\xb1\xb7\x4b\xb3\xfe\x8f\x7e\x07\x57\xec\xef\x43\xdb\x66\x62\x15\x61\xcf\x60\x0d\xa4\xd8\xde\xf8\xe0\xc3\x62\x08\x3d\x54\x13\xeb\x49\xca\x59\x54\x85\x26\xe5\x2b\x8f\x1b\x9f\xeb\xf5\xa1\x91\xc2\x33\x49\xd8\x43\x63\x6a\x52\x4b\xd2\x8f\xe8\x70\x51\x4d\xd1\x89\x69\x7b\xc7\x70\xf6\xb3\xdc\x12\x74\xdb\x7b\x5d\x4b\x56\xd3\x96\xbf\x15\x77\xa1\xb0\xf4\xa2\x25\xf2\xaf\x1c\x92\x67\x18\xe5\xf4\x06\x04\xef\x90\xb9\xe4\x00\xe4\xdd\x3a\xb5\x19\xff\x02\xba\xf4\x3c\xee\xe0\x8b\xeb\x37\x8b\xec\xf4\xd7\xac\xf2\xf6\xf0\x3d\xaf\xdd\x75\x91\x33\x19\x1d\x1c\x40\xcb\x74\x24\x19\x21\x93\xd9\x14\xfe\xac\x2a\x52\xc7\x8f\xd5\x04\x49\xe4\x8d\x63\x47\x88\x3c\x69\x83\xcb\xfe\x47\xbd\x2b\x7e\x4f\xc5\x95\xae\x0e\x9d\xd4\xd1\x43\xc0\x67\x73\xe3\x14\x08\x7e\xe5\x3f\x9f\x73\xb8\x33\x0a\xcf\x5d\x3f\x34\x87\x96\x8a\xee\x53\xe8\x25\x15\x02\x03\x01\x00\x01\xa3\x81\xb2\x30\x81\xaf\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x6d\x06\x08\x2b\x06\x01\x05\x05\x07\x01\x0c\x04\x61\x30\x5f\xa1\x5d\xa0\x5b\x30\x59\x30\x57\x30\x55\x16\x09\x69\x6d\x61\x67\x65\x2f\x67\x69\x66\x30\x21\x30\x1f\x30\x07\x06\x05\x2b\x0e\x03\x02\x1a\x04\x14\x8f\xe5\xd3\x1a\x86\xac\x8d\x8e\x6b\xc3\xcf\x80\x6a\xd4\x48\x18\x2c\x7b\x19\x2e\x30\x25\x16\x23\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x67\x6f\x2e\x76\x65\x72\x69\x73\x69\x67\x6e\x2e\x63\x6f\x6d\x2f\x76\x73\x6c\x6f\x67\x6f\x2e\x67\x69\x66\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x7f\xd3\x65\xa7\xc2\xdd\xec\xbb\xf0\x30\x09\xf3\x43\x39\xfa\x02\xaf\x33\x31\x33\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x93\x24\x4a\x30\x5f\x62\xcf\xd8\x1a\x98\x2f\x3d\xea\xdc\x99\x2d\xbd\x77\xf6\xa5\x79\x22\x38\xec\xc4\xa7\xa0\x78\x12\xad\x62\x0e\x45\x70\x64\xc5\xe7\x97\x66\x2d\x98\x09\x7e\x5f\xaf\xd6\xcc\x28\x65\xf2\x01\xaa\x08\x1a\x47\xde\xf9\xf9\x7c\x92\x5a\x08\x69\x20\x0d\xd9\x3e\x6d\x6e\x3c\x0d\x6e\xd8\xe6\x06\x91\x40\x18\xb9\xf8\xc1\xed\xdf\xdb\x41\xaa\xe0\x96\x20\xc9\xcd\x64\x15\x38\x81\xc9\x94\xee\xa2\x84\x29\x0b\x13\x6f\x8e\xdb\x0c\xdd\x25\x02\xdb\xa4\x8b\x19\x44\xd2\x41\x7a\x05\x69\x4a\x58\x4f\x60\xca\x7e\x82\x6a\x0b\x02\xaa\x25\x17\x39\xb5\xdb\x7f\xe7\x84\x65\x2a\x95\x8a\xbd\x86\xde\x5e\x81\x16\x83\x2d\x10\xcc\xde\xfd\xa8\x82\x2a\x6d\x28\x1f\x0d\x0b\xc4\xe5\xe7\x1a\x26\x19\xe1\xf4\x11\x6f\x10\xb5\x95\xfc\xe7\x42\x05\x32\xdb\xce\x9d\x51\x5e\x28\xb6\x9e\x85\xd3\x5b\xef\xa5\x7d\x45\x40\x72\x8e\xb7\x0e\x6b\x0e\x06\xfb\x33\x35\x48\x71\xb8\x9d\x27\x8b\xc4\x65\x5f\x0d\x86\x76\x9c\x44\x7a\xf6\x95\x5c\xf6\x5d\x32\x08\x33\xa4\x54\xb6\x18\x3f\x68\x5c\xf2\x42\x4a\x85\x38\x54\x83\x5f\xd1\xe8\x2c\xf2\xac\x11\xd6\xa8\xed\x63\x6a", - ["SecureTrust CA"] = "\x30\x82\x03\xb8\x30\x82\x02\xa0\xa0\x03\x02\x01\x02\x02\x10\x0c\xf0\x8e\x5c\x08\x16\xa5\xad\x42\x7f\xf0\xeb\x27\x18\x59\xd0\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x48\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x20\x30\x1e\x06\x03\x55\x04\x0a\x13\x17\x53\x65\x63\x75\x72\x65\x54\x72\x75\x73\x74\x20\x43\x6f\x72\x70\x6f\x72\x61\x74\x69\x6f\x6e\x31\x17\x30\x15\x06\x03\x55\x04\x03\x13\x0e\x53\x65\x63\x75\x72\x65\x54\x72\x75\x73\x74\x20\x43\x41\x30\x1e\x17\x0d\x30\x36\x31\x31\x30\x37\x31\x39\x33\x31\x31\x38\x5a\x17\x0d\x32\x39\x31\x32\x33\x31\x31\x39\x34\x30\x35\x35\x5a\x30\x48\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x20\x30\x1e\x06\x03\x55\x04\x0a\x13\x17\x53\x65\x63\x75\x72\x65\x54\x72\x75\x73\x74\x20\x43\x6f\x72\x70\x6f\x72\x61\x74\x69\x6f\x6e\x31\x17\x30\x15\x06\x03\x55\x04\x03\x13\x0e\x53\x65\x63\x75\x72\x65\x54\x72\x75\x73\x74\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xab\xa4\x81\xe5\x95\xcd\xf5\xf6\x14\x8e\xc2\x4f\xca\xd4\xe2\x78\x95\x58\x9c\x41\xe1\x0d\x99\x40\x24\x17\x39\x91\x33\x66\xe9\xbe\xe1\x83\xaf\x62\x5c\x89\xd1\xfc\x24\x5b\x61\xb3\xe0\x11\x11\x41\x1c\x1d\x6e\xf0\xb8\xbb\xf8\xde\xa7\x81\xba\xa6\x48\xc6\x9f\x1d\xbd\xbe\x8e\xa9\x41\x3e\xb8\x94\xed\x29\x1a\xd4\x8e\xd2\x03\x1d\x03\xef\x6d\x0d\x67\x1c\x57\xd7\x06\xad\xca\xc8\xf5\xfe\x0e\xaf\x66\x25\x48\x04\x96\x0b\x5d\xa3\xba\x16\xc3\x08\x4f\xd1\x46\xf8\x14\x5c\xf2\xc8\x5e\x01\x99\x6d\xfd\x88\xcc\x86\xa8\xc1\x6f\x31\x42\x6c\x52\x3e\x68\xcb\xf3\x19\x34\xdf\xbb\x87\x18\x56\x80\x26\xc4\xd0\xdc\xc0\x6f\xdf\xde\xa0\xc2\x91\x16\xa0\x64\x11\x4b\x44\xbc\x1e\xf6\xe7\xfa\x63\xde\x66\xac\x76\xa4\x71\xa3\xec\x36\x94\x68\x7a\x77\xa4\xb1\xe7\x0e\x2f\x81\x7a\xe2\xb5\x72\x86\xef\xa2\x6b\x8b\xf0\x0f\xdb\xd3\x59\x3f\xba\x72\xbc\x44\x24\x9c\xe3\x73\xb3\xf7\xaf\x57\x2f\x42\x26\x9d\xa9\x74\xba\x00\x52\xf2\x4b\xcd\x53\x7c\x47\x0b\x36\x85\x0e\x66\xa9\x08\x97\x16\x34\x57\xc1\x66\xf7\x80\xe3\xed\x70\x54\xc7\x93\xe0\x2e\x28\x15\x59\x87\xba\xbb\x02\x03\x01\x00\x01\xa3\x81\x9d\x30\x81\x9a\x30\x13\x06\x09\x2b\x06\x01\x04\x01\x82\x37\x14\x02\x04\x06\x1e\x04\x00\x43\x00\x41\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x86\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x42\x32\xb6\x16\xfa\x04\xfd\xfe\x5d\x4b\x7a\xc3\xfd\xf7\x4c\x40\x1d\x5a\x43\xaf\x30\x34\x06\x03\x55\x1d\x1f\x04\x2d\x30\x2b\x30\x29\xa0\x27\xa0\x25\x86\x23\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x73\x65\x63\x75\x72\x65\x74\x72\x75\x73\x74\x2e\x63\x6f\x6d\x2f\x53\x54\x43\x41\x2e\x63\x72\x6c\x30\x10\x06\x09\x2b\x06\x01\x04\x01\x82\x37\x15\x01\x04\x03\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x30\xed\x4f\x4a\xe1\x58\x3a\x52\x72\x5b\xb5\xa6\xa3\x65\x18\xa6\xbb\x51\x3b\x77\xe9\x9d\xea\xd3\x9f\x5c\xe0\x45\x65\x7b\x0d\xca\x5b\xe2\x70\x50\xb2\x94\x05\x14\xae\x49\xc7\x8d\x41\x07\x12\x73\x94\x7e\x0c\x23\x21\xfd\xbc\x10\x7f\x60\x10\x5a\x72\xf5\x98\x0e\xac\xec\xb9\x7f\xdd\x7a\x6f\x5d\xd3\x1c\xf4\xff\x88\x05\x69\x42\xa9\x05\x71\xc8\xb7\xac\x26\xe8\x2e\xb4\x8c\x6a\xff\x71\xdc\xb8\xb1\xdf\x99\xbc\x7c\x21\x54\x2b\xe4\x58\xa2\xbb\x57\x29\xae\x9e\xa9\xa3\x19\x26\x0f\x99\x2e\x08\xb0\xef\xfd\x69\xcf\x99\x1a\x09\x8d\xe3\xa7\x9f\x2b\xc9\x36\x34\x7b\x24\xb3\x78\x4c\x95\x17\xa4\x06\x26\x1e\xb6\x64\x52\x36\x5f\x60\x67\xd9\x9c\xc5\x05\x74\x0b\xe7\x67\x23\xd2\x08\xfc\x88\xe9\xae\x8b\x7f\xe1\x30\xf4\x37\x7e\xfd\xc6\x32\xda\x2d\x9e\x44\x30\x30\x6c\xee\x07\xde\xd2\x34\xfc\xd2\xff\x40\xf6\x4b\xf4\x66\x46\x06\x54\xa6\xf2\x32\x0a\x63\x26\x30\x6b\x9b\xd1\xdc\x8b\x47\xba\xe1\xb9\xd5\x62\xd0\xa2\xa0\xf4\x67\x05\x78\x29\x63\x1a\x6f\x04\xd6\xf8\xc6\x4c\xa3\x9a\xb1\x37\xb4\x8d\xe5\x28\x4b\x1d\x9e\x2c\xc2\xb8\x68\xbc\xed\x02\xee\x31", - ["Secure Global CA"] = "\x30\x82\x03\xbc\x30\x82\x02\xa4\xa0\x03\x02\x01\x02\x02\x10\x07\x56\x22\xa4\xe8\xd4\x8a\x89\x4d\xf4\x13\xc8\xf0\xf8\xea\xa5\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x4a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x20\x30\x1e\x06\x03\x55\x04\x0a\x13\x17\x53\x65\x63\x75\x72\x65\x54\x72\x75\x73\x74\x20\x43\x6f\x72\x70\x6f\x72\x61\x74\x69\x6f\x6e\x31\x19\x30\x17\x06\x03\x55\x04\x03\x13\x10\x53\x65\x63\x75\x72\x65\x20\x47\x6c\x6f\x62\x61\x6c\x20\x43\x41\x30\x1e\x17\x0d\x30\x36\x31\x31\x30\x37\x31\x39\x34\x32\x32\x38\x5a\x17\x0d\x32\x39\x31\x32\x33\x31\x31\x39\x35\x32\x30\x36\x5a\x30\x4a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x20\x30\x1e\x06\x03\x55\x04\x0a\x13\x17\x53\x65\x63\x75\x72\x65\x54\x72\x75\x73\x74\x20\x43\x6f\x72\x70\x6f\x72\x61\x74\x69\x6f\x6e\x31\x19\x30\x17\x06\x03\x55\x04\x03\x13\x10\x53\x65\x63\x75\x72\x65\x20\x47\x6c\x6f\x62\x61\x6c\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xaf\x35\x2e\xd8\xac\x6c\x55\x69\x06\x71\xe5\x13\x68\x24\xb3\x4f\xd8\xcc\x21\x47\xf8\xf1\x60\x38\x89\x89\x03\xe9\xbd\xea\x5e\x46\x53\x09\xdc\x5c\xf5\x5a\xe8\xf7\x45\x2a\x02\xeb\x31\x61\xd7\x29\x33\x4c\xce\xc7\x7c\x0a\x37\x7e\x0f\xba\x32\x98\xe1\x1d\x97\xaf\x8f\xc7\xdc\xc9\x38\x96\xf3\xdb\x1a\xfc\x51\xed\x68\xc6\xd0\x6e\xa4\x7c\x24\xd1\xae\x42\xc8\x96\x50\x63\x2e\xe0\xfe\x75\xfe\x98\xa7\x5f\x49\x2e\x95\xe3\x39\x33\x64\x8e\x1e\xa4\x5f\x90\xd2\x67\x3c\xb2\xd9\xfe\x41\xb9\x55\xa7\x09\x8e\x72\x05\x1e\x8b\xdd\x44\x85\x82\x42\xd0\x49\xc0\x1d\x60\xf0\xd1\x17\x2c\x95\xeb\xf6\xa5\xc1\x92\xa3\xc5\xc2\xa7\x08\x60\x0d\x60\x04\x10\x96\x79\x9e\x16\x34\xe6\xa9\xb6\xfa\x25\x45\x39\xc8\x1e\x65\xf9\x93\xf5\xaa\xf1\x52\xdc\x99\x98\x3d\xa5\x86\x1a\x0c\x35\x33\xfa\x4b\xa5\x04\x06\x15\x1c\x31\x80\xef\xaa\x18\x6b\xc2\x7b\xd7\xda\xce\xf9\x33\x20\xd5\xf5\xbd\x6a\x33\x2d\x81\x04\xfb\xb0\x5c\xd4\x9c\xa3\xe2\x5c\x1d\xe3\xa9\x42\x75\x5e\x7b\xd4\x77\xef\x39\x54\xba\xc9\x0a\x18\x1b\x12\x99\x49\x2f\x88\x4b\xfd\x50\x62\xd1\x73\xe7\x8f\x7a\x43\x02\x03\x01\x00\x01\xa3\x81\x9d\x30\x81\x9a\x30\x13\x06\x09\x2b\x06\x01\x04\x01\x82\x37\x14\x02\x04\x06\x1e\x04\x00\x43\x00\x41\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x86\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xaf\x44\x04\xc2\x41\x7e\x48\x83\xdb\x4e\x39\x02\xec\xec\x84\x7a\xe6\xce\xc9\xa4\x30\x34\x06\x03\x55\x1d\x1f\x04\x2d\x30\x2b\x30\x29\xa0\x27\xa0\x25\x86\x23\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x73\x65\x63\x75\x72\x65\x74\x72\x75\x73\x74\x2e\x63\x6f\x6d\x2f\x53\x47\x43\x41\x2e\x63\x72\x6c\x30\x10\x06\x09\x2b\x06\x01\x04\x01\x82\x37\x15\x01\x04\x03\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x63\x1a\x08\x40\x7d\xa4\x5e\x53\x0d\x77\xd8\x7a\xae\x1f\x0d\x0b\x51\x16\x03\xef\x18\x7c\xc8\xe3\xaf\x6a\x58\x93\x14\x60\x91\xb2\x84\xdc\x88\x4e\xbe\x39\x8a\x3a\xf3\xe6\x82\x89\x5d\x01\x37\xb3\xab\x24\xa4\x15\x0e\x92\x35\x5a\x4a\x44\x5e\x4e\x57\xfa\x75\xce\x1f\x48\xce\x66\xf4\x3c\x40\x26\x92\x98\x6c\x1b\xee\x24\x46\x0c\x17\xb3\x52\xa5\xdb\xa5\x91\x91\xcf\x37\xd3\x6f\xe7\x27\x08\x3a\x4e\x19\x1f\x3a\xa7\x58\x5c\x17\xcf\x79\x3f\x8b\xe4\xa7\xd3\x26\x23\x9d\x26\x0f\x58\x69\xfc\x47\x7e\xb2\xd0\x8d\x8b\x93\xbf\x29\x4f\x43\x69\x74\x76\x67\x4b\xcf\x07\x8c\xe6\x02\xf7\xb5\xe1\xb4\x43\xb5\x4b\x2d\x14\x9f\xf9\xdc\x26\x0d\xbf\xa6\x47\x74\x06\xd8\x88\xd1\x3a\x29\x30\x84\xce\xd2\x39\x80\x62\x1b\xa8\xc7\x57\x49\xbc\x6a\x55\x51\x67\x15\x4a\xbe\x35\x07\xe4\xd5\x75\x98\x37\x79\x30\x14\xdb\x29\x9d\x6c\xc5\x69\xcc\x47\x55\xa2\x30\xf7\xcc\x5c\x7f\xc2\xc3\x98\x1c\x6b\x4e\x16\x80\xeb\x7a\x78\x65\x45\xa2\x00\x1a\xaf\x0c\x0d\x55\x64\x34\x48\xb8\x92\xb9\xf1\xb4\x50\x29\xf2\x4f\x23\x1f\xda\x6c\xac\x1f\x44\xe1\xdd\x23\x78\x51\x5b\xc7\x16", - ["COMODO Certification Authority"] = "\x30\x82\x04\x1d\x30\x82\x03\x05\xa0\x03\x02\x01\x02\x02\x10\x4e\x81\x2d\x8a\x82\x65\xe0\x0b\x02\xee\x3e\x35\x02\x46\xe5\x3d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x81\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x42\x31\x1b\x30\x19\x06\x03\x55\x04\x08\x13\x12\x47\x72\x65\x61\x74\x65\x72\x20\x4d\x61\x6e\x63\x68\x65\x73\x74\x65\x72\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x53\x61\x6c\x66\x6f\x72\x64\x31\x1a\x30\x18\x06\x03\x55\x04\x0a\x13\x11\x43\x4f\x4d\x4f\x44\x4f\x20\x43\x41\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x27\x30\x25\x06\x03\x55\x04\x03\x13\x1e\x43\x4f\x4d\x4f\x44\x4f\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x36\x31\x32\x30\x31\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x39\x31\x32\x33\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x81\x81\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x42\x31\x1b\x30\x19\x06\x03\x55\x04\x08\x13\x12\x47\x72\x65\x61\x74\x65\x72\x20\x4d\x61\x6e\x63\x68\x65\x73\x74\x65\x72\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x53\x61\x6c\x66\x6f\x72\x64\x31\x1a\x30\x18\x06\x03\x55\x04\x0a\x13\x11\x43\x4f\x4d\x4f\x44\x4f\x20\x43\x41\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x27\x30\x25\x06\x03\x55\x04\x03\x13\x1e\x43\x4f\x4d\x4f\x44\x4f\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xd0\x40\x8b\x8b\x72\xe3\x91\x1b\xf7\x51\xc1\x1b\x54\x04\x98\xd3\xa9\xbf\xc1\xe6\x8a\x5d\x3b\x87\xfb\xbb\x88\xce\x0d\xe3\x2f\x3f\x06\x96\xf0\xa2\x29\x50\x99\xae\xdb\x3b\xa1\x57\xb0\x74\x51\x71\xcd\xed\x42\x91\x4d\x41\xfe\xa9\xc8\xd8\x6a\x86\x77\x44\xbb\x59\x66\x97\x50\x5e\xb4\xd4\x2c\x70\x44\xcf\xda\x37\x95\x42\x69\x3c\x30\xc4\x71\xb3\x52\xf0\x21\x4d\xa1\xd8\xba\x39\x7c\x1c\x9e\xa3\x24\x9d\xf2\x83\x16\x98\xaa\x16\x7c\x43\x9b\x15\x5b\xb7\xae\x34\x91\xfe\xd4\x62\x26\x18\x46\x9a\x3f\xeb\xc1\xf9\xf1\x90\x57\xeb\xac\x7a\x0d\x8b\xdb\x72\x30\x6a\x66\xd5\xe0\x46\xa3\x70\xdc\x68\xd9\xff\x04\x48\x89\x77\xde\xb5\xe9\xfb\x67\x6d\x41\xe9\xbc\x39\xbd\x32\xd9\x62\x02\xf1\xb1\xa8\x3d\x6e\x37\x9c\xe2\x2f\xe2\xd3\xa2\x26\x8b\xc6\xb8\x55\x43\x88\xe1\x23\x3e\xa5\xd2\x24\x39\x6a\x47\xab\x00\xd4\xa1\xb3\xa9\x25\xfe\x0d\x3f\xa7\x1d\xba\xd3\x51\xc1\x0b\xa4\xda\xac\x38\xef\x55\x50\x24\x05\x65\x46\x93\x34\x4f\x2d\x8d\xad\xc6\xd4\x21\x19\xd2\x8e\xca\x05\x61\x71\x07\x73\x47\xe5\x8a\x19\x12\xbd\x04\x4d\xce\x4e\x9c\xa5\x48\xac\xbb\x26\xf7\x02\x03\x01\x00\x01\xa3\x81\x8e\x30\x81\x8b\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x0b\x58\xe5\x8b\xc6\x4c\x15\x37\xa4\x40\xa9\x30\xa9\x21\xbe\x47\x36\x5a\x56\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x49\x06\x03\x55\x1d\x1f\x04\x42\x30\x40\x30\x3e\xa0\x3c\xa0\x3a\x86\x38\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x63\x6f\x6d\x6f\x64\x6f\x63\x61\x2e\x63\x6f\x6d\x2f\x43\x4f\x4d\x4f\x44\x4f\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x2e\x63\x72\x6c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x3e\x98\x9e\x9b\xf6\x1b\xe9\xd7\x39\xb7\x78\xae\x1d\x72\x18\x49\xd3\x87\xe4\x43\x82\xeb\x3f\xc9\xaa\xf5\xa8\xb5\xef\x55\x7c\x21\x52\x65\xf9\xd5\x0d\xe1\x6c\xf4\x3e\x8c\x93\x73\x91\x2e\x02\xc4\x4e\x07\x71\x6f\xc0\x8f\x38\x61\x08\xa8\x1e\x81\x0a\xc0\x2f\x20\x2f\x41\x8b\x91\xdc\x48\x45\xbc\xf1\xc6\xde\xba\x76\x6b\x33\xc8\x00\x2d\x31\x46\x4c\xed\xe7\x9d\xcf\x88\x94\xff\x33\xc0\x56\xe8\x24\x86\x26\xb8\xd8\x38\x38\xdf\x2a\x6b\xdd\x12\xcc\xc7\x3f\x47\x17\x4c\xa2\xc2\x06\x96\x09\xd6\xdb\xfe\x3f\x3c\x46\x41\xdf\x58\xe2\x56\x0f\x3c\x3b\xc1\x1c\x93\x35\xd9\x38\x52\xac\xee\xc8\xec\x2e\x30\x4e\x94\x35\xb4\x24\x1f\x4b\x78\x69\xda\xf2\x02\x38\xcc\x95\x52\x93\xf0\x70\x25\x59\x9c\x20\x67\xc4\xee\xf9\x8b\x57\x61\xf4\x92\x76\x7d\x3f\x84\x8d\x55\xb7\xe8\xe5\xac\xd5\xf1\xf5\x19\x56\xa6\x5a\xfb\x90\x1c\xaf\x93\xeb\xe5\x1c\xd4\x67\x97\x5d\x04\x0e\xbe\x0b\x83\xa6\x17\x83\xb9\x30\x12\xa0\xc5\x33\x15\x05\xb9\x0d\xfb\xc7\x05\x76\xe3\xd8\x4a\x8d\xfc\x34\x17\xa3\xc6\x21\x28\xbe\x30\x45\x31\x1e\xc7\x78\xbe\x58\x61\x38\xac\x3b\xe2\x01\x65", - ["DigiNotar Root CA"] = "\x30\x82\x05\x8a\x30\x82\x03\x72\xa0\x03\x02\x01\x02\x02\x10\x0c\x76\xda\x9c\x91\x0c\x4e\x2c\x9e\xfe\x15\xd0\x58\x93\x3c\x4c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x5f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4e\x4c\x31\x12\x30\x10\x06\x03\x55\x04\x0a\x13\x09\x44\x69\x67\x69\x4e\x6f\x74\x61\x72\x31\x1a\x30\x18\x06\x03\x55\x04\x03\x13\x11\x44\x69\x67\x69\x4e\x6f\x74\x61\x72\x20\x52\x6f\x6f\x74\x20\x43\x41\x31\x20\x30\x1e\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x11\x69\x6e\x66\x6f\x40\x64\x69\x67\x69\x6e\x6f\x74\x61\x72\x2e\x6e\x6c\x30\x1e\x17\x0d\x30\x37\x30\x35\x31\x36\x31\x37\x31\x39\x33\x36\x5a\x17\x0d\x32\x35\x30\x33\x33\x31\x31\x38\x31\x39\x32\x31\x5a\x30\x5f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4e\x4c\x31\x12\x30\x10\x06\x03\x55\x04\x0a\x13\x09\x44\x69\x67\x69\x4e\x6f\x74\x61\x72\x31\x1a\x30\x18\x06\x03\x55\x04\x03\x13\x11\x44\x69\x67\x69\x4e\x6f\x74\x61\x72\x20\x52\x6f\x6f\x74\x20\x43\x41\x31\x20\x30\x1e\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x11\x69\x6e\x66\x6f\x40\x64\x69\x67\x69\x6e\x6f\x74\x61\x72\x2e\x6e\x6c\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xac\xb0\x58\xc1\x00\xbd\xd8\x21\x08\x0b\x2b\x9a\xfe\x6e\x56\x30\x05\x9f\x1b\x77\x90\x10\x41\x5c\xc3\x0d\x87\x11\x77\x8e\x81\xf1\xca\x7c\xe9\x8c\x6a\xed\x38\x74\x35\xbb\xda\xdf\xf9\xbb\xc0\x09\x37\xb4\x96\x73\x81\x7d\x33\x1a\x98\x39\xf7\x93\x6f\x95\x7f\x3d\xb9\xb1\x75\x87\xba\x51\x48\xe8\x8b\x70\x3e\x95\x04\xc5\xd8\xb6\xc3\x16\xd9\x88\xb0\xb1\x87\x1d\x70\xda\x86\xb4\x0f\x14\x8b\x7a\xcf\x10\xd1\x74\x36\xa2\x12\x7b\x77\x86\x4a\x79\xe6\x7b\xdf\x02\x11\x68\xa5\x4e\x86\xae\x34\x58\x9b\x24\x13\x78\x56\x22\x25\x1e\x01\x8b\x4b\x51\x71\xfb\x82\xcc\x59\x96\x69\x88\x5a\x68\x53\xc5\xb9\x0d\x02\x37\xcb\x4b\xbc\x66\x4a\x90\x7e\x2a\x0b\x05\x07\xed\x16\x5f\x55\x90\x75\xd8\x46\xc9\x1b\x83\xe2\x08\xbe\xf1\x23\xcc\x99\x1d\xd6\x2a\x0f\x83\x20\x15\x58\x27\x82\x2e\xfa\xe2\x22\xc2\x49\xb1\xb9\x01\x81\x6a\x9d\x6d\x9d\x40\x77\x68\x76\x4e\x21\x2a\x6d\x84\x40\x85\x4e\x76\x99\x7c\x82\xf3\xf3\xb7\x02\x59\xd4\x26\x01\x1b\x8e\xdf\xad\x53\x06\xd1\xae\x18\xdd\xe2\xb2\x3a\xcb\xd7\x88\x38\x8e\xac\x5b\x29\xb9\x19\xd3\x98\xf9\x18\x03\xcf\x48\x82\x86\x66\x0b\x1b\x69\x0f\xc9\xeb\x38\x88\x7a\x26\x1a\x05\x4c\x92\xd7\x24\xd4\x96\xf2\xac\x52\x2d\xa3\x47\xd5\x52\xf6\x3f\xfe\xce\x84\x06\x70\xa6\xaa\x3e\xa2\xf2\xb6\x56\x34\x18\x57\xa2\xe4\x81\x6d\xe7\xca\xf0\x6a\xd3\xc7\x91\x6b\x02\x83\x41\x7c\x15\xef\x6b\x9a\x64\x5e\xe3\xd0\x3c\xe5\xb1\xeb\x7b\x5d\x86\xfb\xcb\xe6\x77\x49\xcd\xa3\x65\xdc\xf7\xb9\x9c\xb8\xe4\x0b\x5f\x93\xcf\xcc\x30\x1a\x32\x1c\xce\x1c\x63\x95\xa5\xf9\xea\xe1\x74\x8b\x9e\xe9\x2b\xa9\x30\x7b\xa0\x18\x1f\x0e\x18\x0b\xe5\x5b\xa9\xd3\xd1\x6c\x1e\x07\x67\x8f\x91\x4b\xa9\x8a\xbc\xd2\x66\xaa\x93\x01\x88\xb2\x91\xfa\x31\x5c\xd5\xa6\xc1\x52\x08\x09\xcd\x0a\x63\xa2\xd3\x22\xa6\xe8\xa1\xd9\x39\x06\x97\xf5\x6e\x8d\x02\x90\x8c\x14\x7b\x3f\x80\xcd\x1b\x9c\xba\xc4\x58\x72\x23\xaf\xb6\x56\x9f\xc6\x7a\x42\x33\x29\x07\x3f\x82\xc9\xe6\x1f\x05\x0d\xcd\x4c\x28\x36\x8b\xd3\xc8\x3e\x1c\xc6\x88\xef\x5e\xee\x89\x64\xe9\x1d\xeb\xda\x89\x7e\x32\xa6\x69\xd1\xdd\xcc\x88\x9f\xd1\xd0\xc9\x66\x21\xdc\x06\x67\xc5\x94\x7a\x9a\x6d\x62\x4c\x7d\xcc\xe0\x64\x80\xb2\x9e\x47\x8e\xa3\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x88\x68\xbf\xe0\x8e\x35\xc4\x3b\x38\x6b\x62\xf7\x28\x3b\x84\x81\xc8\x0c\xd7\x4d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x3b\x02\x8d\xcb\x3c\x30\xe8\x6e\xa0\xad\xf2\x73\xb3\x5f\x9e\x25\x13\x04\x05\xd3\xf6\xe3\x8b\xbb\x0b\x79\xce\x53\xde\xe4\x96\xc5\xd1\xaf\x73\xbc\xd5\xc3\xd0\x40\x55\x7c\x40\x7f\xcd\x1b\x5f\x09\xd5\xf2\x7c\x9f\x68\x1d\xbb\x5d\xce\x7a\x39\xc2\x8c\xd6\x98\x7b\xc5\x83\x55\xa8\xd5\x7d\x40\xca\xe0\x1e\xf7\x89\x5e\x63\x5d\xa1\x13\xc2\x5d\x8a\xb6\x8a\x7c\x00\xf3\x23\xc3\xed\x85\x5f\x71\x76\xf0\x68\x63\xaa\x45\x21\x39\x48\x61\x78\x36\xdc\xf1\x43\x93\xd4\x25\xc7\xf2\x80\x65\xe1\x53\x02\x75\x51\xfc\x7a\x3a\xef\x37\xab\x84\x28\x57\x0c\xd8\xd4\xd4\x99\x56\x6c\xe3\xa2\xfe\x59\x84\xb4\x31\xe8\x33\xf8\x64\x94\x94\x51\x97\xab\x39\xc5\x4b\xed\xda\xdd\x80\x0b\x6f\x7c\x29\x0d\xc4\x8e\x8a\x72\x0d\xe7\x53\x14\xb2\x60\x41\x3d\x84\x91\x31\x68\x3d\x27\x44\xdb\xe5\xde\xf4\xfa\x63\x45\xc8\x4c\x3e\x98\xf5\x3f\x41\xba\x4e\xcb\x37\x0d\xba\x66\x98\xf1\xdd\xcb\x9f\x5c\xf7\x54\x36\x82\x6b\x2c\xbc\x13\x61\x97\x42\xf8\x78\xbb\xcc\xc8\xa2\x9f\xca\xf0\x68\xbd\x6b\x1d\xb2\xdf\x8d\x6f\x07\x9d\xda\x8e\x67\xc7\x47\x1e\xca\xb9\xbf\x2a\x42\x91\xb7\x63\x53\x66\xf1\x42\xa3\xe1\xf4\x5a\x4d\x58\x6b\xb5\xe4\xa4\x33\xad\x5c\x70\x1d\xdc\xe0\xf2\xeb\x73\x14\x91\x9a\x03\xc1\xea\x00\x65\xbc\x07\xfc\xcf\x12\x11\x22\x2c\xae\xa0\xbd\x3a\xe0\xa2\x2a\xd8\x59\xe9\x29\xd3\x18\x35\xa4\xac\x11\x5f\x19\xb5\xb5\x1b\xff\x22\x4a\x5c\xc6\x7a\xe4\x17\xef\x20\xa9\xa7\xf4\x3f\xad\x8a\xa7\x9a\x04\x25\x9d\x0e\xca\x37\xe6\x50\xfd\x8c\x42\x29\x04\x9a\xec\xb9\xcf\x4b\x72\xbd\xe2\x08\x36\xaf\x23\x2f\x62\xe5\xca\x01\xd3\x70\xdb\x7c\x82\x23\x2c\x16\x31\x0c\xc6\x36\x07\x90\x7a\xb1\x1f\x67\x58\xc4\x3b\x58\x59\x89\xb0\x8c\x8c\x50\xb3\xd8\x86\xcb\x68\xa3\xc4\x0a\xe7\x69\x4b\x20\xce\xc1\x1e\x56\x4b\x95\xa9\x23\x68\xd8\x30\xd8\xc3\xeb\xb0\x55\x51\xcd\xe5\xfd\x2b\xb8\xf5\xbb\x11\x9f\x53\x54\xf6\x34\x19\x8c\x79\x09\x36\xca\x61\x17\x25\x17\x0b\x82\x98\x73\x0c\x77\x74\xc3\xd5\x0d\xc7\xa8\x12\x4c\xc7\xa7\x54\x71\x47\x2e\x2c\x1a\x7d\xc9\xe3\x2b\x3b\x48\xde\x27\x84\xa7\x63\x36\xb3\x7d\x8f\xa0\x64\x39\x24\x0d\x3d\x7b\x87\xaf\x66\x5c\x74\x1b\x4b\x73\xb2\xe5\x8c\xf0\x86\x99\xb8\xe5\xc5\xdf\x84\xc1\xb7\xeb", - ["Network Solutions Certificate Authority"] = "\x30\x82\x03\xe6\x30\x82\x02\xce\xa0\x03\x02\x01\x02\x02\x10\x57\xcb\x33\x6f\xc2\x5c\x16\xe6\x47\x16\x17\xe3\x90\x31\x68\xe0\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x62\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x21\x30\x1f\x06\x03\x55\x04\x0a\x13\x18\x4e\x65\x74\x77\x6f\x72\x6b\x20\x53\x6f\x6c\x75\x74\x69\x6f\x6e\x73\x20\x4c\x2e\x4c\x2e\x43\x2e\x31\x30\x30\x2e\x06\x03\x55\x04\x03\x13\x27\x4e\x65\x74\x77\x6f\x72\x6b\x20\x53\x6f\x6c\x75\x74\x69\x6f\x6e\x73\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x36\x31\x32\x30\x31\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x39\x31\x32\x33\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x62\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x21\x30\x1f\x06\x03\x55\x04\x0a\x13\x18\x4e\x65\x74\x77\x6f\x72\x6b\x20\x53\x6f\x6c\x75\x74\x69\x6f\x6e\x73\x20\x4c\x2e\x4c\x2e\x43\x2e\x31\x30\x30\x2e\x06\x03\x55\x04\x03\x13\x27\x4e\x65\x74\x77\x6f\x72\x6b\x20\x53\x6f\x6c\x75\x74\x69\x6f\x6e\x73\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xe4\xbc\x7e\x92\x30\x6d\xc6\xd8\x8e\x2b\x0b\xbc\x46\xce\xe0\x27\x96\xde\xde\xf9\xfa\x12\xd3\x3c\x33\x73\xb3\x04\x2f\xbc\x71\x8c\xe5\x9f\xb6\x22\x60\x3e\x5f\x5d\xce\x09\xff\x82\x0c\x1b\x9a\x51\x50\x1a\x26\x89\xdd\xd5\x61\x5d\x19\xdc\x12\x0f\x2d\x0a\xa2\x43\x5d\x17\xd0\x34\x92\x20\xea\x73\xcf\x38\x2c\x06\x26\x09\x7a\x72\xf7\xfa\x50\x32\xf8\xc2\x93\xd3\x69\xa2\x23\xce\x41\xb1\xcc\xe4\xd5\x1f\x36\xd1\x8a\x3a\xf8\x8c\x63\xe2\x14\x59\x69\xed\x0d\xd3\x7f\x6b\xe8\xb8\x03\xe5\x4f\x6a\xe5\x98\x63\x69\x48\x05\xbe\x2e\xff\x33\xb6\xe9\x97\x59\x69\xf8\x67\x19\xae\x93\x61\x96\x44\x15\xd3\x72\xb0\x3f\xbc\x6a\x7d\xec\x48\x7f\x8d\xc3\xab\xaa\x71\x2b\x53\x69\x41\x53\x34\xb5\xb0\xb9\xc5\x06\x0a\xc4\xb0\x45\xf5\x41\x5d\x6e\x89\x45\x7b\x3d\x3b\x26\x8c\x74\xc2\xe5\xd2\xd1\x7d\xb2\x11\xd4\xfb\x58\x32\x22\x9a\x80\xc9\xdc\xfd\x0c\xe9\x7f\x5e\x03\x97\xce\x3b\x00\x14\x87\x27\x70\x38\xa9\x8e\x6e\xb3\x27\x76\x98\x51\xe0\x05\xe3\x21\xab\x1a\xd5\x85\x22\x3c\x29\xb5\x9a\x16\xc5\x80\xa8\xf4\xbb\x6b\x30\x8f\x2f\x46\x02\xa2\xb1\x0c\x22\xe0\xd3\x02\x03\x01\x00\x01\xa3\x81\x97\x30\x81\x94\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x21\x30\xc9\xfb\x00\xd7\x4e\x98\xda\x87\xaa\x2a\xd0\xa7\x2e\xb1\x40\x31\xa7\x4c\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x52\x06\x03\x55\x1d\x1f\x04\x4b\x30\x49\x30\x47\xa0\x45\xa0\x43\x86\x41\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x6e\x65\x74\x73\x6f\x6c\x73\x73\x6c\x2e\x63\x6f\x6d\x2f\x4e\x65\x74\x77\x6f\x72\x6b\x53\x6f\x6c\x75\x74\x69\x6f\x6e\x73\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x2e\x63\x72\x6c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xbb\xae\x4b\xe7\xb7\x57\xeb\x7f\xaa\x2d\xb7\x73\x47\x85\x6a\xc1\xe4\xa5\x1d\xe4\xe7\x3c\xe9\xf4\x59\x65\x77\xb5\x7a\x5b\x5a\x8d\x25\x36\xe0\x7a\x97\x2e\x38\xc0\x57\x60\x83\x98\x06\x83\x9f\xb9\x76\x7a\x6e\x50\xe0\xba\x88\x2c\xfc\x45\xcc\x18\xb0\x99\x95\x51\x0e\xec\x1d\xb8\x88\xff\x87\x50\x1c\x82\xc2\xe3\xe0\x32\x80\xbf\xa0\x0b\x47\xc8\xc3\x31\xef\x99\x67\x32\x80\x4f\x17\x21\x79\x0c\x69\x5c\xde\x5e\x34\xae\x02\xb5\x26\xea\x50\xdf\x7f\x18\x65\x2c\xc9\xf2\x63\xe1\xa9\x07\xfe\x7c\x71\x1f\x6b\x33\x24\x6a\x1e\x05\xf7\x05\x68\xc0\x6a\x12\xcb\x2e\x5e\x61\xcb\xae\x28\xd3\x7e\xc2\xb4\x66\x91\x26\x5f\x3c\x2e\x24\x5f\xcb\x58\x0f\xeb\x28\xec\xaf\x11\x96\xf3\xdc\x7b\x6f\xc0\xa7\x88\xf2\x53\x77\xb3\x60\x5e\xae\xae\x28\xda\x35\x2c\x6f\x34\x45\xd3\x26\xe1\xde\xec\x5b\x4f\x27\x6b\x16\x7c\xbd\x44\x04\x18\x82\xb3\x89\x79\x17\x10\x71\x3d\x7a\xa2\x16\x4e\xf5\x01\xcd\xa4\x6c\x65\x68\xa1\x49\x76\x5c\x43\xc9\xd8\xbc\x36\x67\x6c\xa5\x94\xb5\xd4\xcc\xb9\xbd\x6a\x35\x56\x21\xde\xd8\xc3\xeb\xfb\xcb\xa4\x60\x4c\xb0\x55\xa0\xa0\x7b\x57\xb2", - ["WellsSecure Public Root Certificate Authority"] = "\x30\x82\x04\xbd\x30\x82\x03\xa5\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x85\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x20\x30\x1e\x06\x03\x55\x04\x0a\x0c\x17\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x20\x57\x65\x6c\x6c\x73\x53\x65\x63\x75\x72\x65\x31\x1c\x30\x1a\x06\x03\x55\x04\x0b\x0c\x13\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x20\x42\x61\x6e\x6b\x20\x4e\x41\x31\x36\x30\x34\x06\x03\x55\x04\x03\x0c\x2d\x57\x65\x6c\x6c\x73\x53\x65\x63\x75\x72\x65\x20\x50\x75\x62\x6c\x69\x63\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x37\x31\x32\x31\x33\x31\x37\x30\x37\x35\x34\x5a\x17\x0d\x32\x32\x31\x32\x31\x34\x30\x30\x30\x37\x35\x34\x5a\x30\x81\x85\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x20\x30\x1e\x06\x03\x55\x04\x0a\x0c\x17\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x20\x57\x65\x6c\x6c\x73\x53\x65\x63\x75\x72\x65\x31\x1c\x30\x1a\x06\x03\x55\x04\x0b\x0c\x13\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x20\x42\x61\x6e\x6b\x20\x4e\x41\x31\x36\x30\x34\x06\x03\x55\x04\x03\x0c\x2d\x57\x65\x6c\x6c\x73\x53\x65\x63\x75\x72\x65\x20\x50\x75\x62\x6c\x69\x63\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xee\x6f\xb4\xbd\x79\xe2\x8f\x08\x21\x9e\x38\x04\x41\x25\xef\xab\x5b\x1c\x53\x92\xac\x6d\x9e\xdd\xc2\xc4\x2e\x45\x94\x03\x35\x88\x67\x74\x57\xe3\xdf\x8c\xb8\xa7\x76\x8f\x3b\xf7\xa8\xc4\xdb\x29\x63\x0e\x91\x68\x36\x8a\x97\x8e\x8a\x71\x68\x09\x07\xe4\xe8\xd4\x0e\x4f\xf8\xd6\x2b\x4c\xa4\x16\xf9\xef\x43\x98\x8f\xb3\x9e\x52\xdf\x6d\x91\x39\x8f\x38\xbd\x77\x8b\x43\x63\xeb\xb7\x93\xfc\x30\x4c\x1c\x01\x93\xb6\x13\xfb\xf7\xa1\x1f\xbf\x25\xe1\x74\x37\x2c\x1e\xa4\x5e\x3c\x68\xf8\x4b\xbf\x0d\xb9\x1e\x2e\x36\xe8\xa9\xe4\xa7\xf8\x0f\xcb\x82\x75\x7c\x35\x2d\x22\xd6\xc2\xbf\x0b\xf3\xb4\xfc\x6c\x95\x61\x1e\x57\xd7\x04\x81\x32\x83\x52\x79\xe6\x83\x63\xcf\xb7\xcb\x63\x8b\x11\xe2\xbd\x5e\xeb\xf6\x8d\xed\x95\x72\x28\xb4\xac\x12\x62\xe9\x4a\x33\xe6\x83\x32\xae\x05\x75\x95\xbd\x84\x95\xdb\x2a\x5c\x9b\x8e\x2e\x0c\xb8\x81\x2b\x41\xe6\x38\x56\x9f\x49\x9b\x6c\x76\xfa\x8a\x5d\xf7\x01\x79\x81\x7c\xc1\x83\x40\x05\xfe\x71\xfd\x0c\x3f\xcc\x4e\x60\x09\x0e\x65\x47\x10\x2f\x01\xc0\x05\x3f\x8f\xf8\xb3\x41\xef\x5a\x42\x7e\x59\xef\xd2\x97\x0c\x65\x02\x03\x01\x00\x01\xa3\x82\x01\x34\x30\x82\x01\x30\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x39\x06\x03\x55\x1d\x1f\x04\x32\x30\x30\x30\x2e\xa0\x2c\xa0\x2a\x86\x28\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x6c\x2e\x70\x6b\x69\x2e\x77\x65\x6c\x6c\x73\x66\x61\x72\x67\x6f\x2e\x63\x6f\x6d\x2f\x77\x73\x70\x72\x63\x61\x2e\x63\x72\x6c\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\xc6\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x26\x95\x19\x10\xd9\xe8\xa1\x97\x91\xff\xdc\x19\xd9\xb5\x04\x3e\xd2\x73\x0a\x6a\x30\x81\xb2\x06\x03\x55\x1d\x23\x04\x81\xaa\x30\x81\xa7\x80\x14\x26\x95\x19\x10\xd9\xe8\xa1\x97\x91\xff\xdc\x19\xd9\xb5\x04\x3e\xd2\x73\x0a\x6a\xa1\x81\x8b\xa4\x81\x88\x30\x81\x85\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x20\x30\x1e\x06\x03\x55\x04\x0a\x0c\x17\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x20\x57\x65\x6c\x6c\x73\x53\x65\x63\x75\x72\x65\x31\x1c\x30\x1a\x06\x03\x55\x04\x0b\x0c\x13\x57\x65\x6c\x6c\x73\x20\x46\x61\x72\x67\x6f\x20\x42\x61\x6e\x6b\x20\x4e\x41\x31\x36\x30\x34\x06\x03\x55\x04\x03\x0c\x2d\x57\x65\x6c\x6c\x73\x53\x65\x63\x75\x72\x65\x20\x50\x75\x62\x6c\x69\x63\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x82\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xb9\x15\xb1\x44\x91\xcc\x23\xc8\x2b\x4d\x77\xe3\xf8\x9a\x7b\x27\x0d\xcd\x72\xbb\x99\x00\xca\x7c\x66\x19\x50\xc6\xd5\x98\xed\xab\xbf\x03\x5a\xe5\x4d\xe5\x1e\xc8\x4f\x71\x97\x86\xd5\xe3\x1d\xfd\x90\xc9\x3c\x75\x77\x57\x7a\x7d\xf8\xde\xf4\xd4\xd5\xf7\x95\xe6\x74\x6e\x1d\x3c\xae\x7c\x9d\xdb\x02\x03\x05\x2c\x71\x4b\x25\x3e\x07\xe3\x5e\x9a\xf5\x66\x17\x29\x88\x1a\x38\x9f\xcf\xaa\x41\x03\x84\x97\x6b\x93\x38\x7a\xca\x30\x44\x1b\x24\x44\x33\xd0\xe4\xd1\xdc\x28\x38\xf4\x13\x43\x35\x35\x29\x63\xa8\x7c\xa2\xb5\xad\x38\xa4\xed\xad\xfd\xc6\x9a\x1f\xff\x97\x73\xfe\xfb\xb3\x35\xa7\x93\x86\xc6\x76\x91\x00\xe6\xac\x51\x16\xc4\x27\x32\x5c\xdb\x73\xda\xa5\x93\x57\x8e\x3e\x6d\x35\x26\x08\x59\xd5\xe7\x44\xd7\x76\x20\x63\xe7\xac\x13\x67\xc3\x6d\xb1\x70\x46\x7c\xd5\x96\x11\x3d\x89\x6f\x5d\xa8\xa1\xeb\x8d\x0a\xda\xc3\x1d\x33\x6c\xa3\xea\x67\x19\x9a\x99\x7f\x4b\x3d\x83\x51\x2a\x1d\xca\x2f\x86\x0c\xa2\x7e\x10\x2d\x2b\xd4\x16\x95\x0b\x07\xaa\x2e\x14\x92\x49\xb7\x29\x6f\xd8\x6d\x31\x7d\xf5\xfc\xa1\x10\x07\x87\xce\x2f\x59\xdc\x3e\x58\xdb", - ["COMODO ECC Certification Authority"] = "\x30\x82\x02\x89\x30\x82\x02\x0f\xa0\x03\x02\x01\x02\x02\x10\x1f\x47\xaf\xaa\x62\x00\x70\x50\x54\x4c\x01\x9e\x9b\x63\x99\x2a\x30\x0a\x06\x08\x2a\x86\x48\xce\x3d\x04\x03\x03\x30\x81\x85\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x42\x31\x1b\x30\x19\x06\x03\x55\x04\x08\x13\x12\x47\x72\x65\x61\x74\x65\x72\x20\x4d\x61\x6e\x63\x68\x65\x73\x74\x65\x72\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x53\x61\x6c\x66\x6f\x72\x64\x31\x1a\x30\x18\x06\x03\x55\x04\x0a\x13\x11\x43\x4f\x4d\x4f\x44\x4f\x20\x43\x41\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x2b\x30\x29\x06\x03\x55\x04\x03\x13\x22\x43\x4f\x4d\x4f\x44\x4f\x20\x45\x43\x43\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x38\x30\x33\x30\x36\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x38\x30\x31\x31\x38\x32\x33\x35\x39\x35\x39\x5a\x30\x81\x85\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x47\x42\x31\x1b\x30\x19\x06\x03\x55\x04\x08\x13\x12\x47\x72\x65\x61\x74\x65\x72\x20\x4d\x61\x6e\x63\x68\x65\x73\x74\x65\x72\x31\x10\x30\x0e\x06\x03\x55\x04\x07\x13\x07\x53\x61\x6c\x66\x6f\x72\x64\x31\x1a\x30\x18\x06\x03\x55\x04\x0a\x13\x11\x43\x4f\x4d\x4f\x44\x4f\x20\x43\x41\x20\x4c\x69\x6d\x69\x74\x65\x64\x31\x2b\x30\x29\x06\x03\x55\x04\x03\x13\x22\x43\x4f\x4d\x4f\x44\x4f\x20\x45\x43\x43\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x76\x30\x10\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x05\x2b\x81\x04\x00\x22\x03\x62\x00\x04\x03\x47\x7b\x2f\x75\xc9\x82\x15\x85\xfb\x75\xe4\x91\x16\xd4\xab\x62\x99\xf5\x3e\x52\x0b\x06\xce\x41\x00\x7f\x97\xe1\x0a\x24\x3c\x1d\x01\x04\xee\x3d\xd2\x8d\x09\x97\x0c\xe0\x75\xe4\xfa\xfb\x77\x8a\x2a\xf5\x03\x60\x4b\x36\x8b\x16\x23\x16\xad\x09\x71\xf4\x4a\xf4\x28\x50\xb4\xfe\x88\x1c\x6e\x3f\x6c\x2f\x2f\x09\x59\x5b\xa5\x5b\x0b\x33\x99\xe2\xc3\x3d\x89\xf9\x6a\x2c\xef\xb2\xd3\x06\xe9\xa3\x42\x30\x40\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x75\x71\xa7\x19\x48\x19\xbc\x9d\x9d\xea\x41\x47\xdf\x94\xc4\x48\x77\x99\xd3\x79\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0a\x06\x08\x2a\x86\x48\xce\x3d\x04\x03\x03\x03\x68\x00\x30\x65\x02\x31\x00\xef\x03\x5b\x7a\xac\xb7\x78\x0a\x72\xb7\x88\xdf\xff\xb5\x46\x14\x09\x0a\xfa\xa0\xe6\x7d\x08\xc6\x1a\x87\xbd\x18\xa8\x73\xbd\x26\xca\x60\x0c\x9d\xce\x99\x9f\xcf\x5c\x0f\x30\xe1\xbe\x14\x31\xea\x02\x30\x14\xf4\x93\x3c\x49\xa7\x33\x7a\x90\x46\x47\xb3\x63\x7d\x13\x9b\x4e\xb7\x6f\x18\x37\x80\x53\xfe\xdd\x20\xe0\x35\x9a\x36\xd1\xc7\x01\xb9\xe6\xdc\xdd\xf3\xff\x1d\x2c\x3a\x16\x57\xd9\x92\x39\xd6", - ["IGC/A"] = "\x30\x82\x04\x02\x30\x82\x02\xea\xa0\x03\x02\x01\x02\x02\x05\x39\x11\x45\x10\x94\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x85\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x46\x52\x31\x0f\x30\x0d\x06\x03\x55\x04\x08\x13\x06\x46\x72\x61\x6e\x63\x65\x31\x0e\x30\x0c\x06\x03\x55\x04\x07\x13\x05\x50\x61\x72\x69\x73\x31\x10\x30\x0e\x06\x03\x55\x04\x0a\x13\x07\x50\x4d\x2f\x53\x47\x44\x4e\x31\x0e\x30\x0c\x06\x03\x55\x04\x0b\x13\x05\x44\x43\x53\x53\x49\x31\x0e\x30\x0c\x06\x03\x55\x04\x03\x13\x05\x49\x47\x43\x2f\x41\x31\x23\x30\x21\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x14\x69\x67\x63\x61\x40\x73\x67\x64\x6e\x2e\x70\x6d\x2e\x67\x6f\x75\x76\x2e\x66\x72\x30\x1e\x17\x0d\x30\x32\x31\x32\x31\x33\x31\x34\x32\x39\x32\x33\x5a\x17\x0d\x32\x30\x31\x30\x31\x37\x31\x34\x32\x39\x32\x32\x5a\x30\x81\x85\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x46\x52\x31\x0f\x30\x0d\x06\x03\x55\x04\x08\x13\x06\x46\x72\x61\x6e\x63\x65\x31\x0e\x30\x0c\x06\x03\x55\x04\x07\x13\x05\x50\x61\x72\x69\x73\x31\x10\x30\x0e\x06\x03\x55\x04\x0a\x13\x07\x50\x4d\x2f\x53\x47\x44\x4e\x31\x0e\x30\x0c\x06\x03\x55\x04\x0b\x13\x05\x44\x43\x53\x53\x49\x31\x0e\x30\x0c\x06\x03\x55\x04\x03\x13\x05\x49\x47\x43\x2f\x41\x31\x23\x30\x21\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x14\x69\x67\x63\x61\x40\x73\x67\x64\x6e\x2e\x70\x6d\x2e\x67\x6f\x75\x76\x2e\x66\x72\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xb2\x1f\xd1\xd0\x62\xc5\x33\x3b\xc0\x04\x86\x88\xb3\xdc\xf8\x88\xf7\xfd\xdf\x43\xdf\x7a\x8d\x9a\x49\x5c\xf6\x4e\xaa\xcc\x1c\xb9\xa1\xeb\x27\x89\xf2\x46\xe9\x3b\x4a\x71\xd5\x1d\x8e\x2d\xcf\xe6\xad\xab\x63\x50\xc7\x54\x0b\x6e\x12\xc9\x90\x36\xc6\xd8\x2f\xda\x91\xaa\x68\xc5\x72\xfe\x17\x0a\xb2\x17\x7e\x79\xb5\x32\x88\x70\xca\x70\xc0\x96\x4a\x8e\xe4\x55\xcd\x1d\x27\x94\xbf\xce\x72\x2a\xec\x5c\xf9\x73\x20\xfe\xbd\xf7\x2e\x89\x67\xb8\xbb\x47\x73\x12\xf7\xd1\x35\x69\x3a\xf2\x0a\xb9\xae\xff\x46\x42\x46\xa2\xbf\xa1\x85\x1a\xf9\xbf\xe4\xff\x49\x85\xf7\xa3\x70\x86\x32\x1c\x5d\x9f\x60\xf7\xa9\xad\xa5\xff\xcf\xd1\x34\xf9\x7d\x5b\x17\xc6\xdc\xd6\x0e\x28\x6b\xc2\xdd\xf1\xf5\x33\x68\x9d\x4e\xfc\x87\x7c\x36\x12\xd6\xa3\x80\xe8\x43\x0d\x55\x61\x94\xea\x64\x37\x47\xea\x77\xca\xd0\xb2\x58\x05\xc3\x5d\x7e\xb1\xa8\x46\x90\x31\x56\xce\x70\x2a\x96\xb2\x30\xb8\x77\xe6\x79\xc0\xbd\x29\x3b\xfd\x94\x77\x4c\xbd\x20\xcd\x41\x25\xe0\x2e\xc7\x1b\xbb\xee\xa4\x04\x41\xd2\x5d\xad\x12\x6a\x8a\x9b\x47\xfb\xc9\xdd\x46\x40\xe1\x9d\x3c\x33\xd0\xb5\x02\x03\x01\x00\x01\xa3\x77\x30\x75\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x46\x30\x15\x06\x03\x55\x1d\x20\x04\x0e\x30\x0c\x30\x0a\x06\x08\x2a\x81\x7a\x01\x79\x01\x01\x01\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xa3\x05\x2f\x18\x60\x50\xc2\x89\x0a\xdd\x2b\x21\x4f\xff\x8e\x4e\xa8\x30\x31\x36\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xa3\x05\x2f\x18\x60\x50\xc2\x89\x0a\xdd\x2b\x21\x4f\xff\x8e\x4e\xa8\x30\x31\x36\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x05\xdc\x26\xd8\xfa\x77\x15\x44\x68\xfc\x2f\x66\x3a\x74\xe0\x5d\xe4\x29\xff\x06\x07\x13\x84\x4a\xab\xcf\x6d\xa0\x1f\x51\x94\xf8\x49\xcb\x74\x36\x14\xbc\x15\xdd\xdb\x89\x2f\xdd\x8f\xa0\x5d\x7c\xf5\x12\xeb\x9f\x9e\x38\xa4\x47\xcc\xb3\x96\xd9\xbe\x9c\x25\xab\x03\x7e\x33\x0f\x95\x81\x0d\xfd\x16\xe0\x88\xbe\x37\xf0\x6c\x5d\xd0\x31\x9b\x32\x2b\x5d\x17\x65\x93\x98\x60\xbc\x6e\x8f\xb1\xa8\x3c\x1e\xd9\x1c\xf3\xa9\x26\x42\xf9\x64\x1d\xc2\xe7\x92\xf6\xf4\x1e\x5a\xaa\x19\x52\x5d\xaf\xe8\xa2\xf7\x60\xa0\xf6\x8d\xf0\x89\xf5\x6e\xe0\x0a\x05\x01\x95\xc9\x8b\x20\x0a\xba\x5a\xfc\x9a\x2c\x3c\xbd\xc3\xb7\xc9\x5d\x78\x25\x05\x3f\x56\x14\x9b\x0c\xda\xfb\x3a\x48\xfe\x97\x69\x5e\xca\x10\x86\xf7\x4e\x96\x04\x08\x4d\xec\xb0\xbe\x5d\xdc\x3b\x8e\x4f\xc1\xfd\x9a\x36\x34\x9a\x4c\x54\x7e\x17\x03\x48\x95\x08\x11\x1c\x07\x6f\x85\x08\x7e\x5d\x4d\xc4\x9d\xdb\xfb\xae\xce\xb2\xd1\xb3\xb8\x83\x6c\x1d\xb2\xb3\x79\xf1\xd8\x70\x99\x7e\xf0\x13\x02\xce\x5e\xdd\x51\xd3\xdf\x36\x81\xa1\x1b\x78\x2f\x71\xb3\xf1\x59\x4c\x46\x18\x28\xab\x85\xd2\x60\x56\x5a", - ["Security Communication EV RootCA1"] = "\x30\x82\x03\x7d\x30\x82\x02\x65\xa0\x03\x02\x01\x02\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x60\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4a\x50\x31\x25\x30\x23\x06\x03\x55\x04\x0a\x13\x1c\x53\x45\x43\x4f\x4d\x20\x54\x72\x75\x73\x74\x20\x53\x79\x73\x74\x65\x6d\x73\x20\x43\x4f\x2e\x2c\x4c\x54\x44\x2e\x31\x2a\x30\x28\x06\x03\x55\x04\x0b\x13\x21\x53\x65\x63\x75\x72\x69\x74\x79\x20\x43\x6f\x6d\x6d\x75\x6e\x69\x63\x61\x74\x69\x6f\x6e\x20\x45\x56\x20\x52\x6f\x6f\x74\x43\x41\x31\x30\x1e\x17\x0d\x30\x37\x30\x36\x30\x36\x30\x32\x31\x32\x33\x32\x5a\x17\x0d\x33\x37\x30\x36\x30\x36\x30\x32\x31\x32\x33\x32\x5a\x30\x60\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4a\x50\x31\x25\x30\x23\x06\x03\x55\x04\x0a\x13\x1c\x53\x45\x43\x4f\x4d\x20\x54\x72\x75\x73\x74\x20\x53\x79\x73\x74\x65\x6d\x73\x20\x43\x4f\x2e\x2c\x4c\x54\x44\x2e\x31\x2a\x30\x28\x06\x03\x55\x04\x0b\x13\x21\x53\x65\x63\x75\x72\x69\x74\x79\x20\x43\x6f\x6d\x6d\x75\x6e\x69\x63\x61\x74\x69\x6f\x6e\x20\x45\x56\x20\x52\x6f\x6f\x74\x43\x41\x31\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xbc\x7f\xec\x57\x9b\x24\xe0\xfe\x9c\xba\x42\x79\xa9\x88\x8a\xfa\x80\xe0\xf5\x07\x29\x43\xea\x8e\x0a\x34\x36\x8d\x1c\xfa\xa7\xb5\x39\x78\xff\x97\x75\xf7\x2f\xe4\xaa\x6b\x04\x84\x44\xca\xa6\xe2\x68\x8e\xfd\x55\x50\x62\x0f\xa4\x71\x0e\xce\x07\x38\x2d\x42\x85\x50\xad\x3c\x96\x6f\x8b\xd5\xa2\x0e\xcf\xde\x49\x89\x3d\xd6\x64\x2e\x38\xe5\x1e\x6c\xb5\x57\x8a\x9e\xef\x48\x0e\xcd\x7a\x69\x16\x87\x44\xb5\x90\xe4\x06\x9d\xae\xa1\x04\x97\x58\x79\xef\x20\x4a\x82\x6b\x8c\x22\xbf\xec\x1f\x0f\xe9\x84\x71\xed\xf1\x0e\xe4\xb8\x18\x13\xcc\x56\x36\x5d\xd1\x9a\x1e\x51\x6b\x39\x6e\x60\x76\x88\x34\x0b\xf3\xb3\xd1\xb0\x9d\xca\x61\xe2\x64\x1d\xc1\x46\x07\xb8\x63\xdd\x1e\x33\x65\xb3\x8e\x09\x55\x52\x3d\xb5\xbd\xff\x07\xeb\xad\x61\x55\x18\x2c\xa9\x69\x98\x4a\xaa\x40\xc5\x33\x14\x65\x74\x00\xf9\x91\xde\xaf\x03\x48\xc5\x40\x54\xdc\x0f\x84\x90\x68\x20\xc5\x92\x96\xdc\x2e\xe5\x02\x45\xaa\xc0\x5f\x54\xf8\x6d\xea\x49\xcf\x5d\x6c\x4b\xaf\xef\x9a\xc2\x56\x5c\xc6\x35\x56\x42\x6a\x30\x5f\xc2\xab\xf6\xe2\x3d\x3f\xb3\xc9\x11\x8f\x31\x4c\xd7\x9f\x49\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x35\x4a\xf5\x4d\xaf\x3f\xd7\x82\x38\xac\xab\x71\x65\x17\x75\x8c\x9d\x55\x93\xe6\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xa8\x87\xe9\xec\xf8\x40\x67\x5d\xc3\xc1\x66\xc7\x40\x4b\x97\xfc\x87\x13\x90\x5a\xc4\xef\xa0\xca\x5f\x8b\xb7\xa7\xb7\xf1\xd6\xb5\x64\xb7\x8a\xb3\xb8\x1b\xcc\xda\xfb\xac\x66\x88\x41\xce\xe8\xfc\xe4\xdb\x1e\x88\xa6\xed\x27\x50\x1b\x02\x30\x24\x46\x79\xfe\x04\x87\x70\x97\x40\x73\xd1\xc0\xc1\x57\x19\x9a\x69\xa5\x27\x99\xab\x9d\x62\x84\xf6\x51\xc1\x2c\xc9\x23\x15\xd8\x28\xb7\xab\x25\x13\xb5\x46\xe1\x86\x02\xff\x26\x8c\xc4\x88\x92\x1d\x56\xfe\x19\x67\xf2\x55\xe4\x80\xa3\x6b\x9c\xab\x77\xe1\x51\x71\x0d\x20\xdb\x10\x9a\xdb\xbd\x76\x79\x07\x77\x99\x28\xad\x9a\x5e\xda\xb1\x4f\x44\x2c\x35\x8e\xa5\x96\xc7\xfd\x83\xf0\x58\xc6\x79\xd6\x98\x7c\xa8\x8d\xfe\x86\x3e\x07\x16\x92\xe1\x7b\xe7\x1d\xec\x33\x76\x7e\x42\x2e\x4a\x85\xf9\x91\x89\x68\x84\x03\x81\xa5\x9b\x9a\xbe\xe3\x37\xc5\x54\xab\x56\x3b\x18\x2d\x41\xa4\x0c\xf8\x42\xdb\x99\xa0\xe0\x72\x6f\xbb\x5d\xe1\x16\x4f\x53\x0a\x64\xf9\x4e\xf4\xbf\x4e\x54\xbd\x78\x6c\x88\xea\xbf\x9c\x13\x24\xc2\x70\x69\xa2\x7f\x0f\xc8\x3c\xad\x08\xc9\xb0\x98\x40\xa3\x2a\xe7\x88\x83\xed\x77\x8f\x74", - ["OISTE WISeKey Global Root GA CA"] = "\x30\x82\x03\xf1\x30\x82\x02\xd9\xa0\x03\x02\x01\x02\x02\x10\x41\x3d\x72\xc7\xf4\x6b\x1f\x81\x43\x7d\xf1\xd2\x28\x54\xdf\x9a\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x8a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x10\x30\x0e\x06\x03\x55\x04\x0a\x13\x07\x57\x49\x53\x65\x4b\x65\x79\x31\x1b\x30\x19\x06\x03\x55\x04\x0b\x13\x12\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x63\x29\x20\x32\x30\x30\x35\x31\x22\x30\x20\x06\x03\x55\x04\x0b\x13\x19\x4f\x49\x53\x54\x45\x20\x46\x6f\x75\x6e\x64\x61\x74\x69\x6f\x6e\x20\x45\x6e\x64\x6f\x72\x73\x65\x64\x31\x28\x30\x26\x06\x03\x55\x04\x03\x13\x1f\x4f\x49\x53\x54\x45\x20\x57\x49\x53\x65\x4b\x65\x79\x20\x47\x6c\x6f\x62\x61\x6c\x20\x52\x6f\x6f\x74\x20\x47\x41\x20\x43\x41\x30\x1e\x17\x0d\x30\x35\x31\x32\x31\x31\x31\x36\x30\x33\x34\x34\x5a\x17\x0d\x33\x37\x31\x32\x31\x31\x31\x36\x30\x39\x35\x31\x5a\x30\x81\x8a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x48\x31\x10\x30\x0e\x06\x03\x55\x04\x0a\x13\x07\x57\x49\x53\x65\x4b\x65\x79\x31\x1b\x30\x19\x06\x03\x55\x04\x0b\x13\x12\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x63\x29\x20\x32\x30\x30\x35\x31\x22\x30\x20\x06\x03\x55\x04\x0b\x13\x19\x4f\x49\x53\x54\x45\x20\x46\x6f\x75\x6e\x64\x61\x74\x69\x6f\x6e\x20\x45\x6e\x64\x6f\x72\x73\x65\x64\x31\x28\x30\x26\x06\x03\x55\x04\x03\x13\x1f\x4f\x49\x53\x54\x45\x20\x57\x49\x53\x65\x4b\x65\x79\x20\x47\x6c\x6f\x62\x61\x6c\x20\x52\x6f\x6f\x74\x20\x47\x41\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xcb\x4f\xb3\x00\x9b\x3d\x36\xdd\xf9\xd1\x49\x6a\x6b\x10\x49\x1f\xec\xd8\x2b\xb2\xc6\xf8\x32\x81\x29\x43\x95\x4c\x9a\x19\x23\x21\x15\x45\xde\xe3\xc8\x1c\x51\x55\x5b\xae\x93\xe8\x37\xff\x2b\x6b\xe9\xd4\xea\xbe\x2a\xdd\xa8\x51\x2b\xd7\x66\xc3\x61\x5c\x60\x02\xc8\xf5\xce\x72\x7b\x3b\xb8\xf2\x4e\x65\x08\x9a\xcd\xa4\x6a\x19\xc1\x01\xbb\x73\xa6\xd7\xf6\xc3\xdd\xcd\xbc\xa4\x8b\xb5\x99\x61\xb8\x01\xa2\xa3\xd4\x4d\xd4\x05\x3d\x91\xad\xf8\xb4\x08\x71\x64\xaf\x70\xf1\x1c\x6b\x7e\xf6\xc3\x77\x9d\x24\x73\x7b\xe4\x0c\x8c\xe1\xd9\x36\xe1\x99\x8b\x05\x99\x0b\xed\x45\x31\x09\xca\xc2\x00\xdb\xf7\x72\xa0\x96\xaa\x95\x87\xd0\x8e\xc7\xb6\x61\x73\x0d\x76\x66\x8c\xdc\x1b\xb4\x63\xa2\x9f\x7f\x93\x13\x30\xf1\xa1\x27\xdb\xd9\xff\x2c\x55\x88\x91\xa0\xe0\x4f\x07\xb0\x28\x56\x8c\x18\x1b\x97\x44\x8e\x89\xdd\xe0\x17\x6e\xe7\x2a\xef\x8f\x39\x0a\x31\x84\x82\xd8\x40\x14\x49\x2e\x7a\x41\xe4\xa7\xfe\xe3\x64\xcc\xc1\x59\x71\x4b\x2c\x21\xa7\x5b\x7d\xe0\x1d\xd1\x2e\x81\x9b\xc3\xd8\x68\xf7\xbd\x96\x1b\xac\x70\xb1\x16\x14\x0b\xdb\x60\xb9\x26\x01\x05\x02\x03\x01\x00\x01\xa3\x51\x30\x4f\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\x86\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xb3\x03\x7e\xae\x36\xbc\xb0\x79\xd1\xdc\x94\x26\xb6\x11\xbe\x21\xb2\x69\x86\x94\x30\x10\x06\x09\x2b\x06\x01\x04\x01\x82\x37\x15\x01\x04\x03\x02\x01\x00\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4b\xa1\xff\x0b\x87\x6e\xb3\xf9\xc1\x43\xb1\x48\xf3\x28\xc0\x1d\x2e\xc9\x09\x41\xfa\x94\x00\x1c\xa4\xa4\xab\x49\x4f\x8f\x3d\x1e\xef\x4d\x6f\xbd\xbc\xa4\xf6\xf2\x26\x30\xc9\x10\xca\x1d\x88\xfb\x74\x19\x1f\x85\x45\xbd\xb0\x6c\x51\xf9\x36\x7e\xdb\xf5\x4c\x32\x3a\x41\x4f\x5b\x47\xcf\xe8\x0b\x2d\xb6\xc4\x19\x9d\x74\xc5\x47\xc6\x3b\x6a\x0f\xac\x14\xdb\x3c\xf4\x73\x9c\xa9\x05\xdf\x00\xdc\x74\x78\xfa\xf8\x35\x60\x59\x02\x13\x18\x7c\xbc\xfb\x4d\xb0\x20\x6d\x43\xbb\x60\x30\x7a\x67\x33\x5c\xc5\x99\xd1\xf8\x2d\x39\x52\x73\xfb\x8c\xaa\x97\x25\x5c\x72\xd9\x08\x1e\xab\x4e\x3c\xe3\x81\x31\x9f\x03\xa6\xfb\xc0\xfe\x29\x88\x55\xda\x84\xd5\x50\x03\xb6\xe2\x84\xa3\xa6\x36\xaa\x11\x3a\x01\xe1\x18\x4b\xd6\x44\x68\xb3\x3d\xf9\x53\x74\x84\xb3\x46\x91\x46\x96\x00\xb7\x80\x2c\xb6\xe1\xe3\x10\xe2\xdb\xa2\xe7\x28\x8f\x01\x96\x62\x16\x3e\x00\xe3\x1c\xa5\x36\x81\x18\xa2\x4c\x52\x76\xc0\x11\xa3\x6e\xe6\x1d\xba\xe3\x5a\xbe\x36\x53\xc5\x3e\x75\x8f\x86\x69\x29\x58\x53\xb5\x9c\xbb\x6f\x9f\x5c\xc5\x18\xec\xdd\x2f\xe1\x98\xc9\xfc\xbe\xdf\x0a\x0d", - ["Microsec e-Szigno Root CA"] = "\x30\x82\x07\xa8\x30\x82\x06\x90\xa0\x03\x02\x01\x02\x02\x11\x00\xcc\xb8\xe7\xbf\x4e\x29\x1a\xfd\xa2\xdc\x66\xa5\x1c\x2c\x0f\x11\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x72\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x13\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x4c\x74\x64\x2e\x31\x14\x30\x12\x06\x03\x55\x04\x0b\x13\x0b\x65\x2d\x53\x7a\x69\x67\x6e\x6f\x20\x43\x41\x31\x22\x30\x20\x06\x03\x55\x04\x03\x13\x19\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x65\x2d\x53\x7a\x69\x67\x6e\x6f\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x1e\x17\x0d\x30\x35\x30\x34\x30\x36\x31\x32\x32\x38\x34\x34\x5a\x17\x0d\x31\x37\x30\x34\x30\x36\x31\x32\x32\x38\x34\x34\x5a\x30\x72\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x13\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x4c\x74\x64\x2e\x31\x14\x30\x12\x06\x03\x55\x04\x0b\x13\x0b\x65\x2d\x53\x7a\x69\x67\x6e\x6f\x20\x43\x41\x31\x22\x30\x20\x06\x03\x55\x04\x03\x13\x19\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x65\x2d\x53\x7a\x69\x67\x6e\x6f\x20\x52\x6f\x6f\x74\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xed\xc8\x00\xd5\x81\x7b\xcd\x38\x00\x47\xcc\xdb\x84\xc1\x21\x69\x2c\x74\x90\x0c\x21\xd9\x53\x87\xed\x3e\x43\x44\x53\xaf\xab\xf8\x80\x9b\x3c\x78\x8d\xd4\x8d\xae\xb8\xef\xd3\x11\xdc\x81\xe6\xcf\x3b\x96\x8c\xd6\x6f\x15\xc6\x77\x7e\xa1\x2f\xe0\x5f\x92\xb6\x27\xd7\x76\x9a\x1d\x43\x3c\xea\xd9\xec\x2f\xee\x39\xf3\x6a\x67\x4b\x8b\x82\xcf\x22\xf8\x65\x55\xfe\x2c\xcb\x2f\x7d\x48\x7a\x3d\x75\xf9\xaa\xa0\x27\xbb\x78\xc2\x06\xca\x51\xc2\x7e\x66\x4b\xaf\xcd\xa2\xa7\x4d\x02\x82\x3f\x82\xac\x85\xc6\xe1\x0f\x90\x47\x99\x94\x0a\x71\x72\x93\x2a\xc9\xa6\xc0\xbe\x3c\x56\x4c\x73\x92\x27\xf1\x6b\xb5\xf5\xfd\xfc\x30\x05\x60\x92\xc6\xeb\x96\x7e\x01\x91\xc2\x69\xb1\x1e\x1d\x7b\x53\x45\xb8\xdc\x41\x1f\xc9\x8b\x71\xd6\x54\x14\xe3\x8b\x54\x78\x3f\xbe\xf4\x62\x3b\x5b\xf5\xa3\xec\xd5\x92\x74\xe2\x74\x30\xef\x01\xdb\xe1\xd4\xab\x99\x9b\x2a\x6b\xf8\xbd\xa6\x1c\x86\x23\x42\x5f\xec\x49\xde\x9a\x8b\x5b\xf4\x72\x3a\x40\xc5\x49\x3e\xa5\xbe\x8e\xaa\x71\xeb\x6c\xfa\xf5\x1a\xe4\x6a\xfd\x7b\x7d\x55\x40\xef\x58\x6e\xe6\xd9\xd5\xbc\x24\xab\xc1\xef\xb7\x02\x03\x01\x00\x01\xa3\x82\x04\x37\x30\x82\x04\x33\x30\x67\x06\x08\x2b\x06\x01\x05\x05\x07\x01\x01\x04\x5b\x30\x59\x30\x28\x06\x08\x2b\x06\x01\x05\x05\x07\x30\x01\x86\x1c\x68\x74\x74\x70\x73\x3a\x2f\x2f\x72\x63\x61\x2e\x65\x2d\x73\x7a\x69\x67\x6e\x6f\x2e\x68\x75\x2f\x6f\x63\x73\x70\x30\x2d\x06\x08\x2b\x06\x01\x05\x05\x07\x30\x02\x86\x21\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x65\x2d\x73\x7a\x69\x67\x6e\x6f\x2e\x68\x75\x2f\x52\x6f\x6f\x74\x43\x41\x2e\x63\x72\x74\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x82\x01\x73\x06\x03\x55\x1d\x20\x04\x82\x01\x6a\x30\x82\x01\x66\x30\x82\x01\x62\x06\x0c\x2b\x06\x01\x04\x01\x81\xa8\x18\x02\x01\x01\x01\x30\x82\x01\x50\x30\x28\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x1c\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x65\x2d\x73\x7a\x69\x67\x6e\x6f\x2e\x68\x75\x2f\x53\x5a\x53\x5a\x2f\x30\x82\x01\x22\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x02\x30\x82\x01\x14\x1e\x82\x01\x10\x00\x41\x00\x20\x00\x74\x00\x61\x00\x6e\x00\xfa\x00\x73\x00\xed\x00\x74\x00\x76\x00\xe1\x00\x6e\x00\x79\x00\x20\x00\xe9\x00\x72\x00\x74\x00\x65\x00\x6c\x00\x6d\x00\x65\x00\x7a\x00\xe9\x00\x73\x00\xe9\x00\x68\x00\x65\x00\x7a\x00\x20\x00\xe9\x00\x73\x00\x20\x00\x65\x00\x6c\x00\x66\x00\x6f\x00\x67\x00\x61\x00\x64\x00\xe1\x00\x73\x00\xe1\x00\x68\x00\x6f\x00\x7a\x00\x20\x00\x61\x00\x20\x00\x53\x00\x7a\x00\x6f\x00\x6c\x00\x67\x00\xe1\x00\x6c\x00\x74\x00\x61\x00\x74\x00\xf3\x00\x20\x00\x53\x00\x7a\x00\x6f\x00\x6c\x00\x67\x00\xe1\x00\x6c\x00\x74\x00\x61\x00\x74\x00\xe1\x00\x73\x00\x69\x00\x20\x00\x53\x00\x7a\x00\x61\x00\x62\x00\xe1\x00\x6c\x00\x79\x00\x7a\x00\x61\x00\x74\x00\x61\x00\x20\x00\x73\x00\x7a\x00\x65\x00\x72\x00\x69\x00\x6e\x00\x74\x00\x20\x00\x6b\x00\x65\x00\x6c\x00\x6c\x00\x20\x00\x65\x00\x6c\x00\x6a\x00\xe1\x00\x72\x00\x6e\x00\x69\x00\x3a\x00\x20\x00\x68\x00\x74\x00\x74\x00\x70\x00\x3a\x00\x2f\x00\x2f\x00\x77\x00\x77\x00\x77\x00\x2e\x00\x65\x00\x2d\x00\x73\x00\x7a\x00\x69\x00\x67\x00\x6e\x00\x6f\x00\x2e\x00\x68\x00\x75\x00\x2f\x00\x53\x00\x5a\x00\x53\x00\x5a\x00\x2f\x30\x81\xc8\x06\x03\x55\x1d\x1f\x04\x81\xc0\x30\x81\xbd\x30\x81\xba\xa0\x81\xb7\xa0\x81\xb4\x86\x21\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x65\x2d\x73\x7a\x69\x67\x6e\x6f\x2e\x68\x75\x2f\x52\x6f\x6f\x74\x43\x41\x2e\x63\x72\x6c\x86\x81\x8e\x6c\x64\x61\x70\x3a\x2f\x2f\x6c\x64\x61\x70\x2e\x65\x2d\x73\x7a\x69\x67\x6e\x6f\x2e\x68\x75\x2f\x43\x4e\x3d\x4d\x69\x63\x72\x6f\x73\x65\x63\x25\x32\x30\x65\x2d\x53\x7a\x69\x67\x6e\x6f\x25\x32\x30\x52\x6f\x6f\x74\x25\x32\x30\x43\x41\x2c\x4f\x55\x3d\x65\x2d\x53\x7a\x69\x67\x6e\x6f\x25\x32\x30\x43\x41\x2c\x4f\x3d\x4d\x69\x63\x72\x6f\x73\x65\x63\x25\x32\x30\x4c\x74\x64\x2e\x2c\x4c\x3d\x42\x75\x64\x61\x70\x65\x73\x74\x2c\x43\x3d\x48\x55\x3f\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x52\x65\x76\x6f\x63\x61\x74\x69\x6f\x6e\x4c\x69\x73\x74\x3b\x62\x69\x6e\x61\x72\x79\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x81\x96\x06\x03\x55\x1d\x11\x04\x81\x8e\x30\x81\x8b\x81\x10\x69\x6e\x66\x6f\x40\x65\x2d\x73\x7a\x69\x67\x6e\x6f\x2e\x68\x75\xa4\x77\x30\x75\x31\x23\x30\x21\x06\x03\x55\x04\x03\x0c\x1a\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x65\x2d\x53\x7a\x69\x67\x6e\xc3\xb3\x20\x52\x6f\x6f\x74\x20\x43\x41\x31\x16\x30\x14\x06\x03\x55\x04\x0b\x0c\x0d\x65\x2d\x53\x7a\x69\x67\x6e\xc3\xb3\x20\x48\x53\x5a\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x4b\x66\x74\x2e\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x13\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x30\x81\xac\x06\x03\x55\x1d\x23\x04\x81\xa4\x30\x81\xa1\x80\x14\xc7\xa0\x49\x75\x16\x61\x84\xdb\x31\x4b\x84\xd2\xf1\x37\x40\x90\xef\x4e\xdc\xf7\xa1\x76\xa4\x74\x30\x72\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x13\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x4c\x74\x64\x2e\x31\x14\x30\x12\x06\x03\x55\x04\x0b\x13\x0b\x65\x2d\x53\x7a\x69\x67\x6e\x6f\x20\x43\x41\x31\x22\x30\x20\x06\x03\x55\x04\x03\x13\x19\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x65\x2d\x53\x7a\x69\x67\x6e\x6f\x20\x52\x6f\x6f\x74\x20\x43\x41\x82\x11\x00\xcc\xb8\xe7\xbf\x4e\x29\x1a\xfd\xa2\xdc\x66\xa5\x1c\x2c\x0f\x11\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xc7\xa0\x49\x75\x16\x61\x84\xdb\x31\x4b\x84\xd2\xf1\x37\x40\x90\xef\x4e\xdc\xf7\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xd3\x13\x9c\x66\x63\x59\x2e\xca\x5c\x70\x0c\xfc\x83\xbc\x55\xb1\xf4\x8e\x07\x6c\x66\x27\xce\xc1\x3b\x20\xa9\x1c\xbb\x46\x54\x70\xee\x5a\xcc\xa0\x77\xea\x68\x44\x27\xeb\xf2\x29\xdd\x77\xa9\xd5\xfb\xe3\xd4\xa7\x04\xc4\x95\xb8\x0b\xe1\x44\x68\x60\x07\x43\x30\x31\x42\x61\xe5\xee\xd9\xe5\x24\xd5\x1b\xdf\xe1\x4a\x1b\xaa\x9f\xc7\x5f\xf8\x7a\x11\xea\x13\x93\x00\xca\x8a\x58\xb1\xee\xed\x0e\x4d\xb4\xd7\xa8\x36\x26\x7c\xe0\x3a\xc1\xd5\x57\x82\xf1\x75\xb6\xfd\x89\x5f\xda\xf3\xa8\x38\x9f\x35\x06\x08\xce\x22\x95\xbe\xcd\xd5\xfc\xbe\x5b\xde\x79\x6b\xdc\x7a\xa9\x65\x66\xbe\xb1\x25\x5a\x5f\xed\x7e\xd3\xac\x46\x6d\x4c\xf4\x32\x87\xb4\x20\x04\xe0\x6c\x78\xb0\x77\xd1\x85\x46\x4b\xa6\x12\xb7\x75\xe8\x4a\xc9\x56\x6c\xd7\x92\xab\x9d\xf5\x49\x38\xd2\x4f\x53\xe3\x55\x90\x11\xdb\x98\x96\xc6\x49\xf2\x3e\xf4\x9f\x1b\xe0\xf7\x88\xdc\x25\x62\x99\x44\xd8\x73\xbf\x3f\x30\xf3\x0c\x37\x3e\xd4\xc2\x28\x80\x73\xb1\x01\xb7\x9d\x5a\x96\x14\x01\x4b\xa9\x11\x9d\x29\x6a\x2e\xd0\x5d\x81\xc0\xcf\xb2\x20\x43\xc7\x03\xe0\x37\x4e\x5d\x0a\xdc\x59\x20\x25", - ["Certigna"] = "\x30\x82\x03\xa8\x30\x82\x02\x90\xa0\x03\x02\x01\x02\x02\x09\x00\xfe\xdc\xe3\x01\x0f\xc9\x48\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x34\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x46\x52\x31\x12\x30\x10\x06\x03\x55\x04\x0a\x0c\x09\x44\x68\x69\x6d\x79\x6f\x74\x69\x73\x31\x11\x30\x0f\x06\x03\x55\x04\x03\x0c\x08\x43\x65\x72\x74\x69\x67\x6e\x61\x30\x1e\x17\x0d\x30\x37\x30\x36\x32\x39\x31\x35\x31\x33\x30\x35\x5a\x17\x0d\x32\x37\x30\x36\x32\x39\x31\x35\x31\x33\x30\x35\x5a\x30\x34\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x46\x52\x31\x12\x30\x10\x06\x03\x55\x04\x0a\x0c\x09\x44\x68\x69\x6d\x79\x6f\x74\x69\x73\x31\x11\x30\x0f\x06\x03\x55\x04\x03\x0c\x08\x43\x65\x72\x74\x69\x67\x6e\x61\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xc8\x68\xf1\xc9\xd6\xd6\xb3\x34\x75\x26\x82\x1e\xec\xb4\xbe\xea\x5c\xe1\x26\xed\x11\x47\x61\xe1\xa2\x7c\x16\x78\x40\x21\xe4\x60\x9e\x5a\xc8\x63\xe1\xc4\xb1\x96\x92\xff\x18\x6d\x69\x23\xe1\x2b\x62\xf7\xdd\xe2\x36\x2f\x91\x07\xb9\x48\xcf\x0e\xec\x79\xb6\x2c\xe7\x34\x4b\x70\x08\x25\xa3\x3c\x87\x1b\x19\xf2\x81\x07\x0f\x38\x90\x19\xd3\x11\xfe\x86\xb4\xf2\xd1\x5e\x1e\x1e\x96\xcd\x80\x6c\xce\x3b\x31\x93\xb6\xf2\xa0\xd0\xa9\x95\x12\x7d\xa5\x9a\xcc\x6b\xc8\x84\x56\x8a\x33\xa9\xe7\x22\x15\x53\x16\xf0\xcc\x17\xec\x57\x5f\xe9\xa2\x0a\x98\x09\xde\xe3\x5f\x9c\x6f\xdc\x48\xe3\x85\x0b\x15\x5a\xa6\xba\x9f\xac\x48\xe3\x09\xb2\xf7\xf4\x32\xde\x5e\x34\xbe\x1c\x78\x5d\x42\x5b\xce\x0e\x22\x8f\x4d\x90\xd7\x7d\x32\x18\xb3\x0b\x2c\x6a\xbf\x8e\x3f\x14\x11\x89\x20\x0e\x77\x14\xb5\x3d\x94\x08\x87\xf7\x25\x1e\xd5\xb2\x60\x00\xec\x6f\x2a\x28\x25\x6e\x2a\x3e\x18\x63\x17\x25\x3f\x3e\x44\x20\x16\xf6\x26\xc8\x25\xae\x05\x4a\xb4\xe7\x63\x2c\xf3\x8c\x16\x53\x7e\x5c\xfb\x11\x1a\x08\xc1\x46\x62\x9f\x22\xb8\xf1\xc2\x8d\x69\xdc\xfa\x3a\x58\x06\xdf\x02\x03\x01\x00\x01\xa3\x81\xbc\x30\x81\xb9\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x1a\xed\xfe\x41\x39\x90\xb4\x24\x59\xbe\x01\xf2\x52\xd5\x45\xf6\x5a\x39\xdc\x11\x30\x64\x06\x03\x55\x1d\x23\x04\x5d\x30\x5b\x80\x14\x1a\xed\xfe\x41\x39\x90\xb4\x24\x59\xbe\x01\xf2\x52\xd5\x45\xf6\x5a\x39\xdc\x11\xa1\x38\xa4\x36\x30\x34\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x46\x52\x31\x12\x30\x10\x06\x03\x55\x04\x0a\x0c\x09\x44\x68\x69\x6d\x79\x6f\x74\x69\x73\x31\x11\x30\x0f\x06\x03\x55\x04\x03\x0c\x08\x43\x65\x72\x74\x69\x67\x6e\x61\x82\x09\x00\xfe\xdc\xe3\x01\x0f\xc9\x48\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x85\x03\x1e\x92\x71\xf6\x42\xaf\xe1\xa3\x61\x9e\xeb\xf3\xc0\x0f\xf2\xa5\xd4\xda\x95\xe6\xd6\xbe\x68\x36\x3d\x7e\x6e\x1f\x4c\x8a\xef\xd1\x0f\x21\x6d\x5e\xa5\x52\x63\xce\x12\xf8\xef\x2a\xda\x6f\xeb\x37\xfe\x13\x02\xc7\xcb\x3b\x3e\x22\x6b\xda\x61\x2e\x7f\xd4\x72\x3d\xdd\x30\xe1\x1e\x4c\x40\x19\x8c\x0f\xd7\x9c\xd1\x83\x30\x7b\x98\x59\xdc\x7d\xc6\xb9\x0c\x29\x4c\xa1\x33\xa2\xeb\x67\x3a\x65\x84\xd3\x96\xe2\xed\x76\x45\x70\x8f\xb5\x2b\xde\xf9\x23\xd6\x49\x6e\x3c\x14\xb5\xc6\x9f\x35\x1e\x50\xd0\xc1\x8f\x6a\x70\x44\x02\x62\xcb\xae\x1d\x68\x41\xa7\xaa\x57\xe8\x53\xaa\x07\xd2\x06\xf6\xd5\x14\x06\x0b\x91\x03\x75\x2c\x6c\x72\xb5\x61\x95\x9a\x0d\x8b\xb9\x0d\xe7\xf5\xdf\x54\xcd\xde\xe6\xd8\xd6\x09\x08\x97\x63\xe5\xc1\x2e\xb0\xb7\x44\x26\xc0\x26\xc0\xaf\x55\x30\x9e\x3b\xd5\x36\x2a\x19\x04\xf4\x5c\x1e\xff\xcf\x2c\xb7\xff\xd0\xfd\x87\x40\x11\xd5\x11\x23\xbb\x48\xc0\x21\xa9\xa4\x28\x2d\xfd\x15\xf8\xb0\x4e\x2b\xf4\x30\x5b\x21\xfc\x11\x91\x34\xbe\x41\xef\x7b\x9d\x97\x75\xff\x97\x95\xc0\x96\x58\x2f\xea\xbb\x46\xd7\xbb\xe4\xd9\x2e", - ["AC Ra\xC3\xADz Certic\xC3\xA1mara S.A."] = "\x30\x82\x06\x66\x30\x82\x04\x4e\xa0\x03\x02\x01\x02\x02\x0f\x07\x7e\x52\x93\x7b\xe0\x15\xe3\x57\xf0\x69\x8c\xcb\xec\x0c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x7b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4f\x31\x47\x30\x45\x06\x03\x55\x04\x0a\x0c\x3e\x53\x6f\x63\x69\x65\x64\x61\x64\x20\x43\x61\x6d\x65\x72\x61\x6c\x20\x64\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x63\x69\xc3\xb3\x6e\x20\x44\x69\x67\x69\x74\x61\x6c\x20\x2d\x20\x43\x65\x72\x74\x69\x63\xc3\xa1\x6d\x61\x72\x61\x20\x53\x2e\x41\x2e\x31\x23\x30\x21\x06\x03\x55\x04\x03\x0c\x1a\x41\x43\x20\x52\x61\xc3\xad\x7a\x20\x43\x65\x72\x74\x69\x63\xc3\xa1\x6d\x61\x72\x61\x20\x53\x2e\x41\x2e\x30\x1e\x17\x0d\x30\x36\x31\x31\x32\x37\x32\x30\x34\x36\x32\x39\x5a\x17\x0d\x33\x30\x30\x34\x30\x32\x32\x31\x34\x32\x30\x32\x5a\x30\x7b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4f\x31\x47\x30\x45\x06\x03\x55\x04\x0a\x0c\x3e\x53\x6f\x63\x69\x65\x64\x61\x64\x20\x43\x61\x6d\x65\x72\x61\x6c\x20\x64\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x63\x69\xc3\xb3\x6e\x20\x44\x69\x67\x69\x74\x61\x6c\x20\x2d\x20\x43\x65\x72\x74\x69\x63\xc3\xa1\x6d\x61\x72\x61\x20\x53\x2e\x41\x2e\x31\x23\x30\x21\x06\x03\x55\x04\x03\x0c\x1a\x41\x43\x20\x52\x61\xc3\xad\x7a\x20\x43\x65\x72\x74\x69\x63\xc3\xa1\x6d\x61\x72\x61\x20\x53\x2e\x41\x2e\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xab\x6b\x89\xa3\x53\xcc\x48\x23\x08\xfb\xc3\xcf\x51\x96\x08\x2e\xb8\x08\x7a\x6d\x3c\x90\x17\x86\xa9\xe9\xed\x2e\x13\x34\x47\xb2\xd0\x70\xdc\xc9\x3c\xd0\x8d\xca\xee\x4b\x17\xab\xd0\x85\xb0\xa7\x23\x04\xcb\xa8\xa2\xfc\xe5\x75\xdb\x40\xca\x62\x89\x8f\x50\x9e\x01\x3d\x26\x5b\x18\x84\x1c\xcb\x7c\x37\xb7\x7d\xec\xd3\x7f\x73\x19\xb0\x6a\xb2\xd8\x88\x8a\x2d\x45\x74\xa8\xf7\xb3\xb8\xc0\xd4\xda\xcd\x22\x89\x74\x4d\x5a\x15\x39\x73\x18\x74\x4f\xb5\xeb\x99\xa7\xc1\x1e\x88\xb4\xc2\x93\x90\x63\x97\xf3\xa7\xa7\x12\xb2\x09\x22\x07\x33\xd9\x91\xcd\x0e\x9c\x1f\x0e\x20\xc7\xee\xbb\x33\x8d\x8f\xc2\xd2\x58\xa7\x5f\xfd\x65\x37\xe2\x88\xc2\xd8\x8f\x86\x75\x5e\xf9\x2d\xa7\x87\x33\xf2\x78\x37\x2f\x8b\xbc\x1d\x86\x37\x39\xb1\x94\xf2\xd8\xbc\x4a\x9c\x83\x18\x5a\x06\xfc\xf3\xd4\xd4\xba\x8c\x15\x09\x25\xf0\xf9\xb6\x8d\x04\x7e\x17\x12\x33\x6b\x57\x48\x4c\x4f\xdb\x26\x1e\xeb\xcc\x90\xe7\x8b\xf9\x68\x7c\x70\x0f\xa3\x2a\xd0\x3a\x38\xdf\x37\x97\xe2\x5b\xde\x80\x61\xd3\x80\xd8\x91\x83\x42\x5a\x4c\x04\x89\x68\x11\x3c\xac\x5f\x68\x80\x41\xcc\x60\x42\xce\x0d\x5a\x2a\x0c\x0f\x9b\x30\xc0\xa6\xf0\x86\xdb\xab\x49\xd7\x97\x6d\x48\x8b\xf9\x03\xc0\x52\x67\x9b\x12\xf7\xc2\xf2\x2e\x98\x65\x42\xd9\xd6\x9a\xe3\xd0\x19\x31\x0c\xad\x87\xd5\x57\x02\x7a\x30\xe8\x86\x26\xfb\x8f\x23\x8a\x54\x87\xe4\xbf\x3c\xee\xeb\xc3\x75\x48\x5f\x1e\x39\x6f\x81\x62\x6c\xc5\x2d\xc4\x17\x54\x19\xb7\x37\x8d\x9c\x37\x91\xc8\xf6\x0b\xd5\xea\x63\x6f\x83\xac\x38\xc2\xf3\x3f\xde\x9a\xfb\xe1\x23\x61\xf0\xc8\x26\xcb\x36\xc8\xa1\xf3\x30\x8f\xa4\xa3\xa2\xa1\xdd\x53\xb3\xde\xf0\x9a\x32\x1f\x83\x91\x79\x30\xc1\xa9\x1f\x53\x9b\x53\xa2\x15\x53\x3f\xdd\x9d\xb3\x10\x3b\x48\x7d\x89\x0f\xfc\xed\x03\xf5\xfb\x25\x64\x75\x0e\x17\x19\x0d\x8f\x00\x16\x67\x79\x7a\x40\xfc\x2d\x59\x07\xd9\x90\xfa\x9a\xad\x3d\xdc\x80\x8a\xe6\x5c\x35\xa2\x67\x4c\x11\x6b\xb1\xf8\x80\x64\x00\x2d\x6f\x22\x61\xc5\xac\x4b\x26\xe5\x5a\x10\x82\x9b\xa4\x83\x7b\x34\xf7\x9e\x89\x91\x20\x97\x8e\xb7\x42\xc7\x66\xc3\xd0\xe9\xa4\xd6\xf5\x20\x8d\xc4\xc3\x95\xac\x44\x0a\x9d\x5b\x73\x3c\x26\x3d\x2f\x4a\xbe\xa7\xc9\xa7\x10\x1e\xfb\x9f\x50\x69\xf3\x02\x03\x01\x00\x01\xa3\x81\xe6\x30\x81\xe3\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xd1\x09\xd0\xe9\xd7\xce\x79\x74\x54\xf9\x3a\x30\xb3\xf4\x6d\x2c\x03\x03\x1b\x68\x30\x81\xa0\x06\x03\x55\x1d\x20\x04\x81\x98\x30\x81\x95\x30\x81\x92\x06\x04\x55\x1d\x20\x00\x30\x81\x89\x30\x2b\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x1f\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x65\x72\x74\x69\x63\x61\x6d\x61\x72\x61\x2e\x63\x6f\x6d\x2f\x64\x70\x63\x2f\x30\x5a\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x02\x30\x4e\x1a\x4c\x4c\x69\x6d\x69\x74\x61\x63\x69\x6f\x6e\x65\x73\x20\x64\x65\x20\x67\x61\x72\x61\x6e\x74\xed\x61\x73\x20\x64\x65\x20\x65\x73\x74\x65\x20\x63\x65\x72\x74\x69\x66\x69\x63\x61\x64\x6f\x20\x73\x65\x20\x70\x75\x65\x64\x65\x6e\x20\x65\x6e\x63\x6f\x6e\x74\x72\x61\x72\x20\x65\x6e\x20\x6c\x61\x20\x44\x50\x43\x2e\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x5c\x94\xb5\xb8\x45\x91\x4d\x8e\x61\x1f\x03\x28\x0f\x53\x7c\xe6\xa4\x59\xa9\xb3\x8a\x7a\xc5\xb0\xff\x08\x7c\x2c\xa3\x71\x1c\x21\x13\x67\xa1\x95\x12\x40\x35\x83\x83\x8f\x74\xdb\x33\x5c\xf0\x49\x76\x0a\x81\x52\xdd\x49\xd4\x9a\x32\x33\xef\x9b\xa7\xcb\x75\xe5\x7a\xcb\x97\x12\x90\x5c\xba\x7b\xc5\x9b\xdf\xbb\x39\x23\xc8\xff\x98\xce\x0a\x4d\x22\x01\x48\x07\x7e\x8a\xc0\xd5\x20\x42\x94\x44\xef\xbf\x77\xa2\x89\x67\x48\x1b\x40\x03\x05\xa1\x89\xec\xcf\x62\xe3\x3d\x25\x76\x66\xbf\x26\xb7\xbb\x22\xbe\x6f\xff\x39\x57\x74\xba\x7a\xc9\x01\x95\xc1\x95\x51\xe8\xab\x2c\xf8\xb1\x86\x20\xe9\x3f\xcb\x35\x5b\xd2\x17\xe9\x2a\xfe\x83\x13\x17\x40\xee\x88\x62\x65\x5b\xd5\x3b\x60\xe9\x7b\x3c\xb8\xc9\xd5\x7f\x36\x02\x25\xaa\x68\xc2\x31\x15\xb7\x30\x65\xeb\x7f\x1d\x48\x79\xb1\xcf\x39\xe2\x42\x80\x16\xd3\xf5\x93\x23\xfc\x4c\x97\xc9\x5a\x37\x6c\x7c\x22\xd8\x4a\xcd\xd2\x8e\x36\x83\x39\x91\x90\x10\xc8\xf1\xc9\x35\x7e\x3f\xb8\xd3\x81\xc6\x20\x64\x1a\xb6\x50\xc2\x21\xa4\x78\xdc\xd0\x2f\x3b\x64\x93\x74\xf0\x96\x90\xf1\xef\xfb\x09\x5a\x34\x40\x96\xf0\x36\x12\xc1\xa3\x74\x8c\x93\x7e\x41\xde\x77\x8b\xec\x86\xd9\xd2\x0f\x3f\x2d\xd1\xcc\x40\xa2\x89\x66\x48\x1e\x20\xb3\x9c\x23\x59\x73\xa9\x44\x73\xbc\x24\x79\x90\x56\x37\xb3\xc6\x29\x7e\xa3\x0f\xf1\x29\x39\xef\x7e\x5c\x28\x32\x70\x35\xac\xda\xb8\xc8\x75\x66\xfc\x9b\x4c\x39\x47\x8e\x1b\x6f\x9b\x4d\x02\x54\x22\x33\xef\x61\xba\x9e\x29\x84\xef\x4e\x4b\x33\x47\x76\x97\x6a\xcb\x7e\x5f\xfd\x15\xa6\x9e\x42\x43\x5b\x66\x5a\x8a\x88\x0d\xf7\x16\xb9\x3f\x51\x65\x2b\x66\x6a\x8b\xd1\x38\x52\xa2\xd6\x46\x11\xfa\xfc\x9a\x1c\x74\x9e\x8f\x97\x0b\x02\x4f\x64\xc6\xf5\x68\xd3\x4b\x2d\xff\xa4\x37\x1e\x8b\x3f\xbf\x44\xbe\x61\x46\xa1\x84\x3d\x08\x27\x4c\x81\x20\x77\x89\x08\xea\x67\x40\x5e\x6c\x08\x51\x5f\x34\x5a\x8c\x96\x68\xcd\xd7\xf7\x89\xc2\x1c\xd3\x32\x00\xaf\x52\xcb\xd3\x60\x5b\x2a\x3a\x47\x7e\x6b\x30\x33\xa1\x62\x29\x7f\x4a\xb9\xe1\x2d\xe7\x14\x23\x0e\x0e\x18\x47\xe1\x79\xfc\x15\x55\xd0\xb1\xfc\x25\x71\x63\x75\x33\x1c\x23\x2b\xaf\x5c\xd9\xed\x47\x77\x60\x0e\x3b\x0f\x1e\xd2\xc0\xdc\x64\x05\x89\xfc\x78\xd6\x5c\x2c\x26\x43\xa9", - ["TC TrustCenter Class 2 CA II"] = "\x30\x82\x04\xaa\x30\x82\x03\x92\xa0\x03\x02\x01\x02\x02\x0e\x2e\x6a\x00\x01\x00\x02\x1f\xd7\x52\x21\x2c\x11\x5c\x3b\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x76\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x47\x6d\x62\x48\x31\x22\x30\x20\x06\x03\x55\x04\x0b\x13\x19\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x41\x31\x25\x30\x23\x06\x03\x55\x04\x03\x13\x1c\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x41\x20\x49\x49\x30\x1e\x17\x0d\x30\x36\x30\x31\x31\x32\x31\x34\x33\x38\x34\x33\x5a\x17\x0d\x32\x35\x31\x32\x33\x31\x32\x32\x35\x39\x35\x39\x5a\x30\x76\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x47\x6d\x62\x48\x31\x22\x30\x20\x06\x03\x55\x04\x0b\x13\x19\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x41\x31\x25\x30\x23\x06\x03\x55\x04\x03\x13\x1c\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x41\x20\x49\x49\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xab\x80\x87\x9b\x8e\xf0\xc3\x7c\x87\xd7\xe8\x24\x82\x11\xb3\x3c\xdd\x43\x62\xee\xf8\xc3\x45\xda\xe8\xe1\xa0\x5f\xd1\x2a\xb2\xea\x93\x68\xdf\xb4\xc8\xd6\x43\xe9\xc4\x75\x59\x7f\xfc\xe1\x1d\xf8\x31\x70\x23\x1b\x88\x9e\x27\xb9\x7b\xfd\x3a\xd2\xc9\xa9\xe9\x14\x2f\x90\xbe\x03\x52\xc1\x49\xcd\xf6\xfd\xe4\x08\x66\x0b\x57\x8a\xa2\x42\xa0\xb8\xd5\x7f\x69\x5c\x90\x32\xb2\x97\x0d\xca\x4a\xdc\x46\x3e\x02\x55\x89\x53\xe3\x1a\x5a\xcb\x36\xc6\x07\x56\xf7\x8c\xcf\x11\xf4\x4c\xbb\x30\x70\x04\x95\xa5\xf6\x39\x8c\xfd\x73\x81\x08\x7d\x89\x5e\x32\x1e\x22\xa9\x22\x45\x4b\xb0\x66\x2e\x30\xcc\x9f\x65\xfd\xfc\xcb\x81\xa9\xf1\xe0\x3b\xaf\xa3\x86\xd1\x89\xea\xc4\x45\x79\x50\x5d\xae\xe9\x21\x74\x92\x4d\x8b\x59\x82\x8f\x94\xe3\xe9\x4a\xf1\xe7\x49\xb0\x14\xe3\xf5\x62\xcb\xd5\x72\xbd\x1f\xb9\xd2\x9f\xa0\xcd\xa8\xfa\x01\xc8\xd9\x0d\xdf\xda\xfc\x47\x9d\xb3\xc8\x54\xdf\x49\x4a\xf1\x21\xa9\xfe\x18\x4e\xee\x48\xd4\x19\xbb\xef\x7d\xe4\xe2\x9d\xcb\x5b\xb6\x6e\xff\xe3\xcd\x5a\xe7\x74\x82\x05\xba\x80\x25\x38\xcb\xe4\x69\x9e\xaf\x41\xaa\x1a\x84\xf5\x02\x03\x01\x00\x01\xa3\x82\x01\x34\x30\x82\x01\x30\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xe3\xab\x54\x4c\x80\xa1\xdb\x56\x43\xb7\x91\x4a\xcb\xf3\x82\x7a\x13\x5c\x08\xab\x30\x81\xed\x06\x03\x55\x1d\x1f\x04\x81\xe5\x30\x81\xe2\x30\x81\xdf\xa0\x81\xdc\xa0\x81\xd9\x86\x35\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2e\x64\x65\x2f\x63\x72\x6c\x2f\x76\x32\x2f\x74\x63\x5f\x63\x6c\x61\x73\x73\x5f\x32\x5f\x63\x61\x5f\x49\x49\x2e\x63\x72\x6c\x86\x81\x9f\x6c\x64\x61\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2e\x64\x65\x2f\x43\x4e\x3d\x54\x43\x25\x32\x30\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x25\x32\x30\x43\x6c\x61\x73\x73\x25\x32\x30\x32\x25\x32\x30\x43\x41\x25\x32\x30\x49\x49\x2c\x4f\x3d\x54\x43\x25\x32\x30\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x25\x32\x30\x47\x6d\x62\x48\x2c\x4f\x55\x3d\x72\x6f\x6f\x74\x63\x65\x72\x74\x73\x2c\x44\x43\x3d\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2c\x44\x43\x3d\x64\x65\x3f\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x52\x65\x76\x6f\x63\x61\x74\x69\x6f\x6e\x4c\x69\x73\x74\x3f\x62\x61\x73\x65\x3f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x8c\xd7\xdf\x7e\xee\x1b\x80\x10\xb3\x83\xf5\xdb\x11\xea\x6b\x4b\xa8\x92\x18\xd9\xf7\x07\x39\xf5\x2c\xbe\x06\x75\x7a\x68\x53\x15\x1c\xea\x4a\xed\x5e\xfc\x23\xb2\x13\xa0\xd3\x09\xff\xf6\xf6\x2e\x6b\x41\x71\x79\xcd\xe2\x6d\xfd\xae\x59\x6b\x85\x1d\xb8\x4e\x22\x9a\xed\x66\x39\x6e\x4b\x94\xe6\x55\xfc\x0b\x1b\x8b\x77\xc1\x53\x13\x66\x89\xd9\x28\xd6\x8b\xf3\x45\x4a\x63\xb7\xfd\x7b\x0b\x61\x5d\xb8\x6d\xbe\xc3\xdc\x5b\x79\xd2\xed\x86\xe5\xa2\x4d\xbe\x5e\x74\x7c\x6a\xed\x16\x38\x1f\x7f\x58\x81\x5a\x1a\xeb\x32\x88\x2d\xb2\xf3\x39\x77\x80\xaf\x5e\xb6\x61\x75\x29\xdb\x23\x4d\x88\xca\x50\x28\xcb\x85\xd2\xd3\x10\xa2\x59\x6e\xd3\x93\x54\x00\x7a\xa2\x46\x95\x86\x05\x9c\xa9\x19\x98\xe5\x31\x72\x0c\x00\xe2\x67\xd9\x40\xe0\x24\x33\x7b\x6f\x2c\xb9\x5c\xab\x65\x9d\x2c\xac\x76\xea\x35\x99\xf5\x97\xb9\x0f\x24\xec\xc7\x76\x21\x28\x65\xae\x57\xe8\x07\x88\x75\x4a\x56\xa0\xd2\x05\x3a\xa4\xe6\x8d\x92\x88\x2c\xf3\xf2\xe1\xc1\xc6\x61\xdb\x41\xc5\xc7\x9b\xf7\x0e\x1a\x51\x45\xc2\x61\x6b\xdc\x64\x27\x17\x8c\x5a\xb7\xda\x74\x28\xcd\x97\xe4\xbd", - ["TC TrustCenter Class 3 CA II"] = "\x30\x82\x04\xaa\x30\x82\x03\x92\xa0\x03\x02\x01\x02\x02\x0e\x4a\x47\x00\x01\x00\x02\xe5\xa0\x5d\xd6\x3f\x00\x51\xbf\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x76\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x47\x6d\x62\x48\x31\x22\x30\x20\x06\x03\x55\x04\x0b\x13\x19\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x43\x41\x31\x25\x30\x23\x06\x03\x55\x04\x03\x13\x1c\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x43\x41\x20\x49\x49\x30\x1e\x17\x0d\x30\x36\x30\x31\x31\x32\x31\x34\x34\x31\x35\x37\x5a\x17\x0d\x32\x35\x31\x32\x33\x31\x32\x32\x35\x39\x35\x39\x5a\x30\x76\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x47\x6d\x62\x48\x31\x22\x30\x20\x06\x03\x55\x04\x0b\x13\x19\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x43\x41\x31\x25\x30\x23\x06\x03\x55\x04\x03\x13\x1c\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x43\x41\x20\x49\x49\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xb4\xe0\xbb\x51\xbb\x39\x5c\x8b\x04\xc5\x4c\x79\x1c\x23\x86\x31\x10\x63\x43\x55\x27\x3f\xc6\x45\xc7\xa4\x3d\xec\x09\x0d\x1a\x1e\x20\xc2\x56\x1e\xde\x1b\x37\x07\x30\x22\x2f\x6f\xf1\x06\xf1\xab\xad\xd6\xc8\xab\x61\xa3\x2f\x43\xc4\xb0\xb2\x2d\xfc\xc3\x96\x69\x7b\x7e\x8a\xe4\xcc\xc0\x39\x12\x90\x42\x60\xc9\xcc\x35\x68\xee\xda\x5f\x90\x56\x5f\xcd\x1c\x4d\x5b\x58\x49\xeb\x0e\x01\x4f\x64\xfa\x2c\x3c\x89\x58\xd8\x2f\x2e\xe2\xb0\x68\xe9\x22\x3b\x75\x89\xd6\x44\x1a\x65\xf2\x1b\x97\x26\x1d\x28\x6d\xac\xe8\xbd\x59\x1d\x2b\x24\xf6\xd6\x84\x03\x66\x88\x24\x00\x78\x60\xf1\xf8\xab\xfe\x02\xb2\x6b\xfb\x22\xfb\x35\xe6\x16\xd1\xad\xf6\x2e\x12\xe4\xfa\x35\x6a\xe5\x19\xb9\x5d\xdb\x3b\x1e\x1a\xfb\xd3\xff\x15\x14\x08\xd8\x09\x6a\xba\x45\x9d\x14\x79\x60\x7d\xaf\x40\x8a\x07\x73\xb3\x93\x96\xd3\x74\x34\x8d\x3a\x37\x29\xde\x5c\xec\xf5\xee\x2e\x31\xc2\x20\xdc\xbe\xf1\x4f\x7f\x23\x52\xd9\x5b\xe2\x64\xd9\x9c\xaa\x07\x08\xb5\x45\xbd\xd1\xd0\x31\xc1\xab\x54\x9f\xa9\xd2\xc3\x62\x60\x03\xf1\xbb\x39\x4a\x92\x4a\x3d\x0a\xb9\x9d\xc5\xa0\xfe\x37\x02\x03\x01\x00\x01\xa3\x82\x01\x34\x30\x82\x01\x30\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xd4\xa2\xfc\x9f\xb3\xc3\xd8\x03\xd3\x57\x5c\x07\xa4\xd0\x24\xa7\xc0\xf2\x00\xd4\x30\x81\xed\x06\x03\x55\x1d\x1f\x04\x81\xe5\x30\x81\xe2\x30\x81\xdf\xa0\x81\xdc\xa0\x81\xd9\x86\x35\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2e\x64\x65\x2f\x63\x72\x6c\x2f\x76\x32\x2f\x74\x63\x5f\x63\x6c\x61\x73\x73\x5f\x33\x5f\x63\x61\x5f\x49\x49\x2e\x63\x72\x6c\x86\x81\x9f\x6c\x64\x61\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2e\x64\x65\x2f\x43\x4e\x3d\x54\x43\x25\x32\x30\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x25\x32\x30\x43\x6c\x61\x73\x73\x25\x32\x30\x33\x25\x32\x30\x43\x41\x25\x32\x30\x49\x49\x2c\x4f\x3d\x54\x43\x25\x32\x30\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x25\x32\x30\x47\x6d\x62\x48\x2c\x4f\x55\x3d\x72\x6f\x6f\x74\x63\x65\x72\x74\x73\x2c\x44\x43\x3d\x74\x72\x75\x73\x74\x63\x65\x6e\x74\x65\x72\x2c\x44\x43\x3d\x64\x65\x3f\x63\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x52\x65\x76\x6f\x63\x61\x74\x69\x6f\x6e\x4c\x69\x73\x74\x3f\x62\x61\x73\x65\x3f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x36\x60\xe4\x70\xf7\x06\x20\x43\xd9\x23\x1a\x42\xf2\xf8\xa3\xb2\xb9\x4d\x8a\xb4\xf3\xc2\x9a\x55\x31\x7c\xc4\x3b\x67\x9a\xb4\xdf\x4d\x0e\x8a\x93\x4a\x17\x8b\x1b\x8d\xca\x89\xe1\xcf\x3a\x1e\xac\x1d\xf1\x9c\x32\xb4\x8e\x59\x76\xa2\x41\x85\x25\x37\xa0\x13\xd0\xf5\x7c\x4e\xd5\xea\x96\xe2\x6e\x72\xc1\xbb\x2a\xfe\x6c\x6e\xf8\x91\x98\x46\xfc\xc9\x1b\x57\x5b\xea\xc8\x1a\x3b\x3f\xb0\x51\x98\x3c\x07\xda\x2c\x59\x01\xda\x8b\x44\xe8\xe1\x74\xfd\xa7\x68\xdd\x54\xba\x83\x46\xec\xc8\x46\xb5\xf8\xaf\x97\xc0\x3b\x09\x1c\x8f\xce\x72\x96\x3d\x33\x56\x70\xbc\x96\xcb\xd8\xd5\x7d\x20\x9a\x83\x9f\x1a\xdc\x39\xf1\xc5\x72\xa3\x11\x03\xfd\x3b\x42\x52\x29\xdb\xe8\x01\xf7\x9b\x5e\x8c\xd6\x8d\x86\x4e\x19\xfa\xbc\x1c\xbe\xc5\x21\xa5\x87\x9e\x78\x2e\x36\xdb\x09\x71\xa3\x72\x34\xf8\x6c\xe3\x06\x09\xf2\x5e\x56\xa5\xd3\xdd\x98\xfa\xd4\xe6\x06\xf4\xf0\xb6\x20\x63\x4b\xea\x29\xbd\xaa\x82\x66\x1e\xfb\x81\xaa\xa7\x37\xad\x13\x18\xe6\x92\xc3\x81\xc1\x33\xbb\x88\x1e\xa1\xe7\xe2\xb4\xbd\x31\x6c\x0e\x51\x3d\x6f\xfb\x96\x56\x80\xe2\x36\x17\xd1\xdc\xe4", - ["TC TrustCenter Universal CA I"] = "\x30\x82\x03\xdd\x30\x82\x02\xc5\xa0\x03\x02\x01\x02\x02\x0e\x1d\xa2\x00\x01\x00\x02\xec\xb7\x60\x80\x78\x8d\xb6\x06\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x79\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x47\x6d\x62\x48\x31\x24\x30\x22\x06\x03\x55\x04\x0b\x13\x1b\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x31\x26\x30\x24\x06\x03\x55\x04\x03\x13\x1d\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x20\x49\x30\x1e\x17\x0d\x30\x36\x30\x33\x32\x32\x31\x35\x35\x34\x32\x38\x5a\x17\x0d\x32\x35\x31\x32\x33\x31\x32\x32\x35\x39\x35\x39\x5a\x30\x79\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x47\x6d\x62\x48\x31\x24\x30\x22\x06\x03\x55\x04\x0b\x13\x1b\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x31\x26\x30\x24\x06\x03\x55\x04\x03\x13\x1d\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x20\x49\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xa4\x77\x23\x96\x44\xaf\x90\xf4\x31\xa7\x10\xf4\x26\x87\x9c\xf3\x38\xd9\x0f\x5e\xde\xcf\x41\xe8\x31\xad\xc6\x74\x91\x24\x96\x78\x1e\x09\xa0\x9b\x9a\x95\x4a\x4a\xf5\x62\x7c\x02\xa8\xca\xac\xfb\x5a\x04\x76\x39\xde\x5f\xf1\xf9\xb3\xbf\xf3\x03\x58\x55\xd2\xaa\xb7\xe3\x04\x22\xd1\xf8\x94\xda\x22\x08\x00\x8d\xd3\x7c\x26\x5d\xcc\x77\x79\xe7\x2c\x78\x39\xa8\x26\x73\x0e\xa2\x5d\x25\x69\x85\x4f\x55\x0e\x9a\xef\xc6\xb9\x44\xe1\x57\x3d\xdf\x1f\x54\x22\xe5\x6f\x65\xaa\x33\x84\x3a\xf3\xce\x7a\xbe\x55\x97\xae\x8d\x12\x0f\x14\x33\xe2\x50\x70\xc3\x49\x87\x13\xbc\x51\xde\xd7\x98\x12\x5a\xef\x3a\x83\x33\x92\x06\x75\x8b\x92\x7c\x12\x68\x7b\x70\x6a\x0f\xb5\x9b\xb6\x77\x5b\x48\x59\x9d\xe4\xef\x5a\xad\xf3\xc1\x9e\xd4\xd7\x45\x4e\xca\x56\x34\x21\xbc\x3e\x17\x5b\x6f\x77\x0c\x48\x01\x43\x29\xb0\xdd\x3f\x96\x6e\xe6\x95\xaa\x0c\xc0\x20\xb6\xfd\x3e\x36\x27\x9c\xe3\x5c\xcf\x4e\x81\xdc\x19\xbb\x91\x90\x7d\xec\xe6\x97\x04\x1e\x93\xcc\x22\x49\xd7\x97\x86\xb6\x13\x0a\x3c\x43\x23\x77\x7e\xf0\xdc\xe6\xcd\x24\x1f\x3b\x83\x9b\x34\x3a\x83\x34\xe3\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x92\xa4\x75\x2c\xa4\x9e\xbe\x81\x44\xeb\x79\xfc\x8a\xc5\x95\xa5\xeb\x10\x75\x73\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x92\xa4\x75\x2c\xa4\x9e\xbe\x81\x44\xeb\x79\xfc\x8a\xc5\x95\xa5\xeb\x10\x75\x73\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x28\xd2\xe0\x86\xd5\xe6\xf8\x7b\xf0\x97\xdc\x22\x6b\x3b\x95\x14\x56\x0f\x11\x30\xa5\x9a\x4f\x3a\xb0\x3a\xe0\x06\xcb\x65\xf5\xed\xc6\x97\x27\xfe\x25\xf2\x57\xe6\x5e\x95\x8c\x3e\x64\x60\x15\x5a\x7f\x2f\x0d\x01\xc5\xb1\x60\xfd\x45\x35\xcf\xf0\xb2\xbf\x06\xd9\xef\x5a\xbe\xb3\x62\x21\xb4\xd7\xab\x35\x7c\x53\x3e\xa6\x27\xf1\xa1\x2d\xda\x1a\x23\x9d\xcc\xdd\xec\x3c\x2d\x9e\x27\x34\x5d\x0f\xc2\x36\x79\xbc\xc9\x4a\x62\x2d\xed\x6b\xd9\x7d\x41\x43\x7c\xb6\xaa\xca\xed\x61\xb1\x37\x82\x15\x09\x1a\x8a\x16\x30\xd8\xec\xc9\xd6\x47\x72\x78\x4b\x10\x46\x14\x8e\x5f\x0e\xaf\xec\xc7\x2f\xab\x10\xd7\xb6\xf1\x6e\xec\x86\xb2\xc2\xe8\x0d\x92\x73\xdc\xa2\xf4\x0f\x3a\xbf\x61\x23\x10\x89\x9c\x48\x40\x6e\x70\x00\xb3\xd3\xba\x37\x44\x58\x11\x7a\x02\x6a\x88\xf0\x37\x34\xf0\x19\xe9\xac\xd4\x65\x73\xf6\x69\x8c\x64\x94\x3a\x79\x85\x29\xb0\x16\x2b\x0c\x82\x3f\x06\x9c\xc7\xfd\x10\x2b\x9e\x0f\x2c\xb6\x9e\xe3\x15\xbf\xd9\x36\x1c\xba\x25\x1a\x52\x3d\x1a\xec\x22\x0c\x1c\xe0\xa4\xa2\x3d\xf0\xe8\x39\xcf\x81\xc0\x7b\xed\x5d\x1f\x6f\xc5\xd0\x0b\xd7\x98", - ["Deutsche Telekom Root CA 2"] = "\x30\x82\x03\x9f\x30\x82\x02\x87\xa0\x03\x02\x01\x02\x02\x01\x26\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x71\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x44\x65\x75\x74\x73\x63\x68\x65\x20\x54\x65\x6c\x65\x6b\x6f\x6d\x20\x41\x47\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x54\x2d\x54\x65\x6c\x65\x53\x65\x63\x20\x54\x72\x75\x73\x74\x20\x43\x65\x6e\x74\x65\x72\x31\x23\x30\x21\x06\x03\x55\x04\x03\x13\x1a\x44\x65\x75\x74\x73\x63\x68\x65\x20\x54\x65\x6c\x65\x6b\x6f\x6d\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x32\x30\x1e\x17\x0d\x39\x39\x30\x37\x30\x39\x31\x32\x31\x31\x30\x30\x5a\x17\x0d\x31\x39\x30\x37\x30\x39\x32\x33\x35\x39\x30\x30\x5a\x30\x71\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x44\x65\x75\x74\x73\x63\x68\x65\x20\x54\x65\x6c\x65\x6b\x6f\x6d\x20\x41\x47\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x54\x2d\x54\x65\x6c\x65\x53\x65\x63\x20\x54\x72\x75\x73\x74\x20\x43\x65\x6e\x74\x65\x72\x31\x23\x30\x21\x06\x03\x55\x04\x03\x13\x1a\x44\x65\x75\x74\x73\x63\x68\x65\x20\x54\x65\x6c\x65\x6b\x6f\x6d\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x32\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xab\x0b\xa3\x35\xe0\x8b\x29\x14\xb1\x14\x85\xaf\x3c\x10\xe4\x39\x6f\x35\x5d\x4a\xae\xdd\xea\x61\x8d\x95\x49\xf4\x6f\x64\xa3\x1a\x60\x66\xa4\xa9\x40\x22\x84\xd9\xd4\xa5\xe5\x78\x93\x0e\x68\x01\xad\xb9\x4d\x5c\x3a\xce\xd3\xb8\xa8\x42\x40\xdf\xcf\xa3\xba\x82\x59\x6a\x92\x1b\xac\x1c\x9a\xda\x08\x2b\x25\x27\xf9\x69\x23\x47\xf1\xe0\xeb\x2c\x7a\x9b\xf5\x13\x02\xd0\x7e\x34\x7c\xc2\x9e\x3c\x00\x59\xab\xf5\xda\x0c\xf5\x32\x3c\x2b\xac\x50\xda\xd6\xc3\xde\x83\x94\xca\xa8\x0c\x99\x32\x0e\x08\x48\x56\x5b\x6a\xfb\xda\xe1\x58\x58\x01\x49\x5f\x72\x41\x3c\x15\x06\x01\x8e\x5d\xad\xaa\xb8\x93\xb4\xcd\x9e\xeb\xa7\xe8\x6a\x2d\x52\x34\xdb\x3a\xef\x5c\x75\x51\xda\xdb\xf3\x31\xf9\xee\x71\x98\x32\xc4\x54\x15\x44\x0c\xf9\x9b\x55\xed\xad\xdf\x18\x08\xa0\xa3\x86\x8a\x49\xee\x53\x05\x8f\x19\x4c\xd5\xde\x58\x79\x9b\xd2\x6a\x1c\x42\xab\xc5\xd5\xa7\xcf\x68\x0f\x96\xe4\xe1\x61\x98\x76\x61\xc8\x91\x7c\xd6\x3e\x00\xe2\x91\x50\x87\xe1\x9d\x0a\xe6\xad\x97\xd2\x1d\xc6\x3a\x7d\xcb\xbc\xda\x03\x34\xd5\x8e\x5b\x01\xf5\x6a\x07\xb7\x16\xb6\x6e\x4a\x7f\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x31\xc3\x79\x1b\xba\xf5\x53\xd7\x17\xe0\x89\x7a\x2d\x17\x6c\x0a\xb3\x2b\x9d\x33\x30\x0f\x06\x03\x55\x1d\x13\x04\x08\x30\x06\x01\x01\xff\x02\x01\x05\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x94\x64\x59\xad\x39\x64\xe7\x29\xeb\x13\xfe\x5a\xc3\x8b\x13\x57\xc8\x04\x24\xf0\x74\x77\xc0\x60\xe3\x67\xfb\xe9\x89\xa6\x83\xbf\x96\x82\x7c\x6e\xd4\xc3\x3d\xef\x9e\x80\x6e\xbb\x29\xb4\x98\x7a\xb1\x3b\x54\xeb\x39\x17\x47\x7e\x1a\x8e\x0b\xfc\x1f\x31\x59\x31\x04\xb2\xce\x17\xf3\x2c\xc7\x62\x36\x55\xe2\x22\xd8\x89\x55\xb4\x98\x48\xaa\x64\xfa\xd6\x1c\x36\xd8\x44\x78\x5a\x5a\x23\x3a\x57\x97\xf5\x7a\x30\x4f\xae\x9f\x6a\x4c\x4b\x2b\x8e\xa0\x03\xe3\x3e\xe0\xa9\xd4\xd2\x7b\xd2\xb3\xa8\xe2\x72\x3c\xad\x9e\xff\x80\x59\xe4\x9b\x45\xb4\xf6\x3b\xb0\xcd\x39\x19\x98\x32\xe5\xea\x21\x61\x90\xe4\x31\x21\x8e\x34\xb1\xf7\x2f\x35\x4a\x85\x10\xda\xe7\x8a\x37\x21\xbe\x59\x63\xe0\xf2\x85\x88\x31\x53\xd4\x54\x14\x85\x70\x79\xf4\x2e\x06\x77\x27\x75\x2f\x1f\xb8\x8a\xf9\xfe\xc5\xba\xd8\x36\xe4\x83\xec\xe7\x65\xb7\xbf\x63\x5a\xf3\x46\xaf\x81\x94\x37\xd4\x41\x8c\xd6\x23\xd6\x1e\xcf\xf5\x68\x1b\x44\x63\xa2\x5a\xba\xa7\x35\x59\xa1\xe5\x70\x05\x9b\x0e\x23\x57\x99\x94\x0a\x6d\xba\x39\x63\x28\x86\x92\xf3\x18\x84\xd8\xfb\xd1\xcf\x05\x56\x64\x57", - ["ComSign Secured CA"] = "\x30\x82\x03\xab\x30\x82\x02\x93\xa0\x03\x02\x01\x02\x02\x11\x00\xc7\x28\x47\x09\xb3\xb8\x6c\x45\x8c\x1d\xfa\x24\xf5\x36\x4e\xe9\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x3c\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x43\x6f\x6d\x53\x69\x67\x6e\x20\x53\x65\x63\x75\x72\x65\x64\x20\x43\x41\x31\x10\x30\x0e\x06\x03\x55\x04\x0a\x13\x07\x43\x6f\x6d\x53\x69\x67\x6e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x49\x4c\x30\x1e\x17\x0d\x30\x34\x30\x33\x32\x34\x31\x31\x33\x37\x32\x30\x5a\x17\x0d\x32\x39\x30\x33\x31\x36\x31\x35\x30\x34\x35\x36\x5a\x30\x3c\x31\x1b\x30\x19\x06\x03\x55\x04\x03\x13\x12\x43\x6f\x6d\x53\x69\x67\x6e\x20\x53\x65\x63\x75\x72\x65\x64\x20\x43\x41\x31\x10\x30\x0e\x06\x03\x55\x04\x0a\x13\x07\x43\x6f\x6d\x53\x69\x67\x6e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x49\x4c\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xc6\xb5\x68\x5f\x1d\x94\x15\xc3\xa4\x08\x55\x2d\xe3\xa0\x57\x7a\xef\xe9\x74\x2a\xbb\xb9\x7c\x57\x49\x1a\x11\x5e\x4f\x29\x87\x0c\x48\xd6\x6a\xe7\x8f\xd4\x7e\x57\x24\xb9\x06\x89\xe4\x1c\x3c\xea\xac\xe3\xda\x21\x80\x73\x21\x0a\xef\x79\x98\x6c\x1f\x08\xff\xa1\x50\x7d\xf2\x98\x1b\xc9\x54\x6f\x3e\xa5\x28\xec\x21\x04\x0f\x45\xbb\x07\x3d\xa1\xc0\xfa\x2a\x98\x1d\x4e\x06\x93\xfb\xf5\x88\x3b\xab\x5f\xcb\x16\xbf\xe6\xf3\x9e\x4a\x87\xed\x19\xea\xc2\x9f\x43\xe4\xf1\x81\xa5\x7f\x10\x4f\x3e\xd1\x4a\x62\xad\x53\x1b\xcb\x83\xff\x07\x65\xa5\x92\x2d\x66\xa9\x5b\xb8\x5a\xf4\x1d\xb4\x21\x91\x4a\x17\x7b\x9e\x32\xfe\x56\x24\x39\xb2\x54\x84\x43\xf5\x84\xc2\xd8\xbc\x41\x90\xcc\x9d\xd6\x68\xda\xe9\x82\x50\xa9\x3b\x68\xcf\xb5\x5d\x02\x94\x60\x16\xb1\x43\xd9\x43\x5d\xdd\x5d\x87\x6e\xea\xbb\xb3\xc9\x6b\xf6\x03\x94\x09\x70\xde\x16\x11\x7a\x2b\xe8\x76\x8f\x49\x10\x98\x77\xb9\x63\x5c\x8b\x33\x97\x75\xf6\x0b\x8c\xb2\xab\x5b\xde\x74\x20\x25\x3f\xe3\xf3\x11\xf9\x87\x68\x86\x35\x71\xc3\x1d\x8c\x2d\xeb\xe5\x1a\xac\x0f\x73\xd5\x82\x59\x40\x80\xd3\x02\x03\x01\x00\x01\xa3\x81\xa7\x30\x81\xa4\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x44\x06\x03\x55\x1d\x1f\x04\x3d\x30\x3b\x30\x39\xa0\x37\xa0\x35\x86\x33\x68\x74\x74\x70\x3a\x2f\x2f\x66\x65\x64\x69\x72\x2e\x63\x6f\x6d\x73\x69\x67\x6e\x2e\x63\x6f\x2e\x69\x6c\x2f\x63\x72\x6c\x2f\x43\x6f\x6d\x53\x69\x67\x6e\x53\x65\x63\x75\x72\x65\x64\x43\x41\x2e\x63\x72\x6c\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xc1\x4b\xed\x70\xb6\xf7\x3e\x7c\x00\x3b\x00\x8f\xc7\x3e\x0e\x45\x9f\x1e\x5d\xec\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xc1\x4b\xed\x70\xb6\xf7\x3e\x7c\x00\x3b\x00\x8f\xc7\x3e\x0e\x45\x9f\x1e\x5d\xec\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x16\xcf\xee\x92\x13\x50\xab\x7b\x14\x9e\x33\xb6\x42\x20\x6a\xd4\x15\xbd\x09\xab\xfc\x72\xe8\xef\x47\x7a\x90\xac\x51\xc1\x64\x4e\xe9\x88\xbd\x43\x45\x81\xe3\x66\x23\x3f\x12\x86\x4d\x19\xe4\x05\xb0\xe6\x37\xc2\x8d\xda\x06\x28\xc9\x0f\x89\xa4\x53\xa9\x75\x3f\xb0\x96\xfb\xab\x4c\x33\x55\xf9\x78\x26\x46\x6f\x1b\x36\x98\xfb\x42\x76\xc1\x82\xb9\x8e\xde\xfb\x45\xf9\x63\x1b\x62\x3b\x39\x06\xca\x77\x7a\xa8\x3c\x09\xcf\x6c\x36\x3d\x0f\x0a\x45\x4b\x69\x16\x1a\x45\x7d\x33\x03\x65\xf9\x52\x71\x90\x26\x95\xac\x4c\x0c\xf5\x8b\x93\x3f\xcc\x75\x74\x85\x98\xba\xff\x62\x7a\x4d\x1f\x89\xfe\xae\xbd\x94\x00\x99\xbf\x11\xa5\xdc\xe0\x79\xc5\x16\x0b\x7d\x02\x61\x1d\xea\x85\xf9\x02\x15\x4f\xe7\x5a\x89\x4e\x14\x6f\xe3\x37\x4b\x85\xf5\xc1\x3c\x61\xe0\xfd\x05\x41\xb2\x92\x7f\xc3\x1d\xa0\xd0\xae\x52\x64\x60\x6b\x18\xc6\x26\x9c\xd8\xf5\x64\xe4\x36\x1a\x62\x9f\x8a\x0f\x3e\xff\x6d\x4e\x19\x56\x4e\x20\x91\x6c\x9f\x34\x33\x3a\x34\x57\x50\x3a\x6f\x81\x5e\x06\xc6\xf5\x3e\x7c\x4e\x8e\x2b\xce\x65\x06\x2e\x5d\xd2\x2a\x53\x74\x5e\xd3\x6e\x27\x9e\x8f", - ["Cybertrust Global Root"] = "\x30\x82\x03\xa1\x30\x82\x02\x89\xa0\x03\x02\x01\x02\x02\x0b\x04\x00\x00\x00\x00\x01\x0f\x85\xaa\x2d\x48\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x3b\x31\x18\x30\x16\x06\x03\x55\x04\x0a\x13\x0f\x43\x79\x62\x65\x72\x74\x72\x75\x73\x74\x2c\x20\x49\x6e\x63\x31\x1f\x30\x1d\x06\x03\x55\x04\x03\x13\x16\x43\x79\x62\x65\x72\x74\x72\x75\x73\x74\x20\x47\x6c\x6f\x62\x61\x6c\x20\x52\x6f\x6f\x74\x30\x1e\x17\x0d\x30\x36\x31\x32\x31\x35\x30\x38\x30\x30\x30\x30\x5a\x17\x0d\x32\x31\x31\x32\x31\x35\x30\x38\x30\x30\x30\x30\x5a\x30\x3b\x31\x18\x30\x16\x06\x03\x55\x04\x0a\x13\x0f\x43\x79\x62\x65\x72\x74\x72\x75\x73\x74\x2c\x20\x49\x6e\x63\x31\x1f\x30\x1d\x06\x03\x55\x04\x03\x13\x16\x43\x79\x62\x65\x72\x74\x72\x75\x73\x74\x20\x47\x6c\x6f\x62\x61\x6c\x20\x52\x6f\x6f\x74\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xf8\xc8\xbc\xbd\x14\x50\x66\x13\xff\xf0\xd3\x79\xec\x23\xf2\xb7\x1a\xc7\x8e\x85\xf1\x12\x73\xa6\x19\xaa\x10\xdb\x9c\xa2\x65\x74\x5a\x77\x3e\x51\x7d\x56\xf6\xdc\x23\xb6\xd4\xed\x5f\x58\xb1\x37\x4d\xd5\x49\x0e\x6e\xf5\x6a\x87\xd6\xd2\x8c\xd2\x27\xc6\xe2\xff\x36\x9f\x98\x65\xa0\x13\x4e\xc6\x2a\x64\x9b\xd5\x90\x12\xcf\x14\x06\xf4\x3b\xe3\xd4\x28\xbe\xe8\x0e\xf8\xab\x4e\x48\x94\x6d\x8e\x95\x31\x10\x5c\xed\xa2\x2d\xbd\xd5\x3a\x6d\xb2\x1c\xbb\x60\xc0\x46\x4b\x01\xf5\x49\xae\x7e\x46\x8a\xd0\x74\x8d\xa1\x0c\x02\xce\xee\xfc\xe7\x8f\xb8\x6b\x66\xf3\x7f\x44\x00\xbf\x66\x25\x14\x2b\xdd\x10\x30\x1d\x07\x96\x3f\x4d\xf6\x6b\xb8\x8f\xb7\x7b\x0c\xa5\x38\xeb\xde\x47\xdb\xd5\x5d\x39\xfc\x88\xa7\xf3\xd7\x2a\x74\xf1\xe8\x5a\xa2\x3b\x9f\x50\xba\xa6\x8c\x45\x35\xc2\x50\x65\x95\xdc\x63\x82\xef\xdd\xbf\x77\x4d\x9c\x62\xc9\x63\x73\x16\xd0\x29\x0f\x49\xa9\x48\xf0\xb3\xaa\xb7\x6c\xc5\xa7\x30\x39\x40\x5d\xae\xc4\xe2\x5d\x26\x53\xf0\xce\x1c\x23\x08\x61\xa8\x94\x19\xba\x04\x62\x40\xec\x1f\x38\x70\x77\x12\x06\x71\xa7\x30\x18\x5d\x25\x27\xa5\x02\x03\x01\x00\x01\xa3\x81\xa5\x30\x81\xa2\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xb6\x08\x7b\x0d\x7a\xcc\xac\x20\x4c\x86\x56\x32\x5e\xcf\xab\x6e\x85\x2d\x70\x57\x30\x3f\x06\x03\x55\x1d\x1f\x04\x38\x30\x36\x30\x34\xa0\x32\xa0\x30\x86\x2e\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x32\x2e\x70\x75\x62\x6c\x69\x63\x2d\x74\x72\x75\x73\x74\x2e\x63\x6f\x6d\x2f\x63\x72\x6c\x2f\x63\x74\x2f\x63\x74\x72\x6f\x6f\x74\x2e\x63\x72\x6c\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xb6\x08\x7b\x0d\x7a\xcc\xac\x20\x4c\x86\x56\x32\x5e\xcf\xab\x6e\x85\x2d\x70\x57\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x56\xef\x0a\x23\xa0\x54\x4e\x95\x97\xc9\xf8\x89\xda\x45\xc1\xd4\xa3\x00\x25\xf4\x1f\x13\xab\xb7\xa3\x85\x58\x69\xc2\x30\xad\xd8\x15\x8a\x2d\xe3\xc9\xcd\x81\x5a\xf8\x73\x23\x5a\xa7\x7c\x05\xf3\xfd\x22\x3b\x0e\xd1\x06\xc4\xdb\x36\x4c\x73\x04\x8e\xe5\xb0\x22\xe4\xc5\xf3\x2e\xa5\xd9\x23\xe3\xb8\x4e\x4a\x20\xa7\x6e\x02\x24\x9f\x22\x60\x67\x7b\x8b\x1d\x72\x09\xc5\x31\x5c\xe9\x79\x9f\x80\x47\x3d\xad\xa1\x0b\x07\x14\x3d\x47\xff\x03\x69\x1a\x0c\x0b\x44\xe7\x63\x25\xa7\x7f\xb2\xc9\xb8\x76\x84\xed\x23\xf6\x7d\x07\xab\x45\x7e\xd3\xdf\xb3\xbf\xe9\x8a\xb6\xcd\xa8\xa2\x67\x2b\x52\xd5\xb7\x65\xf0\x39\x4c\x63\xa0\x91\x79\x93\x52\x0f\x54\xdd\x83\xbb\x9f\xd1\x8f\xa7\x53\x73\xc3\xcb\xff\x30\xec\x7c\x04\xb8\xd8\x44\x1f\x93\x5f\x71\x09\x22\xb7\x6e\x3e\xea\x1c\x03\x4e\x9d\x1a\x20\x61\xfb\x81\x37\xec\x5e\xfc\x0a\x45\xab\xd7\xe7\x17\x55\xd0\xa0\xea\x60\x9b\xa6\xf6\xe3\x8c\x5b\x29\xc2\x06\x60\x14\x9d\x2d\x97\x4c\xa9\x93\x15\x9d\x61\xc4\x01\x5f\x48\xd6\x58\xbd\x56\x31\x12\x4e\x11\xc8\x21\xe0\xb3\x11\x91\x65\xdb\xb4\xa6\x88\x38\xce\x55", - ["ePKI Root Certification Authority"] = "\x30\x82\x05\xb0\x30\x82\x03\x98\xa0\x03\x02\x01\x02\x02\x10\x15\xc8\xbd\x65\x47\x5c\xaf\xb8\x97\x00\x5e\xe4\x06\xd2\xbc\x9d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x5e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x57\x31\x23\x30\x21\x06\x03\x55\x04\x0a\x0c\x1a\x43\x68\x75\x6e\x67\x68\x77\x61\x20\x54\x65\x6c\x65\x63\x6f\x6d\x20\x43\x6f\x2e\x2c\x20\x4c\x74\x64\x2e\x31\x2a\x30\x28\x06\x03\x55\x04\x0b\x0c\x21\x65\x50\x4b\x49\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x34\x31\x32\x32\x30\x30\x32\x33\x31\x32\x37\x5a\x17\x0d\x33\x34\x31\x32\x32\x30\x30\x32\x33\x31\x32\x37\x5a\x30\x5e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x57\x31\x23\x30\x21\x06\x03\x55\x04\x0a\x0c\x1a\x43\x68\x75\x6e\x67\x68\x77\x61\x20\x54\x65\x6c\x65\x63\x6f\x6d\x20\x43\x6f\x2e\x2c\x20\x4c\x74\x64\x2e\x31\x2a\x30\x28\x06\x03\x55\x04\x0b\x0c\x21\x65\x50\x4b\x49\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xe1\x25\x0f\xee\x8d\xdb\x88\x33\x75\x67\xcd\xad\x1f\x7d\x3a\x4e\x6d\x9d\xd3\x2f\x14\xf3\x63\x74\xcb\x01\x21\x6a\x37\xea\x84\x50\x07\x4b\x26\x5b\x09\x43\x6c\x21\x9e\x6a\xc8\xd5\x03\xf5\x60\x69\x8f\xcc\xf0\x22\xe4\x1f\xe7\xf7\x6a\x22\x31\xb7\x2c\x15\xf2\xe0\xfe\x00\x6a\x43\xff\x87\x65\xc6\xb5\x1a\xc1\xa7\x4c\x6d\x22\x70\x21\x8a\x31\xf2\x97\x74\x89\x09\x12\x26\x1c\x9e\xca\xd9\x12\xa2\x95\x3c\xda\xe9\x67\xbf\x08\xa0\x64\xe3\xd6\x42\xb7\x45\xef\x97\xf4\xf6\xf5\xd7\xb5\x4a\x15\x02\x58\x7d\x98\x58\x4b\x60\xbc\xcd\xd7\x0d\x9a\x13\x33\x53\xd1\x61\xf9\x7a\xd5\xd7\x78\xb3\x9a\x33\xf7\x00\x86\xce\x1d\x4d\x94\x38\xaf\xa8\xec\x78\x51\x70\x8a\x5c\x10\x83\x51\x21\xf7\x11\x3d\x34\x86\x5e\xe5\x48\xcd\x97\x81\x82\x35\x4c\x19\xec\x65\xf6\x6b\xc5\x05\xa1\xee\x47\x13\xd6\xb3\x21\x27\x94\x10\x0a\xd9\x24\x3b\xba\xbe\x44\x13\x46\x30\x3f\x97\x3c\xd8\xd7\xd7\x6a\xee\x3b\x38\xe3\x2b\xd4\x97\x0e\xb9\x1b\xe7\x07\x49\x7f\x37\x2a\xf9\x77\x78\xcf\x54\xed\x5b\x46\x9d\xa3\x80\x0e\x91\x43\xc1\xd6\x5b\x5f\x14\xba\x9f\xa6\x8d\x24\x47\x40\x59\xbf\x72\x38\xb2\x36\x6c\x37\xff\x99\xd1\x5d\x0e\x59\x0a\xab\x69\xf7\xc0\xb2\x04\x45\x7a\x54\x00\xae\xbe\x53\xf6\xb5\xe7\xe1\xf8\x3c\xa3\x31\xd2\xa9\xfe\x21\x52\x64\xc5\xa6\x67\xf0\x75\x07\x06\x94\x14\x81\x55\xc6\x27\xe4\x01\x8f\x17\xc1\x6a\x71\xd7\xbe\x4b\xfb\x94\x58\x7d\x7e\x11\x33\xb1\x42\xf7\x62\x6c\x18\xd6\xcf\x09\x68\x3e\x7f\x6c\xf6\x1e\x8f\x62\xad\xa5\x63\xdb\x09\xa7\x1f\x22\x42\x41\x1e\x6f\x99\x8a\x3e\xd7\xf9\x3f\x40\x7a\x79\xb0\xa5\x01\x92\xd2\x9d\x3d\x08\x15\xa5\x10\x01\x2d\xb3\x32\x76\xa8\x95\x0d\xb3\x7a\x9a\xfb\x07\x10\x78\x11\x6f\xe1\x8f\xc7\xba\x0f\x25\x1a\x74\x2a\xe5\x1c\x98\x41\x99\xdf\x21\x87\xe8\x95\x06\x6a\x0a\xb3\x6a\x47\x76\x65\xf6\x3a\xcf\x8f\x62\x17\x19\x7b\x0a\x28\xcd\x1a\xd2\x83\x1e\x21\xc7\x2c\xbf\xbe\xff\x61\x68\xb7\x67\x1b\xbb\x78\x4d\x8d\xce\x67\xe5\xe4\xc1\x8e\xb7\x23\x66\xe2\x9d\x90\x75\x34\x98\xa9\x36\x2b\x8a\x9a\x94\xb9\x9d\xec\xcc\x8a\xb1\xf8\x25\x89\x5c\x5a\xb6\x2f\x8c\x1f\x6d\x79\x24\xa7\x52\x68\xc3\x84\x35\xe2\x66\x8d\x63\x0e\x25\x4d\xd5\x19\xb2\xe6\x79\x37\xa7\x22\x9d\x54\x31\x02\x03\x01\x00\x01\xa3\x6a\x30\x68\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x1e\x0c\xf7\xb6\x67\xf2\xe1\x92\x26\x09\x45\xc0\x55\x39\x2e\x77\x3f\x42\x4a\xa2\x30\x0c\x06\x03\x55\x1d\x13\x04\x05\x30\x03\x01\x01\xff\x30\x39\x06\x04\x67\x2a\x07\x00\x04\x31\x30\x2f\x30\x2d\x02\x01\x00\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05\x00\x30\x07\x06\x05\x67\x2a\x03\x00\x00\x04\x14\x45\xb0\xc2\xc7\x0a\x56\x7c\xee\x5b\x78\x0c\x95\xf9\x18\x53\xc1\xa6\x1c\xd8\x10\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x09\xb3\x83\x53\x59\x01\x3e\x95\x49\xb9\xf1\x81\xba\xf9\x76\x20\x23\xb5\x27\x60\x74\xd4\x6a\x99\x34\x5e\x6c\x00\x53\xd9\x9f\xf2\xa6\xb1\x24\x07\x44\x6a\x2a\xc6\xa5\x8e\x78\x12\xe8\x47\xd9\x58\x1b\x13\x2a\x5e\x79\x9b\x9f\x0a\x2a\x67\xa6\x25\x3f\x06\x69\x56\x73\xc3\x8a\x66\x48\xfb\x29\x81\x57\x74\x06\xca\x9c\xea\x28\xe8\x38\x67\x26\x2b\xf1\xd5\xb5\x3f\x65\x93\xf8\x36\x5d\x8e\x8d\x8d\x40\x20\x87\x19\xea\xef\x27\xc0\x3d\xb4\x39\x0f\x25\x7b\x68\x50\x74\x55\x9c\x0c\x59\x7d\x5a\x3d\x41\x94\x25\x52\x08\xe0\x47\x2c\x15\x31\x19\xd5\xbf\x07\x55\xc6\xbb\x12\xb5\x97\xf4\x5f\x83\x85\xba\x71\xc1\xd9\x6c\x81\x11\x76\x0a\x0a\xb0\xbf\x82\x97\xf7\xea\x3d\xfa\xfa\xec\x2d\xa9\x28\x94\x3b\x56\xdd\xd2\x51\x2e\xae\xc0\xbd\x08\x15\x8c\x77\x52\x34\x96\xd6\x9b\xac\xd3\x1d\x8e\x61\x0f\x35\x7b\x9b\xae\x39\x69\x0b\x62\x60\x40\x20\x36\x8f\xaf\xfb\x36\xee\x2d\x08\x4a\x1d\xb8\xbf\x9b\x5c\xf8\xea\xa5\x1b\xa0\x73\xa6\xd8\xf8\x6e\xe0\x33\x04\x5f\x68\xaa\x27\x87\xed\xd9\xc1\x90\x9c\xed\xbd\xe3\x6a\x35\xaf\x63\xdf\xab\x18\xd9\xba\xe6\xe9\x4a\xea\x50\x8a\x0f\x61\x93\x1e\xe2\x2d\x19\xe2\x30\x94\x35\x92\x5d\x0e\xb6\x07\xaf\x19\x80\x8f\x47\x90\x51\x4b\x2e\x4d\xdd\x85\xe2\xd2\x0a\x52\x0a\x17\x9a\xfc\x1a\xb0\x50\x02\xe5\x01\xa3\x63\x37\x21\x4c\x44\xc4\x9b\x51\x99\x11\x0e\x73\x9c\x06\x8f\x54\x2e\xa7\x28\x5e\x44\x39\x87\x56\x2d\x37\xbd\x85\x44\x94\xe1\x0c\x4b\x2c\x9c\xc3\x92\x85\x34\x61\xcb\x0f\xb8\x9b\x4a\x43\x52\xfe\x34\x3a\x7d\xb8\xe9\x29\xdc\x76\xa9\xc8\x30\xf8\x14\x71\x80\xc6\x1e\x36\x48\x74\x22\x41\x5c\x87\x82\xe8\x18\x71\x8b\x41\x89\x44\xe7\x7e\x58\x5b\xa8\xb8\x8d\x13\xe9\xa7\x6c\xc3\x47\xed\xb3\x1a\x9d\x62\xae\x8d\x82\xea\x94\x9e\xdd\x59\x10\xc3\xad\xdd\xe2\x4d\xe3\x31\xd5\xc7\xec\xe8\xf2\xb0\xfe\x92\x1e\x16\x0a\x1a\xfc\xd9\xf3\xf8\x27\xb6\xc9\xbe\x1d\xb4\x6c\x64\x90\x7f\xf4\xe4\xc4\x5b\xd7\x37\xae\x42\x0e\xdd\xa4\x1a\x6f\x7c\x88\x54\xc5\x16\x6e\xe1\x7a\x68\x2e\xf8\x3a\xbf\x0d\xa4\x3c\x89\x3b\x78\xa7\x4e\x63\x83\x04\x21\x08\x67\x8d\xf2\x82\x49\xd0\x5b\xfd\xb1\xcd\x0f\x83\x84\xd4\x3e\x20\x85\xf7\x4a\x3d\x2b\x9c\xfd\x2a\x0a\x09\x4d\xea\x81\xf8\x11\x9c", - ["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"] = "\x30\x82\x05\x17\x30\x82\x03\xff\xa0\x03\x02\x01\x02\x02\x01\x11\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x82\x01\x2b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x52\x31\x18\x30\x16\x06\x03\x55\x04\x07\x0c\x0f\x47\x65\x62\x7a\x65\x20\x2d\x20\x4b\x6f\x63\x61\x65\x6c\x69\x31\x47\x30\x45\x06\x03\x55\x04\x0a\x0c\x3e\x54\xc3\xbc\x72\x6b\x69\x79\x65\x20\x42\x69\x6c\x69\x6d\x73\x65\x6c\x20\x76\x65\x20\x54\x65\x6b\x6e\x6f\x6c\x6f\x6a\x69\x6b\x20\x41\x72\x61\xc5\x9f\x74\xc4\xb1\x72\x6d\x61\x20\x4b\x75\x72\x75\x6d\x75\x20\x2d\x20\x54\xc3\x9c\x42\xc4\xb0\x54\x41\x4b\x31\x48\x30\x46\x06\x03\x55\x04\x0b\x0c\x3f\x55\x6c\x75\x73\x61\x6c\x20\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x76\x65\x20\x4b\x72\x69\x70\x74\x6f\x6c\x6f\x6a\x69\x20\x41\x72\x61\xc5\x9f\x74\xc4\xb1\x72\x6d\x61\x20\x45\x6e\x73\x74\x69\x74\xc3\xbc\x73\xc3\xbc\x20\x2d\x20\x55\x45\x4b\x41\x45\x31\x23\x30\x21\x06\x03\x55\x04\x0b\x0c\x1a\x4b\x61\x6d\x75\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x73\x79\x6f\x6e\x20\x4d\x65\x72\x6b\x65\x7a\x69\x31\x4a\x30\x48\x06\x03\x55\x04\x03\x0c\x41\x54\xc3\x9c\x42\xc4\xb0\x54\x41\x4b\x20\x55\x45\x4b\x41\x45\x20\x4b\xc3\xb6\x6b\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x20\x48\x69\x7a\x6d\x65\x74\x20\x53\x61\xc4\x9f\x6c\x61\x79\xc4\xb1\x63\xc4\xb1\x73\xc4\xb1\x20\x2d\x20\x53\xc3\xbc\x72\xc3\xbc\x6d\x20\x33\x30\x1e\x17\x0d\x30\x37\x30\x38\x32\x34\x31\x31\x33\x37\x30\x37\x5a\x17\x0d\x31\x37\x30\x38\x32\x31\x31\x31\x33\x37\x30\x37\x5a\x30\x82\x01\x2b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x52\x31\x18\x30\x16\x06\x03\x55\x04\x07\x0c\x0f\x47\x65\x62\x7a\x65\x20\x2d\x20\x4b\x6f\x63\x61\x65\x6c\x69\x31\x47\x30\x45\x06\x03\x55\x04\x0a\x0c\x3e\x54\xc3\xbc\x72\x6b\x69\x79\x65\x20\x42\x69\x6c\x69\x6d\x73\x65\x6c\x20\x76\x65\x20\x54\x65\x6b\x6e\x6f\x6c\x6f\x6a\x69\x6b\x20\x41\x72\x61\xc5\x9f\x74\xc4\xb1\x72\x6d\x61\x20\x4b\x75\x72\x75\x6d\x75\x20\x2d\x20\x54\xc3\x9c\x42\xc4\xb0\x54\x41\x4b\x31\x48\x30\x46\x06\x03\x55\x04\x0b\x0c\x3f\x55\x6c\x75\x73\x61\x6c\x20\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x76\x65\x20\x4b\x72\x69\x70\x74\x6f\x6c\x6f\x6a\x69\x20\x41\x72\x61\xc5\x9f\x74\xc4\xb1\x72\x6d\x61\x20\x45\x6e\x73\x74\x69\x74\xc3\xbc\x73\xc3\xbc\x20\x2d\x20\x55\x45\x4b\x41\x45\x31\x23\x30\x21\x06\x03\x55\x04\x0b\x0c\x1a\x4b\x61\x6d\x75\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x73\x79\x6f\x6e\x20\x4d\x65\x72\x6b\x65\x7a\x69\x31\x4a\x30\x48\x06\x03\x55\x04\x03\x0c\x41\x54\xc3\x9c\x42\xc4\xb0\x54\x41\x4b\x20\x55\x45\x4b\x41\x45\x20\x4b\xc3\xb6\x6b\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x20\x48\x69\x7a\x6d\x65\x74\x20\x53\x61\xc4\x9f\x6c\x61\x79\xc4\xb1\x63\xc4\xb1\x73\xc4\xb1\x20\x2d\x20\x53\xc3\xbc\x72\xc3\xbc\x6d\x20\x33\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\x8a\x6d\x4b\xff\x10\x88\x3a\xc3\xf6\x7e\x94\xe8\xea\x20\x64\x70\xae\x21\x81\xbe\x3a\x7b\x3c\xdb\xf1\x1d\x52\x7f\x59\xfa\xf3\x22\x4c\x95\xa0\x90\xbc\x48\x4e\x11\xab\xfb\xb7\xb5\x8d\x7a\x83\x28\x8c\x26\x46\xd8\x4e\x95\x40\x87\x61\x9f\xc5\x9e\x6d\x81\x87\x57\x6c\x8a\x3b\xb4\x66\xea\xcc\x40\xfc\xe3\xaa\x6c\xb2\xcb\x01\xdb\x32\xbf\xd2\xeb\x85\xcf\xa1\x0d\x55\xc3\x5b\x38\x57\x70\xb8\x75\xc6\x79\xd1\x14\x30\xed\x1b\x58\x5b\x6b\xef\x35\xf2\xa1\x21\x4e\xc5\xce\x7c\x99\x5f\x6c\xb9\xb8\x22\x93\x50\xa7\xcd\x4c\x70\x6a\xbe\x6a\x05\x7f\x13\x9c\x2b\x1e\xea\xfe\x47\xce\x04\xa5\x6f\xac\x93\x2e\x7c\x2b\x9f\x9e\x79\x13\x91\xe8\xea\x9e\xca\x38\x75\x8e\x62\xb0\x95\x93\x2a\xe5\xdf\xe9\x5e\x97\x6e\x20\x5f\x5f\x84\x7a\x44\x39\x19\x40\x1c\xba\x55\x2b\xfb\x30\xb2\x81\xef\x84\xe3\xdc\xec\x98\x38\x39\x03\x85\x08\xa9\x54\x03\x05\x29\xf0\xc9\x8f\x8b\xea\x0b\x86\x65\x19\x11\xd3\xe9\x09\x23\xde\x68\x93\x03\xc9\x36\x1c\x21\x6e\xce\x8c\x66\xf1\x99\x30\xd8\xd7\xb3\xc3\x1d\xf8\x81\x2e\xa8\xbd\x82\x0b\x66\xfe\x82\xcb\xe1\xe0\x1a\x82\xc3\x40\x81\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xbd\x88\x87\xc9\x8f\xf6\xa4\x0a\x0b\xaa\xeb\xc5\xfe\x91\x23\x9d\xab\x4a\x8a\x32\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x1d\x7c\xfa\x49\x8f\x34\xe9\xb7\x26\x92\x16\x9a\x05\x74\xe7\x4b\xd0\x6d\x39\x6c\xc3\x26\xf6\xce\xb8\x31\xbc\xc4\xdf\xbc\x2a\xf8\x37\x91\x18\xdc\x04\xc8\x64\x99\x2b\x18\x6d\x80\x03\x59\xc9\xae\xf8\x58\xd0\x3e\xed\xc3\x23\x9f\x69\x3c\x86\x38\x1c\x9e\xef\xda\x27\x78\xd1\x84\x37\x71\x8a\x3c\x4b\x39\xcf\x7e\x45\x06\xd6\x2d\xd8\x8a\x4d\x78\x12\xd6\xad\xc2\xd3\xcb\xd2\xd0\x41\xf3\x26\x36\x4a\x9b\x95\x6c\x0c\xee\xe5\xd1\x43\x27\x66\xc1\x88\xf7\x7a\xb3\x20\x6c\xea\xb0\x69\x2b\xc7\x20\xe8\x0c\x03\xc4\x41\x05\x99\xe2\x3f\xe4\x6b\xf8\xa0\x86\x81\xc7\x84\xc6\x1f\xd5\x4b\x81\x12\xb2\x16\x21\x2c\x13\xa1\x80\xb2\x5e\x0c\x4a\x13\x9e\x20\xd8\x62\x40\xab\x90\xea\x64\x4a\x2f\xac\x0d\x01\x12\x79\x45\xa8\x2f\x87\x19\x68\xc8\xe2\x85\xc7\x30\xb2\x75\xf9\x38\x3f\xb2\xc0\x93\xb4\x6b\xe2\x03\x44\xce\x67\xa0\xdf\x89\xd6\xad\x8c\x76\xa3\x13\xc3\x94\x61\x2b\x6b\xd9\x6c\xc1\x07\x0a\x22\x07\x85\x6c\x85\x24\x46\xa9\xbe\x3f\x8b\x78\x84\x82\x7e\x24\x0c\x9d\xfd\x81\x37\xe3\x25\xa8\xed\x36\x4e\x95\x2c\xc9\x9c\x90\xda\xec\xa9\x42\x3c\xad\xb6\x02", - ["Buypass Class 2 CA 1"] = "\x30\x82\x03\x53\x30\x82\x02\x3b\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x4b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4e\x4f\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x0c\x14\x42\x75\x79\x70\x61\x73\x73\x20\x41\x53\x2d\x39\x38\x33\x31\x36\x33\x33\x32\x37\x31\x1d\x30\x1b\x06\x03\x55\x04\x03\x0c\x14\x42\x75\x79\x70\x61\x73\x73\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x41\x20\x31\x30\x1e\x17\x0d\x30\x36\x31\x30\x31\x33\x31\x30\x32\x35\x30\x39\x5a\x17\x0d\x31\x36\x31\x30\x31\x33\x31\x30\x32\x35\x30\x39\x5a\x30\x4b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4e\x4f\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x0c\x14\x42\x75\x79\x70\x61\x73\x73\x20\x41\x53\x2d\x39\x38\x33\x31\x36\x33\x33\x32\x37\x31\x1d\x30\x1b\x06\x03\x55\x04\x03\x0c\x14\x42\x75\x79\x70\x61\x73\x73\x20\x43\x6c\x61\x73\x73\x20\x32\x20\x43\x41\x20\x31\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\x8b\x3c\x07\x45\xd8\xf6\xdf\xe6\xc7\xca\xba\x8d\x43\xc5\x47\x8d\xb0\x5a\xc1\x38\xdb\x92\x84\x1c\xaf\x13\xd4\x0f\x6f\x36\x46\x20\xc4\x2e\xcc\x71\x70\x34\xa2\x34\xd3\x37\x2e\xd8\xdd\x3a\x77\x2f\xc0\xeb\x29\xe8\x5c\xd2\xb5\xa9\x91\x34\x87\x22\x59\xfe\xcc\xdb\xe7\x99\xaf\x96\xc1\xa8\xc7\x40\xdd\xa5\x15\x8c\x6e\xc8\x7c\x97\x03\xcb\xe6\x20\xf2\xd7\x97\x5f\x31\xa1\x2f\x37\xd2\xbe\xee\xbe\xa9\xad\xa8\x4c\x9e\x21\x66\x43\x3b\xa8\xbc\xf3\x09\xa3\x38\xd5\x59\x24\xc1\xc2\x47\x76\xb1\x88\x5c\x82\x3b\xbb\x2b\xa6\x04\xd7\x8c\x07\x8f\xcd\xd5\x41\x1d\xf0\xae\xb8\x29\x2c\x94\x52\x60\x34\x94\x3b\xda\xe0\x38\xd1\x9d\x33\x3e\x15\xf4\x93\x32\xc5\x00\xda\xb5\x29\x66\x0e\x3a\x78\x0f\x21\x52\x5f\x02\xe5\x92\x7b\x25\xd3\x92\x1e\x2f\x15\x9d\x81\xe4\x9d\x8e\xe8\xef\x89\xce\x14\x4c\x54\x1d\x1c\x81\x12\x4d\x70\xa8\xbe\x10\x05\x17\x7e\x1f\xd1\xb8\x57\x55\xed\xcd\xbb\x52\xc2\xb0\x1e\x78\xc2\x4d\x36\x68\xcb\x56\x26\xc1\x52\xc1\xbd\x76\xf7\x58\xd5\x72\x7e\x1f\x44\x76\xbb\x00\x89\x1d\x16\x9d\x51\x35\xef\x4d\xc2\x56\xef\x6b\xe0\x8c\x3b\x0d\xe9\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x3f\x8d\x9a\x59\x8b\xfc\x7b\x7b\x9c\xa3\xaf\x38\xb0\x39\xed\x90\x71\x80\xd6\xc8\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x15\x1a\x7e\x13\x8a\xb9\xe8\x07\xa3\x4b\x27\x32\xb2\x40\x91\xf2\x21\xd1\x64\x85\xbe\x63\x6a\xd2\xcf\x81\xc2\x15\xd5\x7a\x7e\x0c\x29\xac\x37\x1e\x1c\x7c\x76\x52\x95\xda\xb5\x7f\x23\xa1\x29\x77\x65\xc9\x32\x9d\xa8\x2e\x56\xab\x60\x76\xce\x16\xb4\x8d\x7f\x78\xc0\xd5\x99\x51\x83\x7f\x5e\xd9\xbe\x0c\xa8\x50\xed\x22\xc7\xad\x05\x4c\x76\xfb\xed\xee\x1e\x47\x64\xf6\xf7\x27\x7d\x5c\x28\x0f\x45\xc5\x5c\x62\x5e\xa6\x9a\x91\x91\xb7\x53\x17\x2e\xdc\xad\x60\x9d\x96\x64\x39\xbd\x67\x68\xb2\xae\x05\xcb\x4d\xe7\x5f\x1f\x57\x86\xd5\x20\x9c\x28\xfb\x6f\x13\x38\xf5\xf6\x11\x92\xf6\x7d\x99\x5e\x1f\x0c\xe8\xab\x44\x24\x29\x72\x40\x3d\x36\x52\xaf\x8c\x58\x90\x73\xc1\xec\x61\x2c\x79\xa1\xec\x87\xb5\x3f\xda\x4d\xd9\x21\x00\x30\xde\x90\xda\x0e\xd3\x1a\x48\xa9\x3e\x85\x0b\x14\x8b\x8c\xbc\x41\x9e\x6a\xf7\x0e\x70\xc0\x35\xf7\x39\xa2\x5d\x66\xd0\x7b\x59\x9f\xa8\x47\x12\x9a\x27\x23\xa4\x2d\x8e\x27\x83\x92\x20\xa1\xd7\x15\x7f\xf1\x2e\x18\xee\xf4\x48\x7f\x2f\x7f\xf1\xa1\x18\xb5\xa1\x0b\x94\xa0\x62\x20\x32\x9c\x1d\xf6\xd4\xef\xbf\x4c\x88\x68", - ["Buypass Class 3 CA 1"] = "\x30\x82\x03\x53\x30\x82\x02\x3b\xa0\x03\x02\x01\x02\x02\x01\x02\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x4b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4e\x4f\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x0c\x14\x42\x75\x79\x70\x61\x73\x73\x20\x41\x53\x2d\x39\x38\x33\x31\x36\x33\x33\x32\x37\x31\x1d\x30\x1b\x06\x03\x55\x04\x03\x0c\x14\x42\x75\x79\x70\x61\x73\x73\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x43\x41\x20\x31\x30\x1e\x17\x0d\x30\x35\x30\x35\x30\x39\x31\x34\x31\x33\x30\x33\x5a\x17\x0d\x31\x35\x30\x35\x30\x39\x31\x34\x31\x33\x30\x33\x5a\x30\x4b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4e\x4f\x31\x1d\x30\x1b\x06\x03\x55\x04\x0a\x0c\x14\x42\x75\x79\x70\x61\x73\x73\x20\x41\x53\x2d\x39\x38\x33\x31\x36\x33\x33\x32\x37\x31\x1d\x30\x1b\x06\x03\x55\x04\x03\x0c\x14\x42\x75\x79\x70\x61\x73\x73\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x43\x41\x20\x31\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xa4\x8e\xd7\x74\xd9\x29\x64\xde\x5f\x1f\x87\x80\x91\xea\x4e\x39\xe6\x19\xc6\x44\x0b\x80\xd5\x0b\xaf\x53\x07\x8b\x12\xbd\xe6\x67\xf0\x02\xb1\x89\xf6\x60\x8a\xc4\x5b\xb0\x42\xd1\xc0\x21\xa8\xcb\xe1\x9b\xef\x64\x51\xb6\xa7\xcf\x15\xf5\x74\x80\x68\x04\x90\xa0\x58\xa2\xe6\x74\xa6\x53\x53\x55\x48\x63\x3f\x92\x56\xdd\x24\x4e\x8e\xf8\xba\x2b\xff\xf3\x34\x8a\x9e\x28\xd7\x34\x9f\xac\x2f\xd6\x0f\xf1\xa4\x2f\xbd\x52\xb2\x49\x85\x6d\x39\x35\xf0\x44\x30\x93\x46\x24\xf3\xb6\xe7\x53\xfb\xbc\x61\xaf\xa9\xa3\x14\xfb\xc2\x17\x17\x84\x6c\xe0\x7c\x88\xf8\xc9\x1c\x57\x2c\xf0\x3d\x7e\x94\xbc\x25\x93\x84\xe8\x9a\x00\x9a\x45\x05\x42\x57\x80\xf4\x4e\xce\xd9\xae\x39\xf6\xc8\x53\x10\x0c\x65\x3a\x47\x7b\x60\xc2\xd6\xfa\x91\xc9\xc6\x71\x6c\xbd\x91\x87\x3c\x91\x86\x49\xab\xf3\x0f\xa0\x6c\x26\x76\x5e\x1c\xac\x9b\x71\xe5\x8d\xbc\x9b\x21\x1e\x9c\xd6\x38\x7e\x24\x80\x15\x31\x82\x96\xb1\x49\xd3\x62\x37\x5b\x88\x0c\x0a\x62\x34\xfe\xa7\x48\x7e\x99\xb1\x30\x8b\x90\x37\x95\x1c\xa8\x1f\xa5\x2c\x8d\xf4\x55\xc8\xdb\xdd\x59\x0a\xc2\xad\x78\xa0\xf4\x8b\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x38\x14\xe6\xc8\xf0\xa9\xa4\x03\xf4\x4e\x3e\x22\xa3\x5b\xf2\xd6\xe0\xad\x40\x74\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x01\x67\xa3\x8c\xc9\x25\x3d\x13\x63\x5d\x16\x6f\xec\xa1\x3e\x09\x5c\x91\x15\x2a\x2a\xd9\x80\x21\x4f\x05\xdc\xbb\xa5\x89\xab\x13\x33\x2a\x9e\x38\xb7\x8c\x6f\x02\x72\x63\xc7\x73\x77\x1e\x09\x06\xba\x3b\x28\x7b\xa4\x47\xc9\x61\x6b\x08\x08\x20\xfc\x8a\x05\x8a\x1f\xbc\xba\xc6\xc2\xfe\xcf\x6e\xec\x13\x33\x71\x67\x2e\x69\xfa\xa9\x2c\x3f\x66\xc0\x12\x59\x4d\x0b\x54\x02\x92\x84\xbb\xdb\x12\xef\x83\x70\x70\x78\xc8\x53\xfa\xdf\xc6\xc6\xff\xdc\x88\x2f\x07\xc0\x49\x9d\x32\x57\x60\xd3\xf2\xf6\x99\x29\x5f\xe7\xaa\x01\xcc\xac\x33\xa8\x1c\x0a\xbb\x91\xc4\x03\xa0\x6f\xb6\x34\xf9\x86\xd3\xb3\x76\x54\x98\xf4\x4a\x81\xb3\x53\x9d\x4d\x40\xec\xe5\x77\x13\x45\xaf\x5b\xaa\x1f\xd8\x2f\x4c\x82\x7b\xfe\x2a\xc4\x58\xbb\x4f\xfc\x9e\xfd\x03\x65\x1a\x2a\x0e\xc3\xa5\x20\x16\x94\x6b\x79\xa6\xa2\x12\xb4\xbb\x1a\xa4\x23\x7a\x5f\xf0\xae\x84\x24\xe4\xf3\x2b\xfb\x8a\x24\xa3\x27\x98\x65\xda\x30\x75\x76\xfc\x19\x91\xe8\xdb\xeb\x9b\x3f\x32\xbf\x40\x97\x07\x26\xba\xcc\xf3\x94\x85\x4a\x7a\x27\x93\xcf\x90\x42\xd4\xb8\x5b\x16\xa6\xe7\xcb\x40\x03\xdd\x79", - ["EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1"] = "\x30\x82\x05\xe7\x30\x82\x03\xcf\xa0\x03\x02\x01\x02\x02\x08\x4c\xaf\x73\x42\x1c\x8e\x74\x02\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\x80\x31\x38\x30\x36\x06\x03\x55\x04\x03\x0c\x2f\x45\x42\x47\x20\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x20\x48\x69\x7a\x6d\x65\x74\x20\x53\x61\xc4\x9f\x6c\x61\x79\xc4\xb1\x63\xc4\xb1\x73\xc4\xb1\x31\x37\x30\x35\x06\x03\x55\x04\x0a\x0c\x2e\x45\x42\x47\x20\x42\x69\x6c\x69\xc5\x9f\x69\x6d\x20\x54\x65\x6b\x6e\x6f\x6c\x6f\x6a\x69\x6c\x65\x72\x69\x20\x76\x65\x20\x48\x69\x7a\x6d\x65\x74\x6c\x65\x72\x69\x20\x41\x2e\xc5\x9e\x2e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x52\x30\x1e\x17\x0d\x30\x36\x30\x38\x31\x37\x30\x30\x32\x31\x30\x39\x5a\x17\x0d\x31\x36\x30\x38\x31\x34\x30\x30\x33\x31\x30\x39\x5a\x30\x81\x80\x31\x38\x30\x36\x06\x03\x55\x04\x03\x0c\x2f\x45\x42\x47\x20\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x20\x48\x69\x7a\x6d\x65\x74\x20\x53\x61\xc4\x9f\x6c\x61\x79\xc4\xb1\x63\xc4\xb1\x73\xc4\xb1\x31\x37\x30\x35\x06\x03\x55\x04\x0a\x0c\x2e\x45\x42\x47\x20\x42\x69\x6c\x69\xc5\x9f\x69\x6d\x20\x54\x65\x6b\x6e\x6f\x6c\x6f\x6a\x69\x6c\x65\x72\x69\x20\x76\x65\x20\x48\x69\x7a\x6d\x65\x74\x6c\x65\x72\x69\x20\x41\x2e\xc5\x9e\x2e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x52\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xee\xa0\x84\x61\xd0\x3a\x6a\x66\x10\x32\xd8\x31\x38\x7f\xa7\xa7\xe5\xfd\xa1\xe1\xfb\x97\x77\xb8\x71\x96\xe8\x13\x96\x46\x83\x4f\xb6\xf2\x5f\x72\x56\x6e\x13\x60\xa5\x01\x91\xe2\x5b\xc5\xcd\x57\x1f\x77\x63\x51\xff\x2f\x3d\xdb\xb9\x3f\xaa\xa9\x35\xe7\x79\xd0\xf5\xd0\x24\xb6\x21\xea\xeb\x23\x94\xfe\x29\xbf\xfb\x89\x91\x0c\x64\x9a\x05\x4a\x2b\xcc\x0c\xee\xf1\x3d\x9b\x82\x69\xa4\x4c\xf8\x9a\x6f\xe7\x22\xda\x10\xba\x5f\x92\xfc\x18\x27\x0a\xa8\xaa\x44\xfa\x2e\x2c\xb4\xfb\x46\x9a\x08\x03\x83\x72\xab\x88\xe4\x6a\x72\xc9\xe5\x65\x1f\x6e\x2a\x0f\x9d\xb3\xe8\x3b\xe4\x0c\x6e\x7a\xda\x57\xfd\xd7\xeb\x79\x8b\x5e\x20\x06\xd3\x76\x0b\x6c\x02\x95\xa3\x96\xe4\xcb\x76\x51\xd1\x28\x9d\xa1\x1a\xfc\x44\xa2\x4d\xcc\x7a\x76\xa8\x0d\x3d\xbf\x17\x4f\x22\x88\x50\xfd\xae\xb6\xec\x90\x50\x4a\x5b\x9f\x95\x41\xaa\xca\x0f\xb2\x4a\xfe\x80\x99\x4e\xa3\x46\x15\xab\xf8\x73\x42\x6a\xc2\x66\x76\xb1\x0a\x26\x15\xdd\x93\x92\xec\xdb\xa9\x5f\x54\x22\x52\x91\x70\x5d\x13\xea\x48\xec\x6e\x03\x6c\xd9\xdd\x6c\xfc\xeb\x0d\x03\xff\xa6\x83\x12\x9b\xf1\xa9\x93\x0f\xc5\x26\x4c\x31\xb2\x63\x99\x61\x72\xe7\x2a\x64\x99\xd2\xb8\xe9\x75\xe2\x7c\xa9\xa9\x9a\x1a\xaa\xc3\x56\xdb\x10\x9a\x3c\x83\x52\xb6\x7b\x96\xb7\xac\x87\x77\xa8\xb9\xf2\x67\x0b\x94\x43\xb3\xaf\x3e\x73\xfa\x42\x36\xb1\x25\xc5\x0a\x31\x26\x37\x56\x67\xba\xa3\x0b\x7d\xd6\xf7\x89\xcd\x67\xa1\xb7\x3a\x1e\x66\x4f\xf6\xa0\x55\x14\x25\x4c\x2c\x33\x0d\xa6\x41\x8c\xbd\x04\x31\x6a\x10\x72\x0a\x9d\x0e\x2e\x76\xbd\x5e\xf3\x51\x89\x8b\xa8\x3f\x55\x73\xbf\xdb\x3a\xc6\x24\x05\x96\x92\x48\xaa\x4b\x8d\x2a\x03\xe5\x57\x91\x10\xf4\x6a\x28\x15\x6e\x47\x77\x84\x5c\x51\x74\x9f\x19\xe9\xe6\x1e\x63\x16\x39\xe3\x11\x15\xe3\x58\x1a\x44\xbd\xcb\xc4\x6c\x66\xd7\x84\x06\xdf\x30\xf4\x37\xa2\x43\x22\x79\xd2\x10\x6c\xdf\xbb\xe6\x13\x11\xfc\x9d\x84\x0a\x13\x7b\xf0\x3b\xd0\xfc\xa3\x0a\xd7\x89\xea\x96\x7e\x8d\x48\x85\x1e\x64\x5f\xdb\x54\xa2\xac\xd5\x7a\x02\x79\x6b\xd2\x8a\xf0\x67\xda\x65\x72\x0d\x14\x70\xe4\xe9\x8e\x78\x8f\x32\x74\x7c\x57\xf2\xd6\xd6\xf4\x36\x89\x1b\xf8\x29\x6c\x8b\xb9\xf6\x97\xd1\xa4\x2e\xaa\xbe\x0b\x19\xc2\x45\xe9\x70\x5d\x02\x03\x00\x9d\xd9\xa3\x63\x30\x61\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xe7\xce\xc6\x4f\xfc\x16\x67\x96\xfa\x4a\xa3\x07\xc1\x04\xa7\xcb\x6a\xde\xda\x47\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xe7\xce\xc6\x4f\xfc\x16\x67\x96\xfa\x4a\xa3\x07\xc1\x04\xa7\xcb\x6a\xde\xda\x47\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x9b\x98\x9a\x5d\xbe\xf3\x28\x23\x76\xc6\x6c\xf7\x7f\xe6\x40\x9e\xc0\x36\xdc\x95\x0d\x1d\xad\x15\xc5\x36\xd8\xd5\x39\xef\xf2\x1e\x22\x5e\xb3\x82\xb4\x5d\xbb\x4c\x1a\xca\x92\x0d\xdf\x47\x24\x1e\xb3\x24\xda\x91\x88\xe9\x83\x70\xdd\x93\xd7\xe9\xba\xb3\xdf\x16\x5a\x3e\xde\xe0\xc8\xfb\xd3\xfd\x6c\x29\xf8\x15\x46\xa0\x68\x26\xcc\x93\x52\xae\x82\x01\x93\x90\xca\x77\xca\x4d\x49\xef\xe2\x5a\xd9\x2a\xbd\x30\xce\x4c\xb2\x81\xb6\x30\xce\x59\x4f\xda\x59\x1d\x6a\x7a\xa4\x45\xb0\x82\x26\x81\x86\x76\xf5\xf5\x10\x00\xb8\xee\xb3\x09\xe8\x4f\x87\x02\x07\xae\x24\x5c\xf0\x5f\xac\x0a\x30\xcc\x8a\x40\xa0\x73\x04\xc1\xfb\x89\x24\xf6\x9a\x1c\x5c\xb7\x3c\x0a\x67\x36\x05\x08\x31\xb3\xaf\xd8\x01\x68\x2a\xe0\x78\x8f\x74\xde\xb8\x51\xa4\x8c\x6c\x20\x3d\xa2\xfb\xb3\xd4\x09\xfd\x7b\xc2\x80\xaa\x93\x6c\x29\x98\x21\xa8\xbb\x16\xf3\xa9\x12\x5f\x74\xb5\x87\x98\xf2\x95\x26\xdf\x34\xef\x8a\x53\x91\x88\x5d\x1a\x94\xa3\x3f\x7c\x22\xf8\xd7\x88\xba\xa6\x8c\x96\xa8\x3d\x52\x34\x62\x9f\x00\x1e\x54\x55\x42\x67\xc6\x4d\x46\x8f\xbb\x14\x45\x3d\x0a\x96\x16\x8e\x10\xa1\x97\x99\xd5\xd3\x30\x85\xcc\xde\xb4\x72\xb7\xbc\x8a\x3c\x18\x29\x68\xfd\xdc\x71\x07\xee\x24\x39\x6a\xfa\xed\xa5\xac\x38\x2f\xf9\x1e\x10\x0e\x06\x71\x1a\x10\x4c\xfe\x75\x7e\xff\x1e\x57\x39\x42\xca\xd7\xe1\x15\xa1\x56\x55\x59\x1b\xd1\xa3\xaf\x11\xd8\x4e\xc3\xa5\x2b\xef\x90\xbf\xc0\xec\x82\x13\x5b\x8d\xd6\x72\x2c\x93\x4e\x8f\x6a\x29\xdf\x85\x3c\xd3\x0d\xe0\xa2\x18\x12\xcc\x55\x2f\x47\xb7\xa7\x9b\x02\xfe\x41\xf6\x88\x4c\x6d\xda\xa9\x01\x47\x83\x64\x27\x62\x10\x82\xd6\x12\x7b\x5e\x03\x1f\x34\xa9\xc9\x91\xfe\xaf\x5d\x6d\x86\x27\xb7\x23\xaa\x75\x18\xca\x20\xe7\xb0\x0f\xd7\x89\x0e\xa6\x67\x22\x63\xf4\x83\x41\x2b\x06\x4b\xbb\x58\xd5\xd1\xd7\xb7\xb9\x10\x63\xd8\x89\x4a\xb4\xaa\xdd\x16\x63\xf5\x6e\xbe\x60\xa1\xf8\xed\xe8\xd6\x90\x4f\x1a\xc6\xc5\xa0\x29\xd3\xa7\x21\xa8\xf5\x5a\x3c\xf7\xc7\x49\xa2\x21\x9a\x4a\x95\x52\x20\x96\x72\x9a\x66\xcb\xf7\xd2\x86\x43\x7c\x22\xbe\x96\xf9\xbd\x01\xa8\x47\xdd\xe5\x3b\x40\xf9\x75\x2b\x9b\x2b\x46\x64\x86\x8d\x1e\xf4\x8f\xfb\x07\x77\xd0\xea\x49\xa2\x1c\x8d\x52\x14\xa6\x0a\x93", - ["certSIGN ROOT CA"] = "\x30\x82\x03\x38\x30\x82\x02\x20\xa0\x03\x02\x01\x02\x02\x06\x20\x06\x05\x16\x70\x02\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x3b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x52\x4f\x31\x11\x30\x0f\x06\x03\x55\x04\x0a\x13\x08\x63\x65\x72\x74\x53\x49\x47\x4e\x31\x19\x30\x17\x06\x03\x55\x04\x0b\x13\x10\x63\x65\x72\x74\x53\x49\x47\x4e\x20\x52\x4f\x4f\x54\x20\x43\x41\x30\x1e\x17\x0d\x30\x36\x30\x37\x30\x34\x31\x37\x32\x30\x30\x34\x5a\x17\x0d\x33\x31\x30\x37\x30\x34\x31\x37\x32\x30\x30\x34\x5a\x30\x3b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x52\x4f\x31\x11\x30\x0f\x06\x03\x55\x04\x0a\x13\x08\x63\x65\x72\x74\x53\x49\x47\x4e\x31\x19\x30\x17\x06\x03\x55\x04\x0b\x13\x10\x63\x65\x72\x74\x53\x49\x47\x4e\x20\x52\x4f\x4f\x54\x20\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xb7\x33\xb9\x7e\xc8\x25\x4a\x8e\xb5\xdb\xb4\x28\x1b\xaa\x57\x90\xe8\xd1\x22\xd3\x64\xba\xd3\x93\xe8\xd4\xac\x86\x61\x40\x6a\x60\x57\x68\x54\x84\x4d\xbc\x6a\x54\x02\x05\xff\xdf\x9b\x9a\x2a\xae\x5d\x07\x8f\x4a\xc3\x28\x7f\xef\xfb\x2b\xfa\x79\xf1\xc7\xad\xf0\x10\x53\x24\x90\x8b\x66\xc9\xa8\x88\xab\xaf\x5a\xa3\x00\xe9\xbe\xba\x46\xee\x5b\x73\x7b\x2c\x17\x82\x81\x5e\x62\x2c\xa1\x02\x65\xb3\xbd\xc5\x2b\x00\x7e\xc4\xfc\x03\x33\x57\x0d\xed\xe2\xfa\xce\x5d\x45\xd6\x38\xcd\x35\xb6\xb2\xc1\xd0\x9c\x81\x4a\xaa\xe4\xb2\x01\x5c\x1d\x8f\x5f\x99\xc4\xb1\xad\xdb\x88\x21\xeb\x90\x08\x82\x80\xf3\x30\xa3\x43\xe6\x90\x82\xae\x55\x28\x49\xed\x5b\xd7\xa9\x10\x38\x0e\xfe\x8f\x4c\x5b\x9b\x46\xea\x41\xf5\xb0\x08\x74\xc3\xd0\x88\x33\xb6\x7c\xd7\x74\xdf\xdc\x84\xd1\x43\x0e\x75\x39\xa1\x25\x40\x28\xea\x78\xcb\x0e\x2c\x2e\x39\x9d\x8c\x8b\x6e\x16\x1c\x2f\x26\x82\x10\xe2\xe3\x65\x94\x0a\x04\xc0\x5e\xf7\x5d\x5b\xf8\x10\xe2\xd0\xba\x7a\x4b\xfb\xde\x37\x00\x00\x1a\x5b\x28\xe3\xd2\x9c\x73\x3e\x32\x87\x98\xa1\xc9\x51\x2f\xd7\xde\xac\x33\xb3\x4f\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\xc6\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xe0\x8c\x9b\xdb\x25\x49\xb3\xf1\x7c\x86\xd6\xb2\x42\x87\x0b\xd0\x6b\xa0\xd9\xe4\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x3e\xd2\x1c\x89\x2e\x35\xfc\xf8\x75\xdd\xe6\x7f\x65\x88\xf4\x72\x4c\xc9\x2c\xd7\x32\x4e\xf3\xdd\x19\x79\x47\xbd\x8e\x3b\x5b\x93\x0f\x50\x49\x24\x13\x6b\x14\x06\x72\xef\x09\xd3\xa1\xa1\xe3\x40\x84\xc9\xe7\x18\x32\x74\x3c\x48\x6e\x0f\x9f\x4b\xd4\xf7\x1e\xd3\x93\x86\x64\x54\x97\x63\x72\x50\xd5\x55\xcf\xfa\x20\x93\x02\xa2\x9b\xc3\x23\x93\x4e\x16\x55\x76\xa0\x70\x79\x6d\xcd\x21\x1f\xcf\x2f\x2d\xbc\x19\xe3\x88\x31\xf8\x59\x1a\x81\x09\xc8\x97\xa6\x74\xc7\x60\xc4\x5b\xcc\x57\x8e\xb2\x75\xfd\x1b\x02\x09\xdb\x59\x6f\x72\x93\x69\xf7\x31\x41\xd6\x88\x38\xbf\x87\xb2\xbd\x16\x79\xf9\xaa\xe4\xbe\x88\x25\xdd\x61\x27\x23\x1c\xb5\x31\x07\x04\x36\xb4\x1a\x90\xbd\xa0\x74\x71\x50\x89\x6d\xbc\x14\xe3\x0f\x86\xae\xf1\xab\x3e\xc7\xa0\x09\xcc\xa3\x48\xd1\xe0\xdb\x64\xe7\x92\xb5\xcf\xaf\x72\x43\x70\x8b\xf9\xc3\x84\x3c\x13\xaa\x7e\x92\x9b\x57\x53\x93\xfa\x70\xc2\x91\x0e\x31\xf9\x9b\x67\x5d\xe9\x96\x38\x5e\x5f\xb3\x73\x4e\x88\x15\x67\xde\x9e\x76\x10\x62\x20\xbe\x55\x69\x95\x43\x00\x39\x4d\xf6\xee\xb0\x5a\x4e\x49\x44\x54\x58\x5f\x42\x83", - ["CNNIC ROOT"] = "\x30\x82\x03\x55\x30\x82\x02\x3d\xa0\x03\x02\x01\x02\x02\x04\x49\x33\x00\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x32\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4e\x31\x0e\x30\x0c\x06\x03\x55\x04\x0a\x13\x05\x43\x4e\x4e\x49\x43\x31\x13\x30\x11\x06\x03\x55\x04\x03\x13\x0a\x43\x4e\x4e\x49\x43\x20\x52\x4f\x4f\x54\x30\x1e\x17\x0d\x30\x37\x30\x34\x31\x36\x30\x37\x30\x39\x31\x34\x5a\x17\x0d\x32\x37\x30\x34\x31\x36\x30\x37\x30\x39\x31\x34\x5a\x30\x32\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4e\x31\x0e\x30\x0c\x06\x03\x55\x04\x0a\x13\x05\x43\x4e\x4e\x49\x43\x31\x13\x30\x11\x06\x03\x55\x04\x03\x13\x0a\x43\x4e\x4e\x49\x43\x20\x52\x4f\x4f\x54\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xd3\x35\xf7\x3f\x73\x77\xad\xe8\x5b\x73\x17\xc2\xd1\x6f\xed\x55\xbc\x6e\xea\xe8\xa4\x79\xb2\x6c\xc3\xa3\xef\xe1\x9f\xb1\x3b\x48\x85\xf5\x9a\x5c\x21\x22\x10\x2c\xc5\x82\xce\xda\xe3\x9a\x6e\x37\xe1\x87\x2c\xdc\xb9\x0c\x5a\xba\x88\x55\xdf\xfd\xaa\xdb\x1f\x31\xea\x01\xf1\xdf\x39\x01\xc1\x13\xfd\x48\x52\x21\xc4\x55\xdf\xda\xd8\xb3\x54\x76\xba\x74\xb1\xb7\x7d\xd7\xc0\xe8\xf6\x59\xc5\x4d\xc8\xbd\xad\x1f\x14\xda\xdf\x58\x44\x25\x32\x19\x2a\xc7\x7e\x7e\x8e\xae\x38\xb0\x30\x7b\x47\x72\x09\x31\xf0\x30\xdb\xc3\x1b\x76\x29\xbb\x69\x76\x4e\x57\xf9\x1b\x64\xa2\x93\x56\xb7\x6f\x99\x6e\xdb\x0a\x04\x9c\x11\xe3\x80\x1f\xcb\x63\x94\x10\x0a\xa9\xe1\x64\x82\x31\xf9\x8c\x27\xed\xa6\x99\x00\xf6\x70\x93\x18\xf8\xa1\x34\x86\xa3\xdd\x7a\xc2\x18\x79\xf6\x7a\x65\x35\xcf\x90\xeb\xbd\x33\x93\x9f\x53\xab\x73\x3b\xe6\x9b\x34\x20\x2f\x1d\xef\xa9\x1d\x63\x1a\xa0\x80\xdb\x03\x2f\xf9\x26\x1a\x86\xd2\x8d\xbb\xa9\xbe\x52\x3a\x87\x67\x48\x0d\xbf\xb4\xa0\xd8\x26\xbe\x23\x5f\x73\x37\x7f\x26\xe6\x92\x04\xa3\x7f\xcf\x20\xa7\xb7\xf3\x3a\xca\xcb\x99\xcb\x02\x03\x01\x00\x01\xa3\x73\x30\x71\x30\x11\x06\x09\x60\x86\x48\x01\x86\xf8\x42\x01\x01\x04\x04\x03\x02\x00\x07\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x65\xf2\x31\xad\x2a\xf7\xf7\xdd\x52\x96\x0a\xc7\x02\xc1\x0e\xef\xa6\xd5\x3b\x11\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0b\x06\x03\x55\x1d\x0f\x04\x04\x03\x02\x01\xfe\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x65\xf2\x31\xad\x2a\xf7\xf7\xdd\x52\x96\x0a\xc7\x02\xc1\x0e\xef\xa6\xd5\x3b\x11\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x4b\x35\xee\xcc\xe4\xae\xbf\xc3\x6e\xad\x9f\x95\x3b\x4b\x3f\x5b\x1e\xdf\x57\x29\xa2\x59\xca\x38\xe2\xb9\x1a\xff\x9e\xe6\x6e\x32\xdd\x1e\xae\xea\x35\xb7\xf5\x93\x91\x4e\xda\x42\xe1\xc3\x17\x60\x50\xf2\xd1\x5c\x26\xb9\x82\xb7\xea\x6d\xe4\x9c\x84\xe7\x03\x79\x17\xaf\x98\x3d\x94\xdb\xc7\xba\x00\xe7\xb8\xbf\x01\x57\xc1\x77\x45\x32\x0c\x3b\xf1\xb4\x1c\x08\xb0\xfd\x51\xa0\xa1\xdd\x9a\x1d\x13\x36\x9a\x6d\xb7\xc7\x3c\xb9\xe1\xc5\xd9\x17\xfa\x83\xd5\x3d\x15\xa0\x3c\xbb\x1e\x0b\xe2\xc8\x90\x3f\xa8\x86\x0c\xfc\xf9\x8b\x5e\x85\xcb\x4f\x5b\x4b\x62\x11\x47\xc5\x45\x7c\x05\x2f\x41\xb1\x9e\x10\x69\x1b\x99\x96\xe0\x55\x79\xfb\x4e\x86\x99\xb8\x94\xda\x86\x38\x6a\x93\xa3\xe7\xcb\x6e\xe5\xdf\xea\x21\x55\x89\x9c\x7d\x7d\x7f\x98\xf5\x00\x89\xee\xe3\x84\xc0\x5c\x96\xb5\xc5\x46\xea\x46\xe0\x85\x55\xb6\x1b\xc9\x12\xd6\xc1\xcd\xcd\x80\xf3\x02\x01\x3c\xc8\x69\xcb\x45\x48\x63\xd8\x94\xd0\xec\x85\x0e\x3b\x4e\x11\x65\xf4\x82\x8c\xa6\x3d\xae\x2e\x22\x94\x09\xc8\x5c\xea\x3c\x81\x5d\x16\x2a\x03\x97\x16\x55\x09\xdb\x8a\x41\x82\x9e\x66\x9b\x11", - ["ApplicationCA - Japanese Government"] = "\x30\x82\x03\xa0\x30\x82\x02\x88\xa0\x03\x02\x01\x02\x02\x01\x31\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x43\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4a\x50\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x4a\x61\x70\x61\x6e\x65\x73\x65\x20\x47\x6f\x76\x65\x72\x6e\x6d\x65\x6e\x74\x31\x16\x30\x14\x06\x03\x55\x04\x0b\x13\x0d\x41\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x43\x41\x30\x1e\x17\x0d\x30\x37\x31\x32\x31\x32\x31\x35\x30\x30\x30\x30\x5a\x17\x0d\x31\x37\x31\x32\x31\x32\x31\x35\x30\x30\x30\x30\x5a\x30\x43\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4a\x50\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x4a\x61\x70\x61\x6e\x65\x73\x65\x20\x47\x6f\x76\x65\x72\x6e\x6d\x65\x6e\x74\x31\x16\x30\x14\x06\x03\x55\x04\x0b\x13\x0d\x41\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x43\x41\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xa7\x6d\xe0\x74\x4e\x87\x8f\xa5\x06\xde\x68\xa2\xdb\x86\x99\x4b\x64\x0d\x71\xf0\x0a\x05\x9b\x8e\xaa\xe1\xcc\x2e\xd2\x6a\x3b\xc1\x7a\xb4\x97\x61\x8d\x8a\xbe\xc6\x9a\x9c\x06\xb4\x86\x51\xe4\x37\x0e\x74\x78\x7e\x5f\x8a\x7f\x94\xa4\xd7\x47\x08\xfd\x50\x5a\x56\xe4\x68\xac\x28\x73\xa0\x7b\xe9\x7f\x18\x92\x40\x4f\x2d\x9d\xf5\xae\x44\x48\x73\x36\x06\x9e\x64\x2c\x3b\x34\x23\xdb\x5c\x26\xe4\x71\x79\x8f\xd4\x6e\x79\x22\xb9\x93\xc1\xca\xcd\xc1\x56\xed\x88\x6a\xd7\xa0\x39\x21\x04\x57\x2c\xa2\xf5\xbc\x47\x41\x4f\x5e\x34\x22\x95\xb5\x1f\x29\x6d\x5e\x4a\xf3\x4d\x72\xbe\x41\x56\x20\x87\xfc\xe9\x50\x47\xd7\x30\x14\xee\x5c\x8c\x55\xba\x59\x8d\x87\xfc\x23\xde\x93\xd0\x04\x8c\xfd\xef\x6d\xbd\xd0\x7a\xc9\xa5\x3a\x6a\x72\x33\xc6\x4a\x0d\x05\x17\x2a\x2d\x7b\xb1\xa7\xd8\xd6\xf0\xbe\xf4\x3f\xea\x0e\x28\x6d\x41\x61\x23\x76\x78\xc3\xb8\x65\xa4\xf3\x5a\xae\xcc\xc2\xaa\xd9\xe7\x58\xde\xb6\x7e\x9d\x85\x6e\x9f\x2a\x0a\x6f\x9f\x03\x29\x30\x97\x28\x1d\xbc\xb7\xcf\x54\x29\x4e\x51\x31\xf9\x27\xb6\x28\x26\xfe\xa2\x63\xe6\x41\x16\xf0\x33\x98\x47\x02\x03\x01\x00\x01\xa3\x81\x9e\x30\x81\x9b\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x54\x5a\xcb\x26\x3f\x71\xcc\x94\x46\x0d\x96\x53\xea\x6b\x48\xd0\x93\xfe\x42\x75\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x59\x06\x03\x55\x1d\x11\x04\x52\x30\x50\xa4\x4e\x30\x4c\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4a\x50\x31\x18\x30\x16\x06\x03\x55\x04\x0a\x0c\x0f\xe6\x97\xa5\xe6\x9c\xac\xe5\x9b\xbd\xe6\x94\xbf\xe5\xba\x9c\x31\x23\x30\x21\x06\x03\x55\x04\x0b\x0c\x1a\xe3\x82\xa2\xe3\x83\x97\xe3\x83\xaa\xe3\x82\xb1\xe3\x83\xbc\xe3\x82\xb7\xe3\x83\xa7\xe3\x83\xb3\x43\x41\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x39\x6a\x44\x76\x77\x38\x3a\xec\xa3\x67\x46\x0f\xf9\x8b\x06\xa8\xfb\x6a\x90\x31\xce\x7e\xec\xda\xd1\x89\x7c\x7a\xeb\x2e\x0c\xbd\x99\x32\xe7\xb0\x24\xd6\xc3\xff\xf5\xb2\x88\x09\x87\x2c\xe3\x54\xe1\xa3\xa6\xb2\x08\x0b\xc0\x85\xa8\xc8\xd2\x9c\x71\xf6\x1d\x9f\x60\xfc\x38\x33\x13\xe1\x9e\xdc\x0b\x5f\xda\x16\x50\x29\x7b\x2f\x70\x91\x0f\x99\xba\x34\x34\x8d\x95\x74\xc5\x7e\x78\xa9\x66\x5d\xbd\xca\x21\x77\x42\x10\xac\x66\x26\x3d\xde\x91\xab\xfd\x15\xf0\x6f\xed\x6c\x5f\x10\xf8\xf3\x16\xf6\x03\x8a\x8f\xa7\x12\x11\x0c\xcb\xfd\x3f\x79\xc1\x9c\xfd\x62\xee\xa3\xcf\x54\x0c\xd1\x2b\x5f\x17\x3e\xe3\x3e\xbf\xc0\x2b\x3e\x09\x9b\xfe\x88\xa6\x7e\xb4\x92\x17\xfc\x23\x94\x81\xbd\x6e\xa7\xc5\x8c\xc2\xeb\x11\x45\xdb\xf8\x41\xc9\x96\x76\xea\x70\x5f\x79\x12\x6b\xe4\xa3\x07\x5a\x05\xef\x27\x49\xcf\x21\x9f\x8a\x4c\x09\x70\x66\xa9\x26\xc1\x2b\x11\x4e\x33\xd2\x0e\xfc\xd6\x6c\xd2\x0e\x32\x64\x68\xff\xad\x05\x78\x5f\x03\x1d\xa8\xe3\x90\xac\x24\xe0\x0f\x40\xa7\x4b\xae\x8b\x28\xb7\x82\xca\x18\x07\xe6\xb7\x5b\x74\xe9\x20\x19\x7f\xb2\x1b\x89\x54", - ["GeoTrust Primary Certification Authority - G3"] = "\x30\x82\x03\xfe\x30\x82\x02\xe6\xa0\x03\x02\x01\x02\x02\x10\x15\xac\x6e\x94\x19\xb2\x79\x4b\x41\xf6\x27\xa9\xc3\x18\x0f\x1f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x81\x98\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x39\x30\x37\x06\x03\x55\x04\x0b\x13\x30\x28\x63\x29\x20\x32\x30\x30\x38\x20\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x36\x30\x34\x06\x03\x55\x04\x03\x13\x2d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x33\x30\x1e\x17\x0d\x30\x38\x30\x34\x30\x32\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x37\x31\x32\x30\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x81\x98\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x39\x30\x37\x06\x03\x55\x04\x0b\x13\x30\x28\x63\x29\x20\x32\x30\x30\x38\x20\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x36\x30\x34\x06\x03\x55\x04\x03\x13\x2d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x33\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xdc\xe2\x5e\x62\x58\x1d\x33\x57\x39\x32\x33\xfa\xeb\xcb\x87\x8c\xa7\xd4\x4a\xdd\x06\x88\xea\x64\x8e\x31\x98\xa5\x38\x90\x1e\x98\xcf\x2e\x63\x2b\xf0\x46\xbc\x44\xb2\x89\xa1\xc0\x28\x0c\x49\x70\x21\x95\x9f\x64\xc0\xa6\x93\x12\x02\x65\x26\x86\xc6\xa5\x89\xf0\xfa\xd7\x84\xa0\x70\xaf\x4f\x1a\x97\x3f\x06\x44\xd5\xc9\xeb\x72\x10\x7d\xe4\x31\x28\xfb\x1c\x61\xe6\x28\x07\x44\x73\x92\x22\x69\xa7\x03\x88\x6c\x9d\x63\xc8\x52\xda\x98\x27\xe7\x08\x4c\x70\x3e\xb4\xc9\x12\xc1\xc5\x67\x83\x5d\x33\xf3\x03\x11\xec\x6a\xd0\x53\xe2\xd1\xba\x36\x60\x94\x80\xbb\x61\x63\x6c\x5b\x17\x7e\xdf\x40\x94\x1e\xab\x0d\xc2\x21\x28\x70\x88\xff\xd6\x26\x6c\x6c\x60\x04\x25\x4e\x55\x7e\x7d\xef\xbf\x94\x48\xde\xb7\x1d\xdd\x70\x8d\x05\x5f\x88\xa5\x9b\xf2\xc2\xee\xea\xd1\x40\x41\x6d\x62\x38\x1d\x56\x06\xc5\x03\x47\x51\x20\x19\xfc\x7b\x10\x0b\x0e\x62\xae\x76\x55\xbf\x5f\x77\xbe\x3e\x49\x01\x53\x3d\x98\x25\x03\x76\x24\x5a\x1d\xb4\xdb\x89\xea\x79\xe5\xb6\xb3\x3b\x3f\xba\x4c\x28\x41\x7f\x06\xac\x6a\x8e\xc1\xd0\xf6\x05\x1d\x7d\xe6\x42\x86\xe3\xa5\xd5\x47\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xc4\x79\xca\x8e\xa1\x4e\x03\x1d\x1c\xdc\x6b\xdb\x31\x5b\x94\x3e\x3f\x30\x7f\x2d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x01\x01\x00\x2d\xc5\x13\xcf\x56\x80\x7b\x7a\x78\xbd\x9f\xae\x2c\x99\xe7\xef\xda\xdf\x94\x5e\x09\x69\xa7\xe7\x6e\x68\x8c\xbd\x72\xbe\x47\xa9\x0e\x97\x12\xb8\x4a\xf1\x64\xd3\x39\xdf\x25\x34\xd4\xc1\xcd\x4e\x81\xf0\x0f\x04\xc4\x24\xb3\x34\x96\xc6\xa6\xaa\x30\xdf\x68\x61\x73\xd7\xf9\x8e\x85\x89\xef\x0e\x5e\x95\x28\x4a\x2a\x27\x8f\x10\x8e\x2e\x7c\x86\xc4\x02\x9e\xda\x0c\x77\x65\x0e\x44\x0d\x92\xfd\xfd\xb3\x16\x36\xfa\x11\x0d\x1d\x8c\x0e\x07\x89\x6a\x29\x56\xf7\x72\xf4\xdd\x15\x9c\x77\x35\x66\x57\xab\x13\x53\xd8\x8e\xc1\x40\xc5\xd7\x13\x16\x5a\x72\xc7\xb7\x69\x01\xc4\x7a\xb1\x83\x01\x68\x7d\x8d\x41\xa1\x94\x18\xc1\x25\x5c\xfc\xf0\xfe\x83\x02\x87\x7c\x0d\x0d\xcf\x2e\x08\x5c\x4a\x40\x0d\x3e\xec\x81\x61\xe6\x24\xdb\xca\xe0\x0e\x2d\x07\xb2\x3e\x56\xdc\x8d\xf5\x41\x85\x07\x48\x9b\x0c\x0b\xcb\x49\x3f\x7d\xec\xb7\xfd\xcb\x8d\x67\x89\x1a\xab\xed\xbb\x1e\xa3\x00\x08\x08\x17\x2a\x82\x5c\x31\x5d\x46\x8a\x2d\x0f\x86\x9b\x74\xd9\x45\xfb\xd4\x40\xb1\x7a\xaa\x68\x2d\x86\xb2\x99\x22\xe1\xc1\x2b\xc7\x9c\xf8\xf3\x5f\xa8\x82\x12\xeb\x19\x11\x2d", - ["thawte Primary Root CA - G2"] = "\x30\x82\x02\x88\x30\x82\x02\x0d\xa0\x03\x02\x01\x02\x02\x10\x35\xfc\x26\x5c\xd9\x84\x4f\xc9\x3d\x26\x3d\x57\x9b\xae\xd7\x56\x30\x0a\x06\x08\x2a\x86\x48\xce\x3d\x04\x03\x03\x30\x81\x84\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x31\x38\x30\x36\x06\x03\x55\x04\x0b\x13\x2f\x28\x63\x29\x20\x32\x30\x30\x37\x20\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x24\x30\x22\x06\x03\x55\x04\x03\x13\x1b\x74\x68\x61\x77\x74\x65\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x2d\x20\x47\x32\x30\x1e\x17\x0d\x30\x37\x31\x31\x30\x35\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x38\x30\x31\x31\x38\x32\x33\x35\x39\x35\x39\x5a\x30\x81\x84\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x31\x38\x30\x36\x06\x03\x55\x04\x0b\x13\x2f\x28\x63\x29\x20\x32\x30\x30\x37\x20\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x24\x30\x22\x06\x03\x55\x04\x03\x13\x1b\x74\x68\x61\x77\x74\x65\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x2d\x20\x47\x32\x30\x76\x30\x10\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x05\x2b\x81\x04\x00\x22\x03\x62\x00\x04\xa2\xd5\x9c\x82\x7b\x95\x9d\xf1\x52\x78\x87\xfe\x8a\x16\xbf\x05\xe6\xdf\xa3\x02\x4f\x0d\x07\xc6\x00\x51\xba\x0c\x02\x52\x2d\x22\xa4\x42\x39\xc4\xfe\x8f\xea\xc9\xc1\xbe\xd4\x4d\xff\x9f\x7a\x9e\xe2\xb1\x7c\x9a\xad\xa7\x86\x09\x73\x87\xd1\xe7\x9a\xe3\x7a\xa5\xaa\x6e\xfb\xba\xb3\x70\xc0\x67\x88\xa2\x35\xd4\xa3\x9a\xb1\xfd\xad\xc2\xef\x31\xfa\xa8\xb9\xf3\xfb\x08\xc6\x91\xd1\xfb\x29\x95\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x9a\xd8\x00\x30\x00\xe7\x6b\x7f\x85\x18\xee\x8b\xb6\xce\x8a\x0c\xf8\x11\xe1\xbb\x30\x0a\x06\x08\x2a\x86\x48\xce\x3d\x04\x03\x03\x03\x69\x00\x30\x66\x02\x31\x00\xdd\xf8\xe0\x57\x47\x5b\xa7\xe6\x0a\xc3\xbd\xf5\x80\x8a\x97\x35\x0d\x1b\x89\x3c\x54\x86\x77\x28\xca\xa1\xf4\x79\xde\xb5\xe6\x38\xb0\xf0\x65\x70\x8c\x7f\x02\x54\xc2\xbf\xff\xd8\xa1\x3e\xd9\xcf\x02\x31\x00\xc4\x8d\x94\xfc\xdc\x53\xd2\xdc\x9d\x78\x16\x1f\x15\x33\x23\x53\x52\xe3\x5a\x31\x5d\x9d\xca\xae\xbd\x13\x29\x44\x0d\x27\x5b\xa8\xe7\x68\x9c\x12\xf7\x58\x3f\x2e\x72\x02\x57\xa3\x8f\xa1\x14\x2e", - ["thawte Primary Root CA - G3"] = "\x30\x82\x04\x2a\x30\x82\x03\x12\xa0\x03\x02\x01\x02\x02\x10\x60\x01\x97\xb7\x46\xa7\xea\xb4\xb4\x9a\xd6\x4b\x2f\xf7\x90\xfb\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x81\xae\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x31\x28\x30\x26\x06\x03\x55\x04\x0b\x13\x1f\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x20\x44\x69\x76\x69\x73\x69\x6f\x6e\x31\x38\x30\x36\x06\x03\x55\x04\x0b\x13\x2f\x28\x63\x29\x20\x32\x30\x30\x38\x20\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x24\x30\x22\x06\x03\x55\x04\x03\x13\x1b\x74\x68\x61\x77\x74\x65\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x2d\x20\x47\x33\x30\x1e\x17\x0d\x30\x38\x30\x34\x30\x32\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x37\x31\x32\x30\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x81\xae\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x13\x0c\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x31\x28\x30\x26\x06\x03\x55\x04\x0b\x13\x1f\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x20\x44\x69\x76\x69\x73\x69\x6f\x6e\x31\x38\x30\x36\x06\x03\x55\x04\x0b\x13\x2f\x28\x63\x29\x20\x32\x30\x30\x38\x20\x74\x68\x61\x77\x74\x65\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x24\x30\x22\x06\x03\x55\x04\x03\x13\x1b\x74\x68\x61\x77\x74\x65\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x2d\x20\x47\x33\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xb2\xbf\x27\x2c\xfb\xdb\xd8\x5b\xdd\x78\x7b\x1b\x9e\x77\x66\x81\xcb\x3e\xbc\x7c\xae\xf3\xa6\x27\x9a\x34\xa3\x68\x31\x71\x38\x33\x62\xe4\xf3\x71\x66\x79\xb1\xa9\x65\xa3\xa5\x8b\xd5\x8f\x60\x2d\x3f\x42\xcc\xaa\x6b\x32\xc0\x23\xcb\x2c\x41\xdd\xe4\xdf\xfc\x61\x9c\xe2\x73\xb2\x22\x95\x11\x43\x18\x5f\xc4\xb6\x1f\x57\x6c\x0a\x05\x58\x22\xc8\x36\x4c\x3a\x7c\xa5\xd1\xcf\x86\xaf\x88\xa7\x44\x02\x13\x74\x71\x73\x0a\x42\x59\x02\xf8\x1b\x14\x6b\x42\xdf\x6f\x5f\xba\x6b\x82\xa2\x9d\x5b\xe7\x4a\xbd\x1e\x01\x72\xdb\x4b\x74\xe8\x3b\x7f\x7f\x7d\x1f\x04\xb4\x26\x9b\xe0\xb4\x5a\xac\x47\x3d\x55\xb8\xd7\xb0\x26\x52\x28\x01\x31\x40\x66\xd8\xd9\x24\xbd\xf6\x2a\xd8\xec\x21\x49\x5c\x9b\xf6\x7a\xe9\x7f\x55\x35\x7e\x96\x6b\x8d\x93\x93\x27\xcb\x92\xbb\xea\xac\x40\xc0\x9f\xc2\xf8\x80\xcf\x5d\xf4\x5a\xdc\xce\x74\x86\xa6\x3e\x6c\x0b\x53\xca\xbd\x92\xce\x19\x06\x72\xe6\x0c\x5c\x38\x69\xc7\x04\xd6\xbc\x6c\xce\x5b\xf6\xf7\x68\x9c\xdc\x25\x15\x48\x88\xa1\xe9\xa9\xf8\x98\x9c\xe0\xf3\xd5\x31\x28\x61\x11\x6c\x67\x96\x8d\x39\x99\xcb\xc2\x45\x24\x39\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xad\x6c\xaa\x94\x60\x9c\xed\xe4\xff\xfa\x3e\x0a\x74\x2b\x63\x03\xf7\xb6\x59\xbf\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x01\x01\x00\x1a\x40\xd8\x95\x65\xac\x09\x92\x89\xc6\x39\xf4\x10\xe5\xa9\x0e\x66\x53\x5d\x78\xde\xfa\x24\x91\xbb\xe7\x44\x51\xdf\xc6\x16\x34\x0a\xef\x6a\x44\x51\xea\x2b\x07\x8a\x03\x7a\xc3\xeb\x3f\x0a\x2c\x52\x16\xa0\x2b\x43\xb9\x25\x90\x3f\x70\xa9\x33\x25\x6d\x45\x1a\x28\x3b\x27\xcf\xaa\xc3\x29\x42\x1b\xdf\x3b\x4c\xc0\x33\x34\x5b\x41\x88\xbf\x6b\x2b\x65\xaf\x28\xef\xb2\xf5\xc3\xaa\x66\xce\x7b\x56\xee\xb7\xc8\xcb\x67\xc1\xc9\x9c\x1a\x18\xb8\xc4\xc3\x49\x03\xf1\x60\x0e\x50\xcd\x46\xc5\xf3\x77\x79\xf7\xb6\x15\xe0\x38\xdb\xc7\x2f\x28\xa0\x0c\x3f\x77\x26\x74\xd9\x25\x12\xda\x31\xda\x1a\x1e\xdc\x29\x41\x91\x22\x3c\x69\xa7\xbb\x02\xf2\xb6\x5c\x27\x03\x89\xf4\x06\xea\x9b\xe4\x72\x82\xe3\xa1\x09\xc1\xe9\x00\x19\xd3\x3e\xd4\x70\x6b\xba\x71\xa6\xaa\x58\xae\xf4\xbb\xe9\x6c\xb6\xef\x87\xcc\x9b\xbb\xff\x39\xe6\x56\x61\xd3\x0a\xa7\xc4\x5c\x4c\x60\x7b\x05\x77\x26\x7a\xbf\xd8\x07\x52\x2c\x62\xf7\x70\x63\xd9\x39\xbc\x6f\x1c\xc2\x79\xdc\x76\x29\xaf\xce\xc5\x2c\x64\x04\x5e\x88\x36\x6e\x31\xd4\x40\x1a\x62\x34\x36\x3f\x35\x01\xae\xac\x63\xa0", - ["GeoTrust Primary Certification Authority - G2"] = "\x30\x82\x02\xae\x30\x82\x02\x35\xa0\x03\x02\x01\x02\x02\x10\x3c\xb2\xf4\x48\x0a\x00\xe2\xfe\xeb\x24\x3b\x5e\x60\x3e\xc3\x6b\x30\x0a\x06\x08\x2a\x86\x48\xce\x3d\x04\x03\x03\x30\x81\x98\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x39\x30\x37\x06\x03\x55\x04\x0b\x13\x30\x28\x63\x29\x20\x32\x30\x30\x37\x20\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x36\x30\x34\x06\x03\x55\x04\x03\x13\x2d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x32\x30\x1e\x17\x0d\x30\x37\x31\x31\x30\x35\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x38\x30\x31\x31\x38\x32\x33\x35\x39\x35\x39\x5a\x30\x81\x98\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x31\x39\x30\x37\x06\x03\x55\x04\x0b\x13\x30\x28\x63\x29\x20\x32\x30\x30\x37\x20\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x36\x30\x34\x06\x03\x55\x04\x03\x13\x2d\x47\x65\x6f\x54\x72\x75\x73\x74\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x32\x30\x76\x30\x10\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x05\x2b\x81\x04\x00\x22\x03\x62\x00\x04\x15\xb1\xe8\xfd\x03\x15\x43\xe5\xac\xeb\x87\x37\x11\x62\xef\xd2\x83\x36\x52\x7d\x45\x57\x0b\x4a\x8d\x7b\x54\x3b\x3a\x6e\x5f\x15\x02\xc0\x50\xa6\xcf\x25\x2f\x7d\xca\x48\xb8\xc7\x50\x63\x1c\x2a\x21\x08\x7c\x9a\x36\xd8\x0b\xfe\xd1\x26\xc5\x58\x31\x30\x28\x25\xf3\x5d\x5d\xa3\xb8\xb6\xa5\xb4\x92\xed\x6c\x2c\x9f\xeb\xdd\x43\x89\xa2\x3c\x4b\x48\x91\x1d\x50\xec\x26\xdf\xd6\x60\x2e\xbd\x21\xa3\x42\x30\x40\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x15\x5f\x35\x57\x51\x55\xfb\x25\xb2\xad\x03\x69\xfc\x01\xa3\xfa\xbe\x11\x55\xd5\x30\x0a\x06\x08\x2a\x86\x48\xce\x3d\x04\x03\x03\x03\x67\x00\x30\x64\x02\x30\x64\x96\x59\xa6\xe8\x09\xde\x8b\xba\xfa\x5a\x88\x88\xf0\x1f\x91\xd3\x46\xa8\xf2\x4a\x4c\x02\x63\xfb\x6c\x5f\x38\xdb\x2e\x41\x93\xa9\x0e\xe6\x9d\xdc\x31\x1c\xb2\xa0\xa7\x18\x1c\x79\xe1\xc7\x36\x02\x30\x3a\x56\xaf\x9a\x74\x6c\xf6\xfb\x83\xe0\x33\xd3\x08\x5f\xa1\x9c\xc2\x5b\x9f\x46\xd6\xb6\xcb\x91\x06\x63\xa2\x06\xe7\x33\xac\x3e\xa8\x81\x12\xd0\xcb\xba\xd0\x92\x0b\xb6\x9e\x96\xaa\x04\x0f\x8a", - ["VeriSign Universal Root Certification Authority"] = "\x30\x82\x04\xb9\x30\x82\x03\xa1\xa0\x03\x02\x01\x02\x02\x10\x40\x1a\xc4\x64\x21\xb3\x13\x21\x03\x0e\xbb\xe4\x12\x1a\xc5\x1d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x81\xbd\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x32\x30\x30\x38\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x38\x30\x36\x06\x03\x55\x04\x03\x13\x2f\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x30\x38\x30\x34\x30\x32\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x37\x31\x32\x30\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x81\xbd\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x32\x30\x30\x38\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x38\x30\x36\x06\x03\x55\x04\x03\x13\x2f\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x52\x6f\x6f\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xc7\x61\x37\x5e\xb1\x01\x34\xdb\x62\xd7\x15\x9b\xff\x58\x5a\x8c\x23\x23\xd6\x60\x8e\x91\xd7\x90\x98\x83\x7a\xe6\x58\x19\x38\x8c\xc5\xf6\xe5\x64\x85\xb4\xa2\x71\xfb\xed\xbd\xb9\xda\xcd\x4d\x00\xb4\xc8\x2d\x73\xa5\xc7\x69\x71\x95\x1f\x39\x3c\xb2\x44\x07\x9c\xe8\x0e\xfa\x4d\x4a\xc4\x21\xdf\x29\x61\x8f\x32\x22\x61\x82\xc5\x87\x1f\x6e\x8c\x7c\x5f\x16\x20\x51\x44\xd1\x70\x4f\x57\xea\xe3\x1c\xe3\xcc\x79\xee\x58\xd8\x0e\xc2\xb3\x45\x93\xc0\x2c\xe7\x9a\x17\x2b\x7b\x00\x37\x7a\x41\x33\x78\xe1\x33\xe2\xf3\x10\x1a\x7f\x87\x2c\xbe\xf6\xf5\xf7\x42\xe2\xe5\xbf\x87\x62\x89\x5f\x00\x4b\xdf\xc5\xdd\xe4\x75\x44\x32\x41\x3a\x1e\x71\x6e\x69\xcb\x0b\x75\x46\x08\xd1\xca\xd2\x2b\x95\xd0\xcf\xfb\xb9\x40\x6b\x64\x8c\x57\x4d\xfc\x13\x11\x79\x84\xed\x5e\x54\xf6\x34\x9f\x08\x01\xf3\x10\x25\x06\x17\x4a\xda\xf1\x1d\x7a\x66\x6b\x98\x60\x66\xa4\xd9\xef\xd2\x2e\x82\xf1\xf0\xef\x09\xea\x44\xc9\x15\x6a\xe2\x03\x6e\x33\xd3\xac\x9f\x55\x00\xc7\xf6\x08\x6a\x94\xb9\x5f\xdc\xe0\x33\xf1\x84\x60\xf9\x5b\x27\x11\xb4\xfc\x16\xf2\xbb\x56\x6a\x80\x25\x8d\x02\x03\x01\x00\x01\xa3\x81\xb2\x30\x81\xaf\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x6d\x06\x08\x2b\x06\x01\x05\x05\x07\x01\x0c\x04\x61\x30\x5f\xa1\x5d\xa0\x5b\x30\x59\x30\x57\x30\x55\x16\x09\x69\x6d\x61\x67\x65\x2f\x67\x69\x66\x30\x21\x30\x1f\x30\x07\x06\x05\x2b\x0e\x03\x02\x1a\x04\x14\x8f\xe5\xd3\x1a\x86\xac\x8d\x8e\x6b\xc3\xcf\x80\x6a\xd4\x48\x18\x2c\x7b\x19\x2e\x30\x25\x16\x23\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x67\x6f\x2e\x76\x65\x72\x69\x73\x69\x67\x6e\x2e\x63\x6f\x6d\x2f\x76\x73\x6c\x6f\x67\x6f\x2e\x67\x69\x66\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xb6\x77\xfa\x69\x48\x47\x9f\x53\x12\xd5\xc2\xea\x07\x32\x76\x07\xd1\x97\x07\x19\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x01\x01\x00\x4a\xf8\xf8\xb0\x03\xe6\x2c\x67\x7b\xe4\x94\x77\x63\xcc\x6e\x4c\xf9\x7d\x0e\x0d\xdc\xc8\xb9\x35\xb9\x70\x4f\x63\xfa\x24\xfa\x6c\x83\x8c\x47\x9d\x3b\x63\xf3\x9a\xf9\x76\x32\x95\x91\xb1\x77\xbc\xac\x9a\xbe\xb1\xe4\x31\x21\xc6\x81\x95\x56\x5a\x0e\xb1\xc2\xd4\xb1\xa6\x59\xac\xf1\x63\xcb\xb8\x4c\x1d\x59\x90\x4a\xef\x90\x16\x28\x1f\x5a\xae\x10\xfb\x81\x50\x38\x0c\x6c\xcc\xf1\x3d\xc3\xf5\x63\xe3\xb3\xe3\x21\xc9\x24\x39\xe9\xfd\x15\x66\x46\xf4\x1b\x11\xd0\x4d\x73\xa3\x7d\x46\xf9\x3d\xed\xa8\x5f\x62\xd4\xf1\x3f\xf8\xe0\x74\x57\x2b\x18\x9d\x81\xb4\xc4\x28\xda\x94\x97\xa5\x70\xeb\xac\x1d\xbe\x07\x11\xf0\xd5\xdb\xdd\xe5\x8c\xf0\xd5\x32\xb0\x83\xe6\x57\xe2\x8f\xbf\xbe\xa1\xaa\xbf\x3d\x1d\xb5\xd4\x38\xea\xd7\xb0\x5c\x3a\x4f\x6a\x3f\x8f\xc0\x66\x6c\x63\xaa\xe9\xd9\xa4\x16\xf4\x81\xd1\x95\x14\x0e\x7d\xcd\x95\x34\xd9\xd2\x8f\x70\x73\x81\x7b\x9c\x7e\xbd\x98\x61\xd8\x45\x87\x98\x90\xc5\xeb\x86\x30\xc6\x35\xbf\xf0\xff\xc3\x55\x88\x83\x4b\xef\x05\x92\x06\x71\xf2\xb8\x98\x93\xb7\xec\xcd\x82\x61\xf1\x38\xe6\x4f\x97\x98\x2a\x5a\x8d", - ["VeriSign Class 3 Public Primary Certification Authority - G4"] = "\x30\x82\x03\x84\x30\x82\x03\x0a\xa0\x03\x02\x01\x02\x02\x10\x2f\x80\xfe\x23\x8c\x0e\x22\x0f\x48\x67\x12\x28\x91\x87\xac\xb3\x30\x0a\x06\x08\x2a\x86\x48\xce\x3d\x04\x03\x03\x30\x81\xca\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x32\x30\x30\x37\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x45\x30\x43\x06\x03\x55\x04\x03\x13\x3c\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x34\x30\x1e\x17\x0d\x30\x37\x31\x31\x30\x35\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x33\x38\x30\x31\x31\x38\x32\x33\x35\x39\x35\x39\x5a\x30\x81\xca\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x1f\x30\x1d\x06\x03\x55\x04\x0b\x13\x16\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x54\x72\x75\x73\x74\x20\x4e\x65\x74\x77\x6f\x72\x6b\x31\x3a\x30\x38\x06\x03\x55\x04\x0b\x13\x31\x28\x63\x29\x20\x32\x30\x30\x37\x20\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x2d\x20\x46\x6f\x72\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x65\x64\x20\x75\x73\x65\x20\x6f\x6e\x6c\x79\x31\x45\x30\x43\x06\x03\x55\x04\x03\x13\x3c\x56\x65\x72\x69\x53\x69\x67\x6e\x20\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x20\x2d\x20\x47\x34\x30\x76\x30\x10\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x05\x2b\x81\x04\x00\x22\x03\x62\x00\x04\xa7\x56\x7a\x7c\x52\xda\x64\x9b\x0e\x2d\x5c\xd8\x5e\xac\x92\x3d\xfe\x01\xe6\x19\x4a\x3d\x14\x03\x4b\xfa\x60\x27\x20\xd9\x83\x89\x69\xfa\x54\xc6\x9a\x18\x5e\x55\x2a\x64\xde\x06\xf6\x8d\x4a\x3b\xad\x10\x3c\x65\x3d\x90\x88\x04\x89\xe0\x30\x61\xb3\xae\x5d\x01\xa7\x7b\xde\x7c\xb2\xbe\xca\x65\x61\x00\x86\xae\xda\x8f\x7b\xd0\x89\xad\x4d\x1d\x59\x9a\x41\xb1\xbc\x47\x80\xdc\x9e\x62\xc3\xf9\xa3\x81\xb2\x30\x81\xaf\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x6d\x06\x08\x2b\x06\x01\x05\x05\x07\x01\x0c\x04\x61\x30\x5f\xa1\x5d\xa0\x5b\x30\x59\x30\x57\x30\x55\x16\x09\x69\x6d\x61\x67\x65\x2f\x67\x69\x66\x30\x21\x30\x1f\x30\x07\x06\x05\x2b\x0e\x03\x02\x1a\x04\x14\x8f\xe5\xd3\x1a\x86\xac\x8d\x8e\x6b\xc3\xcf\x80\x6a\xd4\x48\x18\x2c\x7b\x19\x2e\x30\x25\x16\x23\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x67\x6f\x2e\x76\x65\x72\x69\x73\x69\x67\x6e\x2e\x63\x6f\x6d\x2f\x76\x73\x6c\x6f\x67\x6f\x2e\x67\x69\x66\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xb3\x16\x91\xfd\xee\xa6\x6e\xe4\xb5\x2e\x49\x8f\x87\x78\x81\x80\xec\xe5\xb1\xb5\x30\x0a\x06\x08\x2a\x86\x48\xce\x3d\x04\x03\x03\x03\x68\x00\x30\x65\x02\x30\x66\x21\x0c\x18\x26\x60\x5a\x38\x7b\x56\x42\xe0\xa7\xfc\x36\x84\x51\x91\x20\x2c\x76\x4d\x43\x3d\xc4\x1d\x84\x23\xd0\xac\xd6\x7c\x35\x06\xce\xcd\x69\xbd\x90\x0d\xdb\x6c\x48\x42\x1d\x0e\xaa\x42\x02\x31\x00\x9c\x3d\x48\x39\x23\x39\x58\x1a\x15\x12\x59\x6a\x9e\xef\xd5\x59\xb2\x1d\x52\x2c\x99\x71\xcd\xc7\x29\xdf\x1b\x2a\x61\x7b\x71\xd1\xde\xf3\xc0\xe5\x0d\x3a\x4a\xaa\x2d\xa7\xd8\x86\x2a\xdd\x2e\x10", - ["NetLock Arany (Class Gold) Főtanúsítvány"] = "\x30\x82\x04\x15\x30\x82\x02\xfd\xa0\x03\x02\x01\x02\x02\x06\x49\x41\x2c\xe4\x00\x10\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x81\xa7\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x0c\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x0c\x0c\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x66\x74\x2e\x31\x37\x30\x35\x06\x03\x55\x04\x0b\x0c\x2e\x54\x61\x6e\xc3\xba\x73\xc3\xad\x74\x76\xc3\xa1\x6e\x79\x6b\x69\x61\x64\xc3\xb3\x6b\x20\x28\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x29\x31\x35\x30\x33\x06\x03\x55\x04\x03\x0c\x2c\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x41\x72\x61\x6e\x79\x20\x28\x43\x6c\x61\x73\x73\x20\x47\x6f\x6c\x64\x29\x20\x46\xc5\x91\x74\x61\x6e\xc3\xba\x73\xc3\xad\x74\x76\xc3\xa1\x6e\x79\x30\x1e\x17\x0d\x30\x38\x31\x32\x31\x31\x31\x35\x30\x38\x32\x31\x5a\x17\x0d\x32\x38\x31\x32\x30\x36\x31\x35\x30\x38\x32\x31\x5a\x30\x81\xa7\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x0c\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x15\x30\x13\x06\x03\x55\x04\x0a\x0c\x0c\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x4b\x66\x74\x2e\x31\x37\x30\x35\x06\x03\x55\x04\x0b\x0c\x2e\x54\x61\x6e\xc3\xba\x73\xc3\xad\x74\x76\xc3\xa1\x6e\x79\x6b\x69\x61\x64\xc3\xb3\x6b\x20\x28\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x29\x31\x35\x30\x33\x06\x03\x55\x04\x03\x0c\x2c\x4e\x65\x74\x4c\x6f\x63\x6b\x20\x41\x72\x61\x6e\x79\x20\x28\x43\x6c\x61\x73\x73\x20\x47\x6f\x6c\x64\x29\x20\x46\xc5\x91\x74\x61\x6e\xc3\xba\x73\xc3\xad\x74\x76\xc3\xa1\x6e\x79\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xc4\x24\x5e\x73\xbe\x4b\x6d\x14\xc3\xa1\xf4\xe3\x97\x90\x6e\xd2\x30\x45\x1e\x3c\xee\x67\xd9\x64\xe0\x1a\x8a\x7f\xca\x30\xca\x83\xe3\x20\xc1\xe3\xf4\x3a\xd3\x94\x5f\x1a\x7c\x5b\x6d\xbf\x30\x4f\x84\x27\xf6\x9f\x1f\x49\xbc\xc6\x99\x0a\x90\xf2\x0f\xf5\x7f\x43\x84\x37\x63\x51\x8b\x7a\xa5\x70\xfc\x7a\x58\xcd\x8e\x9b\xed\xc3\x46\x6c\x84\x70\x5d\xda\xf3\x01\x90\x23\xfc\x4e\x30\xa9\x7e\xe1\x27\x63\xe7\xed\x64\x3c\xa0\xb8\xc9\x33\x63\xfe\x16\x90\xff\xb0\xb8\xfd\xd7\xa8\xc0\xc0\x94\x43\x0b\xb6\xd5\x59\xa6\x9e\x56\xd0\x24\x1f\x70\x79\xaf\xdb\x39\x54\x0d\x65\x75\xd9\x15\x41\x94\x01\xaf\x5e\xec\xf6\x8d\xf1\xff\xad\x64\xfe\x20\x9a\xd7\x5c\xeb\xfe\xa6\x1f\x08\x64\xa3\x8b\x76\x55\xad\x1e\x3b\x28\x60\x2e\x87\x25\xe8\xaa\xaf\x1f\xc6\x64\x46\x20\xb7\x70\x7f\x3c\xde\x48\xdb\x96\x53\xb7\x39\x77\xe4\x1a\xe2\xc7\x16\x84\x76\x97\x5b\x2f\xbb\x19\x15\x85\xf8\x69\x85\xf5\x99\xa7\xa9\xf2\x34\xa7\xa9\xb6\xa6\x03\xfc\x6f\x86\x3d\x54\x7c\x76\x04\x9b\x6b\xf9\x40\x5d\x00\x34\xc7\x2e\x99\x75\x9d\xe5\x88\x03\xaa\x4d\xf8\x03\xd2\x42\x76\xc0\x1b\x02\x03\x00\xa8\x8b\xa3\x45\x30\x43\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x04\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xcc\xfa\x67\x93\xf0\xb6\xb8\xd0\xa5\xc0\x1e\xf3\x53\xfd\x8c\x53\xdf\x83\xd7\x96\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x01\x01\x00\xab\x7f\xee\x1c\x16\xa9\x9c\x3c\x51\x00\xa0\xc0\x11\x08\x05\xa7\x99\xe6\x6f\x01\x88\x54\x61\x6e\xf1\xb9\x18\xad\x4a\xad\xfe\x81\x40\x23\x94\x2f\xfb\x75\x7c\x2f\x28\x4b\x62\x24\x81\x82\x0b\xf5\x61\xf1\x1c\x6e\xb8\x61\x38\xeb\x81\xfa\x62\xa1\x3b\x5a\x62\xd3\x94\x65\xc4\xe1\xe6\x6d\x82\xf8\x2f\x25\x70\xb2\x21\x26\xc1\x72\x51\x1f\x8c\x2c\xc3\x84\x90\xc3\x5a\x8f\xba\xcf\xf4\xa7\x65\xa5\xeb\x98\xd1\xfb\x05\xb2\x46\x75\x15\x23\x6a\x6f\x85\x63\x30\x80\xf0\xd5\x9e\x1f\x29\x1c\xc2\x6c\xb0\x50\x59\x5d\x90\x5b\x3b\xa8\x0d\x30\xcf\xbf\x7d\x7f\xce\xf1\x9d\x83\xbd\xc9\x46\x6e\x20\xa6\xf9\x61\x51\xba\x21\x2f\x7b\xbe\xa5\x15\x63\xa1\xd4\x95\x87\xf1\x9e\xb9\xf3\x89\xf3\x3d\x85\xb8\xb8\xdb\xbe\xb5\xb9\x29\xf9\xda\x37\x05\x00\x49\x94\x03\x84\x44\xe7\xbf\x43\x31\xcf\x75\x8b\x25\xd1\xf4\xa6\x64\xf5\x92\xf6\xab\x05\xeb\x3d\xe9\xa5\x0b\x36\x62\xda\xcc\x06\x5f\x36\x8b\xb6\x5e\x31\xb8\x2a\xfb\x5e\xf6\x71\xdf\x44\x26\x9e\xc4\xe6\x0d\x91\xb4\x2e\x75\x95\x80\x51\x6a\x4b\x30\xa6\xb0\x62\xa1\x93\xf1\x9b\xd8\xce\xc4\x63\x75\x3f\x59\x47\xb1", - ["Staat der Nederlanden Root CA - G2"] = "\x30\x82\x05\xca\x30\x82\x03\xb2\xa0\x03\x02\x01\x02\x02\x04\x00\x98\x96\x8c\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x5a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4e\x4c\x31\x1e\x30\x1c\x06\x03\x55\x04\x0a\x0c\x15\x53\x74\x61\x61\x74\x20\x64\x65\x72\x20\x4e\x65\x64\x65\x72\x6c\x61\x6e\x64\x65\x6e\x31\x2b\x30\x29\x06\x03\x55\x04\x03\x0c\x22\x53\x74\x61\x61\x74\x20\x64\x65\x72\x20\x4e\x65\x64\x65\x72\x6c\x61\x6e\x64\x65\x6e\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x2d\x20\x47\x32\x30\x1e\x17\x0d\x30\x38\x30\x33\x32\x36\x31\x31\x31\x38\x31\x37\x5a\x17\x0d\x32\x30\x30\x33\x32\x35\x31\x31\x30\x33\x31\x30\x5a\x30\x5a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4e\x4c\x31\x1e\x30\x1c\x06\x03\x55\x04\x0a\x0c\x15\x53\x74\x61\x61\x74\x20\x64\x65\x72\x20\x4e\x65\x64\x65\x72\x6c\x61\x6e\x64\x65\x6e\x31\x2b\x30\x29\x06\x03\x55\x04\x03\x0c\x22\x53\x74\x61\x61\x74\x20\x64\x65\x72\x20\x4e\x65\x64\x65\x72\x6c\x61\x6e\x64\x65\x6e\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x2d\x20\x47\x32\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xc5\x59\xe7\x6f\x75\xaa\x3e\x4b\x9c\xb5\xb8\xac\x9e\x0b\xe4\xf9\xd9\xca\xab\x5d\x8f\xb5\x39\x10\x82\xd7\xaf\x51\xe0\x3b\xe1\x00\x48\x6a\xcf\xda\xe1\x06\x43\x11\x99\xaa\x14\x25\x12\xad\x22\xe8\x00\x6d\x43\xc4\xa9\xb8\xe5\x1f\x89\x4b\x67\xbd\x61\x48\xef\xfd\xd2\xe0\x60\x88\xe5\xb9\x18\x60\x28\xc3\x77\x2b\xad\xb0\x37\xaa\x37\xde\x64\x59\x2a\x46\x57\xe4\x4b\xb9\xf8\x37\x7c\xd5\x36\xe7\x80\xc1\xb6\xf3\xd4\x67\x9b\x96\xe8\xce\xd7\xc6\x0a\x53\xd0\x6b\x49\x96\xf3\xa3\x0b\x05\x77\x48\xf7\x25\xe5\x70\xac\x30\x14\x20\x25\xe3\x7f\x75\x5a\xe5\x48\xf8\x4e\x7b\x03\x07\x04\xfa\x82\x61\x87\x6e\xf0\x3b\xc4\xa4\xc7\xd0\xf5\x74\x3e\xa5\x5d\x1a\x08\xf2\x9b\x25\xd2\xf6\xac\x04\x26\x3e\x55\x3a\x62\x28\xa5\x7b\xb2\x30\xaf\xf8\x37\xc2\xd1\xba\xd6\x38\xfd\xf4\xef\x49\x30\x37\x99\x26\x21\x48\x85\x01\xa9\xe5\x16\xe7\xdc\x90\x55\xdf\x0f\xe8\x38\xcd\x99\x37\x21\x4f\x5d\xf5\x22\x6f\x6a\xc5\x12\x16\x60\x17\x55\xf2\x65\x66\xa6\xa7\x30\x91\x38\xc1\x38\x1d\x86\x04\x84\xba\x1a\x25\x78\x5e\x9d\xaf\xcc\x50\x60\xd6\x13\x87\x52\xed\x63\x1f\x6d\x65\x7d\xc2\x15\x18\x74\xca\xe1\x7e\x64\x29\x8c\x72\xd8\x16\x13\x7d\x0b\x49\x4a\xf1\x28\x1b\x20\x74\x6b\xc5\x3d\xdd\xb0\xaa\x48\x09\x3d\x2e\x82\x94\xcd\x1a\x65\xd9\x2b\x88\x9a\x99\xbc\x18\x7e\x9f\xee\x7d\x66\x7c\x3e\xbd\x94\xb8\x81\xce\xcd\x98\x30\x78\xc1\x6f\x67\xd0\xbe\x5f\xe0\x68\xed\xde\xe2\xb1\xc9\x2c\x59\x78\x92\xaa\xdf\x2b\x60\x63\xf2\xe5\x5e\xb9\xe3\xca\xfa\x7f\x50\x86\x3e\xa2\x34\x18\x0c\x09\x68\x28\x11\x1c\xe4\xe1\xb9\x5c\x3e\x47\xba\x32\x3f\x18\xcc\x5b\x84\xf5\xf3\x6b\x74\xc4\x72\x74\xe1\xe3\x8b\xa0\x4a\xbd\x8d\x66\x2f\xea\xad\x35\xda\x20\xd3\x88\x82\x61\xf0\x12\x22\xb6\xbc\xd0\xd5\xa4\xec\xaf\x54\x88\x25\x24\x3c\xa7\x6d\xb1\x72\x29\x3f\x3e\x57\xa6\x7f\x55\xaf\x6e\x26\xc6\xfe\xe7\xcc\x40\x5c\x51\x44\x81\x0a\x78\xde\x4a\xce\x55\xbf\x1d\xd5\xd9\xb7\x56\xef\xf0\x76\xff\x0b\x79\xb5\xaf\xbd\xfb\xa9\x69\x91\x46\x97\x68\x80\x14\x36\x1d\xb3\x7f\xbb\x29\x98\x36\xa5\x20\xfa\x82\x60\x62\x33\xa4\xec\xd6\xba\x07\xa7\x6e\xc5\xcf\x14\xa6\xe7\xd6\x92\x34\xd8\x81\xf5\xfc\x1d\x5d\xaa\x5c\x1e\xf6\xa3\x4d\x3b\xb8\xf7\x39\x02\x03\x01\x00\x01\xa3\x81\x97\x30\x81\x94\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x52\x06\x03\x55\x1d\x20\x04\x4b\x30\x49\x30\x47\x06\x04\x55\x1d\x20\x00\x30\x3f\x30\x3d\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x31\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x70\x6b\x69\x6f\x76\x65\x72\x68\x65\x69\x64\x2e\x6e\x6c\x2f\x70\x6f\x6c\x69\x63\x69\x65\x73\x2f\x72\x6f\x6f\x74\x2d\x70\x6f\x6c\x69\x63\x79\x2d\x47\x32\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x91\x68\x32\x87\x15\x1d\x89\xe2\xb5\xf1\xac\x36\x28\x34\x8d\x0b\x7c\x62\x88\xeb\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x02\x01\x00\xa8\x41\x4a\x67\x2a\x92\x81\x82\x50\x6e\xe1\xd7\xd8\xb3\x39\x3b\xf3\x02\x15\x09\x50\x51\xef\x2d\xbd\x24\x7b\x88\x86\x3b\xf9\xb4\xbc\x92\x09\x96\xb9\xf6\xc0\xab\x23\x60\x06\x79\x8c\x11\x4e\x51\xd2\x79\x80\x33\xfb\x9d\x48\xbe\xec\x41\x43\x81\x1f\x7e\x47\x40\x1c\xe5\x7a\x08\xca\xaa\x8b\x75\xad\x14\xc4\xc2\xe8\x66\x3c\x82\x07\xa7\xe6\x27\x82\x5b\x18\xe6\x0f\x6e\xd9\x50\x3e\x8a\x42\x18\x29\xc6\xb4\x56\xfc\x56\x10\xa0\x05\x17\xbd\x0c\x23\x7f\xf4\x93\xed\x9c\x1a\x51\xbe\xdd\x45\x41\xbf\x91\x24\xb4\x1f\x8c\xe9\x5f\xcf\x7b\x21\x99\x9f\x95\x9f\x39\x3a\x46\x1c\x6c\xf9\xcd\x7b\x9c\x90\xcd\x28\xa9\xc7\xa9\x55\xbb\xac\x62\x34\x62\x35\x13\x4b\x14\x3a\x55\x83\xb9\x86\x8d\x92\xa6\xc6\xf4\x07\x25\x54\xcc\x16\x57\x12\x4a\x82\x78\xc8\x14\xd9\x17\x82\x26\x2d\x5d\x20\x1f\x79\xae\xfe\xd4\x70\x16\x16\x95\x83\xd8\x35\x39\xff\x52\x5d\x75\x1c\x16\xc5\x13\x55\xcf\x47\xcc\x75\x65\x52\x4a\xde\xf0\xb0\xa7\xe4\x0a\x96\x0b\xfb\xad\xc2\xe2\x25\x84\xb2\xdd\xe4\xbd\x7e\x59\x6c\x9b\xf0\xf0\xd8\xe7\xca\xf2\xe9\x97\x38\x7e\x89\xbe\xcc\xfb\x39\x17\x61\x3f\x72\xdb\x3a\x91\xd8\x65\x01\x19\x1d\xad\x50\xa4\x57\x0a\x7c\x4b\xbc\x9c\x71\x73\x2a\x45\x51\x19\x85\xcc\x8e\xfd\x47\xa7\x74\x95\x1d\xa8\xd1\xaf\x4e\x17\xb1\x69\x26\xc2\xaa\x78\x57\x5b\xc5\x4d\xa7\xe5\x9e\x05\x17\x94\xca\xb2\x5f\xa0\x49\x18\x8d\x34\xe9\x26\x6c\x48\x1e\xaa\x68\x92\x05\xe1\x82\x73\x5a\x9b\xdc\x07\x5b\x08\x6d\x7d\x9d\xd7\x8d\x21\xd9\xfc\x14\x20\xaa\xc2\x45\xdf\x3f\xe7\x00\xb2\x51\xe4\xc2\xf8\x05\xb9\x79\x1a\x8c\x34\xf3\x9e\x5b\xe4\x37\x5b\x6b\x4a\xdf\x2c\x57\x8a\x40\x5a\x36\xba\xdd\x75\x44\x08\x37\x42\x70\x0c\xfe\xdc\x5e\x21\xa0\xa3\x8a\xc0\x90\x9c\x68\xda\x50\xe6\x45\x10\x47\x78\xb6\x4e\xd2\x65\xc9\xc3\x37\xdf\xe1\x42\x63\xb0\x57\x37\x45\x2d\x7b\x8a\x9c\xbf\x05\xea\x65\x55\x33\xf7\x39\x10\xc5\x28\x2a\x21\x7a\x1b\x8a\xc4\x24\xf9\x3f\x15\xc8\x9a\x15\x20\xf5\x55\x62\x96\xed\x6d\x93\x50\xbc\xe4\xaa\x78\xad\xd9\xcb\x0a\x65\x87\xa6\x66\xc1\xc4\x81\xa3\x77\x3a\x58\x1e\x0b\xee\x83\x8b\x9d\x1e\xd2\x52\xa4\xcc\x1d\x6f\xb0\x98\x6d\x94\x31\xb5\xf8\x71\x0a\xdc\xb9\xfc\x7d\x32\x60\xe6\xeb\xaf\x8a\x01", - ["CA Disig"] = "\x30\x82\x04\x0f\x30\x82\x02\xf7\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x4a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x4b\x31\x13\x30\x11\x06\x03\x55\x04\x07\x13\x0a\x42\x72\x61\x74\x69\x73\x6c\x61\x76\x61\x31\x13\x30\x11\x06\x03\x55\x04\x0a\x13\x0a\x44\x69\x73\x69\x67\x20\x61\x2e\x73\x2e\x31\x11\x30\x0f\x06\x03\x55\x04\x03\x13\x08\x43\x41\x20\x44\x69\x73\x69\x67\x30\x1e\x17\x0d\x30\x36\x30\x33\x32\x32\x30\x31\x33\x39\x33\x34\x5a\x17\x0d\x31\x36\x30\x33\x32\x32\x30\x31\x33\x39\x33\x34\x5a\x30\x4a\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x53\x4b\x31\x13\x30\x11\x06\x03\x55\x04\x07\x13\x0a\x42\x72\x61\x74\x69\x73\x6c\x61\x76\x61\x31\x13\x30\x11\x06\x03\x55\x04\x0a\x13\x0a\x44\x69\x73\x69\x67\x20\x61\x2e\x73\x2e\x31\x11\x30\x0f\x06\x03\x55\x04\x03\x13\x08\x43\x41\x20\x44\x69\x73\x69\x67\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\x92\xf6\x31\xc1\x7d\x88\xfd\x99\x01\xa9\xd8\x7b\xf2\x71\x75\xf1\x31\xc6\xf3\x75\x66\xfa\x51\x28\x46\x84\x97\x78\x34\xbc\x6c\xfc\xbc\x45\x59\x88\x26\x18\x4a\xc4\x37\x1f\xa1\x4a\x44\xbd\xe3\x71\x04\xf5\x44\x17\xe2\x3f\xfc\x48\x58\x6f\x5c\x9e\x7a\x09\xba\x51\x37\x22\x23\x66\x43\x21\xb0\x3c\x64\xa2\xf8\x6a\x15\x0e\x3f\xeb\x51\xe1\x54\xa9\xdd\x06\x99\xd7\x9a\x3c\x54\x8b\x39\x03\x3f\x0f\xc5\xce\xc6\xeb\x83\x72\x02\xa8\x1f\x71\xf3\x2d\xf8\x75\x08\xdb\x62\x4c\xe8\xfa\xce\xf9\xe7\x6a\x1f\xb6\x6b\x35\x82\xba\xe2\x8f\x16\x92\x7d\x05\x0c\x6c\x46\x03\x5d\xc0\xed\x69\xbf\x3a\xc1\x8a\xa0\xe8\x8e\xd9\xb9\x45\x28\x87\x08\xec\xb4\xca\x15\xbe\x82\xdd\xb5\x44\x8b\x2d\xad\x86\x0c\x68\x62\x6d\x85\x56\xf2\xac\x14\x63\x3a\xc6\xd1\x99\xac\x34\x78\x56\x4b\xcf\xb6\xad\x3f\x8c\x8a\xd7\x04\xe5\xe3\x78\x4c\xf5\x86\xaa\xf5\x8f\xfa\x3d\x6c\x71\xa3\x2d\xca\x67\xeb\x68\x7b\x6e\x33\xa9\x0c\x82\x28\xa8\x4c\x6a\x21\x40\x15\x20\x0c\x26\x5b\x83\xc2\xa9\x16\x15\xc0\x24\x82\x5d\x2b\x16\xad\xca\x63\xf6\x74\x00\xb0\xdf\x43\xc4\x10\x60\x56\x67\x63\x45\x02\x03\x01\x00\x01\xa3\x81\xff\x30\x81\xfc\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x8d\xb2\x49\x68\x9d\x72\x08\x25\xb9\xc0\x27\xf5\x50\x93\x56\x48\x46\x71\xf9\x8f\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x36\x06\x03\x55\x1d\x11\x04\x2f\x30\x2d\x81\x13\x63\x61\x6f\x70\x65\x72\x61\x74\x6f\x72\x40\x64\x69\x73\x69\x67\x2e\x73\x6b\x86\x16\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x64\x69\x73\x69\x67\x2e\x73\x6b\x2f\x63\x61\x30\x66\x06\x03\x55\x1d\x1f\x04\x5f\x30\x5d\x30\x2d\xa0\x2b\xa0\x29\x86\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x64\x69\x73\x69\x67\x2e\x73\x6b\x2f\x63\x61\x2f\x63\x72\x6c\x2f\x63\x61\x5f\x64\x69\x73\x69\x67\x2e\x63\x72\x6c\x30\x2c\xa0\x2a\xa0\x28\x86\x26\x68\x74\x74\x70\x3a\x2f\x2f\x63\x61\x2e\x64\x69\x73\x69\x67\x2e\x73\x6b\x2f\x63\x61\x2f\x63\x72\x6c\x2f\x63\x61\x5f\x64\x69\x73\x69\x67\x2e\x63\x72\x6c\x30\x1a\x06\x03\x55\x1d\x20\x04\x13\x30\x11\x30\x0f\x06\x0d\x2b\x81\x1e\x91\x93\xe6\x0a\x00\x00\x00\x01\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x5d\x34\x74\x61\x4c\xaf\x3b\xd8\xff\x9f\x6d\x58\x36\x1c\x3d\x0b\x81\x0d\x12\x2b\x46\x10\x80\xfd\xe7\x3c\x27\xd0\x7a\xc8\xa9\xb6\x7e\x74\x30\x33\xa3\x3a\x8a\x7b\x74\xc0\x79\x79\x42\x93\x6d\xff\xb1\x29\x14\x82\xab\x21\x8c\x2f\x17\xf9\x3f\x26\x2f\xf5\x59\xc6\xef\x80\x06\xb7\x9a\x49\x29\xec\xce\x7e\x71\x3c\x6a\x10\x41\xc0\xf6\xd3\x9a\xb2\x7c\x5a\x91\x9c\xc0\xac\x5b\xc8\x4d\x5e\xf7\xe1\x53\xff\x43\x77\xfc\x9e\x4b\x67\x6c\xd7\xf3\x83\xd1\xa0\xe0\x7f\x25\xdf\xb8\x98\x0b\x9a\x32\x38\x6c\x30\xa0\xf3\xff\x08\x15\x33\xf7\x50\x4a\x7b\x3e\xa3\x3e\x20\xa9\xdc\x2f\x56\x80\x0a\xed\x41\x50\xb0\xc9\xf4\xec\xb2\xe3\x26\x44\x00\x0e\x6f\x9e\x06\xbc\x22\x96\x53\x70\x65\xc4\x50\x0a\x46\x6b\xa4\x2f\x27\x81\x12\x27\x13\x5f\x10\xa1\x76\xce\x8a\x7b\x37\xea\xc3\x39\x61\x03\x95\x98\x3a\xe7\x6c\x88\x25\x08\xfc\x79\x68\x0d\x87\x7d\x62\xf8\xb4\x5f\xfb\xc5\xd8\x4c\xbd\x58\xbc\x3f\x43\x5b\xd4\x1e\x01\x4d\x3c\x63\xbe\x23\xef\x8c\xcd\x5a\x50\xb8\x68\x54\xf9\x0a\x99\x33\x11\x00\xe1\x9e\xc2\x46\x77\x82\xf5\x59\x06\x8c\x21\x4c\x87\x09\xcd\xe5\xa8", - ["Juur-SK"] = "\x30\x82\x04\xe6\x30\x82\x03\xce\xa0\x03\x02\x01\x02\x02\x04\x3b\x8e\x4b\xfc\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x5d\x31\x18\x30\x16\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x09\x70\x6b\x69\x40\x73\x6b\x2e\x65\x65\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x45\x31\x22\x30\x20\x06\x03\x55\x04\x0a\x13\x19\x41\x53\x20\x53\x65\x72\x74\x69\x66\x69\x74\x73\x65\x65\x72\x69\x6d\x69\x73\x6b\x65\x73\x6b\x75\x73\x31\x10\x30\x0e\x06\x03\x55\x04\x03\x13\x07\x4a\x75\x75\x72\x2d\x53\x4b\x30\x1e\x17\x0d\x30\x31\x30\x38\x33\x30\x31\x34\x32\x33\x30\x31\x5a\x17\x0d\x31\x36\x30\x38\x32\x36\x31\x34\x32\x33\x30\x31\x5a\x30\x5d\x31\x18\x30\x16\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x09\x70\x6b\x69\x40\x73\x6b\x2e\x65\x65\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x45\x31\x22\x30\x20\x06\x03\x55\x04\x0a\x13\x19\x41\x53\x20\x53\x65\x72\x74\x69\x66\x69\x74\x73\x65\x65\x72\x69\x6d\x69\x73\x6b\x65\x73\x6b\x75\x73\x31\x10\x30\x0e\x06\x03\x55\x04\x03\x13\x07\x4a\x75\x75\x72\x2d\x53\x4b\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\x81\x71\x36\x3e\x33\x07\xd6\xe3\x30\x8d\x13\x7e\x77\x32\x46\xcb\xcf\x19\xb2\x60\x31\x46\x97\x86\xf4\x98\x46\xa4\xc2\x65\x45\xcf\xd3\x40\x7c\xe3\x5a\x22\xa8\x10\x78\x33\xcc\x88\xb1\xd3\x81\x4a\xf6\x62\x17\x7b\x5f\x4d\x0a\x2e\xd0\xcf\x8b\x23\xee\x4f\x02\x4e\xbb\xeb\x0e\xca\xbd\x18\x63\xe8\x80\x1c\x8d\xe1\x1c\x8d\x3d\xe0\xff\x5b\x5f\xea\x64\xe5\x97\xe8\x3f\x99\x7f\x0c\x0a\x09\x33\x00\x1a\x53\xa7\x21\xe1\x38\x4b\xd6\x83\x1b\xad\xaf\x64\xc2\xf9\x1c\x7a\x8c\x66\x48\x4d\x66\x1f\x18\x0a\xe2\x3e\xbb\x1f\x07\x65\x93\x85\xb9\x1a\xb0\xb9\xc4\xfb\x0d\x11\xf6\xf5\xd6\xf9\x1b\xc7\x2c\x2b\xb7\x18\x51\xfe\xe0\x7b\xf6\xa8\x48\xaf\x6c\x3b\x4f\x2f\xef\xf8\xd1\x47\x1e\x26\x57\xf0\x51\x1d\x33\x96\xff\xef\x59\x3d\xda\x4d\xd1\x15\x34\xc7\xea\x3f\x16\x48\x7b\x91\x1c\x80\x43\x0f\x3d\xb8\x05\x3e\xd1\xb3\x95\xcd\xd8\xca\x0f\xc2\x43\x67\xdb\xb7\x93\xe0\x22\x82\x2e\xbe\xf5\x68\x28\x83\xb9\xc1\x3b\x69\x7b\x20\xda\x4e\x9c\x6d\xe1\xba\xcd\x8f\x7a\x6c\xb0\x09\x22\xd7\x8b\x0b\xdb\x1c\xd5\x5a\x26\x5b\x0d\xc0\xea\xe5\x60\xd0\x9f\xfe\x35\xdf\x3f\x02\x03\x01\x00\x01\xa3\x82\x01\xac\x30\x82\x01\xa8\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x82\x01\x16\x06\x03\x55\x1d\x20\x04\x82\x01\x0d\x30\x82\x01\x09\x30\x82\x01\x05\x06\x0a\x2b\x06\x01\x04\x01\xce\x1f\x01\x01\x01\x30\x81\xf6\x30\x81\xd0\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x02\x30\x81\xc3\x1e\x81\xc0\x00\x53\x00\x65\x00\x65\x00\x20\x00\x73\x00\x65\x00\x72\x00\x74\x00\x69\x00\x66\x00\x69\x00\x6b\x00\x61\x00\x61\x00\x74\x00\x20\x00\x6f\x00\x6e\x00\x20\x00\x76\x00\xe4\x00\x6c\x00\x6a\x00\x61\x00\x73\x00\x74\x00\x61\x00\x74\x00\x75\x00\x64\x00\x20\x00\x41\x00\x53\x00\x2d\x00\x69\x00\x73\x00\x20\x00\x53\x00\x65\x00\x72\x00\x74\x00\x69\x00\x66\x00\x69\x00\x74\x00\x73\x00\x65\x00\x65\x00\x72\x00\x69\x00\x6d\x00\x69\x00\x73\x00\x6b\x00\x65\x00\x73\x00\x6b\x00\x75\x00\x73\x00\x20\x00\x61\x00\x6c\x00\x61\x00\x6d\x00\x2d\x00\x53\x00\x4b\x00\x20\x00\x73\x00\x65\x00\x72\x00\x74\x00\x69\x00\x66\x00\x69\x00\x6b\x00\x61\x00\x61\x00\x74\x00\x69\x00\x64\x00\x65\x00\x20\x00\x6b\x00\x69\x00\x6e\x00\x6e\x00\x69\x00\x74\x00\x61\x00\x6d\x00\x69\x00\x73\x00\x65\x00\x6b\x00\x73\x30\x21\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x15\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x73\x6b\x2e\x65\x65\x2f\x63\x70\x73\x2f\x30\x2b\x06\x03\x55\x1d\x1f\x04\x24\x30\x22\x30\x20\xa0\x1e\xa0\x1c\x86\x1a\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x73\x6b\x2e\x65\x65\x2f\x6a\x75\x75\x72\x2f\x63\x72\x6c\x2f\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x04\xaa\x7a\x47\xa3\xe4\x89\xaf\x1a\xcf\x0a\x40\xa7\x18\x3f\x6f\xef\xe9\x7d\xbe\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x04\xaa\x7a\x47\xa3\xe4\x89\xaf\x1a\xcf\x0a\x40\xa7\x18\x3f\x6f\xef\xe9\x7d\xbe\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\xe6\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x7b\xc1\x18\x94\x53\xa2\x09\xf3\xfe\x26\x67\x9a\x50\xe4\xc3\x05\x2f\x2b\x35\x78\x91\x4c\x7c\xa8\x11\x11\x79\x4c\x49\x59\xac\xc8\xf7\x85\x65\x5c\x46\xbb\x3b\x10\xa0\x02\xaf\xcd\x4f\xb5\xcc\x36\x2a\xec\x5d\xfe\xef\xa0\x91\xc9\xb6\x93\x6f\x7c\x80\x54\xec\xc7\x08\x70\x0d\x8e\xfb\x82\xec\x2a\x60\x78\x69\x36\x36\xd1\xc5\x9c\x8b\x69\xb5\x40\xc8\x94\x65\x77\xf2\x57\x21\x66\x3b\xce\x85\x40\xb6\x33\x63\x1a\xbf\x79\x1e\xfc\x5c\x1d\xd3\x1d\x93\x1b\x8b\x0c\x5d\x85\xbd\x99\x30\x32\x18\x09\x91\x52\xe9\x7c\xa1\xba\xff\x64\x92\x9a\xec\xfe\x35\xee\x8c\x2f\xae\xfc\x20\x86\xec\x4a\xde\x1b\x78\x32\x37\xa6\x81\xd2\x9d\xaf\x5a\x12\x16\xca\x99\x5b\xfc\x6f\x6d\x0e\xc5\xa0\x1e\x86\xc9\x91\xd0\x5c\x98\x82\x5f\x63\x0c\x8a\x5a\xab\xd8\x95\xa6\xcc\xcb\x8a\xd6\xbf\x64\x4b\x8e\xca\x8a\xb2\xb0\xe9\x21\x32\x9e\xaa\xa8\x85\x98\x34\x81\x39\x21\x3b\xa8\x3a\x52\x32\x3d\xf6\x6b\x37\x86\x06\x5a\x15\x98\xdc\xf0\x11\x66\xfe\x34\x20\xb7\x03\xf4\x41\x10\x7d\x39\x84\x79\x96\x72\x63\xb6\x96\x02\xe5\x6b\xb9\xad\x19\x4d\xbb\xc6\x44\xdb\x36\xcb\x2a\x9c\x8e", - ["Hongkong Post Root CA 1"] = "\x30\x82\x03\x30\x30\x82\x02\x18\xa0\x03\x02\x01\x02\x02\x02\x03\xe8\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x47\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x4b\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x48\x6f\x6e\x67\x6b\x6f\x6e\x67\x20\x50\x6f\x73\x74\x31\x20\x30\x1e\x06\x03\x55\x04\x03\x13\x17\x48\x6f\x6e\x67\x6b\x6f\x6e\x67\x20\x50\x6f\x73\x74\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x31\x30\x1e\x17\x0d\x30\x33\x30\x35\x31\x35\x30\x35\x31\x33\x31\x34\x5a\x17\x0d\x32\x33\x30\x35\x31\x35\x30\x34\x35\x32\x32\x39\x5a\x30\x47\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x4b\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x13\x0d\x48\x6f\x6e\x67\x6b\x6f\x6e\x67\x20\x50\x6f\x73\x74\x31\x20\x30\x1e\x06\x03\x55\x04\x03\x13\x17\x48\x6f\x6e\x67\x6b\x6f\x6e\x67\x20\x50\x6f\x73\x74\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x31\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xac\xff\x38\xb6\xe9\x66\x02\x49\xe3\xa2\xb4\xe1\x90\xf9\x40\x8f\x79\xf9\xe2\xbd\x79\xfe\x02\xbd\xee\x24\x92\x1d\x22\xf6\xda\x85\x72\x69\xfe\xd7\x3f\x09\xd4\xdd\x91\xb5\x02\x9c\xd0\x8d\x5a\xe1\x55\xc3\x50\x86\xb9\x29\x26\xc2\xe3\xd9\xa0\xf1\x69\x03\x28\x20\x80\x45\x22\x2d\x56\xa7\x3b\x54\x95\x56\x22\x59\x1f\x28\xdf\x1f\x20\x3d\x6d\xa2\x36\xbe\x23\xa0\xb1\x6e\xb5\xb1\x27\x3f\x39\x53\x09\xea\xab\x6a\xe8\x74\xb2\xc2\x65\x5c\x8e\xbf\x7c\xc3\x78\x84\xcd\x9e\x16\xfc\xf5\x2e\x4f\x20\x2a\x08\x9f\x77\xf3\xc5\x1e\xc4\x9a\x52\x66\x1e\x48\x5e\xe3\x10\x06\x8f\x22\x98\xe1\x65\x8e\x1b\x5d\x23\x66\x3b\xb8\xa5\x32\x51\xc8\x86\xaa\xa1\xa9\x9e\x7f\x76\x94\xc2\xa6\x6c\xb7\x41\xf0\xd5\xc8\x06\x38\xe6\xd4\x0c\xe2\xf3\x3b\x4c\x6d\x50\x8c\xc4\x83\x27\xc1\x13\x84\x59\x3d\x9e\x75\x74\xb6\xd8\x02\x5e\x3a\x90\x7a\xc0\x42\x36\x72\xec\x6a\x4d\xdc\xef\xc4\x00\xdf\x13\x18\x57\x5f\x26\x78\xc8\xd6\x0a\x79\x77\xbf\xf7\xaf\xb7\x76\xb9\xa5\x0b\x84\x17\x5d\x10\xea\x6f\xe1\xab\x95\x11\x5f\x6d\x3c\xa3\x5c\x4d\x83\x5b\xf2\xb3\x19\x8a\x80\x8b\x0b\x87\x02\x03\x01\x00\x01\xa3\x26\x30\x24\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x03\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\xc6\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x0e\x46\xd5\x3c\xae\xe2\x87\xd9\x5e\x81\x8b\x02\x98\x41\x08\x8c\x4c\xbc\xda\xdb\xee\x27\x1b\x82\xe7\x6a\x45\xec\x16\x8b\x4f\x85\xa0\xf3\xb2\x70\xbd\x5a\x96\xba\xca\x6e\x6d\xee\x46\x8b\x6e\xe7\x2a\x2e\x96\xb3\x19\x33\xeb\xb4\x9f\xa8\xb2\x37\xee\x98\xa8\x97\xb6\x2e\xb6\x67\x27\xd4\xa6\x49\xfd\x1c\x93\x65\x76\x9e\x42\x2f\xdc\x22\x6c\x9a\x4f\xf2\x5a\x15\x39\xb1\x71\xd7\x2b\x51\xe8\x6d\x1c\x98\xc0\xd9\x2a\xf4\xa1\x82\x7b\xd5\xc9\x41\xa2\x23\x01\x74\x38\x55\x8b\x0f\xb9\x2e\x67\xa2\x20\x04\x37\xda\x9c\x0b\xd3\x17\x21\xe0\x8f\x97\x79\x34\x6f\x84\x48\x02\x20\x33\x1b\xe6\x34\x44\x9f\x91\x70\xf4\x80\x5e\x84\x43\xc2\x29\xd2\x6c\x12\x14\xe4\x61\x8d\xac\x10\x90\x9e\x84\x50\xbb\xf0\x96\x6f\x45\x9f\x8a\xf3\xca\x6c\x4f\xfa\x11\x3a\x15\x15\x46\xc3\xcd\x1f\x83\x5b\x2d\x41\x12\xed\x50\x67\x41\x13\x3d\x21\xab\x94\x8a\xaa\x4e\x7c\xc1\xb1\xfb\xa7\xd6\xb5\x27\x2f\x97\xab\x6e\xe0\x1d\xe2\xd1\x1c\x2c\x1f\x44\xe2\xfc\xbe\x91\xa1\x9c\xfb\xd6\x29\x53\x73\x86\x9f\x53\xd8\x43\x0e\x5d\xd6\x63\x82\x71\x1d\x80\x74\xca\xf6\xe2\x02\x6b\xd9\x5a", - ["SecureSign RootCA11"] = "\x30\x82\x03\x6d\x30\x82\x02\x55\xa0\x03\x02\x01\x02\x02\x01\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x58\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4a\x50\x31\x2b\x30\x29\x06\x03\x55\x04\x0a\x13\x22\x4a\x61\x70\x61\x6e\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x2c\x20\x49\x6e\x63\x2e\x31\x1c\x30\x1a\x06\x03\x55\x04\x03\x13\x13\x53\x65\x63\x75\x72\x65\x53\x69\x67\x6e\x20\x52\x6f\x6f\x74\x43\x41\x31\x31\x30\x1e\x17\x0d\x30\x39\x30\x34\x30\x38\x30\x34\x35\x36\x34\x37\x5a\x17\x0d\x32\x39\x30\x34\x30\x38\x30\x34\x35\x36\x34\x37\x5a\x30\x58\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x4a\x50\x31\x2b\x30\x29\x06\x03\x55\x04\x0a\x13\x22\x4a\x61\x70\x61\x6e\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x53\x65\x72\x76\x69\x63\x65\x73\x2c\x20\x49\x6e\x63\x2e\x31\x1c\x30\x1a\x06\x03\x55\x04\x03\x13\x13\x53\x65\x63\x75\x72\x65\x53\x69\x67\x6e\x20\x52\x6f\x6f\x74\x43\x41\x31\x31\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xfd\x77\xaa\xa5\x1c\x90\x05\x3b\xcb\x4c\x9b\x33\x8b\x5a\x14\x45\xa4\xe7\x90\x16\xd1\xdf\x57\xd2\x21\x10\xa4\x17\xfd\xdf\xac\xd6\x1f\xa7\xe4\xdb\x7c\xf7\xec\xdf\xb8\x03\xda\x94\x58\xfd\x5d\x72\x7c\x8c\x3f\x5f\x01\x67\x74\x15\x96\xe3\x02\x3c\x87\xdb\xae\xcb\x01\x8e\xc2\xf3\x66\xc6\x85\x45\xf4\x02\xc6\x3a\xb5\x62\xb2\xaf\xfa\x9c\xbf\xa4\xe6\xd4\x80\x30\x98\xf3\x0d\xb6\x93\x8f\xa9\xd4\xd8\x36\xf2\xb0\xfc\x8a\xca\x2c\xa1\x15\x33\x95\x31\xda\xc0\x1b\xf2\xee\x62\x99\x86\x63\x3f\xbf\xdd\x93\x2a\x83\xa8\x76\xb9\x13\x1f\xb7\xce\x4e\x42\x85\x8f\x22\xe7\x2e\x1a\xf2\x95\x09\xb2\x05\xb5\x44\x4e\x77\xa1\x20\xbd\xa9\xf2\x4e\x0a\x7d\x50\xad\xf5\x05\x0d\x45\x4f\x46\x71\xfd\x28\x3e\x53\xfb\x04\xd8\x2d\xd7\x65\x1d\x4a\x1b\xfa\xcf\x3b\xb0\x31\x9a\x35\x6e\xc8\x8b\x06\xd3\x00\x91\xf2\x94\x08\x65\x4c\xb1\x34\x06\x00\x7a\x89\xe2\xf0\xc7\x03\x59\xcf\xd5\xd6\xe8\xa7\x32\xb3\xe6\x98\x40\x86\xc5\xcd\x27\x12\x8b\xcc\x7b\xce\xb7\x11\x3c\x62\x60\x07\x23\x3e\x2b\x40\x6e\x94\x80\x09\x6d\xb6\xb3\x6f\x77\x6f\x35\x08\x50\xfb\x02\x87\xc5\x3e\x89\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x5b\xf8\x4d\x4f\xb2\xa5\x86\xd4\x3a\xd2\xf1\x63\x9a\xa0\xbe\x09\xf6\x57\xb7\xde\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\xa0\xa1\x38\x16\x66\x2e\xa7\x56\x1f\x21\x9c\x06\xfa\x1d\xed\xb9\x22\xc5\x38\x26\xd8\x4e\x4f\xec\xa3\x7f\x79\xde\x46\x21\xa1\x87\x77\x8f\x07\x08\x9a\xb2\xa4\xc5\xaf\x0f\x32\x98\x0b\x7c\x66\x29\xb6\x9b\x7d\x25\x52\x49\x43\xab\x4c\x2e\x2b\x6e\x7a\x70\xaf\x16\x0e\xe3\x02\x6c\xfb\x42\xe6\x18\x9d\x45\xd8\x55\xc8\xe8\x3b\xdd\xe7\xe1\xf4\x2e\x0b\x1c\x34\x5c\x6c\x58\x4a\xfb\x8c\x88\x50\x5f\x95\x1c\xbf\xed\xab\x22\xb5\x65\xb3\x85\xba\x9e\x0f\xb8\xad\xe5\x7a\x1b\x8a\x50\x3a\x1d\xbd\x0d\xbc\x7b\x54\x50\x0b\xb9\x42\xaf\x55\xa0\x18\x81\xad\x65\x99\xef\xbe\xe4\x9c\xbf\xc4\x85\xab\x41\xb2\x54\x6f\xdc\x25\xcd\xed\x78\xe2\x8e\x0c\x8d\x09\x49\xdd\x63\x7b\x5a\x69\x96\x02\x21\xa8\xbd\x52\x59\xe9\x7d\x35\xcb\xc8\x52\xca\x7f\x81\xfe\xd9\x6b\xd3\xf7\x11\xed\x25\xdf\xf8\xe7\xf9\xa4\xfa\x72\x97\x84\x53\x0d\xa5\xd0\x32\x18\x51\x76\x59\x14\x6c\x0f\xeb\xec\x5f\x80\x8c\x75\x43\x83\xc3\x85\x98\xff\x4c\x9e\x2d\x0d\xe4\x77\x83\x93\x4e\xb5\x96\x07\x8b\x28\x13\x9b\x8c\x19\x8d\x41\x27\x49\x40\xee\xde\xe6\x23\x44\x39\xdc\xa1\x22\xd6\xba\x03\xf2", - ["ACEDICOM Root"] = "\x30\x82\x05\xb5\x30\x82\x03\x9d\xa0\x03\x02\x01\x02\x02\x08\x61\x8d\xc7\x86\x3b\x01\x82\x05\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x44\x31\x16\x30\x14\x06\x03\x55\x04\x03\x0c\x0d\x41\x43\x45\x44\x49\x43\x4f\x4d\x20\x52\x6f\x6f\x74\x31\x0c\x30\x0a\x06\x03\x55\x04\x0b\x0c\x03\x50\x4b\x49\x31\x0f\x30\x0d\x06\x03\x55\x04\x0a\x0c\x06\x45\x44\x49\x43\x4f\x4d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x30\x1e\x17\x0d\x30\x38\x30\x34\x31\x38\x31\x36\x32\x34\x32\x32\x5a\x17\x0d\x32\x38\x30\x34\x31\x33\x31\x36\x32\x34\x32\x32\x5a\x30\x44\x31\x16\x30\x14\x06\x03\x55\x04\x03\x0c\x0d\x41\x43\x45\x44\x49\x43\x4f\x4d\x20\x52\x6f\x6f\x74\x31\x0c\x30\x0a\x06\x03\x55\x04\x0b\x0c\x03\x50\x4b\x49\x31\x0f\x30\x0d\x06\x03\x55\x04\x0a\x0c\x06\x45\x44\x49\x43\x4f\x4d\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xff\x92\x95\xe1\x68\x06\x76\xb4\x2c\xc8\x58\x48\xca\xfd\x80\x54\x29\x55\x63\x24\xff\x90\x65\x9b\x10\x75\x7b\xc3\x6a\xdb\x62\x02\x01\xf2\x18\x86\xb5\x7c\x5a\x38\xb1\xe4\x58\xb9\xfb\xd3\xd8\x2d\x9f\xbd\x32\x37\xbf\x2c\x15\x6d\xbe\xb5\xf4\x21\xd2\x13\x91\xd9\x07\xad\x01\x05\xd6\xf3\xbd\x77\xce\x5f\x42\x81\x0a\xf9\x6a\xe3\x83\x00\xa8\x2b\x2e\x55\x13\x63\x81\xca\x47\x1c\x7b\x5c\x16\x57\x7a\x1b\x83\x60\x04\x3a\x3e\x65\xc3\xcd\x01\xde\xde\xa4\xd6\x0c\xba\x8e\xde\xd9\x04\xee\x17\x56\x22\x9b\x8f\x63\xfd\x4d\x16\x0b\xb7\x7b\x77\x8c\xf9\x25\xb5\xd1\x6d\x99\x12\x2e\x4f\x1a\xb8\xe6\xea\x04\x92\xae\x3d\x11\xb9\x51\x42\x3d\x87\xb0\x31\x85\xaf\x79\x5a\x9c\xfe\xe7\x4e\x5e\x92\x4f\x43\xfc\xab\x3a\xad\xa5\x12\x26\x66\xb9\xe2\x0c\xd7\x98\xce\xd4\x58\xa5\x95\x40\x0a\xb7\x44\x9d\x13\x74\x2b\xc2\xa5\xeb\x22\x15\x98\x10\xd8\x8b\xc5\x04\x9f\x1d\x8f\x60\xe5\x06\x1b\x9b\xcf\xb9\x79\xa0\x3d\xa2\x23\x3f\x42\x3f\x6b\xfa\x1c\x03\x7b\x30\x8d\xce\x6c\xc0\xbf\xe6\x1b\x5f\xbf\x67\xb8\x84\x19\xd5\x15\xef\x7b\xcb\x90\x36\x31\x62\xc9\xbc\x02\xab\x46\x5f\x9b\xfe\x1a\x68\x94\x34\x3d\x90\x8e\xad\xf6\xe4\x1d\x09\x7f\x4a\x88\x38\x3f\xbe\x67\xfd\x34\x96\xf5\x1d\xbc\x30\x74\xcb\x38\xee\xd5\x6c\xab\xd4\xfc\xf4\x00\xb7\x00\x5b\x85\x32\x16\x76\x33\xe9\xd8\xa3\x99\x9d\x05\x00\xaa\x16\xe6\xf3\x81\x7d\x6f\x7d\xaa\x86\x6d\xad\x15\x74\xd3\xc4\xa2\x71\xaa\xf4\x14\x7d\xe7\x32\xb8\x1f\xbc\xd5\xf1\x4e\xbd\x6f\x17\x02\x39\xd7\x0e\x95\x42\x3a\xc7\x00\x3e\xe9\x26\x63\x11\xea\x0b\xd1\x4a\xff\x18\x9d\xb2\xd7\x7b\x2f\x3a\xd9\x96\xfb\xe8\x1e\x92\xae\x13\x55\xc8\xd9\x27\xf6\xdc\x48\x1b\xb0\x24\xc1\x85\xe3\x77\x9d\x9a\xa4\xf3\x0c\x11\x1d\x0d\xc8\xb4\x14\xee\xb5\x82\x57\x09\xbf\x20\x58\x7f\x2f\x22\x23\xd8\x70\xcb\x79\x6c\xc9\x4b\xf2\xa9\x2a\xc8\xfc\x87\x2b\xd7\x1a\x50\xf8\x27\xe8\x2f\x43\xe3\x3a\xbd\xd8\x57\x71\xfd\xce\xa6\x52\x5b\xf9\xdd\x4d\xed\xe5\xf6\x6f\x89\xed\xbb\x93\x9c\x76\x21\x75\xf0\x92\x4c\x29\xf7\x2f\x9c\x01\x2e\xfe\x50\x46\x9e\x64\x0c\x14\xb3\x07\x5b\xc5\xc2\x73\x6c\xf1\x07\x5c\x45\x24\x14\x35\xae\x83\xf1\x6a\x4d\x89\x7a\xfa\xb3\xd8\x2d\x66\xf0\x36\x87\xf5\x2b\x53\x02\x03\x01\x00\x01\xa3\x81\xaa\x30\x81\xa7\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xa6\xb3\xe1\x2b\x2b\x49\xb6\xd7\x73\xa1\xaa\x94\xf5\x01\xe7\x73\x65\x4c\xac\x50\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x86\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xa6\xb3\xe1\x2b\x2b\x49\xb6\xd7\x73\xa1\xaa\x94\xf5\x01\xe7\x73\x65\x4c\xac\x50\x30\x44\x06\x03\x55\x1d\x20\x04\x3d\x30\x3b\x30\x39\x06\x04\x55\x1d\x20\x00\x30\x31\x30\x2f\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x23\x68\x74\x74\x70\x3a\x2f\x2f\x61\x63\x65\x64\x69\x63\x6f\x6d\x2e\x65\x64\x69\x63\x6f\x6d\x67\x72\x6f\x75\x70\x2e\x63\x6f\x6d\x2f\x64\x6f\x63\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\xce\x2c\x0b\x52\x51\x62\x26\x7d\x0c\x27\x83\x8f\xc5\xf6\xda\xa0\x68\x7b\x4f\x92\x5e\xea\xa4\x73\x32\x11\x53\x44\xb2\x44\xcb\x9d\xec\x0f\x79\x42\xb3\x10\xa6\xc7\x0d\x9d\xcb\xb6\xfa\x3f\x3a\x7c\xea\xbf\x88\x53\x1b\x3c\xf7\x82\xfa\x05\x35\x33\xe1\x35\xa8\x57\xc0\xe7\xfd\x8d\x4f\x3f\x93\x32\x4f\x78\x66\x03\x77\x07\x58\xe9\x95\xc8\x7e\x3e\xd0\x79\x00\x8c\xf2\x1b\x51\x33\x9b\xbc\x94\xe9\x3a\x7b\x6e\x52\x2d\x32\x9e\x23\xa4\x45\xfb\xb6\x2e\x13\xb0\x8b\x18\xb1\xdd\xce\xd5\x1d\xa7\x42\x7f\x55\xbe\xfb\x5b\xbb\x47\xd4\xfc\x24\xcd\x04\xae\x96\x05\x15\xd6\xac\xce\x30\xf3\xca\x0b\xc5\xba\xe2\x22\xe0\xa6\xad\x22\xe4\x02\xee\x74\x11\x7f\x4c\xff\x78\x1d\x35\xda\xe6\x02\x34\xeb\x18\x12\x61\x77\x06\x09\x16\x63\xea\x18\xad\xa2\x87\x1f\xf2\xc7\x80\x09\x09\x75\x4e\x10\xa8\x8f\x3d\x86\xb8\x75\x11\xc0\x24\x62\x8a\x96\x7b\x4a\x45\xe9\xec\x59\xc5\xbe\x6b\x83\xe6\xe1\xe8\xac\xb5\x30\x1e\xfe\x05\x07\x80\xf9\xe1\x23\x0d\x50\x8f\x05\x98\xff\x2c\x5f\xe8\x3b\xb6\xad\xcf\x81\xb5\x21\x87\xca\x08\x2a\x23\x27\x30\x20\x2b\xcf\xed\x94\x5b\xac\xb2\x7a\xd2\xc7\x28\xa1\x8a\x0b\x9b\x4d\x4a\x2c\x6d\x85\x3f\x09\x72\x3c\x67\xe2\xd9\xdc\x07\xba\xeb\x65\x7b\x5a\x01\x63\xd6\x90\x5b\x4f\x17\x66\x3d\x7f\x0b\x19\xa3\x93\x63\x10\x52\x2a\x9f\x14\x16\x58\xe2\xdc\xa5\xf4\xa1\x16\x8b\x0e\x91\x8b\x81\xca\x9b\x59\xfa\xd8\x6b\x91\x07\x65\x55\x5f\x52\x1f\xaf\x3a\xfb\x90\xdd\x69\xa5\x5b\x9c\x6d\x0e\x2c\xb6\xfa\xce\xac\xa5\x7c\x32\x4a\x67\x40\xdc\x30\x34\x23\xdd\xd7\x04\x23\x66\xf0\xfc\x55\x80\xa7\xfb\x66\x19\x82\x35\x67\x62\x70\x39\x5e\x6f\xc7\xea\x90\x40\x44\x08\x1e\xb8\xb2\xd6\xdb\xee\x59\xa7\x0d\x18\x79\x34\xbc\x54\x18\x5e\x53\xca\x34\x51\xed\x45\x0a\xe6\x8e\xc7\x82\x36\x3e\xa7\x38\x63\xa9\x30\x2c\x17\x10\x60\x92\x9f\x55\x87\x12\x59\x10\xc2\x0f\x67\x69\x11\xcc\x4e\x1e\x7e\x4a\x9a\xad\xaf\x40\xa8\x75\xac\x56\x90\x74\xb8\xa0\x9c\xa5\x79\x6f\xdc\xe9\x1a\xc8\x69\x05\xe9\xba\xfa\x03\xb3\x7c\xe4\xe0\x4e\xc2\xce\x9d\xe8\xb6\x46\x0d\x6e\x7e\x57\x3a\x67\x94\xc2\xcb\x1f\x9c\x77\x4a\x67\x4e\x69\x86\x43\x93\x38\xfb\xb6\xdb\x4f\x83\x91\xd4\x60\x7e\x4b\x3e\x2b\x38\x07\x55\x98\x5e\xa4", - ["Verisign Class 3 Public Primary Certification Authority"] = "\x30\x82\x02\x3c\x30\x82\x01\xa5\x02\x10\x3c\x91\x31\xcb\x1f\xf6\xd0\x1b\x0e\x9a\xb8\xd0\x44\xbf\x12\xbe\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x5f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x37\x30\x35\x06\x03\x55\x04\x0b\x13\x2e\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x1e\x17\x0d\x39\x36\x30\x31\x32\x39\x30\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x38\x30\x38\x30\x32\x32\x33\x35\x39\x35\x39\x5a\x30\x5f\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x55\x53\x31\x17\x30\x15\x06\x03\x55\x04\x0a\x13\x0e\x56\x65\x72\x69\x53\x69\x67\x6e\x2c\x20\x49\x6e\x63\x2e\x31\x37\x30\x35\x06\x03\x55\x04\x0b\x13\x2e\x43\x6c\x61\x73\x73\x20\x33\x20\x50\x75\x62\x6c\x69\x63\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x20\x41\x75\x74\x68\x6f\x72\x69\x74\x79\x30\x81\x9f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8d\x00\x30\x81\x89\x02\x81\x81\x00\xc9\x5c\x59\x9e\xf2\x1b\x8a\x01\x14\xb4\x10\xdf\x04\x40\xdb\xe3\x57\xaf\x6a\x45\x40\x8f\x84\x0c\x0b\xd1\x33\xd9\xd9\x11\xcf\xee\x02\x58\x1f\x25\xf7\x2a\xa8\x44\x05\xaa\xec\x03\x1f\x78\x7f\x9e\x93\xb9\x9a\x00\xaa\x23\x7d\xd6\xac\x85\xa2\x63\x45\xc7\x72\x27\xcc\xf4\x4c\xc6\x75\x71\xd2\x39\xef\x4f\x42\xf0\x75\xdf\x0a\x90\xc6\x8e\x20\x6f\x98\x0f\xf8\xac\x23\x5f\x70\x29\x36\xa4\xc9\x86\xe7\xb1\x9a\x20\xcb\x53\xa5\x85\xe7\x3d\xbe\x7d\x9a\xfe\x24\x45\x33\xdc\x76\x15\xed\x0f\xa2\x71\x64\x4c\x65\x2e\x81\x68\x45\xa7\x02\x03\x01\x00\x01\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x81\x81\x00\x10\x72\x52\xa9\x05\x14\x19\x32\x08\x41\xf0\xc5\x6b\x0a\xcc\x7e\x0f\x21\x19\xcd\xe4\x67\xdc\x5f\xa9\x1b\xe6\xca\xe8\x73\x9d\x22\xd8\x98\x6e\x73\x03\x61\x91\xc5\x7c\xb0\x45\x40\x6e\x44\x9d\x8d\xb0\xb1\x96\x74\x61\x2d\x0d\xa9\x45\xd2\xa4\x92\x2a\xd6\x9a\x75\x97\x6e\x3f\x53\xfd\x45\x99\x60\x1d\xa8\x2b\x4c\xf9\x5e\xa7\x09\xd8\x75\x30\xd7\xd2\x65\x60\x3d\x67\xd6\x48\x55\x75\x69\x3f\x91\xf5\x48\x0b\x47\x69\x22\x69\x82\x96\xbe\xc9\xc8\x38\x86\x4a\x7a\x2c\x73\x19\x48\x69\x4e\x6b\x7c\x65\xbf\x0f\xfc\x70\xce\x88\x90", - ["Microsec e-Szigno Root CA 2009"] = "\x30\x82\x04\x0a\x30\x82\x02\xf2\xa0\x03\x02\x01\x02\x02\x09\x00\xc2\x7e\x43\x04\x4e\x47\x3f\x19\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x81\x82\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x0c\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x0c\x0d\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x4c\x74\x64\x2e\x31\x27\x30\x25\x06\x03\x55\x04\x03\x0c\x1e\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x65\x2d\x53\x7a\x69\x67\x6e\x6f\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x32\x30\x30\x39\x31\x1f\x30\x1d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x10\x69\x6e\x66\x6f\x40\x65\x2d\x73\x7a\x69\x67\x6e\x6f\x2e\x68\x75\x30\x1e\x17\x0d\x30\x39\x30\x36\x31\x36\x31\x31\x33\x30\x31\x38\x5a\x17\x0d\x32\x39\x31\x32\x33\x30\x31\x31\x33\x30\x31\x38\x5a\x30\x81\x82\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x48\x55\x31\x11\x30\x0f\x06\x03\x55\x04\x07\x0c\x08\x42\x75\x64\x61\x70\x65\x73\x74\x31\x16\x30\x14\x06\x03\x55\x04\x0a\x0c\x0d\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x4c\x74\x64\x2e\x31\x27\x30\x25\x06\x03\x55\x04\x03\x0c\x1e\x4d\x69\x63\x72\x6f\x73\x65\x63\x20\x65\x2d\x53\x7a\x69\x67\x6e\x6f\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x32\x30\x30\x39\x31\x1f\x30\x1d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x09\x01\x16\x10\x69\x6e\x66\x6f\x40\x65\x2d\x73\x7a\x69\x67\x6e\x6f\x2e\x68\x75\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xe9\xf8\x8f\xf3\x63\xad\xda\x86\xd8\xa7\xe0\x42\xfb\xcf\x91\xde\xa6\x26\xf8\x99\xa5\x63\x70\xad\x9b\xae\xca\x33\x40\x7d\x6d\x96\x6e\xa1\x0e\x44\xee\xe1\x13\x9d\x94\x42\x52\x9a\xbd\x75\x85\x74\x2c\xa8\x0e\x1d\x93\xb6\x18\xb7\x8c\x2c\xa8\xcf\xfb\x5c\x71\xb9\xda\xec\xfe\xe8\x7e\x8f\xe4\x2f\x1d\xb2\xa8\x75\x87\xd8\xb7\xa1\xe5\x3b\xcf\x99\x4a\x46\xd0\x83\x19\x7d\xc0\xa1\x12\x1c\x95\x6d\x4a\xf4\xd8\xc7\xa5\x4d\x33\x2e\x85\x39\x40\x75\x7e\x14\x7c\x80\x12\x98\x50\xc7\x41\x67\xb8\xa0\x80\x61\x54\xa6\x6c\x4e\x1f\xe0\x9d\x0e\x07\xe9\xc9\xba\x33\xe7\xfe\xc0\x55\x28\x2c\x02\x80\xa7\x19\xf5\x9e\xdc\x55\x53\x03\x97\x7b\x07\x48\xff\x99\xfb\x37\x8a\x24\xc4\x59\xcc\x50\x10\x63\x8e\xaa\xa9\x1a\xb0\x84\x1a\x86\xf9\x5f\xbb\xb1\x50\x6e\xa4\xd1\x0a\xcc\xd5\x71\x7e\x1f\xa7\x1b\x7c\xf5\x53\x6e\x22\x5f\xcb\x2b\xe6\xd4\x7c\x5d\xae\xd6\xc2\xc6\x4c\xe5\x05\x01\xd9\xed\x57\xfc\xc1\x23\x79\xfc\xfa\xc8\x24\x83\x95\xf3\xb5\x6a\x51\x01\xd0\x77\xd6\xe9\x12\xa1\xf9\x1a\x83\xfb\x82\x1b\xb9\xb0\x97\xf4\x76\x06\x33\x43\x49\xa0\xff\x0b\xb5\xfa\xb5\x02\x03\x01\x00\x01\xa3\x81\x80\x30\x7e\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xcb\x0f\xc6\xdf\x42\x43\xcc\x3d\xcb\xb5\x48\x23\xa1\x1a\x7a\xa6\x2a\xbb\x34\x68\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\xcb\x0f\xc6\xdf\x42\x43\xcc\x3d\xcb\xb5\x48\x23\xa1\x1a\x7a\xa6\x2a\xbb\x34\x68\x30\x1b\x06\x03\x55\x1d\x11\x04\x14\x30\x12\x81\x10\x69\x6e\x66\x6f\x40\x65\x2d\x73\x7a\x69\x67\x6e\x6f\x2e\x68\x75\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x01\x01\x00\xc9\xd1\x0e\x5e\x2e\xd5\xcc\xb3\x7c\x3e\xcb\xfc\x3d\xff\x0d\x28\x95\x93\x04\xc8\xbf\xda\xcd\x79\xb8\x43\x90\xf0\xa4\xbe\xef\xf2\xef\x21\x98\xbc\xd4\xd4\x5d\x06\xf6\xee\x42\xec\x30\x6c\xa0\xaa\xa9\xca\xf1\xaf\x8a\xfa\x3f\x0b\x73\x6a\x3e\xea\x2e\x40\x7e\x1f\xae\x54\x61\x79\xeb\x2e\x08\x37\xd7\x23\xf3\x8c\x9f\xbe\x1d\xb1\xe1\xa4\x75\xdb\xa0\xe2\x54\x14\xb1\xba\x1c\x29\xa4\x18\xf6\x12\xba\xa2\x14\x14\xe3\x31\x35\xc8\x40\xff\xb7\xe0\x05\x76\x57\xc1\x1c\x59\xf2\xf8\xbf\xe4\xed\x25\x62\x5c\x84\xf0\x7e\x7e\x1f\xb3\xbe\xf9\xb7\x21\x11\xcc\x03\x01\x56\x70\xa7\x10\x92\x1e\x1b\x34\x81\x1e\xad\x9c\x1a\xc3\x04\x3c\xed\x02\x61\xd6\x1e\x06\xf3\x5f\x3a\x87\xf2\x2b\xf1\x45\x87\xe5\x3d\xac\xd1\xc7\x57\x84\xbd\x6b\xae\xdc\xd8\xf9\xb6\x1b\x62\x70\x0b\x3d\x36\xc9\x42\xf2\x32\xd7\x7a\x61\xe6\xd2\xdb\x3d\xcf\xc8\xa9\xc9\x9b\xdc\xdb\x58\x44\xd7\x6f\x38\xaf\x7f\x78\xd3\xa3\xad\x1a\x75\xba\x1c\xc1\x36\x7c\x8f\x1e\x6d\x1c\xc3\x75\x46\xae\x35\x05\xa6\xf6\x5c\x3d\x21\xee\x56\xf0\xc9\x82\x22\x2d\x7a\x54\xab\x70\xc3\x7d\x22\x65\x82\x70\x96", - ["E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi"] = "\x30\x82\x03\xb6\x30\x82\x02\x9e\xa0\x03\x02\x01\x02\x02\x10\x44\x99\x8d\x3c\xc0\x03\x27\xbd\x9c\x76\x95\xb9\xea\xdb\xac\xb5\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x75\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x52\x31\x28\x30\x26\x06\x03\x55\x04\x0a\x13\x1f\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x42\x69\x6c\x67\x69\x20\x47\x75\x76\x65\x6e\x6c\x69\x67\x69\x20\x41\x2e\x53\x2e\x31\x3c\x30\x3a\x06\x03\x55\x04\x03\x13\x33\x65\x2d\x47\x75\x76\x65\x6e\x20\x4b\x6f\x6b\x20\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x20\x48\x69\x7a\x6d\x65\x74\x20\x53\x61\x67\x6c\x61\x79\x69\x63\x69\x73\x69\x30\x1e\x17\x0d\x30\x37\x30\x31\x30\x34\x31\x31\x33\x32\x34\x38\x5a\x17\x0d\x31\x37\x30\x31\x30\x34\x31\x31\x33\x32\x34\x38\x5a\x30\x75\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x54\x52\x31\x28\x30\x26\x06\x03\x55\x04\x0a\x13\x1f\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x42\x69\x6c\x67\x69\x20\x47\x75\x76\x65\x6e\x6c\x69\x67\x69\x20\x41\x2e\x53\x2e\x31\x3c\x30\x3a\x06\x03\x55\x04\x03\x13\x33\x65\x2d\x47\x75\x76\x65\x6e\x20\x4b\x6f\x6b\x20\x45\x6c\x65\x6b\x74\x72\x6f\x6e\x69\x6b\x20\x53\x65\x72\x74\x69\x66\x69\x6b\x61\x20\x48\x69\x7a\x6d\x65\x74\x20\x53\x61\x67\x6c\x61\x79\x69\x63\x69\x73\x69\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xc3\x12\x20\x9e\xb0\x5e\x00\x65\x8d\x4e\x46\xbb\x80\x5c\xe9\x2c\x06\x97\xd5\xf3\x72\xc9\x70\xb9\xe7\x4b\x65\x80\xc1\x4b\xbe\x7e\x3c\xd7\x54\x31\x94\xde\xd5\x12\xba\x53\x16\x02\xea\x58\x63\xef\x5b\xd8\xf3\xed\x2a\x1a\xaa\x71\x48\xa3\xdc\x10\x2d\x5f\x5f\xeb\x5c\x4b\x9c\x96\x08\x42\x25\x28\x11\xcc\x8a\x5a\x62\x01\x50\xd5\xeb\x09\x53\x2f\xf8\xc3\x8f\xfe\xb3\xfc\xfd\x9d\xa2\xe3\x5f\x7d\xbe\xed\x0b\xe0\x60\xeb\x69\xec\x33\xed\xd8\x8d\xfb\x12\x49\x83\x00\xc9\x8b\x97\x8c\x3b\x73\x2a\x32\xb3\x12\xf7\xb9\x4d\xf2\xf4\x4d\x6d\xc7\xe6\xd6\x26\x37\x08\xf2\xd9\xfd\x6b\x5c\xa3\xe5\x48\x5c\x58\xbc\x42\xbe\x03\x5a\x81\xba\x1c\x35\x0c\x00\xd3\xf5\x23\x7e\x71\x30\x08\x26\x38\xdc\x25\x11\x47\x2d\xf3\xba\x23\x10\xa5\xbf\xbc\x02\xf7\x43\x5e\xc7\xfe\xb0\x37\x50\x99\x7b\x0f\x93\xce\xe6\x43\x2c\xc3\x7e\x0d\xf2\x1c\x43\x66\x60\xcb\x61\x31\x47\x87\xa3\x4f\xae\xbd\x56\x6c\x4c\xbc\xbc\xf8\x05\xca\x64\xf4\xe9\x34\xa1\x2c\xb5\x73\xe1\xc2\x3e\xe8\xc8\xc9\x34\x25\x08\x5c\xf3\xed\xa6\xc7\x94\x9f\xad\x88\x43\x25\xd7\xe1\x39\x60\xfe\xac\x39\x59\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x9f\xee\x44\xb3\x94\xd5\xfa\x91\x4f\x2e\xd9\x55\x9a\x04\x56\xdb\x2d\xc4\xdb\xa5\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x7f\x5f\xb9\x53\x5b\x63\x3d\x75\x32\xe7\xfa\xc4\x74\x1a\xcb\x46\xdf\x46\x69\x1c\x52\xcf\xaa\x4f\xc2\x68\xeb\xff\x80\xa9\x51\xe8\x3d\x62\x77\x89\x3d\x0a\x75\x39\xf1\x6e\x5d\x17\x87\x6f\x68\x05\xc1\x94\x6c\xd9\x5d\xdf\xda\xb2\x59\xcb\xa5\x10\x8a\xca\xcc\x39\xcd\x9f\xeb\x4e\xde\x52\xff\x0c\xf0\xf4\x92\xa9\xf2\x6c\x53\xab\x9b\xd2\x47\xa0\x1f\x74\xf7\x9b\x9a\xf1\x2f\x15\x9f\x7a\x64\x30\x18\x07\x3c\x2a\x0f\x67\xca\xfc\x0f\x89\x61\x9d\x65\xa5\x3c\xe5\xbc\x13\x5b\x08\xdb\xe3\xff\xed\xbb\x06\xbb\x6a\x06\xb1\x7a\x4f\x65\xc6\x82\xfd\x1e\x9c\x8b\xb5\x0d\xee\x48\xbb\xb8\xbd\xaa\x08\xb4\xfb\xa3\x7c\xcb\x9f\xcd\x90\x76\x5c\x86\x96\x78\x57\x0a\x66\xf9\x58\x1a\x9d\xfd\x97\x29\x60\xde\x11\xa6\x90\x1c\x19\x1c\xee\x01\x96\x22\x34\x34\x2e\x91\xf9\xb7\xc4\x27\xd1\x7b\xe6\xbf\xfb\x80\x44\x5a\x16\xe5\xeb\xe0\xd4\x0a\x38\xbc\xe4\x91\xe3\xd5\xeb\x5c\xc1\xac\xdf\x1b\x6a\x7c\x9e\xe5\x75\xd2\xb6\x97\x87\xdb\xcc\x87\x2b\x43\x3a\x84\x08\xaf\xab\x3c\xdb\xf7\x3c\x66\x31\x86\xb0\x9d\x53\x79\xed\xf8\x23\xde\x42\xe3\x2d\x82\xf1\x0f\xe5\xfa\x97", - ["GlobalSign Root CA - R3"] = "\x30\x82\x03\x5f\x30\x82\x02\x47\xa0\x03\x02\x01\x02\x02\x0b\x04\x00\x00\x00\x00\x01\x21\x58\x53\x08\xa2\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x4c\x31\x20\x30\x1e\x06\x03\x55\x04\x0b\x13\x17\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x2d\x20\x52\x33\x31\x13\x30\x11\x06\x03\x55\x04\x0a\x13\x0a\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x31\x13\x30\x11\x06\x03\x55\x04\x03\x13\x0a\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x30\x1e\x17\x0d\x30\x39\x30\x33\x31\x38\x31\x30\x30\x30\x30\x30\x5a\x17\x0d\x32\x39\x30\x33\x31\x38\x31\x30\x30\x30\x30\x30\x5a\x30\x4c\x31\x20\x30\x1e\x06\x03\x55\x04\x0b\x13\x17\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x20\x52\x6f\x6f\x74\x20\x43\x41\x20\x2d\x20\x52\x33\x31\x13\x30\x11\x06\x03\x55\x04\x0a\x13\x0a\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x31\x13\x30\x11\x06\x03\x55\x04\x03\x13\x0a\x47\x6c\x6f\x62\x61\x6c\x53\x69\x67\x6e\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xcc\x25\x76\x90\x79\x06\x78\x22\x16\xf5\xc0\x83\xb6\x84\xca\x28\x9e\xfd\x05\x76\x11\xc5\xad\x88\x72\xfc\x46\x02\x43\xc7\xb2\x8a\x9d\x04\x5f\x24\xcb\x2e\x4b\xe1\x60\x82\x46\xe1\x52\xab\x0c\x81\x47\x70\x6c\xdd\x64\xd1\xeb\xf5\x2c\xa3\x0f\x82\x3d\x0c\x2b\xae\x97\xd7\xb6\x14\x86\x10\x79\xbb\x3b\x13\x80\x77\x8c\x08\xe1\x49\xd2\x6a\x62\x2f\x1f\x5e\xfa\x96\x68\xdf\x89\x27\x95\x38\x9f\x06\xd7\x3e\xc9\xcb\x26\x59\x0d\x73\xde\xb0\xc8\xe9\x26\x0e\x83\x15\xc6\xef\x5b\x8b\xd2\x04\x60\xca\x49\xa6\x28\xf6\x69\x3b\xf6\xcb\xc8\x28\x91\xe5\x9d\x8a\x61\x57\x37\xac\x74\x14\xdc\x74\xe0\x3a\xee\x72\x2f\x2e\x9c\xfb\xd0\xbb\xbf\xf5\x3d\x00\xe1\x06\x33\xe8\x82\x2b\xae\x53\xa6\x3a\x16\x73\x8c\xdd\x41\x0e\x20\x3a\xc0\xb4\xa7\xa1\xe9\xb2\x4f\x90\x2e\x32\x60\xe9\x57\xcb\xb9\x04\x92\x68\x68\xe5\x38\x26\x60\x75\xb2\x9f\x77\xff\x91\x14\xef\xae\x20\x49\xfc\xad\x40\x15\x48\xd1\x02\x31\x61\x19\x5e\xb8\x97\xef\xad\x77\xb7\x64\x9a\x7a\xbf\x5f\xc1\x13\xef\x9b\x62\xfb\x0d\x6c\xe0\x54\x69\x16\xa9\x03\xda\x6e\xe9\x83\x93\x71\x76\xc6\x69\x85\x82\x17\x02\x03\x01\x00\x01\xa3\x42\x30\x40\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x8f\xf0\x4b\x7f\xa8\x2e\x45\x24\xae\x4d\x50\xfa\x63\x9a\x8b\xde\xe2\xdd\x1b\xbc\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x01\x01\x00\x4b\x40\xdb\xc0\x50\xaa\xfe\xc8\x0c\xef\xf7\x96\x54\x45\x49\xbb\x96\x00\x09\x41\xac\xb3\x13\x86\x86\x28\x07\x33\xca\x6b\xe6\x74\xb9\xba\x00\x2d\xae\xa4\x0a\xd3\xf5\xf1\xf1\x0f\x8a\xbf\x73\x67\x4a\x83\xc7\x44\x7b\x78\xe0\xaf\x6e\x6c\x6f\x03\x29\x8e\x33\x39\x45\xc3\x8e\xe4\xb9\x57\x6c\xaa\xfc\x12\x96\xec\x53\xc6\x2d\xe4\x24\x6c\xb9\x94\x63\xfb\xdc\x53\x68\x67\x56\x3e\x83\xb8\xcf\x35\x21\xc3\xc9\x68\xfe\xce\xda\xc2\x53\xaa\xcc\x90\x8a\xe9\xf0\x5d\x46\x8c\x95\xdd\x7a\x58\x28\x1a\x2f\x1d\xde\xcd\x00\x37\x41\x8f\xed\x44\x6d\xd7\x53\x28\x97\x7e\xf3\x67\x04\x1e\x15\xd7\x8a\x96\xb4\xd3\xde\x4c\x27\xa4\x4c\x1b\x73\x73\x76\xf4\x17\x99\xc2\x1f\x7a\x0e\xe3\x2d\x08\xad\x0a\x1c\x2c\xff\x3c\xab\x55\x0e\x0f\x91\x7e\x36\xeb\xc3\x57\x49\xbe\xe1\x2e\x2d\x7c\x60\x8b\xc3\x41\x51\x13\x23\x9d\xce\xf7\x32\x6b\x94\x01\xa8\x99\xe7\x2c\x33\x1f\x3a\x3b\x25\xd2\x86\x40\xce\x3b\x2c\x86\x78\xc9\x61\x2f\x14\xba\xee\xdb\x55\x6f\xdf\x84\xee\x05\x09\x4d\xbd\x28\xd8\x72\xce\xd3\x62\x50\x65\x1e\xeb\x92\x97\x83\x31\xd9\xb3\xb5\xca\x47\x58\x3f\x5f", - ["TC TrustCenter Universal CA III"] = "\x30\x82\x03\xe1\x30\x82\x02\xc9\xa0\x03\x02\x01\x02\x02\x0e\x63\x25\x00\x01\x00\x02\x14\x8d\x33\x15\x02\xe4\x6c\xf4\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x7b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x47\x6d\x62\x48\x31\x24\x30\x22\x06\x03\x55\x04\x0b\x13\x1b\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x31\x28\x30\x26\x06\x03\x55\x04\x03\x13\x1f\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x20\x49\x49\x49\x30\x1e\x17\x0d\x30\x39\x30\x39\x30\x39\x30\x38\x31\x35\x32\x37\x5a\x17\x0d\x32\x39\x31\x32\x33\x31\x32\x33\x35\x39\x35\x39\x5a\x30\x7b\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x44\x45\x31\x1c\x30\x1a\x06\x03\x55\x04\x0a\x13\x13\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x47\x6d\x62\x48\x31\x24\x30\x22\x06\x03\x55\x04\x0b\x13\x1b\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x31\x28\x30\x26\x06\x03\x55\x04\x03\x13\x1f\x54\x43\x20\x54\x72\x75\x73\x74\x43\x65\x6e\x74\x65\x72\x20\x55\x6e\x69\x76\x65\x72\x73\x61\x6c\x20\x43\x41\x20\x49\x49\x49\x30\x82\x01\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x00\x30\x82\x01\x0a\x02\x82\x01\x01\x00\xc2\xda\x9c\x62\xb0\xb9\x71\x12\xb0\x0b\xc8\x1a\x57\xb2\xae\x83\x14\x99\xb3\x34\x4b\x9b\x90\xa2\xc5\xe7\xe7\x2f\x02\xa0\x4d\x2d\xa4\xfa\x85\xda\x9b\x25\x85\x2d\x40\x28\x20\x6d\xea\xe0\xbd\xb1\x48\x83\x22\x29\x44\x9f\x4e\x83\xee\x35\x51\x13\x73\x74\xd5\xbc\xf2\x30\x66\x94\x53\xc0\x40\x36\x2f\x0c\x84\x65\xce\x0f\x6e\xc2\x58\x93\xe8\x2c\x0b\x3a\xe9\xc1\x8e\xfb\xf2\x6b\xca\x3c\xe2\x9c\x4e\x8e\xe4\xf9\x7d\xd3\x27\x9f\x1b\xd5\x67\x78\x87\x2d\x7f\x0b\x47\xb3\xc7\xe8\xc9\x48\x7c\xaf\x2f\xcc\x0a\xd9\x41\xef\x9f\xfe\x9a\xe1\xb2\xae\xf9\x53\xb5\xe5\xe9\x46\x9f\x60\xe3\xdf\x8d\xd3\x7f\xfb\x96\x7e\xb3\xb5\x72\xf8\x4b\xad\x08\x79\xcd\x69\x89\x40\x27\xf5\x2a\xc1\xad\x43\xec\xa4\x53\xc8\x61\xb6\xf7\xd2\x79\x2a\x67\x18\x76\x48\x6d\x5b\x25\x01\xd1\x26\xc5\xb7\x57\x69\x23\x15\x5b\x61\x8a\xad\xf0\x1b\x2d\xd9\xaf\x5c\xf1\x26\x90\x69\xa9\xd5\x0c\x40\xf5\x33\x80\x43\x8f\x9c\xa3\x76\x2a\x45\xb4\xaf\xbf\x7f\x3e\x87\x3f\x76\xc5\xcd\x2a\xde\x20\xc5\x16\x58\xcb\xf9\x1b\xf5\x0f\xcb\x0d\x11\x52\x64\xb8\xd2\x76\x62\x77\x83\xf1\x58\x9f\xff\x02\x03\x01\x00\x01\xa3\x63\x30\x61\x30\x1f\x06\x03\x55\x1d\x23\x04\x18\x30\x16\x80\x14\x56\xe7\xe1\x5b\x25\x43\x80\xe0\xf6\x8c\xe1\x71\xbc\x8e\xe5\x80\x2f\xc4\x48\xe2\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x56\xe7\xe1\x5b\x25\x43\x80\xe0\xf6\x8c\xe1\x71\xbc\x8e\xe5\x80\x2f\xc4\x48\xe2\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x01\x01\x00\x83\xc7\xaf\xea\x7f\x4d\x0a\x3c\x39\xb1\x68\xbe\x7b\x6d\x89\x2e\xe9\xb3\x09\xe7\x18\x57\x8d\x85\x9a\x17\xf3\x76\x42\x50\x13\x0f\xc7\x90\x6f\x33\xad\xc5\x49\x60\x2b\x6c\x49\x58\x19\xd4\xe2\xbe\xb7\xbf\xab\x49\xbc\x94\xc8\xab\xbe\x28\x6c\x16\x68\xe0\xc8\x97\x46\x20\xa0\x68\x67\x60\x88\x39\x20\x51\xd8\x68\x01\x11\xce\xa7\xf6\x11\x07\xf6\xec\xec\xac\x1a\x1f\xb2\x66\x6e\x56\x67\x60\x7a\x74\x5e\xc0\x6d\x97\x36\xae\xb5\x0d\x5d\x66\x73\xc0\x25\x32\x45\xd8\x4a\x06\x07\x8f\xc4\xb7\x07\xb1\x4d\x06\x0d\xe1\xa5\xeb\xf4\x75\xca\xba\x9c\xd0\xbd\xb3\xd3\x32\x24\x4c\xee\x7e\xe2\x76\x04\x4b\x49\x53\xd8\xf2\xe9\x54\x33\xfc\xe5\x71\x1f\x3d\x14\x5c\x96\x4b\xf1\x3a\xf2\x00\xbb\x6c\xb4\xfa\x96\x55\x08\x88\x09\xc1\xcc\x91\x19\x29\xb0\x20\x2d\xff\xcb\x38\xa4\x40\xe1\x17\xbe\x79\x61\x80\xff\x07\x03\x86\x4c\x4e\x7b\x06\x9f\x11\x86\x8d\x89\xee\x27\xc4\xdb\xe2\xbc\x19\x8e\x0b\xc3\xc3\x13\xc7\x2d\x03\x63\x3b\xd3\xe8\xe4\xa2\x2a\xc2\x82\x08\x94\x16\x54\xf0\xef\x1f\x27\x90\x25\xb8\x0d\x0e\x28\x1b\x47\x77\x47\xbd\x1c\xa8\x25\xf1\x94\xb4\x66", - ["Autoridad de Certificacion Firmaprofesional CIF A62634068"] = "\x30\x82\x06\x14\x30\x82\x03\xfc\xa0\x03\x02\x01\x02\x02\x08\x53\xec\x3b\xee\xfb\xb2\x48\x5f\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x51\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x31\x42\x30\x40\x06\x03\x55\x04\x03\x0c\x39\x41\x75\x74\x6f\x72\x69\x64\x61\x64\x20\x64\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x63\x69\x6f\x6e\x20\x46\x69\x72\x6d\x61\x70\x72\x6f\x66\x65\x73\x69\x6f\x6e\x61\x6c\x20\x43\x49\x46\x20\x41\x36\x32\x36\x33\x34\x30\x36\x38\x30\x1e\x17\x0d\x30\x39\x30\x35\x32\x30\x30\x38\x33\x38\x31\x35\x5a\x17\x0d\x33\x30\x31\x32\x33\x31\x30\x38\x33\x38\x31\x35\x5a\x30\x51\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x31\x42\x30\x40\x06\x03\x55\x04\x03\x0c\x39\x41\x75\x74\x6f\x72\x69\x64\x61\x64\x20\x64\x65\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x63\x69\x6f\x6e\x20\x46\x69\x72\x6d\x61\x70\x72\x6f\x66\x65\x73\x69\x6f\x6e\x61\x6c\x20\x43\x49\x46\x20\x41\x36\x32\x36\x33\x34\x30\x36\x38\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xca\x96\x6b\x8e\xea\xf8\xfb\xf1\xa2\x35\xe0\x7f\x4c\xda\xe0\xc3\x52\xd7\x7d\xb6\x10\xc8\x02\x5e\xb3\x43\x2a\xc4\x4f\x6a\xb2\xca\x1c\x5d\x28\x9a\x78\x11\x1a\x69\x59\x57\xaf\xb5\x20\x42\xe4\x8b\x0f\xe6\xdf\x5b\xa6\x03\x92\x2f\xf5\x11\xe4\x62\xd7\x32\x71\x38\xd9\x04\x0c\x71\xab\x3d\x51\x7e\x0f\x07\xdf\x63\x05\x5c\xe9\xbf\x94\x6f\xc1\x29\x82\xc0\xb4\xda\x51\xb0\xc1\x3c\xbb\xad\x37\x4a\x5c\xca\xf1\x4b\x36\x0e\x24\xab\xbf\xc3\x84\x77\xfd\xa8\x50\xf4\xb1\xe7\xc6\x2f\xd2\x2d\x59\x8d\x7a\x0a\x4e\x96\x69\x52\x02\xaa\x36\x98\xec\xfc\xfa\x14\x83\x0c\x37\x1f\xc9\x92\x37\x7f\xd7\x81\x2d\xe5\xc4\xb9\xe0\x3e\x34\xfe\x67\xf4\x3e\x66\xd1\xd3\xf4\x40\xcf\x5e\x62\x34\x0f\x70\x06\x3e\x20\x18\x5a\xce\xf7\x72\x1b\x25\x6c\x93\x74\x14\x93\xa3\x73\xb1\x0e\xaa\x87\x10\x23\x59\x5f\x20\x05\x19\x47\xed\x68\x8e\x92\x12\xca\x5d\xfc\xd6\x2b\xb2\x92\x3c\x20\xcf\xe1\x5f\xaf\x20\xbe\xa0\x76\x7f\x76\xe5\xec\x1a\x86\x61\x33\x3e\xe7\x7b\xb4\x3f\xa0\x0f\x8e\xa2\xb9\x6a\x6f\xb9\x87\x26\x6f\x41\x6c\x88\xa6\x50\xfd\x6a\x63\x0b\xf5\x93\x16\x1b\x19\x8f\xb2\xed\x9b\x9b\xc9\x90\xf5\x01\x0c\xdf\x19\x3d\x0f\x3e\x38\x23\xc9\x2f\x8f\x0c\xd1\x02\xfe\x1b\x55\xd6\x4e\xd0\x8d\x3c\xaf\x4f\xa4\xf3\xfe\xaf\x2a\xd3\x05\x9d\x79\x08\xa1\xcb\x57\x31\xb4\x9c\xc8\x90\xb2\x67\xf4\x18\x16\x93\x3a\xfc\x47\xd8\xd1\x78\x96\x31\x1f\xba\x2b\x0c\x5f\x5d\x99\xad\x63\x89\x5a\x24\x20\x76\xd8\xdf\xfd\xab\x4e\xa6\x22\xaa\x9d\x5e\xe6\x27\x8a\x7d\x68\x29\xa3\xe7\x8a\xb8\xda\x11\xbb\x17\x2d\x99\x9d\x13\x24\x46\xf7\xc5\xe2\xd8\x9f\x8e\x7f\xc7\x8f\x74\x6d\x5a\xb2\xe8\x72\xf5\xac\xee\x24\x10\xad\x2f\x14\xda\xff\x2d\x9a\x46\x71\x47\xbe\x42\xdf\xbb\x01\xdb\xf4\x7f\xd3\x28\x8f\x31\x59\x5b\xd3\xc9\x02\xa6\xb4\x52\xca\x6e\x97\xfb\x43\xc5\x08\x26\x6f\x8a\xf4\xbb\xfd\x9f\x28\xaa\x0d\xd5\x45\xf3\x13\x3a\x1d\xd8\xc0\x78\x8f\x41\x67\x3c\x1e\x94\x64\xae\x7b\x0b\xc5\xe8\xd9\x01\x88\x39\x1a\x97\x86\x64\x41\xd5\x3b\x87\x0c\x6e\xfa\x0f\xc6\xbd\x48\x14\xbf\x39\x4d\xd4\x9e\x41\xb6\x8f\x96\x1d\x63\x96\x93\xd9\x95\x06\x78\x31\x68\x9e\x37\x06\x3b\x80\x89\x45\x61\x39\x23\xc7\x1b\x44\xa3\x15\xe5\x1c\xf8\x92\x30\xbb\x02\x03\x01\x00\x01\xa3\x81\xef\x30\x81\xec\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x01\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x65\xcd\xeb\xab\x35\x1e\x00\x3e\x7e\xd5\x74\xc0\x1c\xb4\x73\x47\x0e\x1a\x64\x2f\x30\x81\xa6\x06\x03\x55\x1d\x20\x04\x81\x9e\x30\x81\x9b\x30\x81\x98\x06\x04\x55\x1d\x20\x00\x30\x81\x8f\x30\x2f\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x23\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x66\x69\x72\x6d\x61\x70\x72\x6f\x66\x65\x73\x69\x6f\x6e\x61\x6c\x2e\x63\x6f\x6d\x2f\x63\x70\x73\x30\x5c\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x02\x30\x50\x1e\x4e\x00\x50\x00\x61\x00\x73\x00\x65\x00\x6f\x00\x20\x00\x64\x00\x65\x00\x20\x00\x6c\x00\x61\x00\x20\x00\x42\x00\x6f\x00\x6e\x00\x61\x00\x6e\x00\x6f\x00\x76\x00\x61\x00\x20\x00\x34\x00\x37\x00\x20\x00\x42\x00\x61\x00\x72\x00\x63\x00\x65\x00\x6c\x00\x6f\x00\x6e\x00\x61\x00\x20\x00\x30\x00\x38\x00\x30\x00\x31\x00\x37\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x17\x7d\xa0\xf9\xb4\xdd\xc5\xc5\xeb\xad\x4b\x24\xb5\xa1\x02\xab\xdd\xa5\x88\x4a\xb2\x0f\x55\x4b\x2b\x57\x8c\x3b\xe5\x31\xdd\xfe\xc4\x32\xf1\xe7\x5b\x64\x96\x36\x32\x18\xec\xa5\x32\x77\xd7\xe3\x44\xb6\xc0\x11\x2a\x80\xb9\x3d\x6a\x6e\x7c\x9b\xd3\xad\xfc\xc3\xd6\xa3\xe6\x64\x29\x7c\xd1\xe1\x38\x1e\x82\x2b\xff\x27\x65\xaf\xfb\x16\x15\xc4\x2e\x71\x84\xe5\xb5\xff\xfa\xa4\x47\xbd\x64\x32\xbb\xf6\x25\x84\xa2\x27\x42\xf5\x20\xb0\xc2\x13\x10\x11\xcd\x10\x15\xba\x42\x90\x2a\xd2\x44\xe1\x96\x26\xeb\x31\x48\x12\xfd\x2a\xda\xc9\x06\xcf\x74\x1e\xa9\x4b\xd5\x87\x28\xf9\x79\x34\x92\x3e\x2e\x44\xe8\xf6\x8f\x4f\x8f\x35\x3f\x25\xb3\x39\xdc\x63\x2a\x90\x6b\x20\x5f\xc4\x52\x12\x4e\x97\x2c\x2a\xac\x9d\x97\xde\x48\xf2\xa3\x66\xdb\xc2\xd2\x83\x95\xa6\x66\xa7\x9e\x25\x0f\xe9\x0b\x33\x91\x65\x0a\x5a\xc3\xd9\x54\x12\xdd\xaf\xc3\x4e\x0e\x1f\x26\x5e\x0d\xdc\xb3\x8d\xec\xd5\x81\x70\xde\xd2\x4f\x24\x05\xf3\x6c\x4e\xf5\x4c\x49\x66\x8d\xd1\xff\xd2\x0b\x25\x41\x48\xfe\x51\x84\xc6\x42\xaf\x80\x04\xcf\xd0\x7e\x64\x49\xe4\xf2\xdf\xa2\xec\xb1\x4c\xc0\x2a\x1d\xe7\xb4\xb1\x65\xa2\xc4\xbc\xf1\x98\xf4\xaa\x70\x07\x63\xb4\xb8\xda\x3b\x4c\xfa\x40\x22\x30\x5b\x11\xa6\xf0\x05\x0e\xc6\x02\x03\x48\xab\x86\x9b\x85\xdd\xdb\xdd\xea\xa2\x76\x80\x73\x7d\xf5\x9c\x04\xc4\x45\x8d\xe7\xb9\x1c\x8b\x9e\xea\xd7\x75\xd1\x72\xb1\xde\x75\x44\xe7\x42\x7d\xe2\x57\x6b\x7d\xdc\x99\xbc\x3d\x83\x28\xea\x80\x93\x8d\xc5\x4c\x65\xc1\x70\x81\xb8\x38\xfc\x43\x31\xb2\xf6\x03\x34\x47\xb2\xac\xfb\x22\x06\xcb\x1e\xdd\x17\x47\x1c\x5f\x66\xb9\xd3\x1a\xa2\xda\x11\xb1\xa4\xbc\x23\xc9\xe4\xbe\x87\xff\xb9\x94\xb6\xf8\x5d\x20\x4a\xd4\x5f\xe7\xbd\x68\x7b\x65\xf2\x15\x1e\xd2\x3a\xa9\x2d\xe9\xd8\x6b\x24\xac\x97\x58\x44\x47\xad\x59\x18\xf1\x21\x65\x70\xde\xce\x34\x60\xa8\x40\xf1\xf3\x3c\xa4\xc3\x28\x23\x8c\xfe\x27\x33\x43\x40\xa0\x17\x3c\xeb\xea\x3b\xb0\x72\xa6\xa3\xb9\x4a\x4b\x5e\x16\x48\xf4\xb2\xbc\xc8\x8c\x92\xc5\x9d\x9f\xac\x72\x36\xbc\x34\x80\x34\x6b\xa9\x8b\x92\xc0\xb8\x17\xed\xec\x76\x53\xf5\x24\x01\x8c\xb3\x22\xe8\x4b\x7c\x55\xc6\x9d\xfa\xa3\x14\xbb\x65\x85\x6e\x6e\x4f\x12\x7e\x0a\x3c\x9d\x95", - ["Izenpe.com"] = "\x30\x82\x05\xf1\x30\x82\x03\xd9\xa0\x03\x02\x01\x02\x02\x10\x00\xb0\xb7\x5a\x16\x48\x5f\xbf\xe1\xcb\xf5\x8b\xd7\x19\xe6\x7d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x30\x38\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x0c\x0b\x49\x5a\x45\x4e\x50\x45\x20\x53\x2e\x41\x2e\x31\x13\x30\x11\x06\x03\x55\x04\x03\x0c\x0a\x49\x7a\x65\x6e\x70\x65\x2e\x63\x6f\x6d\x30\x1e\x17\x0d\x30\x37\x31\x32\x31\x33\x31\x33\x30\x38\x32\x38\x5a\x17\x0d\x33\x37\x31\x32\x31\x33\x30\x38\x32\x37\x32\x35\x5a\x30\x38\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x53\x31\x14\x30\x12\x06\x03\x55\x04\x0a\x0c\x0b\x49\x5a\x45\x4e\x50\x45\x20\x53\x2e\x41\x2e\x31\x13\x30\x11\x06\x03\x55\x04\x03\x0c\x0a\x49\x7a\x65\x6e\x70\x65\x2e\x63\x6f\x6d\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xc9\xd3\x7a\xca\x0f\x1e\xac\xa7\x86\xe8\x16\x65\x6a\xb1\xc2\x1b\x45\x32\x71\x95\xd9\xfe\x10\x5b\xcc\xaf\xe7\xa5\x79\x01\x8f\x89\xc3\xca\xf2\x55\x71\xf7\x77\xbe\x77\x94\xf3\x72\xa4\x2c\x44\xd8\x9e\x92\x9b\x14\x3a\xa1\xe7\x24\x90\x0a\x0a\x56\x8e\xc5\xd8\x26\x94\xe1\xd9\x48\xe1\x2d\x3e\xda\x0a\x72\xdd\xa3\x99\x15\xda\x81\xa2\x87\xf4\x7b\x6e\x26\x77\x89\x58\xad\xd6\xeb\x0c\xb2\x41\x7a\x73\x6e\x6d\xdb\x7a\x78\x41\xe9\x08\x88\x12\x7e\x87\x2e\x66\x11\x63\x6c\x54\xfb\x3c\x9d\x72\xc0\xbc\x2e\xff\xc2\xb7\xdd\x0d\x76\xe3\x3a\xd7\xf7\xb4\x68\xbe\xa2\xf5\xe3\x81\x6e\xc1\x46\x6f\x5d\x8d\xe0\x4d\xc6\x54\x55\x89\x1a\x33\x31\x0a\xb1\x57\xb9\xa3\x8a\x98\xc3\xec\x3b\x34\xc5\x95\x41\x69\x7e\x75\xc2\x3c\x20\xc5\x61\xba\x51\x47\xa0\x20\x90\x93\xa1\x90\x4b\xf3\x4e\x7c\x85\x45\x54\x9a\xd1\x05\x26\x41\xb0\xb5\x4d\x1d\x33\xbe\xc4\x03\xc8\x25\x7c\xc1\x70\xdb\x3b\xf4\x09\x2d\x54\x27\x48\xac\x2f\xe1\xc4\xac\x3e\xc8\xcb\x92\x4c\x53\x39\x37\x23\xec\xd3\x01\xf9\xe0\x09\x44\x4d\x4d\x64\xc0\xe1\x0d\x5a\x87\x22\xbc\xad\x1b\xa3\xfe\x26\xb5\x15\xf3\xa7\xfc\x84\x19\xe9\xec\xa1\x88\xb4\x44\x69\x84\x83\xf3\x89\xd1\x74\x06\xa9\xcc\x0b\xd6\xc2\xde\x27\x85\x50\x26\xca\x17\xb8\xc9\x7a\x87\x56\x2c\x1a\x01\x1e\x6c\xbe\x13\xad\x10\xac\xb5\x24\xf5\x38\x91\xa1\xd6\x4b\xda\xf1\xbb\xd2\xde\x47\xb5\xf1\xbc\x81\xf6\x59\x6b\xcf\x19\x53\xe9\x8d\x15\xcb\x4a\xcb\xa9\x6f\x44\xe5\x1b\x41\xcf\xe1\x86\xa7\xca\xd0\x6a\x9f\xbc\x4c\x8d\x06\x33\x5a\xa2\x85\xe5\x90\x35\xa0\x62\x5c\x16\x4e\xf0\xe3\xa2\xfa\x03\x1a\xb4\x2c\x71\xb3\x58\x2c\xde\x7b\x0b\xdb\x1a\x0f\xeb\xde\x21\x1f\x06\x77\x06\x03\xb0\xc9\xef\x99\xfc\xc0\xb9\x4f\x0b\x86\x28\xfe\xd2\xb9\xea\xe3\xda\xa5\xc3\x47\x69\x12\xe0\xdb\xf0\xf6\x19\x8b\xed\x7b\x70\xd7\x02\xd6\xed\x87\x18\x28\x2c\x04\x24\x4c\x77\xe4\x48\x8a\x1a\xc6\x3b\x9a\xd4\x0f\xca\xfa\x75\xd2\x01\x40\x5a\x8d\x79\xbf\x8b\xcf\x4b\xcf\xaa\x16\xc1\x95\xe4\xad\x4c\x8a\x3e\x17\x91\xd4\xb1\x62\xe5\x82\xe5\x80\x04\xa4\x03\x7e\x8d\xbf\xda\x7f\xa2\x0f\x97\x4f\x0c\xd3\x0d\xfb\xd7\xd1\xe5\x72\x7e\x1c\xc8\x77\xff\x5b\x9a\x0f\xb7\xae\x05\x46\xe5\xf1\xa8\x16\xec\x47\xa4\x17\x02\x03\x01\x00\x01\xa3\x81\xf6\x30\x81\xf3\x30\x81\xb0\x06\x03\x55\x1d\x11\x04\x81\xa8\x30\x81\xa5\x81\x0f\x69\x6e\x66\x6f\x40\x69\x7a\x65\x6e\x70\x65\x2e\x63\x6f\x6d\xa4\x81\x91\x30\x81\x8e\x31\x47\x30\x45\x06\x03\x55\x04\x0a\x0c\x3e\x49\x5a\x45\x4e\x50\x45\x20\x53\x2e\x41\x2e\x20\x2d\x20\x43\x49\x46\x20\x41\x30\x31\x33\x33\x37\x32\x36\x30\x2d\x52\x4d\x65\x72\x63\x2e\x56\x69\x74\x6f\x72\x69\x61\x2d\x47\x61\x73\x74\x65\x69\x7a\x20\x54\x31\x30\x35\x35\x20\x46\x36\x32\x20\x53\x38\x31\x43\x30\x41\x06\x03\x55\x04\x09\x0c\x3a\x41\x76\x64\x61\x20\x64\x65\x6c\x20\x4d\x65\x64\x69\x74\x65\x72\x72\x61\x6e\x65\x6f\x20\x45\x74\x6f\x72\x62\x69\x64\x65\x61\x20\x31\x34\x20\x2d\x20\x30\x31\x30\x31\x30\x20\x56\x69\x74\x6f\x72\x69\x61\x2d\x47\x61\x73\x74\x65\x69\x7a\x30\x0f\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x05\x30\x03\x01\x01\xff\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\x1d\x1c\x65\x0e\xa8\xf2\x25\x7b\xb4\x91\xcf\xe4\xb1\xb1\xe6\xbd\x55\x74\x6c\x05\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b\x05\x00\x03\x82\x02\x01\x00\x78\xa6\x0c\x16\x4a\x9f\x4c\x88\x3a\xc0\xcb\x0e\xa5\x16\x7d\x9f\xb9\x48\x5f\x18\x8f\x0d\x62\x36\xf6\xcd\x19\x6b\xac\xab\xd5\xf6\x91\x7d\xae\x71\xf3\x3f\xb3\x0e\x78\x85\x9b\x95\xa4\x27\x21\x47\x42\x4a\x7c\x48\x3a\xf5\x45\x7c\xb3\x0c\x8e\x51\x78\xac\x95\x13\xde\xc6\xfd\x7d\xb8\x1a\x90\x4c\xab\x92\x03\xc7\xed\x42\x01\xce\x0f\xd8\xb1\xfa\xa2\x92\xe1\x60\x6d\xae\x7a\x6b\x09\xaa\xc6\x29\xee\x68\x49\x67\x30\x80\x24\x7a\x31\x16\x39\x5b\x7e\xf1\x1c\x2e\xdd\x6c\x09\xad\xf2\x31\xc1\x82\x4e\xb9\xbb\xf9\xbe\xbf\x2a\x85\x3f\xc0\x40\xa3\x3a\x59\xfc\x59\x4b\x3c\x28\x24\xdb\xb4\x15\x75\xae\x0d\x88\xba\x2e\x73\xc0\xbd\x58\x87\xe5\x42\xf2\xeb\x5e\xee\x1e\x30\x22\x99\xcb\x37\xd1\xc4\x21\x6c\x81\xec\xbe\x6d\x26\xe6\x1c\xe4\x42\x20\x9e\x47\xb0\xac\x83\x59\x70\x2c\x35\xd6\xaf\x36\x34\xb4\xcd\x3b\xf8\x32\xa8\xef\xe3\x78\x89\xfb\x8d\x45\x2c\xda\x9c\xb8\x7e\x40\x1c\x61\xe7\x3e\xa2\x92\x2c\x4b\xf2\xcd\xfa\x98\xb6\x29\xff\xf3\xf2\x7b\xa9\x1f\x2e\xa0\x93\x57\x2b\xde\x85\x03\xf9\x69\x37\xcb\x9e\x78\x6a\x05\xb4\xc5\x31\x78\x89\xec\x7a\xa7\x85\xe1\xb9\x7b\x3c\xde\xbe\x1e\x79\x84\xce\x9f\x70\x0e\x59\xc2\x35\x2e\x90\x2a\x31\xd9\xe4\x45\x7a\x41\xa4\x2e\x13\x9b\x34\x0e\x66\x7b\x49\xab\x64\x97\xd0\x46\xc3\x79\x9d\x72\x50\x63\xa6\x98\x5b\x06\xbd\x48\x6d\xd8\x39\x83\x70\xe8\x35\xf0\x05\xd1\xaa\xbc\xe3\xdb\xc8\x02\xea\x7c\xfd\x82\xda\xc2\x5b\x52\x35\xae\x98\x3a\xad\xba\x35\x93\x23\xa7\x1f\x48\xdd\x35\x46\x98\xb2\x10\x68\xe4\xa5\x31\xc2\x0a\x58\x2e\x19\x81\x10\xc9\x50\x75\xfc\xea\x5a\x16\xce\x11\xd7\xee\xef\x50\x88\x2d\x61\xff\x3f\x42\x73\x05\x94\x43\xd5\x8e\x3c\x4e\x01\x3a\x19\xa5\x1f\x46\x4e\x77\xd0\x5d\xe5\x81\x22\x21\x87\xfe\x94\x7d\x84\xd8\x93\xad\xd6\x68\x43\x48\xb2\xdb\xeb\x73\x24\xe7\x91\x7f\x54\xa4\xb6\x80\x3e\x9d\xa3\x3c\x4c\x72\xc2\x57\xc4\xa0\xd4\xcc\x38\x27\xce\xd5\x06\x9e\xa2\x48\xd9\xe9\x9f\xce\x82\x70\x36\x93\x9a\x3b\xdf\x96\x21\xe3\x59\xb7\x0c\xda\x91\x37\xf0\xfd\x59\x5a\xb3\x99\xc8\x69\x6c\x43\x26\x01\x35\x63\x60\x55\x89\x03\x3a\x75\xd8\xba\x4a\xd9\x54\xff\xee\xde\x80\xd8\x2d\xd1\x38\xd5\x5e\x2d\x0b\x98\x7d\x3e\x6c\xdb\xfc\x26\x88\xc7", - ["Chambers of Commerce Root - 2008"] = "\x30\x82\x07\x4f\x30\x82\x05\x37\xa0\x03\x02\x01\x02\x02\x09\x00\xa3\xda\x42\x7e\xa4\xb1\xae\xda\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xae\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x55\x31\x43\x30\x41\x06\x03\x55\x04\x07\x13\x3a\x4d\x61\x64\x72\x69\x64\x20\x28\x73\x65\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x61\x64\x64\x72\x65\x73\x73\x20\x61\x74\x20\x77\x77\x77\x2e\x63\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x2e\x63\x6f\x6d\x2f\x61\x64\x64\x72\x65\x73\x73\x29\x31\x12\x30\x10\x06\x03\x55\x04\x05\x13\x09\x41\x38\x32\x37\x34\x33\x32\x38\x37\x31\x1b\x30\x19\x06\x03\x55\x04\x0a\x13\x12\x41\x43\x20\x43\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x20\x53\x2e\x41\x2e\x31\x29\x30\x27\x06\x03\x55\x04\x03\x13\x20\x43\x68\x61\x6d\x62\x65\x72\x73\x20\x6f\x66\x20\x43\x6f\x6d\x6d\x65\x72\x63\x65\x20\x52\x6f\x6f\x74\x20\x2d\x20\x32\x30\x30\x38\x30\x1e\x17\x0d\x30\x38\x30\x38\x30\x31\x31\x32\x32\x39\x35\x30\x5a\x17\x0d\x33\x38\x30\x37\x33\x31\x31\x32\x32\x39\x35\x30\x5a\x30\x81\xae\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x55\x31\x43\x30\x41\x06\x03\x55\x04\x07\x13\x3a\x4d\x61\x64\x72\x69\x64\x20\x28\x73\x65\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x61\x64\x64\x72\x65\x73\x73\x20\x61\x74\x20\x77\x77\x77\x2e\x63\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x2e\x63\x6f\x6d\x2f\x61\x64\x64\x72\x65\x73\x73\x29\x31\x12\x30\x10\x06\x03\x55\x04\x05\x13\x09\x41\x38\x32\x37\x34\x33\x32\x38\x37\x31\x1b\x30\x19\x06\x03\x55\x04\x0a\x13\x12\x41\x43\x20\x43\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x20\x53\x2e\x41\x2e\x31\x29\x30\x27\x06\x03\x55\x04\x03\x13\x20\x43\x68\x61\x6d\x62\x65\x72\x73\x20\x6f\x66\x20\x43\x6f\x6d\x6d\x65\x72\x63\x65\x20\x52\x6f\x6f\x74\x20\x2d\x20\x32\x30\x30\x38\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xaf\x00\xcb\x70\x37\x2b\x80\x5a\x4a\x3a\x6c\x78\x94\x7d\xa3\x7f\x1a\x1f\xf6\x35\xd5\xbd\xdb\xcb\x0d\x44\x72\x3e\x26\xb2\x90\x52\xba\x63\x3b\x28\x58\x6f\xa5\xb3\x6d\x94\xa6\xf3\xdd\x64\x0c\x55\xf6\xf6\xe7\xf2\x22\x22\x80\x5e\xe1\x62\xc6\xb6\x29\xe1\x81\x6c\xf2\xbf\xe5\x7d\x32\x6a\x54\xa0\x32\x19\x59\xfe\x1f\x8b\xd7\x3d\x60\x86\x85\x24\x6f\xe3\x11\xb3\x77\x3e\x20\x96\x35\x21\x6b\xb3\x08\xd9\x70\x2e\x64\xf7\x84\x92\x53\xd6\x0e\xb0\x90\x8a\x8a\xe3\x87\x8d\x06\xd3\xbd\x90\x0e\xe2\x99\xa1\x1b\x86\x0e\xda\x9a\x0a\xbb\x0b\x61\x50\x06\x52\xf1\x9e\x7f\x76\xec\xcb\x0f\xd0\x1e\x0d\xcf\x99\x30\x3d\x1c\xc4\x45\x10\x58\xac\xd6\xd3\xe8\xd7\xe5\xea\xc5\x01\x07\x77\xd6\x51\xe6\x03\x7f\x8a\x48\xa5\x4d\x68\x75\xb9\xe9\xbc\x9e\x4e\x19\x71\xf5\x32\x4b\x9c\x6d\x60\x19\x0b\xfb\xcc\x9d\x75\xdc\xbf\x26\xcd\x8f\x93\x78\x39\x79\x73\x5e\x25\x0e\xca\x5c\xeb\x77\x12\x07\xcb\x64\x41\x47\x72\x93\xab\x50\xc3\xeb\x09\x76\x64\x34\xd2\x39\xb7\x76\x11\x09\x0d\x76\x45\xc4\xa9\xae\x3d\x6a\xaf\xb5\x7d\x65\x2f\x94\x58\x10\xec\x5c\x7c\xaf\x7e\xe2\xb6\x18\xd9\xd0\x9b\x4e\x5a\x49\xdf\xa9\x66\x0b\xcc\x3c\xc6\x78\x7c\xa7\x9c\x1d\xe3\xce\x8e\x53\xbe\x05\xde\x60\x0f\x6b\xe5\x1a\xdb\x3f\xe3\xe1\x21\xc9\x29\xc1\xf1\xeb\x07\x9c\x52\x1b\x01\x44\x51\x3c\x7b\x25\xd7\xc4\xe5\x52\x54\x5d\x25\x07\xca\x16\x20\xb8\xad\xe4\x41\xee\x7a\x08\xfe\x99\x6f\x83\xa6\x91\x02\xb0\x6c\x36\x55\x6a\xe7\x7d\xf5\x96\xe6\xca\x81\xd6\x97\xf1\x94\x83\xe9\xed\xb0\xb1\x6b\x12\x69\x1e\xac\xfb\x5d\xa9\xc5\x98\xe9\xb4\x5b\x58\x7a\xbe\x3d\xa2\x44\x3a\x63\x59\xd4\x0b\x25\xde\x1b\x4f\xbd\xe5\x01\x9e\xcd\xd2\x29\xd5\x9f\x17\x19\x0a\x6f\xbf\x0c\x90\xd3\x09\x5f\xd9\xe3\x8a\x35\xcc\x79\x5a\x4d\x19\x37\x92\xb7\xc4\xc1\xad\xaf\xf4\x79\x24\x9a\xb2\x01\x0b\xb1\xaf\x5c\x96\xf3\x80\x32\xfb\x5c\x3d\x98\xf1\xa0\x3f\x4a\xde\xbe\xaf\x94\x2e\xd9\x55\x9a\x17\x6e\x60\x9d\x63\x6c\xb8\x63\xc9\xae\x81\x5c\x18\x35\xe0\x90\xbb\xbe\x3c\x4f\x37\x22\xb9\x7e\xeb\xcf\x9e\x77\x21\xa6\x3d\x38\x81\xfb\x48\xda\x31\x3d\x2b\xe3\x89\xf5\xd0\xb5\xbd\x7e\xe0\x50\xc4\x12\x89\xb3\x23\x9a\x10\x31\x85\xdb\xae\x6f\xef\x38\x33\x18\x76\x11\x02\x03\x01\x00\x01\xa3\x82\x01\x6c\x30\x82\x01\x68\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x0c\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xf9\x24\xac\x0f\xb2\xb5\xf8\x79\xc0\xfa\x60\x88\x1b\xc4\xd9\x4d\x02\x9e\x17\x19\x30\x81\xe3\x06\x03\x55\x1d\x23\x04\x81\xdb\x30\x81\xd8\x80\x14\xf9\x24\xac\x0f\xb2\xb5\xf8\x79\xc0\xfa\x60\x88\x1b\xc4\xd9\x4d\x02\x9e\x17\x19\xa1\x81\xb4\xa4\x81\xb1\x30\x81\xae\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x55\x31\x43\x30\x41\x06\x03\x55\x04\x07\x13\x3a\x4d\x61\x64\x72\x69\x64\x20\x28\x73\x65\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x61\x64\x64\x72\x65\x73\x73\x20\x61\x74\x20\x77\x77\x77\x2e\x63\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x2e\x63\x6f\x6d\x2f\x61\x64\x64\x72\x65\x73\x73\x29\x31\x12\x30\x10\x06\x03\x55\x04\x05\x13\x09\x41\x38\x32\x37\x34\x33\x32\x38\x37\x31\x1b\x30\x19\x06\x03\x55\x04\x0a\x13\x12\x41\x43\x20\x43\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x20\x53\x2e\x41\x2e\x31\x29\x30\x27\x06\x03\x55\x04\x03\x13\x20\x43\x68\x61\x6d\x62\x65\x72\x73\x20\x6f\x66\x20\x43\x6f\x6d\x6d\x65\x72\x63\x65\x20\x52\x6f\x6f\x74\x20\x2d\x20\x32\x30\x30\x38\x82\x09\x00\xa3\xda\x42\x7e\xa4\xb1\xae\xda\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x3d\x06\x03\x55\x1d\x20\x04\x36\x30\x34\x30\x32\x06\x04\x55\x1d\x20\x00\x30\x2a\x30\x28\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x1c\x68\x74\x74\x70\x3a\x2f\x2f\x70\x6f\x6c\x69\x63\x79\x2e\x63\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x2e\x63\x6f\x6d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x90\x12\xaf\x22\x35\xc2\xa3\x39\xf0\x2e\xde\xe9\xb5\xe9\x78\x7c\x48\xbe\x3f\x7d\x45\x92\x5e\xe9\xda\xb1\x19\xfc\x16\x3c\x9f\xb4\x5b\x66\x9e\x6a\xe7\xc3\xb9\x5d\x88\xe8\x0f\xad\xcf\x23\x0f\xde\x25\x3a\x5e\xcc\x4f\xa5\xc1\xb5\x2d\xac\x24\xd2\x58\x07\xde\xa2\xcf\x69\x84\x60\x33\xe8\x10\x0d\x13\xa9\x23\xd0\x85\xe5\x8e\x7b\xa6\x9e\x3d\x72\x13\x72\x33\xf5\xaa\x7d\xc6\x63\x1f\x08\xf4\xfe\x01\x7f\x24\xcf\x2b\x2c\x54\x09\xde\xe2\x2b\x6d\x92\xc6\x39\x4f\x16\xea\x3c\x7e\x7a\x46\xd4\x45\x6a\x46\xa8\xeb\x75\x82\x56\xa7\xab\xa0\x7c\x68\x13\x33\xf6\x9d\x30\xf0\x6f\x27\x39\x24\x23\x2a\x90\xfd\x90\x29\x35\xf2\x93\xdf\x34\xa5\xc6\xf7\xf8\xef\x8c\x0f\x62\x4a\x7c\xae\xd3\xf5\x54\xf8\x8d\xb6\x9a\x56\x87\x16\x82\x3a\x33\xab\x5a\x22\x08\xf7\x82\xba\xea\x2e\xe0\x47\x9a\xb4\xb5\x45\xa3\x05\x3b\xd9\xdc\x2e\x45\x40\x3b\xea\xdc\x7f\xe8\x3b\xeb\xd1\xec\x26\xd8\x35\xa4\x30\xc5\x3a\xac\x57\x9e\xb3\x76\xa5\x20\x7b\xf9\x1e\x4a\x05\x62\x01\xa6\x28\x75\x60\x97\x92\x0d\x6e\x3e\x4d\x37\x43\x0d\x92\x15\x9c\x18\x22\xcd\x51\x99\xa0\x29\x1a\x3c\x5f\x8a\x32\x33\x5b\x30\xc7\x89\x2f\x47\x98\x0f\xa3\x03\xc6\xf6\xf1\xac\xdf\x32\xf0\xd9\x81\x1a\xe4\x9c\xbd\xf6\x80\x14\xf0\xd1\x2c\xb9\x85\xf5\xd8\xa3\xb1\xc8\xa5\x21\xe5\x1c\x13\x97\xee\x0e\xbd\xdf\x29\xa9\xef\x34\x53\x5b\xd3\xe4\x6a\x13\x84\x06\xb6\x32\x02\xc4\x52\xae\x22\xd2\xdc\xb2\x21\x42\x1a\xda\x40\xf0\x29\xc9\xec\x0a\x0c\x5c\xe2\xd0\xba\xcc\x48\xd3\x37\x0a\xcc\x12\x0a\x8a\x79\xb0\x3d\x03\x7f\x69\x4b\xf4\x34\x20\x7d\xb3\x34\xea\x8e\x4b\x64\xf5\x3e\xfd\xb3\x23\x67\x15\x0d\x04\xb8\xf0\x2d\xc1\x09\x51\x3c\xb2\x6c\x15\xf0\xa5\x23\xd7\x83\x74\xe4\xe5\x2e\xc9\xfe\x98\x27\x42\xc6\xab\xc6\x9e\xb0\xd0\x5b\x38\xa5\x9b\x50\xde\x7e\x18\x98\xb5\x45\x3b\xf6\x79\xb4\xe8\xf7\x1a\x7b\x06\x83\xfb\xd0\x8b\xda\xbb\xc7\xbd\x18\xab\x08\x6f\x3c\x80\x6b\x40\x3f\x19\x19\xba\x65\x8a\xe6\xbe\xd5\x5c\xd3\x36\xd7\xef\x40\x52\x24\x60\x38\x67\x04\x31\xec\x8f\xf3\x82\xc6\xde\xb9\x55\xf3\x3b\x31\x91\x5a\xdc\xb5\x08\x15\xad\x76\x25\x0a\x0d\x7b\x2e\x87\xe2\x0c\xa6\x06\xbc\x26\x10\x6d\x37\x9d\xec\xdd\x78\x8c\x7c\x80\xc5\xf0\xd9\x77\x48\xd0", - ["Global Chambersign Root - 2008"] = "\x30\x82\x07\x49\x30\x82\x05\x31\xa0\x03\x02\x01\x02\x02\x09\x00\xc9\xcd\xd3\xe9\xd5\x7d\x23\xce\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x30\x81\xac\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x55\x31\x43\x30\x41\x06\x03\x55\x04\x07\x13\x3a\x4d\x61\x64\x72\x69\x64\x20\x28\x73\x65\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x61\x64\x64\x72\x65\x73\x73\x20\x61\x74\x20\x77\x77\x77\x2e\x63\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x2e\x63\x6f\x6d\x2f\x61\x64\x64\x72\x65\x73\x73\x29\x31\x12\x30\x10\x06\x03\x55\x04\x05\x13\x09\x41\x38\x32\x37\x34\x33\x32\x38\x37\x31\x1b\x30\x19\x06\x03\x55\x04\x0a\x13\x12\x41\x43\x20\x43\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x20\x53\x2e\x41\x2e\x31\x27\x30\x25\x06\x03\x55\x04\x03\x13\x1e\x47\x6c\x6f\x62\x61\x6c\x20\x43\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x20\x52\x6f\x6f\x74\x20\x2d\x20\x32\x30\x30\x38\x30\x1e\x17\x0d\x30\x38\x30\x38\x30\x31\x31\x32\x33\x31\x34\x30\x5a\x17\x0d\x33\x38\x30\x37\x33\x31\x31\x32\x33\x31\x34\x30\x5a\x30\x81\xac\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x55\x31\x43\x30\x41\x06\x03\x55\x04\x07\x13\x3a\x4d\x61\x64\x72\x69\x64\x20\x28\x73\x65\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x61\x64\x64\x72\x65\x73\x73\x20\x61\x74\x20\x77\x77\x77\x2e\x63\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x2e\x63\x6f\x6d\x2f\x61\x64\x64\x72\x65\x73\x73\x29\x31\x12\x30\x10\x06\x03\x55\x04\x05\x13\x09\x41\x38\x32\x37\x34\x33\x32\x38\x37\x31\x1b\x30\x19\x06\x03\x55\x04\x0a\x13\x12\x41\x43\x20\x43\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x20\x53\x2e\x41\x2e\x31\x27\x30\x25\x06\x03\x55\x04\x03\x13\x1e\x47\x6c\x6f\x62\x61\x6c\x20\x43\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x20\x52\x6f\x6f\x74\x20\x2d\x20\x32\x30\x30\x38\x30\x82\x02\x22\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x82\x02\x0f\x00\x30\x82\x02\x0a\x02\x82\x02\x01\x00\xc0\xdf\x56\xd3\xe4\x3a\x9b\x76\x45\xb4\x13\xdb\xff\xc1\xb6\x19\x8b\x37\x41\x18\x95\x52\x47\xeb\x17\x9d\x29\x88\x8e\x35\x6c\x06\x32\x2e\x47\x62\xf3\x49\x04\xbf\x7d\x44\x36\xb1\x71\xcc\xbd\x5a\x09\x73\xd5\xd9\x85\x44\xff\x91\x57\x25\xdf\x5e\x36\x8e\x70\xd1\x5c\x71\x43\x1d\xd9\xda\xef\x5c\xd2\xfb\x1b\xbd\x3a\xb5\xcb\xad\xa3\xcc\x44\xa7\x0d\xae\x21\x15\x3f\xb9\x7a\x5b\x92\x75\xd8\xa4\x12\x38\x89\x19\x8a\xb7\x80\xd2\xe2\x32\x6f\x56\x9c\x91\xd6\x88\x10\x0b\xb3\x74\x64\x92\x74\x60\xf3\xf6\xcf\x18\x4f\x60\xb2\x23\xd0\xc7\x3b\xce\x61\x4b\x99\x8f\xc2\x0c\xd0\x40\xb2\x98\xdc\x0d\xa8\x4e\xa3\xb9\x0a\xae\x60\xa0\xad\x45\x52\x63\xba\x66\xbd\x68\xe0\xf9\xbe\x1a\xa8\x81\xbb\x1e\x41\x78\x75\xd3\xc1\xfe\x00\x55\xb0\x87\x54\xe8\x27\x90\x35\x1d\x4c\x33\xad\x97\xfc\x97\x2e\x98\x84\xbf\x2c\xc9\xa3\xbf\xd1\x98\x11\x14\xed\x63\xf8\xca\x98\x88\x58\x17\x99\xed\x45\x03\x97\x7e\x3c\x86\x1e\x88\x8c\xbe\xf2\x91\x84\x8f\x65\x34\xd8\x00\x4c\x7d\xb7\x31\x17\x5a\x29\x7a\x0a\x18\x24\x30\xa3\x37\xb5\x7a\xa9\x01\x7d\x26\xd6\xf9\x0e\x8e\x59\xf1\xfd\x1b\x33\xb5\x29\x3b\x17\x3b\x41\xb6\x21\xdd\xd4\xc0\x3d\xa5\x9f\x9f\x1f\x43\x50\xc9\xbb\xbc\x6c\x7a\x97\x98\xee\xcd\x8c\x1f\xfb\x9c\x51\xae\x8b\x70\xbd\x27\x9f\x71\xc0\x6b\xac\x7d\x90\x66\xe8\xd7\x5d\x3a\x0d\xb0\xd5\xc2\x8d\xd5\xc8\x9d\x9d\xc1\x6d\xd0\xd0\xbf\x51\xe4\xe3\xf8\xc3\x38\x36\xae\xd6\xa7\x75\xe6\xaf\x84\x43\x5d\x93\x92\x0c\x6a\x07\xde\x3b\x1d\x98\x22\xd6\xac\xc1\x35\xdb\xa3\xa0\x25\xff\x72\xb5\x76\x1d\xde\x6d\xe9\x2c\x66\x2c\x52\x84\xd0\x45\x92\xce\x1c\xe5\xe5\x33\x1d\xdc\x07\x53\x54\xa3\xaa\x82\x3b\x9a\x37\x2f\xdc\xdd\xa0\x64\xe9\xe6\xdd\xbd\xae\xfc\x64\x85\x1d\x3c\xa7\xc9\x06\xde\x84\xff\x6b\xe8\x6b\x1a\x3c\xc5\xa2\xb3\x42\xfb\x8b\x09\x3e\x5f\x08\x52\xc7\x62\xc4\xd4\x05\x71\xbf\xc4\x64\xe4\xf8\xa1\x83\xe8\x3e\x12\x9b\xa8\x1e\xd4\x36\x4d\x2f\x71\xf6\x8d\x28\xf6\x83\xa9\x13\xd2\x61\xc1\x91\xbb\x48\xc0\x34\x8f\x41\x8c\x4b\x4c\xdb\x69\x12\xff\x50\x94\x9c\x20\x83\x59\x73\xed\x7c\xa1\xf2\xf1\xfd\xdd\xf7\x49\xd3\x43\x58\xa0\x56\x63\xca\x3d\x3d\xe5\x35\x56\x59\xe9\x0e\xca\x20\xcc\x2b\x4b\x93\x29\x0f\x02\x03\x01\x00\x01\xa3\x82\x01\x6a\x30\x82\x01\x66\x30\x12\x06\x03\x55\x1d\x13\x01\x01\xff\x04\x08\x30\x06\x01\x01\xff\x02\x01\x0c\x30\x1d\x06\x03\x55\x1d\x0e\x04\x16\x04\x14\xb9\x09\xca\x9c\x1e\xdb\xd3\x6c\x3a\x6b\xae\xed\x54\xf1\x5b\x93\x06\x35\x2e\x5e\x30\x81\xe1\x06\x03\x55\x1d\x23\x04\x81\xd9\x30\x81\xd6\x80\x14\xb9\x09\xca\x9c\x1e\xdb\xd3\x6c\x3a\x6b\xae\xed\x54\xf1\x5b\x93\x06\x35\x2e\x5e\xa1\x81\xb2\xa4\x81\xaf\x30\x81\xac\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x45\x55\x31\x43\x30\x41\x06\x03\x55\x04\x07\x13\x3a\x4d\x61\x64\x72\x69\x64\x20\x28\x73\x65\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x61\x64\x64\x72\x65\x73\x73\x20\x61\x74\x20\x77\x77\x77\x2e\x63\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x2e\x63\x6f\x6d\x2f\x61\x64\x64\x72\x65\x73\x73\x29\x31\x12\x30\x10\x06\x03\x55\x04\x05\x13\x09\x41\x38\x32\x37\x34\x33\x32\x38\x37\x31\x1b\x30\x19\x06\x03\x55\x04\x0a\x13\x12\x41\x43\x20\x43\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x20\x53\x2e\x41\x2e\x31\x27\x30\x25\x06\x03\x55\x04\x03\x13\x1e\x47\x6c\x6f\x62\x61\x6c\x20\x43\x68\x61\x6d\x62\x65\x72\x73\x69\x67\x6e\x20\x52\x6f\x6f\x74\x20\x2d\x20\x32\x30\x30\x38\x82\x09\x00\xc9\xcd\xd3\xe9\xd5\x7d\x23\xce\x30\x0e\x06\x03\x55\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x06\x30\x3d\x06\x03\x55\x1d\x20\x04\x36\x30\x34\x30\x32\x06\x04\x55\x1d\x20\x00\x30\x2a\x30\x28\x06\x08\x2b\x06\x01\x05\x05\x07\x02\x01\x16\x1c\x68\x74\x74\x70\x3a\x2f\x2f\x70\x6f\x6c\x69\x63\x79\x2e\x63\x61\x6d\x65\x72\x66\x69\x72\x6d\x61\x2e\x63\x6f\x6d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x05\x05\x00\x03\x82\x02\x01\x00\x80\x88\x7f\x70\xde\x92\x28\xd9\x05\x94\x46\xff\x90\x57\xa9\xf1\x2f\xdf\x1a\x0d\x6b\xfa\x7c\x0e\x1c\x49\x24\x79\x27\xd8\x46\xaa\x6f\x29\x59\x52\x88\x70\x12\xea\xdd\x3d\xf5\x9b\x53\x54\x6f\xe1\x60\xa2\xa8\x09\xb9\xec\xeb\x59\x7c\xc6\x35\xf1\xdc\x18\xe9\xf1\x67\xe5\xaf\xba\x45\xe0\x09\xde\xca\x44\x0f\xc2\x17\x0e\x77\x91\x45\x7a\x33\x5f\x5f\x96\x2c\x68\x8b\xc1\x47\x8f\x98\x9b\x3d\xc0\xec\xcb\xf5\xd5\x82\x92\x84\x35\xd1\xbe\x36\x38\x56\x72\x31\x5b\x47\x2d\xaa\x17\xa4\x63\x51\xeb\x0a\x01\xad\x7f\xec\x75\x9e\xcb\xa1\x1f\xf1\x7f\x12\xb1\xb9\xe4\x64\x7f\x67\xd6\x23\x2a\xf4\xb8\x39\x5d\x98\xe8\x21\xa7\xe1\xbd\x3d\x42\x1a\x74\x9a\x70\xaf\x68\x6c\x50\x5d\x49\xcf\xff\xfb\x0e\x5d\xe6\x2c\x47\xd7\x81\x3a\x59\x00\xb5\x73\x6b\x63\x20\xf6\x31\x45\x08\x39\x0e\xf4\x70\x7e\x40\x70\x5a\x3f\xd0\x6b\x42\xa9\x74\x3d\x28\x2f\x02\x6d\x75\x72\x95\x09\x8d\x48\x63\xc6\xc6\x23\x57\x92\x93\x5e\x35\xc1\x8d\xf9\x0a\xf7\x2c\x9d\x62\x1c\xf6\xad\x7c\xdd\xa6\x31\x1e\xb6\xb1\xc7\x7e\x85\x26\xfa\xa4\x6a\xb5\xda\x63\x30\xd1\xef\x93\x37\xb2\x66\x2f\x7d\x05\xf7\xe7\xb7\x4b\x98\x94\x35\xc0\xd9\x3a\x29\xc1\x9d\xb2\x50\x33\x1d\x4a\xa9\x5a\xa6\xc9\x03\xef\xed\xf4\xe7\xa8\x6e\x8a\xb4\x57\x84\xeb\xa4\x3f\xd0\xee\xaa\xaa\x87\x5b\x63\xe8\x93\xe2\x6b\xa8\xd4\xb8\x72\x78\x6b\x1b\xed\x39\xe4\x5d\xcb\x9b\xaa\x87\xd5\x4f\x4e\x00\xfe\xd9\x6a\x9f\x3c\x31\x0f\x28\x02\x01\x7d\x98\xe8\xa7\xb0\xa2\x64\x9e\x79\xf8\x48\xf2\x15\xa9\xcc\xe6\xc8\x44\xeb\x3f\x78\x99\xf2\x7b\x71\x3e\x3c\xf1\x98\xa7\xc5\x18\x12\x3f\xe6\xbb\x28\x33\x42\xe9\x45\x0a\x7c\x6d\xf2\x86\x79\x2f\xc5\x82\x19\x7d\x09\x89\x7c\xb2\x54\x76\x88\xae\xde\xc1\xf3\xcc\xe1\x6e\xdb\x31\xd6\x93\xae\x99\xa0\xef\x25\x6a\x73\x98\x89\x5b\x3a\x2e\x13\x88\x1e\xbf\xc0\x92\x94\x34\x1b\xe3\x27\xb7\x8b\x1e\x6f\x42\xff\xe7\xe9\x37\x9b\x50\x1d\x2d\xa2\xf9\x02\xee\xcb\x58\x58\x3a\x71\xbc\x68\xe3\xaa\xc1\xaf\x1c\x28\x1f\xa2\xdc\x23\x65\x3f\x81\xea\xae\x99\xd3\xd8\x30\xcf\x13\x0d\x4f\x15\xc9\x84\xbc\xa7\x48\x2d\xf8\x30\x23\x77\xd8\x46\x4b\x79\x6d\xf6\x8c\xed\x3a\x7f\x60\x11\x78\xf4\xe9\x9b\xae\xd5\x54\xc0\x74\x80\xd1\x0b\x42\x9f\xc1", -}; diff --git a/policy/ssl.bro b/policy/ssl.bro deleted file mode 100644 index 9b40a736b9..0000000000 --- a/policy/ssl.bro +++ /dev/null @@ -1,591 +0,0 @@ -@load conn-id -@load ssl-mozilla-CAs - -global ssl_log = open_log_file("ssl") &raw_output &redef; - - -const SSLv2 = 0x0002; -const SSLv3 = 0x0300; -const TLSv10 = 0x0301; -const TLSv11 = 0x0302; - -# If true, Bro stores the client and server cipher specs and performs -# additional tests. This costs an extra amount of memory (normally -# only for a short time) but enables detecting of non-intersecting -## cipher sets, for example. -#const ssl_compare_cipherspecs = T &redef; -# -## Whether to analyze certificates seen in SSL connections. -#const ssl_analyze_certificates = T &redef; -# -## If we analyze SSL certificates, we can choose to store them. -#const ssl_store_certificates = T &redef; -# -## Path where we dump the certificates into. If it's empty, -## use the current directory. -#const ssl_store_cert_path = "certs" &redef; -# -## If we analyze SSL certificates, we can choose to verify them. -#const ssl_verify_certificates = T &redef; -# -## This is the path where OpenSSL looks after the trusted certificates. -## If empty, the default path will be used. -#const x509_trusted_cert_path = "" &redef; -# -## Whether to store key-material exchanged in the handshaking phase. -#const ssl_store_key_material = F &redef; -# -## Report weak/unknown ciphers in CLIENT_HELLO, SSLv2 SERVER_HELLO. -#const ssl_report_client_weak = F &redef; -#const ssl_report_client_unknown = F &redef; -#const ssl_report_server_weak = F &redef; -# -## Log all ciphers. -#const ssl_log_ciphers = T &redef; - -# NOTE: this is a 'local' port format for your site -# --- well-known ports for ssl --------- -redef capture_filters += { - ["ssl"] = "tcp port 443", - ["nntps"] = "tcp port 563", - ["imap4-ssl"] = "tcp port 585", - ["sshell"] = "tcp port 614", - ["ldaps"] = "tcp port 636", - ["ftps-data"] = "tcp port 989", - ["ftps"] = "tcp port 990", - ["telnets"] = "tcp port 992", - ["imaps"] = "tcp port 993", - ["ircs"] = "tcp port 994", - ["pop3s"] = "tcp port 995" -}; - -global ssl_ports = { - 443/tcp, 563/tcp, 585/tcp, 614/tcp, 636/tcp, - 989/tcp, 990/tcp, 992/tcp, 993/tcp, 995/tcp, -} &redef; - -redef dpd_config += { - [[ANALYZER_SSL]] = [$ports = ssl_ports] -}; - -function ssl_get_version_string(version: count): string - { - if ( version == SSLv2 ) - return "SSL version 2"; - else if ( version == SSLv3 ) - return "SSL version 3"; - else if ( version == TLSv10 ) - return "TLS version 1.0"; - else if ( version == TLSv11 ) - return "TLS version 1.1"; - else - return "?.?"; - } - -event ssl_client_hello(c: connection, version: count, possible_ts: time, session_id: string, ciphers: count_set) - { - print ssl_log, cat_sep("\t", "\\N", network_time(), id_string(c$id), - "Client Hello", - ssl_get_version_string(version), - fmt("0x%s", bytestring_to_hexstr(session_id)), - fmt("%D", possible_ts)); - } - -event ssl_extension(c: connection, code: count, val: string) - { - if ( code == 0 ) - print ssl_log, cat_sep("\t", "\\N", network_time(), id_string(c$id), - "ssl_extension", "server_name", sub(val, /^...../, "")); - } - -event ssl_server_hello(c: connection, version: count, possible_ts: time, session_id: string, cipher: count, comp_method: count) - { - print ssl_log, cat_sep("\t", "\\N", network_time(), id_string(c$id), - "Server Hello", - ssl_get_version_string(version), - fmt("0x%s", bytestring_to_hexstr(session_id)), - fmt("%D", possible_ts)); - } - -event ssl_established(c: connection) - { - print ssl_log, cat_sep("\t", "\\N", network_time(), id_string(c$id), - "SSL session established"); - } - -event x509_certificate(c: connection, cert: X509, is_server: bool, chain_idx: count, chain_len: count, der_cert: string) - { - print ssl_log, cat_sep("\t", "\\N", network_time(), id_string(c$id), - "X509 certificate", chain_idx, - cert$subject, cert$issuer, - fmt("%D", cert$not_valid_before), - fmt("%D", cert$not_valid_after)); - } - -event x509_cert_body(c: connection, cert: string) - { - print ssl_log, cat_sep("\t", "\\N", network_time(), id_string(c$id), - "X509 certificate body", fmt("0x%s", bytestring_to_hexstr(cert))); - - } - -## Old Code Below here!!!! - -## --- Weak Cipher Demo ------------- -# -#const myWeakCiphers: set[count] = { -# SSLv20_CK_RC4_128_EXPORT40_WITH_MD5, -# SSLv20_CK_RC2_128_CBC_EXPORT40_WITH_MD5, -# SSLv20_CK_DES_64_CBC_WITH_MD5, -# -# TLS_NULL_WITH_NULL_NULL, -# TLS_RSA_WITH_NULL_MD5, -# TLS_RSA_WITH_NULL_SHA, -# TLS_RSA_EXPORT_WITH_RC4_40_MD5, -# TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5, -# TLS_RSA_EXPORT_WITH_DES40_CBC_SHA, -# TLS_RSA_WITH_DES_CBC_SHA, -# -# TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA, -# TLS_DH_DSS_WITH_DES_CBC_SHA, -# TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA, -# TLS_DH_RSA_WITH_DES_CBC_SHA, -# TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, -# TLS_DHE_DSS_WITH_DES_CBC_SHA, -# TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, -# TLS_DHE_RSA_WITH_DES_CBC_SHA, -# -# TLS_DH_ANON_EXPORT_WITH_RC4_40_MD5, -# TLS_DH_ANON_WITH_RC4_128_MD5, -# TLS_DH_ANON_EXPORT_WITH_DES40_CBC_SHA, -# TLS_DH_ANON_WITH_DES_CBC_SHA, -# TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA, -#}; -# -#const x509_ignore_errors: set[int] = { -# X509_V_OK, -# # X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE -#}; -# -#const x509_hot_errors: set[int] = { -# X509_V_ERR_CRL_SIGNATURE_FAILURE, -# X509_V_ERR_CERT_NOT_YET_VALID, -# X509_V_ERR_CERT_HAS_EXPIRED, -# X509_V_ERR_CERT_REVOKED, -# X509_V_ERR_SUBJECT_ISSUER_MISMATCH, -# # X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE # for testing -#}; -# -#redef Weird::weird_action += { -# [["SSLv2: Unknown CIPHER-SPEC in CLIENT-HELLO!", -# "SSLv2: Client has CipherSpecs > MAX_CIPHERSPEC_SIZE", -# "unexpected_SSLv3_record", -# "SSLv3_data_without_full_handshake"]] = Weird::WEIRD_IGNORE -#}; - - -#global SSL_cipherCount: table[count] of count &default = 0; -# -#type ssl_connection_info: record { -# id: count; # the log identifier number -# connection_id: conn_id; # IP connection information -# version: string; # version assosciated with connection -# client_cert: X509; -# server_cert: X509; -# id_index: string; # index for associated SSL_sessionID -# handshake_cipher: string; # agreed-upon cipher for session/conn. -#}; - -# SSL_sessionID index - used to track version assosciated with a session id. -#type SSL_sessionID_record: record { -# num_reuse: count; -# id: string; # literal session ID -# -# # everything below is an example of session vs connection monitoring. -# version: string; # version assosciated with session id -# client_cert: X509; -# server_cert: X509; -# handshake_cipher: string; -#}; -# -#global ssl_connections: table[conn_id] of ssl_connection_info; -#global ssl_sessionIDs: table[string] of SSL_sessionID_record -# &read_expire = 2 hrs; -#global ssl_connection_id = 0; -# -## Used when there's no issuer/subject/cipher. -#const NONE = "<none>"; -# -## --- SSL helper functions --------- -#function new_ssl_connection(c: connection) -# { -# local conn = c$id; -# local new_id = ++ssl_connection_id; -# -# local info: ssl_connection_info; -# info$id = new_id; -# info$id_index = md5_hash(info$id); -# info$version = ""; -# info$client_cert$issuer = NONE; -# info$client_cert$subject = NONE; -# info$server_cert$issuer = NONE; -# info$server_cert$subject = NONE; -# info$handshake_cipher = NONE; -# info$connection_id = conn; -# -# ssl_connections[conn] = info; -# append_addl(c, fmt("#%d", new_id)); -# -# print ssl_log, fmt("%.6f #%d %s start", -# network_time(), new_id, id_string(conn)); -# } -# -#function new_sessionID_record(session: string) -# { -# local info: SSL_sessionID_record; -# -# info$num_reuse = 1; -# info$client_cert$issuer = NONE; -# info$client_cert$subject = NONE; -# info$server_cert$issuer = NONE; -# info$server_cert$subject = NONE; -# info$handshake_cipher = NONE; -# -# local index = md5_hash(session); -# ssl_sessionIDs[index] = info; -# } -# -#function ssl_get_cipher_name(cipherSuite: count): string -# { -# return cipherSuite in ssl_cipher_desc ? -# ssl_cipher_desc[cipherSuite] : "UNKNOWN"; -# } -# -#function ssl_get_version_string(version: count): string -# { -# if ( version == SSLv2 ) -# return "SSL version 2"; -# else if ( version == SSLv3 ) -# return "SSL version 3"; -# else if ( version == TLSv10 ) -# return "TLS version 1.0"; -# else if ( version == TLSv11 ) -# return "TLS version 1.1"; -# else -# return "?.?"; -# } -# -#function ssl_con2str(c: connection): string -# { -# return fmt("%s:%s -> %s:%s", -# c$id$orig_h, c$id$orig_p, c$id$resp_h, c$id$resp_p); -# } -# -#function lookup_ssl_conn(c: connection, func: string, log_if_new: bool) -# { -# if ( c$id !in ssl_connections ) -# { -# new_ssl_connection(c); -# -# if ( log_if_new ) -# print ssl_log, -# fmt("%.6f #%d creating new SSL connection in %s", -# network_time(), ssl_connections[c$id]$id, func); -# } -# } - -#event ssl_conn_weak(name: string, c: connection) -# { -# lookup_ssl_conn(c, "ssl_conn_weak", T); -# print ssl_log, fmt("%.6f #%d %s", -# network_time(), ssl_connections[c$id]$id, name); -# } -# -## --- SSL events ------------------- -# -#event ssl_certificate_seen(c: connection, is_server: bool) -# { -# print "ssl_certificate_seen"; -# # Called whenever there's an certificate to analyze. -# # we could do something here, like... -# -# # if ( c$id$orig_h in hostsToIgnore ) -# # { -# # ssl_store_certificates = F; -# # ssl_verify_certificates = F; -# # } -# # else -# # { -# # ssl_store_certificates = T; -# # ssl_verify_certificates = T; -# # } -# } -# -#event ssl_certificate(c: connection, cert: X509, is_server: bool) -# { -# print "ssl cert!"; -# local direction = is_local_addr(c$id$orig_h) ? "client" : "server"; -# -# lookup_ssl_conn(c, "ssl_certificate", T); -# local conn = ssl_connections[c$id]; -# -# if( direction == "client" ) -# conn$client_cert = cert; -# else -# { -# conn$server_cert = cert; -# -# # We have not filled in the field for the master session -# # for this connection. Do it now, but only if this is not a -# # SSLv2 connection (no session information in that case). -# if ( conn$id_index in ssl_sessionIDs && -# ssl_sessionIDs[conn$id_index]$server_cert$subject == NONE ) -# ssl_sessionIDs[conn$id_index]$server_cert$subject = -# cert$subject; -# } -# -# print ssl_log, fmt("%.6f #%d X.509 %s issuer %s", -# network_time(), conn$id, direction, cert$issuer); -# -# print ssl_log, fmt("%.6f #%d X.509 %s subject %s", -# network_time(), conn$id, direction, cert$subject); -# } -# -#event ssl_conn_attempt(c: connection, version: count, -# ciphers: CipherSuitesList) -# { -# lookup_ssl_conn(c, "ssl_conn_attempt", F); -# local conn = ssl_connections[c$id]; -# local version_string = ssl_get_version_string(version); -# -# print ssl_log, fmt("%.6f #%d SSL connection attempt %s", -# network_time(), conn$id, version_string); -# -# conn$version = version_string; -# -# for ( cs in ciphers ) -# { # display a list of the cipher suites -# # Demo: report clients who support weak ciphers. -# if ( ssl_report_client_weak && cs in myWeakCiphers ) -# event ssl_conn_weak( -# fmt("SSL client supports weak cipher: %s (0x%x)", -# ssl_get_cipher_name(cs), cs), c); -# -# # Demo: report unknown ciphers. -# if ( ssl_report_client_unknown && cs !in ssl_cipher_desc ) -# event ssl_conn_weak( -# fmt("SSL: unknown cipher-spec: %s (0x%x)", -# ssl_get_cipher_name(cs), cs), c); -# -# if ( ssl_log_ciphers ) -# print ssl_log, fmt("%.6f #%d client cipher %s (0x%x)", -# network_time(), conn$id, -# ssl_get_cipher_name(cs), cs); -# } -# } -# -#event ssl_conn_server_reply(c: connection, version: count, -# ciphers: CipherSuitesList) -# { -# lookup_ssl_conn(c, "ssl_conn_server_reply", T); -# -# local conn = ssl_connections[c$id]; -# local version_string = ssl_get_version_string(version); -# -# print ssl_log, fmt("%.6f #%d SSL connection server reply, %s", -# network_time(), conn$id, version_string); -# -# conn$version = version_string; -# -# for ( cs in ciphers ) -# { -# # Demo: report servers who support weak ciphers. -# if ( ssl_report_server_weak && version == SSLv2 && -# cs in myWeakCiphers ) -# event ssl_conn_weak( -# fmt("SSLv2 server supports weak cipher: %s (0x%x)", -# ssl_get_cipher_name(cs), cs), c); -# -# if ( ssl_log_ciphers ) -# print ssl_log, fmt("%.6f #%d server cipher %s (0x%x)", -# network_time(), conn$id, -# ssl_get_cipher_name(cs), cs); -# } -# } -# -#event ssl_conn_established(c: connection, version: count, cipher_suite: count) -# { -# lookup_ssl_conn(c, "ssl_conn_established", T); -# -# local conn = ssl_connections[c$id]; -# local version_string = ssl_get_version_string(version); -# -# print ssl_log, -# fmt("%.6f #%d handshake finished, %s", -# network_time(), conn$id, version_string); -# -# if ( cipher_suite in myWeakCiphers ) -# event ssl_conn_weak(fmt("%.6f #%d weak cipher: %s (0x%x)", -# network_time(), conn$id, -# ssl_get_cipher_name(cipher_suite), cipher_suite), c); -# -# if ( ssl_log_ciphers ) -# print ssl_log, fmt("%.6f #%d connection cipher %s (0x%x)", -# network_time(), conn$id, -# ssl_get_cipher_name(cipher_suite), cipher_suite); -# -# ++SSL_cipherCount[cipher_suite]; -# -# # This should be the version identified with the session, unless -# # there is some renegotiation. That will be caught later. -# conn$version = version_string; -# } -# -#event process_X509_extensions(c: connection, ex: X509_extension) -# { -# lookup_ssl_conn(c, "process_X509_extensions", T); -# local conn = ssl_connections[c$id]; -# -# local msg = fmt("%.6f #%d X.509 extensions: ", network_time(), conn$id); -# for ( i in ex ) -# msg = fmt("%s, %s", msg, ex[i]); -# -# print ssl_log, msg; -# } -# -#event ssl_session_insertion(c: connection, id: string) -# { -# local idd = c$id; -# -# if ( idd !in ssl_connections) -# { -# new_ssl_connection(c); -# -# print ssl_log, -# fmt("%.6f #%d creating new SSL connection in ssl_session_insertion", -# network_time(), ssl_connections[c$id]$id); -# -# # None of the conn$object values will exist, so we leave this -# # to prevent needless crashing. -# return; -# } -# -# local conn = ssl_connections[idd]; -# local id_index = md5_hash(id); -# -# # If there is no session with thIS id we create (a typical) one, -# # otherwise we move on. -# if ( id_index !in ssl_sessionIDs ) -# { -# new_sessionID_record(id); -# -# local session = ssl_sessionIDs[id_index]; -# session$version = conn$version; -# session$client_cert$subject = conn$client_cert$subject; -# session$server_cert$subject = conn$server_cert$subject; -# session$handshake_cipher = conn$handshake_cipher; -# session$id = id; -# -# conn$id_index = id_index; -# } -# -# else -# { # should we ever get here? -# session = ssl_sessionIDs[id_index]; -# conn$id_index = id_index; -# } -# } -# -#event ssl_conn_reused(c: connection, session_id: string) -# { -# lookup_ssl_conn(c, "ssl_conn_reused", T); -# local conn = ssl_connections[c$id]; -# local id_index = md5_hash(session_id); -# -# print ssl_log, fmt("%.6f #%d reusing former SSL session: %s", -# network_time(), conn$id, id_index); -# -# # We cannot track sessions with SSLv2. -# if ( conn$version == ssl_get_version_string(SSLv2) ) -# return; -# -# if ( id_index !in ssl_sessionIDs ) -# { -# new_sessionID_record(session_id); -# local session = ssl_sessionIDs[id_index]; -# session$version = conn$version; -# session$client_cert$subject = conn$client_cert$subject; -# session$server_cert$subject = conn$server_cert$subject; -# session$id = session_id; -# } -# else -# session = ssl_sessionIDs[id_index]; -# -# ++session$num_reuse; -# -# # At this point, the connection values have been set. We can then -# # compare session and connection values with some confidence. -# if ( session$version != conn$version || -# session$handshake_cipher != conn$handshake_cipher ) -# { -# NOTICE([$note=SSL_SessConIncon, $conn=c, -# $msg="session violation"]); -# ++c$hot; -# } -# } -# -#event ssl_X509_error(c: connection, err: int, err_string: string) -# { -# if ( err in x509_ignore_errors ) -# return; -# -# lookup_ssl_conn(c, "ssl_X509_error", T); -# local conn = ssl_connections[c$id]; -# local error = -# err in x509_errors ? x509_errors[err] : "unknown X.509 error"; -# -# local severity = "warning"; -# if ( err in x509_hot_errors ) -# { -# NOTICE([$note=SSL_X509Violation, $conn=c, $msg=error]); -# ++c$hot; -# severity = "error"; -# } -# -# print ssl_log, -# fmt("%.6f #%d X.509 %s %s (%s)", -# network_time(), conn$id, severity, error, err_string); -# } -# -#event connection_state_remove(c: connection) -# { -# delete ssl_connections[c$id]; -# } -# -#event bro_init() -# { -# if ( ssl_store_cert_path != "" ) -# # The event engine will generate a run-time if this fails for -# # reasons other than that the directory already exists. -# mkdir(ssl_store_cert_path); -# } -# -#event bro_done() -# { -# print ssl_log, "Cipher suite statistics: "; -# for ( i in SSL_cipherCount ) -# print ssl_log, fmt("%s (0x%x): %d", ssl_get_cipher_name(i), i, -# SSL_cipherCount[i]); -# -# print ssl_log, ("count session ID"); -# print ssl_log, ("----- ---------------------------------"); -# for ( j in ssl_sessionIDs ) -# if ( ssl_sessionIDs[j]$server_cert$subject != NONE ) -# { -# print ssl_log, -# fmt("(%s) %s %s", -# ssl_sessionIDs[j]$num_reuse, -# ssl_sessionIDs[j]$server_cert$subject, -# j); -# } -# } diff --git a/policy/tuning/__load__.bro b/policy/tuning/__load__.bro new file mode 100644 index 0000000000..50659eca0c --- /dev/null +++ b/policy/tuning/__load__.bro @@ -0,0 +1,2 @@ +##! This loads the default tuning +@load tuning/defaults \ No newline at end of file diff --git a/policy/tuning/defaults/__load__.bro b/policy/tuning/defaults/__load__.bro new file mode 100644 index 0000000000..ea235bf0b2 --- /dev/null +++ b/policy/tuning/defaults/__load__.bro @@ -0,0 +1,2 @@ +@load tuning/defaults/remove-high-volume-notices +@load tuning/defaults/packet-fragments \ No newline at end of file diff --git a/policy/tuning/defaults/packet-fragments.bro b/policy/tuning/defaults/packet-fragments.bro new file mode 100644 index 0000000000..30d7e23729 --- /dev/null +++ b/policy/tuning/defaults/packet-fragments.bro @@ -0,0 +1,10 @@ +## Capture TCP fragments, but not UDP (or ICMP), since those are a lot more +## common due to high-volume, fragmenting protocols such as NFS :-(. + +## This normally isn't used because of the default open packet filter +## but we set it anyway in case the user is using a packet filter. +redef capture_filters += { ["frag"] = "(ip[6:2] & 0x3fff != 0) and tcp" }; + +## Shorten the fragment timeout from never expiring to expiring fragments after +## five minutes. +redef frag_timeout = 5 min; diff --git a/policy/tuning/defaults/remove-high-volume-notices.bro b/policy/tuning/defaults/remove-high-volume-notices.bro new file mode 100644 index 0000000000..2bcaf5acd5 --- /dev/null +++ b/policy/tuning/defaults/remove-high-volume-notices.bro @@ -0,0 +1,15 @@ +##! This strives to tune out high volume and less useful data +##! from the notice log. + +@load notice + +# Load the policy scripts where the notices are defined. +@load frameworks/notice/weird +@load dpd + +# Remove these notices from logging since they can be too noisy. +redef Notice::ignored_types += { + Weird::ContentGap, + Weird::AckAboveHole, + DPD::ProtocolViolation +}; \ No newline at end of file diff --git a/policy/tuning/track-all-assets.bro b/policy/tuning/track-all-assets.bro new file mode 100644 index 0000000000..04c9be4dd1 --- /dev/null +++ b/policy/tuning/track-all-assets.bro @@ -0,0 +1,8 @@ + +@load software +@load conn/known-hosts +@load conn/known-services + +redef Software::asset_tracking = ALL_HOSTS; +redef KnownHosts::asset_tracking = ALL_HOSTS; +redef KnownServices::asset_tracking = ALL_HOSTS; \ No newline at end of file diff --git a/policy/utils/addrs.bro b/policy/utils/addrs.bro new file mode 100644 index 0000000000..9141e41928 --- /dev/null +++ b/policy/utils/addrs.bro @@ -0,0 +1,71 @@ +##! Functions for parsing and manipulating IP addresses. + +# Regular expressions for matching IP addresses in strings. +const ipv4_addr_regex = /[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/; +const ipv6_8hex_regex = /([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}/; +const ipv6_compressed_hex_regex = /(([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4})*)?)::(([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4})*)?)/; +const ipv6_hex4dec_regex = /(([0-9A-Fa-f]{1,4}:){6,6})([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/; +const ipv6_compressed_hex4dec_regex = /(([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4})*)?)::(([0-9A-Fa-f]{1,4}:)*)([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/; + +# These are commented out until patterns can be constructed this way at init time. +#const ipv6_addr_regex = ipv6_8hex_regex | +# ipv6_compressed_hex_regex | +# ipv6_hex4dec_regex | +# ipv6_compressed_hex4dec_regex; +#const ip_addr_regex = ipv4_addr_regex | ipv6_addr_regex; + +const ipv6_addr_regex = + /([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}/ | + /(([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4})*)?)::(([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4})*)?)/ | # IPv6 Compressed Hex + /(([0-9A-Fa-f]{1,4}:){6,6})([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/ | # 6Hex4Dec + /(([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4})*)?)::(([0-9A-Fa-f]{1,4}:)*)([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/; # CompressedHex4Dec + +const ip_addr_regex = + /[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/ | + /([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}/ | + /(([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4})*)?)::(([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4})*)?)/ | # IPv6 Compressed Hex + /(([0-9A-Fa-f]{1,4}:){6,6})([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/ | # 6Hex4Dec + /(([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4})*)?)::(([0-9A-Fa-f]{1,4}:)*)([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/; # CompressedHex4Dec + +## Takes a string and returns T or F if the string appears to be a full and +## valid IP address. +function is_valid_ip(ip_str: string): bool + { + if ( ip_str == ipv4_addr_regex ) + { + local octets = split(ip_str, /\./); + if ( |octets| != 4 ) + return F; + + local num=0; + for ( i in octets ) + { + num = to_count(octets[i]); + if ( num < 0 || 255 < num ) + return F; + } + return T; + } + else if ( ip_str == ipv6_addr_regex ) + { + # TODO: make this work correctly. + return T; + } + return F; + } + +## This outputs a string_array of ip addresses extracted from a string. +## given: "this is 1.1.1.1 a test 2.2.2.2 string with ip addresses 3.3.3.3" +## outputs: { [0] = 1.1.1.1, [1] = 2.2.2.2, [2] = 3.3.3.3 } +function find_ip_addresses(input: string): string_array + { + local parts = split_all(input, ip_addr_regex); + local output: string_array; + + for ( i in parts ) + { + if ( i % 2 == 0 && is_valid_ip(parts[i]) ) + output[|output|] = parts[i]; + } + return output; + } diff --git a/policy/utils/conn_ids.bro b/policy/utils/conn_ids.bro new file mode 100644 index 0000000000..9ac8c1b473 --- /dev/null +++ b/policy/utils/conn_ids.bro @@ -0,0 +1,36 @@ +##! Simple functions for generating ASCII strings from connection IDs. + +module GLOBAL; + +export { + ## Takes a conn_id record and returns a string representation with the + ## the general data flow appearing to be toward the right. + global id_string: function(id: conn_id): string; + + ## Takes a conn_id record and returns a string representation with the + ## the general data flow appearing to be toward the left. + global reverse_id_string: function(id: conn_id): string; + + ## Calls either the :bro:id:`id_string` or :bro:id:`reverse_id_string` + ## function depending on the second argument. + global directed_id_string: function(id: conn_id, is_orig: bool): string; +} + +function id_string(id: conn_id): string + { + return fmt("%s:%d > %s:%d", + id$orig_h, id$orig_p, + id$resp_h, id$resp_p); + } + +function reverse_id_string(id: conn_id): string + { + return fmt("%s:%d < %s:%d", + id$orig_h, id$orig_p, + id$resp_h, id$resp_p); + } + +function directed_id_string(id: conn_id, is_orig: bool): string + { + return is_orig ? id_string(id) : reverse_id_string(id); + } diff --git a/policy/utils/directions-and-hosts.bro b/policy/utils/directions-and-hosts.bro new file mode 100644 index 0000000000..ae5feb7761 --- /dev/null +++ b/policy/utils/directions-and-hosts.bro @@ -0,0 +1,21 @@ +@load site + +type Direction: enum { INBOUND, OUTBOUND, BIDIRECTIONAL, NO_DIRECTION }; +function id_matches_direction(id: conn_id, d: Direction): bool + { + if ( d == NO_DIRECTION ) return F; + + return ( d == BIDIRECTIONAL || + (d == OUTBOUND && Site::is_local_addr(id$orig_h)) || + (d == INBOUND && Site::is_local_addr(id$resp_h)) ); + } + +type Host: enum { LOCAL_HOSTS, REMOTE_HOSTS, ALL_HOSTS, NO_HOSTS }; +function addr_matches_host(ip: addr, h: Host): bool + { + if ( h == NO_HOSTS ) return F; + + return ( h == ALL_HOSTS || + (h == LOCAL_HOSTS && Site::is_local_addr(ip)) || + (h == REMOTE_HOSTS && !Site::is_local_addr(ip)) ); + } diff --git a/policy/utils/files.bro b/policy/utils/files.bro new file mode 100644 index 0000000000..429835c430 --- /dev/null +++ b/policy/utils/files.bro @@ -0,0 +1,15 @@ + +## This function can be used to generate a consistent filename for when +## contents of a file, stream, or connection are being extracted to disk. +function generate_extraction_filename(prefix: string, c: connection, suffix: string): string + { + local conn_info = fmt("%s:%d-%s:%d", + c$id$orig_h, c$id$orig_p, c$id$resp_h, c$id$resp_p); + + if ( prefix != "" ) + conn_info = fmt("%s_%s", prefix, conn_info); + if ( suffix != "" ) + conn_info = fmt("%s_%s", conn_info, suffix); + + return conn_info; + } \ No newline at end of file diff --git a/policy/utils/numbers.bro b/policy/utils/numbers.bro new file mode 100644 index 0000000000..9b100862d4 --- /dev/null +++ b/policy/utils/numbers.bro @@ -0,0 +1,10 @@ +## Extract the first integer found in the given string. +## If no integer can be found, 0 is returned. +function extract_count(s: string): count + { + local parts = split_n(s, /[0-9]+/, T, 1); + if ( 2 in parts ) + return to_count(parts[2]); + else + return 0; + } \ No newline at end of file diff --git a/policy/utils/paths.bro b/policy/utils/paths.bro new file mode 100644 index 0000000000..8e39fc7ed2 --- /dev/null +++ b/policy/utils/paths.bro @@ -0,0 +1,61 @@ +##! Functions to parse and manipulate UNIX style paths and directories. + +const absolute_path_pat = /(\/|[A-Za-z]:[\\\/]).*/; + +## Given an arbitrary string, this should extract a single directory with +## filename if it's included. +## TODO: Make this work on Window's style directories. +function extract_directory(input: string): string + { + const dir_pattern = /\"([^\"]|\"\")*(\/|\\)([^\"]|\"\")*\"/; + local parts = split_all(input, dir_pattern); + + # This basically indicates no identifiable directory was found. + if ( |parts| < 3 ) + return ""; + + local d = parts[2]; + return sub_bytes(d, 2, int_to_count(|d| - 2)); + } + +## Process ..'s and eliminate duplicate '/'s +function compress_path(dir: string): string + { + const cdup_sep = /((\/)+([^\/]|\\\/)+)?((\/)+\.\.(\/)+)/; + + local parts = split_n(dir, cdup_sep, T, 1); + if ( length(parts) > 1 ) + { + parts[2] = "/"; + dir = cat_string_array(parts); + return compress_path(dir); + } + + const multislash_sep = /(\/){2,}/; + parts = split_all(dir, multislash_sep); + for ( i in parts ) + if ( i % 2 == 0 ) + parts[i] = "/"; + dir = cat_string_array(parts); + + return dir; + } + +## Computes the absolute path with current working directory. +function absolute_path(cwd: string, file_name: string): string + { + local abs_file_name: string; + if ( file_name == absolute_path_pat ) # start with '/' or 'A:\' + abs_file_name = file_name; + else + abs_file_name = string_cat(cwd, "/", file_name); + return compress_path(abs_file_name); + } + +## Takes a directory and a filename and combines them together into a full +## filename with path. +function build_full_path(cwd: string, file_name: string): string + { + return (file_name == absolute_path_pat) ? + file_name : cat(cwd, "/", file_name); + } diff --git a/policy/utils/pattern.bro b/policy/utils/pattern.bro new file mode 100644 index 0000000000..a012247232 --- /dev/null +++ b/policy/utils/pattern.bro @@ -0,0 +1,52 @@ +##! Functions for creating and working with patterns. + +## This function only works at or before init time. Given a pattern as a string +## with two tildes (~~) contained in it, it will return a pattern with the +## set[string] elements OR'd together where the double-tilde was given. +## If a literal backslash is include in 'pat', it needs to be given as a double +## backslash due to Bro's string parsing reducing it to a single backslash +## upon rendering. +function set_to_regex(ss: set[string], pat: string): pattern + { + local i: count = 0; + local return_pat = ""; + for ( s in ss ) + { + local tmp_pattern = convert_for_pattern(s); + return_pat = ( i == 0 ) ? + tmp_pattern : cat(tmp_pattern, "|", return_pat); + ++i; + } + return string_to_pattern(sub(pat, /~~/, return_pat), F); + } + +type PatternMatchResult: record { + ## T if a match was found, F otherwise. + matched: bool; + ## Portion of string that first matched. + str: string; + ## 1-based offset where match starts. + off: count; +}; + +## Matches the given pattern against the given string, returning +## a :bro:type:`PatternMatchResult` record. +## For example: +## match_pattern("foobar", /o*[a-k]/) +## returns: +## [matched=T, str=f, off=1] +## because the *first* match is for zero o's followed by an [a-k], +## while: +## match_pattern("foobar", /o+[a-k]/) +## returns: +## [matched=T, str=oob, off=2] +function match_pattern(s: string, p: pattern): PatternMatchResult + { + local a = split_n(s, p, T, 1); + + if ( |a| == 1 ) + # no match + return [$matched = F, $str = "", $off = 0]; + else + return [$matched = T, $str = a[2], $off = |a[1]| + 1]; + } diff --git a/policy/utils/strings.bro b/policy/utils/strings.bro new file mode 100644 index 0000000000..6db9a002df --- /dev/null +++ b/policy/utils/strings.bro @@ -0,0 +1,46 @@ +##! Functions to assist with small string analysis and manipulation that can +##! be implemented as Bro functions and don't need to be implemented as built +##! in functions. + +## Returns true if the given string is at least 25% composed of 8-bit +## characters. +function is_string_binary(s: string): bool + { + return byte_len(gsub(s, /[\x00-\x7f]/, "")) * 100 / |s| >= 25; + } + +## Takes a :bro:type:`set[string]` and joins each element together with the +## second argument. +function join_string_set(ss: set[string], j: string): string + { + local output=""; + local i=0; + for ( s in ss ) + { + if ( i > 0 ) + output = cat(output, j); + + output = cat(output, s); + ++i; + } + return output; + } + +## Given a string, returns an escaped version. This means that +## (1) any occurrences of any character in "chars" are escaped using '\', and +## (2) any '\'s are likewise escaped. +function string_escape(s: string, chars: string): string + { + s = subst_string(s, "\\", "\\\\"); + for ( c in chars ) + s = subst_string(s, c, cat("\\", c)); + return s; + } + +## Cut a number of character from the end of the given string. +function cut_tail(s: string, tail_len: count): string + { + if ( tail_len > |s| ) + tail_len = |s|; + return sub_bytes(s, 1, int_to_count(|s| - tail_len)); + } diff --git a/policy/utils/thresholds.bro b/policy/utils/thresholds.bro new file mode 100644 index 0000000000..6bf90f307e --- /dev/null +++ b/policy/utils/thresholds.bro @@ -0,0 +1,54 @@ +##! Functions for using multiple thresholds with a counting tracker. For +##! example, you may want to generate a notice when something happens 10 times +##! and again when it happens 100 times but nothing in between. You can use +##! the :bro:id:`check_threshold` function to define your threshold points +##! and the :bro:type:`TrackCount` variable where you are keeping track of your +##! counter. + +module GLOBAL; + +export { + type TrackCount: record { + ## The counter for the number of times something has happened. + n: count &default=0; + ## The index of the vector where the counter currently is. This is + ## used to track which threshold is currently being watched for. + index: count &default=0; + }; + + ## The thresholds you would like to use as defaults with the + ## :bro:id:`default_check_threshold` function. + const default_notice_thresholds: vector of count = { + 30, 100, 1000, 10000, 100000, 1000000, 10000000, + } &redef; + + ## This will check if a :bro:type:`TrackCount` variable has crossed the + ## thresholds given in the first value. + global check_threshold: function(v: vector of count, tracker: TrackCount): bool; + + ## This will use the :bro:id:`default_notice_thresholds` variable to check + ## a :bro:type:`TrackCount` variable to see if it has crossed another + ## threshold. + global default_check_threshold: function(tracker: TrackCount): bool; +} + +function new_track_count(): TrackCount + { + local tc: TrackCount; + return tc; + } + +function check_threshold(v: vector of count, tracker: TrackCount): bool + { + if ( tracker$index <= |v| && tracker$n >= v[tracker$index] ) + { + ++tracker$index; + return T; + } + return F; + } + +function default_check_threshold(tracker: TrackCount): bool + { + return check_threshold(default_notice_thresholds, tracker); + } diff --git a/src/BroDoc.cc b/src/BroDoc.cc index 6958e645cb..6a25085563 100644 --- a/src/BroDoc.cc +++ b/src/BroDoc.cc @@ -7,47 +7,70 @@ #include "BroDoc.h" #include "BroDocObj.h" -BroDoc::BroDoc(const std::string& sourcename) +BroDoc::BroDoc(const std::string& rel, const std::string& abs) { -#ifdef DEBUG - fprintf(stdout, "Documenting source: %s\n", sourcename.c_str()); -#endif - source_filename = sourcename.substr(sourcename.find_last_of('/') + 1); + size_t f_pos = abs.find_last_of('/'); - size_t ext_pos = source_filename.find_last_of('.'); - std::string ext = source_filename.substr(ext_pos + 1); + if ( std::string::npos == f_pos ) + source_filename = abs; + else + source_filename = abs.substr(f_pos + 1); - if ( ext_pos == std::string::npos || ext != "bro" ) + if ( rel == abs ) { - if ( source_filename != "bro.init" && source_filename != "<stdin>" ) - { - fprintf(stderr, - "Warning: documenting file without .bro extension: %s\n", - sourcename.c_str()); - } + // The Bro script must have been loaded from an explicit path, + // so just use the basename as the document title + doc_title = source_filename; + } + else + { + // Must have relied on BROPATH to load the script, keep the relative + // directory as part of the source file name + size_t ext_pos = rel.find_last_of('.'); + std::string rel_ext = rel.substr(ext_pos + 1); + ext_pos = abs.find_last_of('.'); + std::string abs_ext = abs.substr(ext_pos + 1); + + if ( rel_ext == abs_ext || std::string::npos == ext_pos ) + doc_title = rel; else - { - // Force the reST documentation file to be "bro.init.rst". - ext_pos = std::string::npos; - } + doc_title = rel + "." + abs_ext; } - reST_filename = source_filename.substr(0, ext_pos); + reST_filename = doc_title; + size_t ext_pos = reST_filename.find(".bro"); + + if ( std::string::npos == ext_pos ) + reST_filename += ".rst"; + else + reST_filename.replace(ext_pos, 4, ".rst"); + + reST_filename = doc_title.substr(0, ext_pos); reST_filename += ".rst"; + + // Instead of re-creating the directory hierarchy based on related + // loads, just replace the directory separatories such that the reST + // output will all be placed in a flat directory (the working dir). + std::for_each(reST_filename.begin(), reST_filename.end(), replace_slash()); + reST_file = fopen(reST_filename.c_str(), "w"); if ( ! reST_file ) - fprintf(stderr, "Failed to open %s", reST_filename.c_str()); + fprintf(stderr, "Failed to open %s\n", reST_filename.c_str()); + #ifdef DEBUG - else - fprintf(stdout, "Created reST document: %s\n", reST_filename.c_str()); + fprintf(stdout, "Documenting absolute source: %s\n", abs.c_str()); + fprintf(stdout, "\trelative load: %s\n", rel.c_str()); + fprintf(stdout, "\tdoc title: %s\n", doc_title.c_str()); + fprintf(stdout, "\tbro file: %s\n", source_filename.c_str()); + fprintf(stdout, "\trst file: %s\n", reST_filename.c_str()); #endif } BroDoc::~BroDoc() { if ( reST_file && fclose( reST_file ) ) - fprintf(stderr, "Failed to close %s", reST_filename.c_str()); + fprintf(stderr, "Failed to close %s\n", reST_filename.c_str()); FreeBroDocObjPtrList(all); } @@ -98,7 +121,7 @@ void BroDoc::WriteDocFile() const { WriteToDoc(".. Automatically generated. Do not edit.\n\n"); - WriteSectionHeading(source_filename.c_str(), '='); + WriteSectionHeading(doc_title.c_str(), '='); WriteToDoc("\n:download:`Original Source File <%s>`\n\n", source_filename.c_str()); diff --git a/src/BroDoc.h b/src/BroDoc.h index 4538f5616e..f112af653f 100644 --- a/src/BroDoc.h +++ b/src/BroDoc.h @@ -22,10 +22,15 @@ public: * the filename of the Bro script that generates it, except any * ".bro" file extension is stripped and ".rst" takes it place. * If the filename doesn't end in ".bro", then ".rst" is just appended. - * @param sourcename The name of the Bro script for which to generate - * documentation. May contain a path. + * Any '/' characters in the reST file name that result from choice of + * the 'rel' parameter are replaced with '^'. + * @param rel A string representing the path relative to BROPATH off of + * which the source file is loaded or generally any filesystem + * path to a Bro script. May or may not have .bro file extension. + * @param abs The absolute path to the Bro script for which to generate + * documentation. */ - BroDoc(const std::string& sourcename); + BroDoc(const std::string& rel, const std::string& abs); /** * BroDoc destructor @@ -203,7 +208,8 @@ public: protected: FILE* reST_file; std::string reST_filename; - std::string source_filename; + std::string source_filename; // points to the basename of source file + std::string doc_title; std::string packet_filter; std::list<std::string> modules; @@ -357,6 +363,13 @@ private: { return ! o->IsPublicAPI(); } + + struct replace_slash { + void operator()(char& c) + { + if ( c == '/' ) c = '^'; + } + }; }; #endif diff --git a/src/NetVar.cc b/src/NetVar.cc index 17560c56f3..2ca71a030e 100644 --- a/src/NetVar.cc +++ b/src/NetVar.cc @@ -239,7 +239,6 @@ int dump_used_event_handlers; int suppress_local_output; double timer_mgr_inactivity_timeout; -double expected_connection_timeout; int time_machine_profiling; @@ -545,8 +544,6 @@ void init_net_var() timer_mgr_inactivity_timeout = opt_internal_double("timer_mgr_inactivity_timeout"); - expected_connection_timeout = - opt_internal_double("expected_connection_timeout"); time_machine_profiling = opt_internal_int("time_machine_profiling"); script_id = internal_type("script_id")->AsRecordType(); diff --git a/src/NetVar.h b/src/NetVar.h index ca28060e67..69502d334f 100644 --- a/src/NetVar.h +++ b/src/NetVar.h @@ -242,7 +242,6 @@ extern int dump_used_event_handlers; extern int suppress_local_output; extern double timer_mgr_inactivity_timeout; -extern double expected_connection_timeout; extern int time_machine_profiling; diff --git a/src/Var.h b/src/Var.h index f1cbcda87b..6b4ddaece2 100644 --- a/src/Var.h +++ b/src/Var.h @@ -39,7 +39,6 @@ extern BroType* internal_type(const char* name); extern Func* internal_func(const char* name); extern EventHandlerPtr internal_handler(const char* name); -extern EventHandlerPtr bro_signal; extern int signal_val; // 0 if no signal pending #endif diff --git a/src/bro.bif b/src/bro.bif index 3bff5168dc..fa453ec46a 100644 --- a/src/bro.bif +++ b/src/bro.bif @@ -2005,16 +2005,6 @@ function precompile_pcap_filter%(id: PcapFilterID, s: string%): bool # Install precompiled pcap filter. function install_pcap_filter%(id: PcapFilterID%): bool %{ - ID* user_filter = global_scope()->Lookup("cmd_line_bpf_filter"); - - if ( ! user_filter ) - internal_error("global cmd_line_bpf_filter not defined"); - - if ( user_filter->ID_Val()->AsStringVal()->Len() ) - // Don't allow the script-level to change the filter when - // the user has specified one on the command line. - return new Val(0, TYPE_BOOL); - bool success = true; loop_over_list(pkt_srcs, i) diff --git a/src/event.bif b/src/event.bif index edc5307aec..5b33df4eea 100644 --- a/src/event.bif +++ b/src/event.bif @@ -3,9 +3,6 @@ event bro_init%(%); event bro_done%(%); -# bro_signal is initiated in main.cc -# event bro_signal%(signal: count%); - event dns_mapping_valid%(dm: dns_mapping%); event dns_mapping_unverified%(dm: dns_mapping%); event dns_mapping_new_name%(dm: dns_mapping%); diff --git a/src/main.cc b/src/main.cc index 1bbb180e7a..2de6d07a41 100644 --- a/src/main.cc +++ b/src/main.cc @@ -77,7 +77,6 @@ Logger* bro_logger; LogMgr* log_mgr; Func* alarm_hook = 0; Stmt* stmts; -EventHandlerPtr bro_signal = 0; EventHandlerPtr net_done = 0; RuleMatcher* rule_matcher = 0; PersistenceSerializer* persistence_serializer = 0; @@ -841,7 +840,6 @@ int main(int argc, char** argv) BroFile::SetDefaultRotation(log_rotate_interval, log_max_size); alarm_hook = internal_func("alarm_hook"); - bro_signal = internal_handler("bro_signal"); net_done = internal_handler("net_done"); if ( ! g_policy_debug ) diff --git a/src/parse.y b/src/parse.y index 8b3f8d64c8..ba7174a338 100644 --- a/src/parse.y +++ b/src/parse.y @@ -1060,7 +1060,8 @@ decl: BroDocObj* o = new BroDocObj(fake_id, reST_doc_comments, true); o->SetRole(true); - if ( streq(fake_id->Name(), "Notice" ) ) + if ( extract_module_name(fake_id->Name()) == "Notice" && + extract_var_name(fake_id->Name()) == "Type" ) current_reST_doc->AddNotice(o); else current_reST_doc->AddRedef(o); diff --git a/src/scan.l b/src/scan.l index ea5831c431..8b599939db 100644 --- a/src/scan.l +++ b/src/scan.l @@ -619,6 +619,14 @@ static int load_files_with_prefix(const char* orig_file) else file_stack.append(new FileInfo); + if ( generate_documentation ) + { + current_reST_doc = new BroDoc(orig_file, full_filename); + docs_generated.push_back(current_reST_doc); + } + + // "orig_file", could be an alias for yytext, which is ephemeral + // and will be zapped after the yy_switch_to_buffer() below. yy_switch_to_buffer(yy_create_buffer(f, YY_BUF_SIZE)); yylloc.first_line = yylloc.last_line = line_number = 1; @@ -626,12 +634,6 @@ static int load_files_with_prefix(const char* orig_file) // Don't delete the old filename - it's pointed to by // every BroObj created when parsing it. yylloc.filename = filename = full_filename; - - if ( generate_documentation ) - { - current_reST_doc = new BroDoc(full_filename); - docs_generated.push_back(current_reST_doc); - } } else diff --git a/src/util.cc b/src/util.cc index f0c38009af..6c3f39bf72 100644 --- a/src/util.cc +++ b/src/util.cc @@ -853,8 +853,9 @@ const char* bro_path() if ( ! path ) path = ".:" POLICYDEST ":" - POLICYDEST "/sigs:" - POLICYDEST "/time-machine:" + POLICYDEST "/detectors:" + POLICYDEST "/frameworks:" + POLICYDEST "/protocols:" POLICYDEST "/site"; return path; diff --git a/testing/README b/testing/README index 02c8d71ce7..1ea54c4431 100644 --- a/testing/README +++ b/testing/README @@ -1,6 +1,9 @@ This directory contains some of the suites for testing for Bro's correct operation: +btest/ + Tests Bro's logging & bundled scripts. See btest/README for more. + istate/ Tests Bro's independent state facilities. These include persistent values and inter-process event/value communication. diff --git a/testing/btest/Baseline/core.conn-uid/output b/testing/btest/Baseline/core.conn-uid/output index 6db116d098..717d5f5608 100644 --- a/testing/btest/Baseline/core.conn-uid/output +++ b/testing/btest/Baseline/core.conn-uid/output @@ -1,39 +1,39 @@ [orig_h=141.142.220.202, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], UWkUyAuUGXf -[orig_h=141.142.220.50, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], 56gKBmhBBB6 -[orig_h=141.142.220.118, orig_p=35634/tcp, resp_h=208.80.152.2, resp_p=80/tcp], 50da4BEzauh -[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], WUjEZFOdSS -[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], WUjEZFOdSS -[orig_h=141.142.220.118, orig_p=43927/udp, resp_h=141.142.2.2, resp_p=53/udp], ecqdozAET6c -[orig_h=141.142.220.118, orig_p=37676/udp, resp_h=141.142.2.2, resp_p=53/udp], tdkrEYpj5ja -[orig_h=141.142.220.118, orig_p=40526/udp, resp_h=141.142.2.2, resp_p=53/udp], F5XgctwO3Vl -[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], svqqNKN9CFj -[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], UZkBBvjF0r8 -[orig_h=141.142.220.118, orig_p=32902/udp, resp_h=141.142.2.2, resp_p=53/udp], nSEQzFk1LZc -[orig_h=141.142.220.118, orig_p=59816/udp, resp_h=141.142.2.2, resp_p=53/udp], rmXOq6wncn1 -[orig_h=141.142.220.118, orig_p=59714/udp, resp_h=141.142.2.2, resp_p=53/udp], 4YYJTjETe1i -[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OldlyspNIr7 -[orig_h=141.142.220.118, orig_p=58206/udp, resp_h=141.142.2.2, resp_p=53/udp], R8BqVlcp23e -[orig_h=141.142.220.118, orig_p=38911/udp, resp_h=141.142.2.2, resp_p=53/udp], duYdXg7bTa3 -[orig_h=141.142.220.118, orig_p=59746/udp, resp_h=141.142.2.2, resp_p=53/udp], yzqaQTU9DXe -[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OPM7xFSDNw3 -[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], j5w2LueK8Ti -[orig_h=141.142.220.118, orig_p=45000/udp, resp_h=141.142.2.2, resp_p=53/udp], N6rbUGwigQ7 -[orig_h=141.142.220.118, orig_p=48479/udp, resp_h=141.142.2.2, resp_p=53/udp], 8b9q7qPtzhd -[orig_h=141.142.220.118, orig_p=48128/udp, resp_h=141.142.2.2, resp_p=53/udp], KOdlL7sC9z2 -[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], hvOo97vj60k -[orig_h=141.142.220.118, orig_p=56056/udp, resp_h=141.142.2.2, resp_p=53/udp], FHu81uYujA9 -[orig_h=141.142.220.118, orig_p=55092/udp, resp_h=141.142.2.2, resp_p=53/udp], 2M1wDTa0C7a -[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], OKiJdtzKWPk -[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], UZkBBvjF0r8 -[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], svqqNKN9CFj -[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OldlyspNIr7 -[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], j5w2LueK8Ti -[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OPM7xFSDNw3 -[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], hvOo97vj60k -[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], OKiJdtzKWPk -[orig_h=141.142.220.235, orig_p=6705/tcp, resp_h=173.192.163.128, resp_p=80/tcp], tpUWfNdSLE -[orig_h=141.142.220.44, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], ra1C6ZLut4b -[orig_h=141.142.220.226, orig_p=137/udp, resp_h=141.142.220.255, resp_p=137/udp], UElDH5b9qA5 -[orig_h=141.142.220.226, orig_p=55131/udp, resp_h=224.0.0.252, resp_p=5355/udp], sO3mBXBav1h -[orig_h=141.142.220.226, orig_p=55671/udp, resp_h=224.0.0.252, resp_p=5355/udp], xAQqZE8Wdp4 -[orig_h=141.142.220.238, orig_p=56641/udp, resp_h=141.142.220.255, resp_p=137/udp], zVecVnfOlsf +[orig_h=141.142.220.50, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], 50da4BEzauh +[orig_h=141.142.220.118, orig_p=35634/tcp, resp_h=208.80.152.2, resp_p=80/tcp], tdkrEYpj5ja +[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], F5XgctwO3Vl +[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], F5XgctwO3Vl +[orig_h=141.142.220.118, orig_p=43927/udp, resp_h=141.142.2.2, resp_p=53/udp], svqqNKN9CFj +[orig_h=141.142.220.118, orig_p=37676/udp, resp_h=141.142.2.2, resp_p=53/udp], UZkBBvjF0r8 +[orig_h=141.142.220.118, orig_p=40526/udp, resp_h=141.142.2.2, resp_p=53/udp], nSEQzFk1LZc +[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], rmXOq6wncn1 +[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 4YYJTjETe1i +[orig_h=141.142.220.118, orig_p=32902/udp, resp_h=141.142.2.2, resp_p=53/udp], OldlyspNIr7 +[orig_h=141.142.220.118, orig_p=59816/udp, resp_h=141.142.2.2, resp_p=53/udp], R8BqVlcp23e +[orig_h=141.142.220.118, orig_p=59714/udp, resp_h=141.142.2.2, resp_p=53/udp], duYdXg7bTa3 +[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], yzqaQTU9DXe +[orig_h=141.142.220.118, orig_p=58206/udp, resp_h=141.142.2.2, resp_p=53/udp], OPM7xFSDNw3 +[orig_h=141.142.220.118, orig_p=38911/udp, resp_h=141.142.2.2, resp_p=53/udp], j5w2LueK8Ti +[orig_h=141.142.220.118, orig_p=59746/udp, resp_h=141.142.2.2, resp_p=53/udp], N6rbUGwigQ7 +[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 8b9q7qPtzhd +[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], KOdlL7sC9z2 +[orig_h=141.142.220.118, orig_p=45000/udp, resp_h=141.142.2.2, resp_p=53/udp], hvOo97vj60k +[orig_h=141.142.220.118, orig_p=48479/udp, resp_h=141.142.2.2, resp_p=53/udp], FHu81uYujA9 +[orig_h=141.142.220.118, orig_p=48128/udp, resp_h=141.142.2.2, resp_p=53/udp], 2M1wDTa0C7a +[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OKiJdtzKWPk +[orig_h=141.142.220.118, orig_p=56056/udp, resp_h=141.142.2.2, resp_p=53/udp], tpUWfNdSLE +[orig_h=141.142.220.118, orig_p=55092/udp, resp_h=141.142.2.2, resp_p=53/udp], ra1C6ZLut4b +[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], UElDH5b9qA5 +[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 4YYJTjETe1i +[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], rmXOq6wncn1 +[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], yzqaQTU9DXe +[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], KOdlL7sC9z2 +[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 8b9q7qPtzhd +[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OKiJdtzKWPk +[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], UElDH5b9qA5 +[orig_h=173.192.163.128, orig_p=80/tcp, resp_h=141.142.220.235, resp_p=6705/tcp], zVecVnfOlsf +[orig_h=141.142.220.44, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], eWnXpPX1c78 +[orig_h=141.142.220.226, orig_p=137/udp, resp_h=141.142.220.255, resp_p=137/udp], LgR69jMtmJe +[orig_h=141.142.220.226, orig_p=55131/udp, resp_h=224.0.0.252, resp_p=5355/udp], KrFIsOCbrmk +[orig_h=141.142.220.226, orig_p=55671/udp, resp_h=224.0.0.252, resp_p=5355/udp], SVk7XftAIqb +[orig_h=141.142.220.238, orig_p=56641/udp, resp_h=141.142.220.255, resp_p=137/udp], pE4ZiaKtRel diff --git a/testing/btest/Baseline/core.conn-uid/output.cc b/testing/btest/Baseline/core.conn-uid/output.cc index f00b065849..717d5f5608 100644 --- a/testing/btest/Baseline/core.conn-uid/output.cc +++ b/testing/btest/Baseline/core.conn-uid/output.cc @@ -1,40 +1,39 @@ [orig_h=141.142.220.202, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], UWkUyAuUGXf -[orig_h=141.142.220.50, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], 56gKBmhBBB6 -[orig_h=141.142.220.118, orig_p=35634/tcp, resp_h=208.80.152.2, resp_p=80/tcp], 50da4BEzauh -[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], WUjEZFOdSS -[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], WUjEZFOdSS -[orig_h=141.142.220.118, orig_p=43927/udp, resp_h=141.142.2.2, resp_p=53/udp], ecqdozAET6c -[orig_h=141.142.220.118, orig_p=37676/udp, resp_h=141.142.2.2, resp_p=53/udp], tdkrEYpj5ja -[orig_h=141.142.220.118, orig_p=40526/udp, resp_h=141.142.2.2, resp_p=53/udp], F5XgctwO3Vl -[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], svqqNKN9CFj -[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], UZkBBvjF0r8 -[orig_h=141.142.220.118, orig_p=32902/udp, resp_h=141.142.2.2, resp_p=53/udp], nSEQzFk1LZc -[orig_h=141.142.220.118, orig_p=59816/udp, resp_h=141.142.2.2, resp_p=53/udp], rmXOq6wncn1 -[orig_h=141.142.220.118, orig_p=59714/udp, resp_h=141.142.2.2, resp_p=53/udp], 4YYJTjETe1i -[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OldlyspNIr7 -[orig_h=141.142.220.118, orig_p=58206/udp, resp_h=141.142.2.2, resp_p=53/udp], R8BqVlcp23e -[orig_h=141.142.220.118, orig_p=38911/udp, resp_h=141.142.2.2, resp_p=53/udp], duYdXg7bTa3 -[orig_h=141.142.220.118, orig_p=59746/udp, resp_h=141.142.2.2, resp_p=53/udp], yzqaQTU9DXe -[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OPM7xFSDNw3 -[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], j5w2LueK8Ti -[orig_h=141.142.220.118, orig_p=45000/udp, resp_h=141.142.2.2, resp_p=53/udp], N6rbUGwigQ7 -[orig_h=141.142.220.118, orig_p=48479/udp, resp_h=141.142.2.2, resp_p=53/udp], 8b9q7qPtzhd -[orig_h=141.142.220.118, orig_p=48128/udp, resp_h=141.142.2.2, resp_p=53/udp], KOdlL7sC9z2 -[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], hvOo97vj60k -[orig_h=141.142.220.118, orig_p=56056/udp, resp_h=141.142.2.2, resp_p=53/udp], FHu81uYujA9 -[orig_h=141.142.220.118, orig_p=55092/udp, resp_h=141.142.2.2, resp_p=53/udp], 2M1wDTa0C7a -[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], OKiJdtzKWPk -[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], UZkBBvjF0r8 -[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], svqqNKN9CFj -[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OldlyspNIr7 -[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], j5w2LueK8Ti -[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OPM7xFSDNw3 -[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], hvOo97vj60k -[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], OKiJdtzKWPk -[orig_h=141.142.220.235, orig_p=6705/tcp, resp_h=173.192.163.128, resp_p=80/tcp], tpUWfNdSLE -[orig_h=141.142.220.235, orig_p=6705/tcp, resp_h=173.192.163.128, resp_p=80/tcp], tpUWfNdSLE -[orig_h=141.142.220.44, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], ra1C6ZLut4b -[orig_h=141.142.220.226, orig_p=137/udp, resp_h=141.142.220.255, resp_p=137/udp], UElDH5b9qA5 -[orig_h=141.142.220.226, orig_p=55131/udp, resp_h=224.0.0.252, resp_p=5355/udp], sO3mBXBav1h -[orig_h=141.142.220.226, orig_p=55671/udp, resp_h=224.0.0.252, resp_p=5355/udp], xAQqZE8Wdp4 -[orig_h=141.142.220.238, orig_p=56641/udp, resp_h=141.142.220.255, resp_p=137/udp], zVecVnfOlsf +[orig_h=141.142.220.50, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], 50da4BEzauh +[orig_h=141.142.220.118, orig_p=35634/tcp, resp_h=208.80.152.2, resp_p=80/tcp], tdkrEYpj5ja +[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], F5XgctwO3Vl +[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], F5XgctwO3Vl +[orig_h=141.142.220.118, orig_p=43927/udp, resp_h=141.142.2.2, resp_p=53/udp], svqqNKN9CFj +[orig_h=141.142.220.118, orig_p=37676/udp, resp_h=141.142.2.2, resp_p=53/udp], UZkBBvjF0r8 +[orig_h=141.142.220.118, orig_p=40526/udp, resp_h=141.142.2.2, resp_p=53/udp], nSEQzFk1LZc +[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], rmXOq6wncn1 +[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 4YYJTjETe1i +[orig_h=141.142.220.118, orig_p=32902/udp, resp_h=141.142.2.2, resp_p=53/udp], OldlyspNIr7 +[orig_h=141.142.220.118, orig_p=59816/udp, resp_h=141.142.2.2, resp_p=53/udp], R8BqVlcp23e +[orig_h=141.142.220.118, orig_p=59714/udp, resp_h=141.142.2.2, resp_p=53/udp], duYdXg7bTa3 +[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], yzqaQTU9DXe +[orig_h=141.142.220.118, orig_p=58206/udp, resp_h=141.142.2.2, resp_p=53/udp], OPM7xFSDNw3 +[orig_h=141.142.220.118, orig_p=38911/udp, resp_h=141.142.2.2, resp_p=53/udp], j5w2LueK8Ti +[orig_h=141.142.220.118, orig_p=59746/udp, resp_h=141.142.2.2, resp_p=53/udp], N6rbUGwigQ7 +[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 8b9q7qPtzhd +[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], KOdlL7sC9z2 +[orig_h=141.142.220.118, orig_p=45000/udp, resp_h=141.142.2.2, resp_p=53/udp], hvOo97vj60k +[orig_h=141.142.220.118, orig_p=48479/udp, resp_h=141.142.2.2, resp_p=53/udp], FHu81uYujA9 +[orig_h=141.142.220.118, orig_p=48128/udp, resp_h=141.142.2.2, resp_p=53/udp], 2M1wDTa0C7a +[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OKiJdtzKWPk +[orig_h=141.142.220.118, orig_p=56056/udp, resp_h=141.142.2.2, resp_p=53/udp], tpUWfNdSLE +[orig_h=141.142.220.118, orig_p=55092/udp, resp_h=141.142.2.2, resp_p=53/udp], ra1C6ZLut4b +[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], UElDH5b9qA5 +[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 4YYJTjETe1i +[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], rmXOq6wncn1 +[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], yzqaQTU9DXe +[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], KOdlL7sC9z2 +[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 8b9q7qPtzhd +[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OKiJdtzKWPk +[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], UElDH5b9qA5 +[orig_h=173.192.163.128, orig_p=80/tcp, resp_h=141.142.220.235, resp_p=6705/tcp], zVecVnfOlsf +[orig_h=141.142.220.44, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], eWnXpPX1c78 +[orig_h=141.142.220.226, orig_p=137/udp, resp_h=141.142.220.255, resp_p=137/udp], LgR69jMtmJe +[orig_h=141.142.220.226, orig_p=55131/udp, resp_h=224.0.0.252, resp_p=5355/udp], KrFIsOCbrmk +[orig_h=141.142.220.226, orig_p=55671/udp, resp_h=224.0.0.252, resp_p=5355/udp], SVk7XftAIqb +[orig_h=141.142.220.238, orig_p=56641/udp, resp_h=141.142.220.255, resp_p=137/udp], pE4ZiaKtRel diff --git a/testing/btest/Baseline/core.conn-uid/output.cc2 b/testing/btest/Baseline/core.conn-uid/output.cc2 index 6db116d098..717d5f5608 100644 --- a/testing/btest/Baseline/core.conn-uid/output.cc2 +++ b/testing/btest/Baseline/core.conn-uid/output.cc2 @@ -1,39 +1,39 @@ [orig_h=141.142.220.202, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], UWkUyAuUGXf -[orig_h=141.142.220.50, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], 56gKBmhBBB6 -[orig_h=141.142.220.118, orig_p=35634/tcp, resp_h=208.80.152.2, resp_p=80/tcp], 50da4BEzauh -[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], WUjEZFOdSS -[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], WUjEZFOdSS -[orig_h=141.142.220.118, orig_p=43927/udp, resp_h=141.142.2.2, resp_p=53/udp], ecqdozAET6c -[orig_h=141.142.220.118, orig_p=37676/udp, resp_h=141.142.2.2, resp_p=53/udp], tdkrEYpj5ja -[orig_h=141.142.220.118, orig_p=40526/udp, resp_h=141.142.2.2, resp_p=53/udp], F5XgctwO3Vl -[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], svqqNKN9CFj -[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], UZkBBvjF0r8 -[orig_h=141.142.220.118, orig_p=32902/udp, resp_h=141.142.2.2, resp_p=53/udp], nSEQzFk1LZc -[orig_h=141.142.220.118, orig_p=59816/udp, resp_h=141.142.2.2, resp_p=53/udp], rmXOq6wncn1 -[orig_h=141.142.220.118, orig_p=59714/udp, resp_h=141.142.2.2, resp_p=53/udp], 4YYJTjETe1i -[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OldlyspNIr7 -[orig_h=141.142.220.118, orig_p=58206/udp, resp_h=141.142.2.2, resp_p=53/udp], R8BqVlcp23e -[orig_h=141.142.220.118, orig_p=38911/udp, resp_h=141.142.2.2, resp_p=53/udp], duYdXg7bTa3 -[orig_h=141.142.220.118, orig_p=59746/udp, resp_h=141.142.2.2, resp_p=53/udp], yzqaQTU9DXe -[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OPM7xFSDNw3 -[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], j5w2LueK8Ti -[orig_h=141.142.220.118, orig_p=45000/udp, resp_h=141.142.2.2, resp_p=53/udp], N6rbUGwigQ7 -[orig_h=141.142.220.118, orig_p=48479/udp, resp_h=141.142.2.2, resp_p=53/udp], 8b9q7qPtzhd -[orig_h=141.142.220.118, orig_p=48128/udp, resp_h=141.142.2.2, resp_p=53/udp], KOdlL7sC9z2 -[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], hvOo97vj60k -[orig_h=141.142.220.118, orig_p=56056/udp, resp_h=141.142.2.2, resp_p=53/udp], FHu81uYujA9 -[orig_h=141.142.220.118, orig_p=55092/udp, resp_h=141.142.2.2, resp_p=53/udp], 2M1wDTa0C7a -[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], OKiJdtzKWPk -[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], UZkBBvjF0r8 -[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], svqqNKN9CFj -[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OldlyspNIr7 -[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], j5w2LueK8Ti -[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OPM7xFSDNw3 -[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], hvOo97vj60k -[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], OKiJdtzKWPk -[orig_h=141.142.220.235, orig_p=6705/tcp, resp_h=173.192.163.128, resp_p=80/tcp], tpUWfNdSLE -[orig_h=141.142.220.44, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], ra1C6ZLut4b -[orig_h=141.142.220.226, orig_p=137/udp, resp_h=141.142.220.255, resp_p=137/udp], UElDH5b9qA5 -[orig_h=141.142.220.226, orig_p=55131/udp, resp_h=224.0.0.252, resp_p=5355/udp], sO3mBXBav1h -[orig_h=141.142.220.226, orig_p=55671/udp, resp_h=224.0.0.252, resp_p=5355/udp], xAQqZE8Wdp4 -[orig_h=141.142.220.238, orig_p=56641/udp, resp_h=141.142.220.255, resp_p=137/udp], zVecVnfOlsf +[orig_h=141.142.220.50, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], 50da4BEzauh +[orig_h=141.142.220.118, orig_p=35634/tcp, resp_h=208.80.152.2, resp_p=80/tcp], tdkrEYpj5ja +[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], F5XgctwO3Vl +[orig_h=141.142.220.118, orig_p=48649/tcp, resp_h=208.80.152.118, resp_p=80/tcp], F5XgctwO3Vl +[orig_h=141.142.220.118, orig_p=43927/udp, resp_h=141.142.2.2, resp_p=53/udp], svqqNKN9CFj +[orig_h=141.142.220.118, orig_p=37676/udp, resp_h=141.142.2.2, resp_p=53/udp], UZkBBvjF0r8 +[orig_h=141.142.220.118, orig_p=40526/udp, resp_h=141.142.2.2, resp_p=53/udp], nSEQzFk1LZc +[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], rmXOq6wncn1 +[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 4YYJTjETe1i +[orig_h=141.142.220.118, orig_p=32902/udp, resp_h=141.142.2.2, resp_p=53/udp], OldlyspNIr7 +[orig_h=141.142.220.118, orig_p=59816/udp, resp_h=141.142.2.2, resp_p=53/udp], R8BqVlcp23e +[orig_h=141.142.220.118, orig_p=59714/udp, resp_h=141.142.2.2, resp_p=53/udp], duYdXg7bTa3 +[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], yzqaQTU9DXe +[orig_h=141.142.220.118, orig_p=58206/udp, resp_h=141.142.2.2, resp_p=53/udp], OPM7xFSDNw3 +[orig_h=141.142.220.118, orig_p=38911/udp, resp_h=141.142.2.2, resp_p=53/udp], j5w2LueK8Ti +[orig_h=141.142.220.118, orig_p=59746/udp, resp_h=141.142.2.2, resp_p=53/udp], N6rbUGwigQ7 +[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 8b9q7qPtzhd +[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], KOdlL7sC9z2 +[orig_h=141.142.220.118, orig_p=45000/udp, resp_h=141.142.2.2, resp_p=53/udp], hvOo97vj60k +[orig_h=141.142.220.118, orig_p=48479/udp, resp_h=141.142.2.2, resp_p=53/udp], FHu81uYujA9 +[orig_h=141.142.220.118, orig_p=48128/udp, resp_h=141.142.2.2, resp_p=53/udp], 2M1wDTa0C7a +[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OKiJdtzKWPk +[orig_h=141.142.220.118, orig_p=56056/udp, resp_h=141.142.2.2, resp_p=53/udp], tpUWfNdSLE +[orig_h=141.142.220.118, orig_p=55092/udp, resp_h=141.142.2.2, resp_p=53/udp], ra1C6ZLut4b +[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], UElDH5b9qA5 +[orig_h=141.142.220.118, orig_p=49997/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 4YYJTjETe1i +[orig_h=141.142.220.118, orig_p=49996/tcp, resp_h=208.80.152.3, resp_p=80/tcp], rmXOq6wncn1 +[orig_h=141.142.220.118, orig_p=49998/tcp, resp_h=208.80.152.3, resp_p=80/tcp], yzqaQTU9DXe +[orig_h=141.142.220.118, orig_p=50000/tcp, resp_h=208.80.152.3, resp_p=80/tcp], KOdlL7sC9z2 +[orig_h=141.142.220.118, orig_p=49999/tcp, resp_h=208.80.152.3, resp_p=80/tcp], 8b9q7qPtzhd +[orig_h=141.142.220.118, orig_p=50001/tcp, resp_h=208.80.152.3, resp_p=80/tcp], OKiJdtzKWPk +[orig_h=141.142.220.118, orig_p=35642/tcp, resp_h=208.80.152.2, resp_p=80/tcp], UElDH5b9qA5 +[orig_h=173.192.163.128, orig_p=80/tcp, resp_h=141.142.220.235, resp_p=6705/tcp], zVecVnfOlsf +[orig_h=141.142.220.44, orig_p=5353/udp, resp_h=224.0.0.251, resp_p=5353/udp], eWnXpPX1c78 +[orig_h=141.142.220.226, orig_p=137/udp, resp_h=141.142.220.255, resp_p=137/udp], LgR69jMtmJe +[orig_h=141.142.220.226, orig_p=55131/udp, resp_h=224.0.0.252, resp_p=5355/udp], KrFIsOCbrmk +[orig_h=141.142.220.226, orig_p=55671/udp, resp_h=224.0.0.252, resp_p=5355/udp], SVk7XftAIqb +[orig_h=141.142.220.238, orig_p=56641/udp, resp_h=141.142.220.255, resp_p=137/udp], pE4ZiaKtRel diff --git a/testing/btest/Baseline/core.load-pkg/output b/testing/btest/Baseline/core.load-pkg/output index 01c77289d2..119b2f9a18 100644 --- a/testing/btest/Baseline/core.load-pkg/output +++ b/testing/btest/Baseline/core.load-pkg/output @@ -1,14 +1 @@ -loading /home/robin/bro/master/policy/bro.init - loading /home/robin/bro/master/build/src/const.bif.bro - loading /home/robin/bro/master/build/src/types.bif.bro - loading /home/robin/bro/master/build/src/strings.bif.bro - loading /home/robin/bro/master/build/src/bro.bif.bro - loading /home/robin/bro/master/policy/logging.bro - loading /home/robin/bro/master/build/src/logging.bif.bro - loading /home/robin/bro/master/policy/logging-ascii.bro - loading /home/robin/bro/master/build/src/event.bif.bro - loading /home/robin/bro/master/policy/pcap.bro - loading /home/robin/bro/master/policy/server-ports.bro -loading ./foo/test.bro -loading ./foo/__load__.bro Foo loaded diff --git a/testing/btest/Baseline/core.load-unload/output b/testing/btest/Baseline/core.load-unload/output index 5bda7e456e..e69de29bb2 100644 --- a/testing/btest/Baseline/core.load-unload/output +++ b/testing/btest/Baseline/core.load-unload/output @@ -1,12 +0,0 @@ -loading /Users/jsiwek/tmp/bro/policy/bro.init - loading /Users/jsiwek/tmp/bro/build/src/const.bif.bro - loading /Users/jsiwek/tmp/bro/build/src/types.bif.bro - loading /Users/jsiwek/tmp/bro/build/src/strings.bif.bro - loading /Users/jsiwek/tmp/bro/build/src/bro.bif.bro - loading /Users/jsiwek/tmp/bro/policy/logging.bro - loading /Users/jsiwek/tmp/bro/build/src/logging.bif.bro - loading /Users/jsiwek/tmp/bro/policy/logging-ascii.bro - loading /Users/jsiwek/tmp/bro/build/src/event.bif.bro - loading /Users/jsiwek/tmp/bro/policy/pcap.bro - loading /Users/jsiwek/tmp/bro/policy/server-ports.bro -loading /Users/jsiwek/tmp/bro/testing/btest/.tmp/core.load-unload/load-unload.bro diff --git a/testing/btest/Baseline/core.print-bpf-filters-ipv4/conn.log b/testing/btest/Baseline/core.print-bpf-filters-ipv4/conn.log index fc0008ea13..e71eff9d57 100644 --- a/testing/btest/Baseline/core.print-bpf-filters-ipv4/conn.log +++ b/testing/btest/Baseline/core.print-bpf-filters-ipv4/conn.log @@ -1 +1,2 @@ -1128727435.450898 1.733303 141.42.64.125 125.190.109.199 http 56730 80 tcp 98 9417 SF X +# ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto service duration orig_bytes resp_bytes conn_state local_orig missed_bytes history notice_tags +1128727435.4509 UWkUyAuUGXf 141.42.64.125 56730 125.190.109.199 80 tcp - 1.73330307006836 98 9417 SF - 0 ShADdFaf - diff --git a/testing/btest/Baseline/core.print-bpf-filters-ipv4/output b/testing/btest/Baseline/core.print-bpf-filters-ipv4/output index 2b517e8666..164b523b90 100644 --- a/testing/btest/Baseline/core.print-bpf-filters-ipv4/output +++ b/testing/btest/Baseline/core.print-bpf-filters-ipv4/output @@ -1,4 +1,8 @@ -not ip6 -not ip6 -(not ip6) and (tcp[13] & 7 != 0) -port 42 +# ts node filter init success +1308602779.63662 - not ip6 F T +# ts node filter init success +1308602779.68967 - (tcp port 22) and (not ip6) F T +# ts node filter init success +1308602779.73049 - port 42 F T +# ts node filter init success +1308602779.77495 - port 56730 T T diff --git a/testing/btest/Baseline/core.print-bpf-filters-ipv6/conn.log b/testing/btest/Baseline/core.print-bpf-filters-ipv6/conn.log index fc0008ea13..e71eff9d57 100644 --- a/testing/btest/Baseline/core.print-bpf-filters-ipv6/conn.log +++ b/testing/btest/Baseline/core.print-bpf-filters-ipv6/conn.log @@ -1 +1,2 @@ -1128727435.450898 1.733303 141.42.64.125 125.190.109.199 http 56730 80 tcp 98 9417 SF X +# ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto service duration orig_bytes resp_bytes conn_state local_orig missed_bytes history notice_tags +1128727435.4509 UWkUyAuUGXf 141.42.64.125 56730 125.190.109.199 80 tcp - 1.73330307006836 98 9417 SF - 0 ShADdFaf - diff --git a/testing/btest/Baseline/core.print-bpf-filters-ipv6/output b/testing/btest/Baseline/core.print-bpf-filters-ipv6/output index 56189b3d9f..0065fabfd3 100644 --- a/testing/btest/Baseline/core.print-bpf-filters-ipv6/output +++ b/testing/btest/Baseline/core.print-bpf-filters-ipv6/output @@ -1,4 +1,8 @@ -ip or not ip -ip or not ip -tcp[13] & 7 != 0 -port 42 +# ts node filter init success +1308603220.46822 - ip or not ip F T +# ts node filter init success +1308603220.51607 - tcp port 22 F T +# ts node filter init success +1308603220.55432 - port 42 F T +# ts node filter init success +1308603220.59452 - port 56730 T T diff --git a/testing/btest/Baseline/core.vlan-mpls/conn.log b/testing/btest/Baseline/core.vlan-mpls/conn.log index 229842e24f..3533354623 100644 --- a/testing/btest/Baseline/core.vlan-mpls/conn.log +++ b/testing/btest/Baseline/core.vlan-mpls/conn.log @@ -1,3 +1,4 @@ -952109346.874907 2.102560 10.1.2.1 10.34.0.1 telnet 11001 23 tcp 25 ? SH X cc=1 -1128727435.450898 1.733303 141.42.64.125 125.190.109.199 http 56730 80 tcp 98 9417 SF X -1278600802.069419 0.004152 10.20.80.1 10.0.0.15 http 50343 80 tcp 9 3429 SF X +# ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto service duration orig_bytes resp_bytes conn_state local_orig missed_bytes history notice_tags +952109346.874907 UWkUyAuUGXf 10.1.2.1 11001 10.34.0.1 23 tcp - 2.10255992412567 25 0 SH - 0 - - +1128727435.4509 50da4BEzauh 141.42.64.125 56730 125.190.109.199 80 tcp - 1.73330307006836 98 9417 SF - 0 ShADdFaf - +1278600802.06942 WUjEZFOdSS 10.20.80.1 50343 10.0.0.15 80 tcp - 0.00415205955505371 9 3429 SF - 0 ShADadfF - diff --git a/testing/btest/Baseline/doc.autogen-reST-example/example.rst b/testing/btest/Baseline/doc.autogen-reST-example/example.rst index 516b7b51aa..a7ef21d907 100644 --- a/testing/btest/Baseline/doc.autogen-reST-example/example.rst +++ b/testing/btest/Baseline/doc.autogen-reST-example/example.rst @@ -98,23 +98,23 @@ Namespaces Notices ~~~~~~~ -:bro:type:`Notice` +:bro:type:`Notice::Type` :Type: :bro:type:`enum` - .. bro:enum:: Example::Notice_One Notice + .. bro:enum:: Example::Notice_One Notice::Type any number of this type of comment will document "Notice_One" - .. bro:enum:: Example::Notice_Two Notice + .. bro:enum:: Example::Notice_Two Notice::Type any number of this type of comment will document "Notice_Two" - .. bro:enum:: Example::Notice_Three Notice + .. bro:enum:: Example::Notice_Three Notice::Type - .. bro:enum:: Example::Notice_Four Notice + .. bro:enum:: Example::Notice_Four Notice::Type Public Interface ---------------- diff --git a/testing/btest/Baseline/istate.events/receiver.http.log b/testing/btest/Baseline/istate.events/receiver.http.log index b0ca7b5583..f3519e39aa 100644 --- a/testing/btest/Baseline/istate.events/receiver.http.log +++ b/testing/btest/Baseline/istate.events/receiver.http.log @@ -1,18 +1,2 @@ -1301459542.533110 %events-rcv-1 start 141.42.64.125:56730 > 125.190.109.199:80 -1301459542.533110 %events-rcv-1 > USER-AGENT: Wget/1.10 -1301459542.533110 %events-rcv-1 > ACCEPT: */* -1301459542.533110 %events-rcv-1 > HOST: www.icir.org -1301459542.533110 %events-rcv-1 > CONNECTION: Keep-Alive -1301459542.717115 %events-rcv-1 < DATE: Fri, 07 Oct 2005 23:23:55 GMT -1301459542.717115 %events-rcv-1 < SERVER: Apache/1.3.33 (Unix) -1301459542.717115 %events-rcv-1 < LAST-MODIFIED: Fri, 07 Oct 2005 16:23:01 GMT -1301459542.717115 %events-rcv-1 < ETAG: "2c96c-23aa-4346a0e5" -1301459542.717115 %events-rcv-1 < ACCEPT-RANGES: bytes -1301459542.717115 %events-rcv-1 < CONTENT-LENGTH: 9130 -1301459542.717115 %events-rcv-1 < KEEP-ALIVE: timeout=15, max=100 -1301459542.717115 %events-rcv-1 < CONNECTION: Keep-Alive -1301459542.717115 %events-rcv-1 < CONTENT-TYPE: text/html -1301459542.901119 %events-rcv-1 <= 4096 bytes: "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML ..." -1301459542.941139 %events-rcv-1 <= 4096 bytes: "gn=top>^J^J<h2>^JPublications^J</h2>^J<ul>^J<l..." -1301459543.085124 %events-rcv-1 <= 938 bytes: "ational Internet Measurement Infrastruct..." -1301459543.085124 %events-rcv-1 GET / (200 "OK" [9130] www.icir.org) +# ts uid id.orig_h id.orig_p id.resp_h id.resp_p method host uri referrer user_agent request_content_length response_content_length status_code status_msg filename tags username password proxied +1308842601.71319 56gKBmhBBB6 141.42.64.125 56730 125.190.109.199 80 GET www.icir.org / - Wget/1.10 - 9130 200 OK - - - - - diff --git a/testing/btest/Baseline/istate.events/sender.http.log b/testing/btest/Baseline/istate.events/sender.http.log index 47f6130fdf..f3519e39aa 100644 --- a/testing/btest/Baseline/istate.events/sender.http.log +++ b/testing/btest/Baseline/istate.events/sender.http.log @@ -1,18 +1,2 @@ -1301459542.463895 %events-send-1 start 141.42.64.125:56730 > 125.190.109.199:80 -1301459542.463895 %events-send-1 > USER-AGENT: Wget/1.10 -1301459542.463895 %events-send-1 > ACCEPT: */* -1301459542.463895 %events-send-1 > HOST: www.icir.org -1301459542.463895 %events-send-1 > CONNECTION: Keep-Alive -1301459542.647935 %events-send-1 < DATE: Fri, 07 Oct 2005 23:23:55 GMT -1301459542.647935 %events-send-1 < SERVER: Apache/1.3.33 (Unix) -1301459542.647935 %events-send-1 < LAST-MODIFIED: Fri, 07 Oct 2005 16:23:01 GMT -1301459542.647935 %events-send-1 < ETAG: "2c96c-23aa-4346a0e5" -1301459542.647935 %events-send-1 < ACCEPT-RANGES: bytes -1301459542.647935 %events-send-1 < CONTENT-LENGTH: 9130 -1301459542.647935 %events-send-1 < KEEP-ALIVE: timeout=15, max=100 -1301459542.647935 %events-send-1 < CONNECTION: Keep-Alive -1301459542.647935 %events-send-1 < CONTENT-TYPE: text/html -1301459542.832424 %events-send-1 <= 4096 bytes: "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML ..." -1301459542.832718 %events-send-1 <= 4096 bytes: "gn=top>^J^J<h2>^JPublications^J</h2>^J<ul>^J<l..." -1301459543.016242 %events-send-1 <= 938 bytes: "ational Internet Measurement Infrastruct..." -1301459543.016242 %events-send-1 GET / (200 "OK" [9130] www.icir.org) +# ts uid id.orig_h id.orig_p id.resp_h id.resp_p method host uri referrer user_agent request_content_length response_content_length status_code status_msg filename tags username password proxied +1308842601.71319 56gKBmhBBB6 141.42.64.125 56730 125.190.109.199 80 GET www.icir.org / - Wget/1.10 - 9130 200 OK - - - - - diff --git a/testing/btest/Baseline/istate.pybroccoli/bro..stdout b/testing/btest/Baseline/istate.pybroccoli/bro..stdout index 6b74681745..9eec3a4550 100644 --- a/testing/btest/Baseline/istate.pybroccoli/bro..stdout +++ b/testing/btest/Baseline/istate.pybroccoli/bro..stdout @@ -11,4 +11,9 @@ Servus 0.0 192.168.0.0/16 ==== record +[a=42, b=6.6.7.7] 42, 6.6.7.7 +==== coerced record +[a=13, b=<uninitialized>, c=helloworld] +13 +helloworld diff --git a/testing/btest/Baseline/language.rare-events/notice.log b/testing/btest/Baseline/language.rare-events/notice.log new file mode 100644 index 0000000000..c0b6154ac2 --- /dev/null +++ b/testing/btest/Baseline/language.rare-events/notice.log @@ -0,0 +1,2 @@ +# ts uid id.orig_h id.orig_p id.resp_h id.resp_p victim note msg sub src dst p n action tag do_alarm +1308596064.17872 - - - - - - PacketFilter::DroppedPackets 2 packets dropped after filtering, 1109 received, 10000 on link - - - - - Notice::ACTION_FILE @UWkUyAuUGXf F diff --git a/testing/btest/Baseline/policy.frameworks.intel.insert-and-matcher/out b/testing/btest/Baseline/policy.frameworks.intel.insert-and-matcher/out new file mode 100644 index 0000000000..71fec4e23c --- /dev/null +++ b/testing/btest/Baseline/policy.frameworks.intel.insert-and-matcher/out @@ -0,0 +1,3 @@ +VALID +VALID +VALID diff --git a/testing/btest/Baseline/logging.adapt-filter/ssh-new-default.log b/testing/btest/Baseline/policy.frameworks.logging.adapt-filter/ssh-new-default.log similarity index 100% rename from testing/btest/Baseline/logging.adapt-filter/ssh-new-default.log rename to testing/btest/Baseline/policy.frameworks.logging.adapt-filter/ssh-new-default.log diff --git a/testing/btest/Baseline/logging.ascii-binary/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.ascii-binary/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.ascii-binary/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.ascii-binary/ssh.log diff --git a/testing/btest/Baseline/logging.ascii-empty/output b/testing/btest/Baseline/policy.frameworks.logging.ascii-empty/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.ascii-empty/output rename to testing/btest/Baseline/policy.frameworks.logging.ascii-empty/ssh.log diff --git a/testing/btest/Baseline/logging.ascii-escape/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.ascii-escape/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.ascii-escape/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.ascii-escape/ssh.log diff --git a/testing/btest/Baseline/logging.ascii-options/output b/testing/btest/Baseline/policy.frameworks.logging.ascii-options/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.ascii-options/output rename to testing/btest/Baseline/policy.frameworks.logging.ascii-options/ssh.log diff --git a/testing/btest/Baseline/logging.attr-extend/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.attr-extend/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.attr-extend/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.attr-extend/ssh.log diff --git a/testing/btest/Baseline/logging.attr/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.attr/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.attr/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.attr/ssh.log diff --git a/testing/btest/Baseline/logging.empty-event/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.empty-event/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.empty-event/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.empty-event/ssh.log diff --git a/testing/btest/Baseline/logging.events/output b/testing/btest/Baseline/policy.frameworks.logging.events/output similarity index 100% rename from testing/btest/Baseline/logging.events/output rename to testing/btest/Baseline/policy.frameworks.logging.events/output diff --git a/testing/btest/Baseline/logging.exclude/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.exclude/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.exclude/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.exclude/ssh.log diff --git a/testing/btest/Baseline/logging.file/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.file/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.file/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.file/ssh.log diff --git a/testing/btest/Baseline/logging.include/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.include/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.include/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.include/ssh.log diff --git a/testing/btest/Baseline/logging.path-func/output b/testing/btest/Baseline/policy.frameworks.logging.path-func/output similarity index 100% rename from testing/btest/Baseline/logging.path-func/output rename to testing/btest/Baseline/policy.frameworks.logging.path-func/output diff --git a/testing/btest/Baseline/logging.pred/ssh.failure.log b/testing/btest/Baseline/policy.frameworks.logging.pred/ssh.failure.log similarity index 100% rename from testing/btest/Baseline/logging.pred/ssh.failure.log rename to testing/btest/Baseline/policy.frameworks.logging.pred/ssh.failure.log diff --git a/testing/btest/Baseline/logging.pred/ssh.success.log b/testing/btest/Baseline/policy.frameworks.logging.pred/ssh.success.log similarity index 100% rename from testing/btest/Baseline/logging.pred/ssh.success.log rename to testing/btest/Baseline/policy.frameworks.logging.pred/ssh.success.log diff --git a/testing/btest/Baseline/logging.remote-types/receiver.ssh.log b/testing/btest/Baseline/policy.frameworks.logging.remote-types/receiver.ssh.log similarity index 100% rename from testing/btest/Baseline/logging.remote-types/receiver.ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.remote-types/receiver.ssh.log diff --git a/testing/btest/Baseline/logging.remote/sender.ssh.failure.log b/testing/btest/Baseline/policy.frameworks.logging.remote/sender.ssh.failure.log similarity index 100% rename from testing/btest/Baseline/logging.remote/sender.ssh.failure.log rename to testing/btest/Baseline/policy.frameworks.logging.remote/sender.ssh.failure.log diff --git a/testing/btest/Baseline/logging.remote/sender.ssh.log b/testing/btest/Baseline/policy.frameworks.logging.remote/sender.ssh.log similarity index 100% rename from testing/btest/Baseline/logging.remote/sender.ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.remote/sender.ssh.log diff --git a/testing/btest/Baseline/logging.remote/sender.ssh.success.log b/testing/btest/Baseline/policy.frameworks.logging.remote/sender.ssh.success.log similarity index 100% rename from testing/btest/Baseline/logging.remote/sender.ssh.success.log rename to testing/btest/Baseline/policy.frameworks.logging.remote/sender.ssh.success.log diff --git a/testing/btest/Baseline/logging.remove/ssh.failure.log b/testing/btest/Baseline/policy.frameworks.logging.remove/ssh.failure.log similarity index 100% rename from testing/btest/Baseline/logging.remove/ssh.failure.log rename to testing/btest/Baseline/policy.frameworks.logging.remove/ssh.failure.log diff --git a/testing/btest/Baseline/logging.remove/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.remove/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.remove/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.remove/ssh.log diff --git a/testing/btest/Baseline/logging.rotate-custom/out b/testing/btest/Baseline/policy.frameworks.logging.rotate-custom/out similarity index 100% rename from testing/btest/Baseline/logging.rotate-custom/out rename to testing/btest/Baseline/policy.frameworks.logging.rotate-custom/out index c87445cff5..24601e4ed9 100644 --- a/testing/btest/Baseline/logging.rotate-custom/out +++ b/testing/btest/Baseline/policy.frameworks.logging.rotate-custom/out @@ -1,32 +1,32 @@ -2nd test2-11-03-07_03.00.05.log test2.log 11-03-07_03.00.05 11-03-07_03.59.55 0 1st test-11-03-07_03.00.05.log test.log 11-03-07_03.00.05 11-03-07_04.00.05 0 +1st test-11-03-07_04.00.05.log test.log 11-03-07_04.00.05 11-03-07_05.00.05 0 +1st test-11-03-07_05.00.05.log test.log 11-03-07_05.00.05 11-03-07_06.00.05 0 +1st test-11-03-07_06.00.05.log test.log 11-03-07_06.00.05 11-03-07_07.00.05 0 +1st test-11-03-07_07.00.05.log test.log 11-03-07_07.00.05 11-03-07_08.00.05 0 +1st test-11-03-07_08.00.05.log test.log 11-03-07_08.00.05 11-03-07_09.00.05 0 +1st test-11-03-07_09.00.05.log test.log 11-03-07_09.00.05 11-03-07_10.00.05 0 +1st test-11-03-07_10.00.05.log test.log 11-03-07_10.00.05 11-03-07_11.00.05 0 +1st test-11-03-07_11.00.05.log test.log 11-03-07_11.00.05 11-03-07_12.00.05 0 +1st test-11-03-07_12.00.05.log test.log 11-03-07_12.00.05 11-03-07_12.59.55 1 +2nd test2-11-03-07_03.00.05.log test2.log 11-03-07_03.00.05 11-03-07_03.59.55 0 2nd test2-11-03-07_03.59.55.log test2.log 11-03-07_03.59.55 11-03-07_04.00.05 0 2nd test2-11-03-07_04.00.05.log test2.log 11-03-07_04.00.05 11-03-07_04.59.55 0 -1st test-11-03-07_04.00.05.log test.log 11-03-07_04.00.05 11-03-07_05.00.05 0 2nd test2-11-03-07_04.59.55.log test2.log 11-03-07_04.59.55 11-03-07_05.00.05 0 2nd test2-11-03-07_05.00.05.log test2.log 11-03-07_05.00.05 11-03-07_05.59.55 0 -1st test-11-03-07_05.00.05.log test.log 11-03-07_05.00.05 11-03-07_06.00.05 0 2nd test2-11-03-07_05.59.55.log test2.log 11-03-07_05.59.55 11-03-07_06.00.05 0 2nd test2-11-03-07_06.00.05.log test2.log 11-03-07_06.00.05 11-03-07_06.59.55 0 -1st test-11-03-07_06.00.05.log test.log 11-03-07_06.00.05 11-03-07_07.00.05 0 2nd test2-11-03-07_06.59.55.log test2.log 11-03-07_06.59.55 11-03-07_07.00.05 0 2nd test2-11-03-07_07.00.05.log test2.log 11-03-07_07.00.05 11-03-07_07.59.55 0 -1st test-11-03-07_07.00.05.log test.log 11-03-07_07.00.05 11-03-07_08.00.05 0 2nd test2-11-03-07_07.59.55.log test2.log 11-03-07_07.59.55 11-03-07_08.00.05 0 2nd test2-11-03-07_08.00.05.log test2.log 11-03-07_08.00.05 11-03-07_08.59.55 0 -1st test-11-03-07_08.00.05.log test.log 11-03-07_08.00.05 11-03-07_09.00.05 0 2nd test2-11-03-07_08.59.55.log test2.log 11-03-07_08.59.55 11-03-07_09.00.05 0 2nd test2-11-03-07_09.00.05.log test2.log 11-03-07_09.00.05 11-03-07_09.59.55 0 -1st test-11-03-07_09.00.05.log test.log 11-03-07_09.00.05 11-03-07_10.00.05 0 2nd test2-11-03-07_09.59.55.log test2.log 11-03-07_09.59.55 11-03-07_10.00.05 0 2nd test2-11-03-07_10.00.05.log test2.log 11-03-07_10.00.05 11-03-07_10.59.55 0 -1st test-11-03-07_10.00.05.log test.log 11-03-07_10.00.05 11-03-07_11.00.05 0 2nd test2-11-03-07_10.59.55.log test2.log 11-03-07_10.59.55 11-03-07_11.00.05 0 2nd test2-11-03-07_11.00.05.log test2.log 11-03-07_11.00.05 11-03-07_11.59.55 0 -1st test-11-03-07_11.00.05.log test.log 11-03-07_11.00.05 11-03-07_12.00.05 0 2nd test2-11-03-07_11.59.55.log test2.log 11-03-07_11.59.55 11-03-07_12.00.05 0 2nd test2-11-03-07_12.00.05.log test2.log 11-03-07_12.00.05 11-03-07_12.59.55 0 -1st test-11-03-07_12.00.05.log test.log 11-03-07_12.00.05 11-03-07_12.59.55 1 2nd test2-11-03-07_12.59.55.log test2.log 11-03-07_12.59.55 11-03-07_12.59.55 1 # t id.orig_h id.orig_p id.resp_h id.resp_p 1299466805.0 10.0.0.1 20 10.0.0.2 1024 diff --git a/testing/btest/Baseline/logging.rotate/out b/testing/btest/Baseline/policy.frameworks.logging.rotate/out similarity index 100% rename from testing/btest/Baseline/logging.rotate/out rename to testing/btest/Baseline/policy.frameworks.logging.rotate/out diff --git a/testing/btest/Baseline/logging.stdout/output b/testing/btest/Baseline/policy.frameworks.logging.stdout/output similarity index 100% rename from testing/btest/Baseline/logging.stdout/output rename to testing/btest/Baseline/policy.frameworks.logging.stdout/output diff --git a/testing/btest/Baseline/logging.test-logging/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.test-logging/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.test-logging/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.test-logging/ssh.log diff --git a/testing/btest/Baseline/logging.types/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.types/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.types/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.types/ssh.log diff --git a/testing/btest/Baseline/logging.unset-record/testing.log b/testing/btest/Baseline/policy.frameworks.logging.unset-record/testing.log similarity index 100% rename from testing/btest/Baseline/logging.unset-record/testing.log rename to testing/btest/Baseline/policy.frameworks.logging.unset-record/testing.log diff --git a/testing/btest/Baseline/logging.vec/ssh.log b/testing/btest/Baseline/policy.frameworks.logging.vec/ssh.log similarity index 100% rename from testing/btest/Baseline/logging.vec/ssh.log rename to testing/btest/Baseline/policy.frameworks.logging.vec/ssh.log diff --git a/testing/btest/Baseline/policy.frameworks.software.version-parsing/output b/testing/btest/Baseline/policy.frameworks.software.version-parsing/output new file mode 100644 index 0000000000..77fc25c72d --- /dev/null +++ b/testing/btest/Baseline/policy.frameworks.software.version-parsing/output @@ -0,0 +1,40 @@ +success on: Apache/1.3.19 (Unix) +success on: Python-urllib/3.1 +success on: Apache +success on: Java/1.6.0_13 +success on: Wget/1.11.4 (Red Hat modified) +success on: curl/7.15.1 (i486-pc-linux-gnu) libcurl/7.15.1 OpenSSL/0.9.8a zlib/1.2.3 libidn/0.5.18 +success on: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5 +success on: Opera/9.80 (Windows NT 6.1; U; sv) Presto/2.7.62 Version/11.01 +success on: (vsFTPd 2.0.5) +success on: OpenSSH_4.4 +success on: Mozilla/4.0 (compatible; MSIE 8.0; Android 2.2.2; Linux; Opera Mobi/ADR-1103311355; en) Opera 11.00 +success on: The Bat! (3.0.1 RC3) Professional +success on: Apple Mail (2.1084) +success on: libwww-perl/5.820 +success on: Apache/2.0.46 (Win32) mod_ssl/2.0.46 OpenSSL/0.9.7b mod_jk2/2.0.4 +success on: iTunes/9.0 (Macintosh; Intel Mac OS X 10.5.8) AppleWebKit/531.9 +success on: Wget/1.9+cvs-stable (Red Hat modified) +success on: The Bat! (v2.00.9) Personal +success on: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.205 Safari/534.16 +success on: ProFTPD 1.2.5rc1 Server (Debian) +success on: Java1.2.2-JDeveloper +success on: Total Commander +success on: Apple iPhone v4.3.1 Weather v1.0.0.8G4 +success on: Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.348; U; en) Presto/2.5.25 Version/10.54 +success on: wu-2.4.2-academ[BETA-18-VR14](1) +success on: Zope/(Zope 2.7.8-final, python 2.3.5, darwin) ZServer/1.1 Plone/Unknown +success on: Java1.3.1_04 +success on: Opera/9.80 (Windows NT 5.1; Opera Mobi/49; U; en) Presto/2.4.18 Version/10.00 +success on: Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; Media Center PC 3.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1) +success on: OpenSSH_5.2 +success on: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GTB5; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.2) +success on: Mozilla/5.0 (Linux; U; Android 2.3.3; zh-tw; HTC Pyramid Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 +success on: wu-2.6.2(1) +success on: Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18741/18.794; U; en) Presto/2.4.15 +success on: Flash/10,2,153,1 +success on: CacheFlyServe v26b +success on: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.11) Gecko/20101013 Lightning/1.0b2 Thunderbird/3.1.5 +success on: Apache/2.0.63 (Unix) mod_auth_kerb/5.3 mod_ssl/2.0.63 OpenSSL/0.9.7a mod_fastcgi/2.4.2 +success on: mt2/1.2.3.967 Oct 13 2010-13:40:24 ord-pixel-x2 pid 0x35a3 13731 +success on: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) diff --git a/testing/btest/Baseline/policy.known-hosts-test/.stderr b/testing/btest/Baseline/policy.known-hosts-test/.stderr deleted file mode 100644 index 171bb7a83b..0000000000 --- a/testing/btest/Baseline/policy.known-hosts-test/.stderr +++ /dev/null @@ -1,34 +0,0 @@ -weird: 1300475167.097012 non_IPv4_packet -1300475168.652003 weird: bad_TCP_checksum -1300475168.784020 weird: bad_TCP_checksum -1300475168.853899 weird: bad_UDP_checksum -1300475168.854378 weird: bad_UDP_checksum -1300475168.854837 weird: bad_UDP_checksum -1300475168.857956 weird: bad_UDP_checksum -1300475168.858306 weird: bad_UDP_checksum -1300475168.858713 weird: bad_UDP_checksum -1300475168.891644 weird: bad_UDP_checksum -1300475168.892037 weird: bad_UDP_checksum -1300475168.892414 weird: bad_UDP_checksum -1300475168.893988 weird: bad_UDP_checksum -1300475168.894422 weird: bad_UDP_checksum -1300475168.894787 weird: bad_UDP_checksum -1300475168.901749 weird: bad_UDP_checksum -1300475168.902195 weird: bad_UDP_checksum -1300475168.916018 weird: bad_TCP_checksum -1300475168.916183 weird: bad_TCP_checksum -1300475168.918358 weird: bad_TCP_checksum -1300475168.952296 weird: bad_TCP_checksum -1300475168.952307 weird: bad_TCP_checksum -1300475168.954820 weird: bad_TCP_checksum -1300475168.962687 weird: bad_TCP_checksum -1300475168.975934 weird: bad_TCP_checksum -1300475168.976436 weird: bad_TCP_checksum -1300475168.979264 weird: bad_TCP_checksum -1300475169.014593 weird: bad_TCP_checksum -1300475169.014619 weird: bad_TCP_checksum -1300475169.014927 weird: bad_TCP_checksum -weird: 1300475171.675372 non_IPv4_packet -weird: 1300475171.775468 non_IPv4_packet -weird: 1300475173.116749 non_IPv4_packet -weird: 1300475173.216550 non_IPv4_packet diff --git a/testing/btest/Baseline/policy.known-hosts-test/.stdout b/testing/btest/Baseline/policy.known-hosts-test/.stdout deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/testing/btest/Baseline/policy.known-hosts-test/KNOWN_HOSTS b/testing/btest/Baseline/policy.known-hosts-test/KNOWN_HOSTS deleted file mode 100644 index 992d3455b6..0000000000 --- a/testing/btest/Baseline/policy.known-hosts-test/KNOWN_HOSTS +++ /dev/null @@ -1,5 +0,0 @@ -ts address -1300475168.78384 141.142.220.118 -1300475168.78384 208.80.152.118 -1300475168.91594 208.80.152.3 -1300475168.96263 208.80.152.2 diff --git a/testing/btest/Baseline/policy.known-services-test/.stderr b/testing/btest/Baseline/policy.known-services-test/.stderr deleted file mode 100644 index edd7910864..0000000000 --- a/testing/btest/Baseline/policy.known-services-test/.stderr +++ /dev/null @@ -1,12472 +0,0 @@ -964800422.434095 weird: spontaneous_FIN -964800422.434173 weird: spontaneous_FIN -964800422.434243 weird: spontaneous_FIN -964800422.445760 weird: spontaneous_FIN -964800422.445848 weird: spontaneous_FIN -964800422.445922 weird: spontaneous_FIN -964800422.445989 weird: spontaneous_FIN -964800422.446064 weird: spontaneous_FIN -964800422.446138 weird: spontaneous_FIN -964800422.446216 weird: spontaneous_FIN -964800422.446287 weird: spontaneous_FIN -964800422.446365 weird: spontaneous_FIN -964800422.446438 weird: spontaneous_FIN -964800422.446510 weird: spontaneous_FIN -964800422.446582 weird: spontaneous_FIN -964800422.446651 weird: spontaneous_FIN -964800422.446723 weird: spontaneous_FIN -964800422.446792 weird: spontaneous_FIN -964800422.446863 weird: spontaneous_FIN -964800422.446933 weird: spontaneous_FIN -964800422.447006 weird: spontaneous_FIN -964800422.447079 weird: spontaneous_FIN -964800422.447153 weird: spontaneous_FIN -964800422.447228 weird: spontaneous_FIN -964800422.447301 weird: spontaneous_FIN -964800422.447386 weird: spontaneous_FIN -964800422.447470 weird: spontaneous_FIN -964800422.447551 weird: spontaneous_FIN -964800422.447629 weird: spontaneous_FIN -964800422.447710 weird: spontaneous_FIN -964800422.447788 weird: spontaneous_FIN -964800422.447866 weird: spontaneous_FIN -964800422.447945 weird: spontaneous_FIN -964800422.448022 weird: spontaneous_FIN -964800422.448099 weird: spontaneous_FIN -964800422.448177 weird: spontaneous_FIN -964800422.448259 weird: spontaneous_FIN -964800422.448335 weird: spontaneous_FIN -964800422.448408 weird: spontaneous_FIN -964800422.448482 weird: spontaneous_FIN -964800422.448559 weird: spontaneous_FIN -964800422.448637 weird: spontaneous_FIN -964800422.448712 weird: spontaneous_FIN -964800422.448787 weird: spontaneous_FIN -964800422.448862 weird: spontaneous_FIN -964800422.448934 weird: spontaneous_FIN -964800422.449006 weird: spontaneous_FIN -964800422.449075 weird: spontaneous_FIN -964800422.449141 weird: spontaneous_FIN -964800422.449209 weird: spontaneous_FIN -964800422.449280 weird: spontaneous_FIN -964800422.449354 weird: spontaneous_FIN -964800422.449427 weird: spontaneous_FIN -964800422.449501 weird: spontaneous_FIN -964800422.449576 weird: spontaneous_FIN -964800422.449648 weird: spontaneous_FIN -964800422.449721 weird: spontaneous_FIN -964800422.449793 weird: spontaneous_FIN -964800422.449865 weird: spontaneous_FIN -964800422.449938 weird: spontaneous_FIN -964800422.450010 weird: spontaneous_FIN -964800422.450083 weird: spontaneous_FIN -964800422.450156 weird: spontaneous_FIN -964800422.450234 weird: spontaneous_FIN -964800422.450311 weird: spontaneous_FIN -964800422.450386 weird: spontaneous_FIN -964800422.450458 weird: spontaneous_FIN -964800422.450532 weird: spontaneous_FIN -964800422.450608 weird: spontaneous_FIN -964800422.450686 weird: spontaneous_FIN -964800422.450758 weird: spontaneous_FIN -964800422.450834 weird: spontaneous_FIN -964800422.544034 weird: spontaneous_FIN -964800422.544112 weird: spontaneous_FIN -964800422.544185 weird: spontaneous_FIN -964800422.544253 weird: spontaneous_FIN -964800422.544322 weird: spontaneous_FIN -964800422.544392 weird: spontaneous_FIN -964800422.544466 weird: spontaneous_FIN -964800422.544537 weird: spontaneous_FIN -964800422.544613 weird: spontaneous_FIN -964800422.544690 weird: spontaneous_FIN -964800422.544765 weird: spontaneous_FIN -964800422.544834 weird: spontaneous_FIN -964800422.544909 weird: spontaneous_FIN -964800422.544985 weird: spontaneous_FIN -964800422.545057 weird: spontaneous_FIN -964800422.545131 weird: spontaneous_FIN -964800422.545205 weird: spontaneous_FIN -964800422.545280 weird: spontaneous_FIN -964800422.545360 weird: spontaneous_FIN -964800422.545435 weird: spontaneous_FIN -964800422.545514 weird: spontaneous_FIN -964800422.545593 weird: spontaneous_FIN -964800422.545671 weird: spontaneous_FIN -964800422.545755 weird: spontaneous_FIN -964800422.545833 weird: spontaneous_FIN -964800422.545916 weird: spontaneous_FIN -964800422.546002 weird: spontaneous_FIN -964800422.546082 weird: spontaneous_FIN -964800422.546172 weird: spontaneous_FIN -964800422.546260 weird: spontaneous_FIN -964800422.546345 weird: spontaneous_FIN -964800422.546431 weird: spontaneous_FIN -964800422.546518 weird: spontaneous_FIN -964800422.546600 weird: spontaneous_FIN -964800422.546688 weird: spontaneous_FIN -964800422.546772 weird: spontaneous_FIN -964800422.546857 weird: spontaneous_FIN -964800422.546935 weird: spontaneous_FIN -964800422.547021 weird: spontaneous_FIN -964800422.547110 weird: spontaneous_FIN -964800422.547193 weird: spontaneous_FIN -964800422.547272 weird: spontaneous_FIN -964800422.547346 weird: spontaneous_FIN -964800422.547423 weird: spontaneous_FIN -964800422.547499 weird: spontaneous_FIN -964800422.547578 weird: spontaneous_FIN -964800422.547829 weird: spontaneous_FIN -964800422.547992 weird: spontaneous_FIN -964800422.548156 weird: spontaneous_FIN -964800422.548322 weird: spontaneous_FIN -964800422.548486 weird: spontaneous_FIN -964800422.548652 weird: spontaneous_FIN -964800422.548818 weird: spontaneous_FIN -964800422.548983 weird: spontaneous_FIN -964800422.549147 weird: spontaneous_FIN -964800422.549311 weird: spontaneous_FIN -964800422.549315 weird: spontaneous_FIN -964800422.549337 weird: spontaneous_FIN -964800422.549345 weird: spontaneous_FIN -964800422.549350 weird: spontaneous_FIN -964800422.549355 weird: spontaneous_FIN -964800422.549359 weird: spontaneous_FIN -964800422.549365 weird: spontaneous_FIN -964800422.549370 weird: spontaneous_FIN -964800422.549375 weird: spontaneous_FIN -964800422.549380 weird: spontaneous_FIN -964800422.549385 weird: spontaneous_FIN -964800422.549390 weird: spontaneous_FIN -964800422.549395 weird: spontaneous_FIN -964800422.549427 weird: spontaneous_FIN -964800422.549499 weird: spontaneous_FIN -964800422.549582 weird: spontaneous_FIN -964800422.644083 weird: spontaneous_FIN -964800422.644166 weird: spontaneous_FIN -964800422.644236 weird: spontaneous_FIN -964800422.644304 weird: spontaneous_FIN -964800422.644371 weird: spontaneous_FIN -964800422.644438 weird: spontaneous_FIN -964800422.644512 weird: spontaneous_FIN -964800422.644587 weird: spontaneous_FIN -964800422.644822 weird: spontaneous_FIN -964800422.644996 weird: spontaneous_FIN -964800422.645163 weird: spontaneous_FIN -964800422.645327 weird: spontaneous_FIN -964800422.645492 weird: spontaneous_FIN -964800422.645658 weird: spontaneous_FIN -964800422.645823 weird: spontaneous_FIN -964800422.645987 weird: spontaneous_FIN -964800422.646152 weird: spontaneous_FIN -964800422.646316 weird: spontaneous_FIN -964800422.646480 weird: spontaneous_FIN -964800422.646645 weird: spontaneous_FIN -964800422.646650 weird: spontaneous_FIN -964800422.646671 weird: spontaneous_FIN -964800422.646677 weird: spontaneous_FIN -964800422.646682 weird: spontaneous_FIN -964800422.646688 weird: spontaneous_FIN -964800422.646693 weird: spontaneous_FIN -964800422.646698 weird: spontaneous_FIN -964800422.646703 weird: spontaneous_FIN -964800422.646708 weird: spontaneous_FIN -964800422.646713 weird: spontaneous_FIN -964800422.646718 weird: spontaneous_FIN -964800422.646723 weird: spontaneous_FIN -964800422.646727 weird: spontaneous_FIN -964800422.646732 weird: spontaneous_FIN -964800422.646738 weird: spontaneous_FIN -964800422.646742 weird: spontaneous_FIN -964800422.646774 weird: spontaneous_FIN -964800422.646847 weird: spontaneous_FIN -964800422.646928 weird: spontaneous_FIN -964800422.647004 weird: spontaneous_FIN -964800422.647085 weird: spontaneous_FIN -964800422.647163 weird: spontaneous_FIN -964800422.647240 weird: spontaneous_FIN -964800422.647319 weird: spontaneous_FIN -964800422.647391 weird: spontaneous_FIN -964800422.647462 weird: spontaneous_FIN -964800422.647535 weird: spontaneous_FIN -964800422.647607 weird: spontaneous_FIN -964800422.647680 weird: spontaneous_FIN -964800422.647747 weird: spontaneous_FIN -964800422.647818 weird: spontaneous_FIN -964800422.647892 weird: spontaneous_FIN -964800422.647964 weird: spontaneous_FIN -964800422.648035 weird: spontaneous_FIN -964800422.648105 weird: spontaneous_FIN -964800422.648180 weird: spontaneous_FIN -964800422.648252 weird: spontaneous_FIN -964800422.648325 weird: spontaneous_FIN -964800422.648399 weird: spontaneous_FIN -964800422.648473 weird: spontaneous_FIN -964800422.648548 weird: spontaneous_FIN -964800422.648620 weird: spontaneous_FIN -964800422.648694 weird: spontaneous_FIN -964800422.648767 weird: spontaneous_FIN -964800422.648844 weird: spontaneous_FIN -964800422.648922 weird: spontaneous_FIN -964800422.648998 weird: spontaneous_FIN -964800422.649075 weird: spontaneous_FIN -964800422.649140 weird: spontaneous_FIN -964800422.649221 weird: spontaneous_FIN -964800422.649295 weird: spontaneous_FIN -964800422.649373 weird: spontaneous_FIN -964800422.744052 weird: spontaneous_FIN -964800422.744135 weird: spontaneous_FIN -964800422.744209 weird: spontaneous_FIN -964800422.744282 weird: spontaneous_FIN -964800422.744352 weird: spontaneous_FIN -964800422.744427 weird: spontaneous_FIN -964800422.744499 weird: spontaneous_FIN -964800422.744732 weird: spontaneous_FIN -964800422.744904 weird: spontaneous_FIN -964800422.745069 weird: spontaneous_FIN -964800422.745233 weird: spontaneous_FIN -964800422.745399 weird: spontaneous_FIN -964800422.745564 weird: spontaneous_FIN -964800422.745730 weird: spontaneous_FIN -964800422.745735 weird: spontaneous_FIN -964800422.745756 weird: spontaneous_FIN -964800422.745761 weird: spontaneous_FIN -964800422.745766 weird: spontaneous_FIN -964800422.745771 weird: spontaneous_FIN -964800422.745776 weird: spontaneous_FIN -964800422.745780 weird: spontaneous_FIN -964800422.745786 weird: spontaneous_FIN -964800422.745791 weird: spontaneous_FIN -964800422.745796 weird: spontaneous_FIN -964800422.745870 weird: spontaneous_FIN -964800422.745956 weird: spontaneous_FIN -964800422.746035 weird: spontaneous_FIN -964800422.746116 weird: spontaneous_FIN -964800422.746201 weird: spontaneous_FIN -964800422.746286 weird: spontaneous_FIN -964800422.746368 weird: spontaneous_FIN -964800422.746447 weird: spontaneous_FIN -964800422.746528 weird: spontaneous_FIN -964800422.746613 weird: spontaneous_FIN -964800422.746690 weird: spontaneous_FIN -964800422.746771 weird: spontaneous_FIN -964800422.746849 weird: spontaneous_FIN -964800422.746929 weird: spontaneous_FIN -964800422.747014 weird: spontaneous_FIN -964800422.747096 weird: spontaneous_FIN -964800422.747338 weird: spontaneous_FIN -964800422.747503 weird: spontaneous_FIN -964800422.747668 weird: spontaneous_FIN -964800422.747832 weird: spontaneous_FIN -964800422.747997 weird: spontaneous_FIN -964800422.748161 weird: spontaneous_FIN -964800422.748327 weird: spontaneous_FIN -964800422.748490 weird: spontaneous_FIN -964800422.748655 weird: spontaneous_FIN -964800422.748820 weird: spontaneous_FIN -964800422.748984 weird: spontaneous_FIN -964800422.749148 weird: spontaneous_FIN -964800422.749153 weird: spontaneous_FIN -964800422.749173 weird: spontaneous_FIN -964800422.749179 weird: spontaneous_FIN -964800422.749183 weird: spontaneous_FIN -964800422.749188 weird: spontaneous_FIN -964800422.749193 weird: spontaneous_FIN -964800422.749198 weird: spontaneous_FIN -964800422.749204 weird: spontaneous_FIN -964800422.749209 weird: spontaneous_FIN -964800422.749214 weird: spontaneous_FIN -964800422.749219 weird: spontaneous_FIN -964800422.749225 weird: spontaneous_FIN -964800422.749230 weird: spontaneous_FIN -964800422.749235 weird: spontaneous_FIN -964800422.749240 weird: spontaneous_FIN -964800422.749294 weird: spontaneous_FIN -964800422.749374 weird: spontaneous_FIN -964800422.749451 weird: spontaneous_FIN -964800422.749533 weird: spontaneous_FIN -964800422.749623 weird: spontaneous_FIN -964800422.844149 weird: spontaneous_FIN -964800422.844234 weird: spontaneous_FIN -964800422.844304 weird: spontaneous_FIN -964800422.844377 weird: spontaneous_FIN -964800422.844440 weird: spontaneous_FIN -964800422.844511 weird: spontaneous_FIN -964800422.844583 weird: spontaneous_FIN -964800422.844657 weird: spontaneous_FIN -964800422.844732 weird: spontaneous_FIN -964800422.844806 weird: spontaneous_FIN -964800422.844876 weird: spontaneous_FIN -964800422.844950 weird: spontaneous_FIN -964800422.845021 weird: spontaneous_FIN -964800422.845096 weird: spontaneous_FIN -964800422.845170 weird: spontaneous_FIN -964800422.845403 weird: spontaneous_FIN -964800422.845569 weird: spontaneous_FIN -964800422.845734 weird: spontaneous_FIN -964800422.845899 weird: spontaneous_FIN -964800422.846064 weird: spontaneous_FIN -964800422.846228 weird: spontaneous_FIN -964800422.846394 weird: spontaneous_FIN -964800422.846559 weird: spontaneous_FIN -964800422.846723 weird: spontaneous_FIN -964800422.846890 weird: spontaneous_FIN -964800422.847055 weird: spontaneous_FIN -964800422.847219 weird: spontaneous_FIN -964800422.847386 weird: spontaneous_FIN -964800422.847553 weird: spontaneous_FIN -964800422.847559 weird: spontaneous_FIN -964800422.847580 weird: spontaneous_FIN -964800422.847585 weird: spontaneous_FIN -964800422.847590 weird: spontaneous_FIN -964800422.847595 weird: spontaneous_FIN -964800422.847600 weird: spontaneous_FIN -964800422.847605 weird: spontaneous_FIN -964800422.847610 weird: spontaneous_FIN -964800422.847615 weird: spontaneous_FIN -964800422.847620 weird: spontaneous_FIN -964800422.847626 weird: spontaneous_FIN -964800422.847631 weird: spontaneous_FIN -964800422.847636 weird: spontaneous_FIN -964800422.847641 weird: spontaneous_FIN -964800422.847646 weird: spontaneous_FIN -964800422.847651 weird: spontaneous_FIN -964800422.847656 weird: spontaneous_FIN -964800422.847661 weird: spontaneous_FIN -964800422.847696 weird: spontaneous_FIN -964800422.847765 weird: spontaneous_FIN -964800422.847834 weird: spontaneous_FIN -964800422.847910 weird: spontaneous_FIN -964800422.847973 weird: spontaneous_FIN -964800422.848041 weird: spontaneous_FIN -964800422.848116 weird: spontaneous_FIN -964800422.848181 weird: spontaneous_FIN -964800422.848250 weird: spontaneous_FIN -964800422.848323 weird: spontaneous_FIN -964800422.848397 weird: spontaneous_FIN -964800422.848467 weird: spontaneous_FIN -964800422.848538 weird: spontaneous_FIN -964800422.848604 weird: spontaneous_FIN -964800422.848676 weird: spontaneous_FIN -964800422.848751 weird: spontaneous_FIN -964800422.848827 weird: spontaneous_FIN -964800422.848903 weird: spontaneous_FIN -964800422.848968 weird: spontaneous_FIN -964800422.849041 weird: spontaneous_FIN -964800422.849113 weird: spontaneous_FIN -964800422.849186 weird: spontaneous_FIN -964800422.849253 weird: spontaneous_FIN -964800422.849321 weird: spontaneous_FIN -964800422.849397 weird: spontaneous_FIN -964800422.934046 weird: spontaneous_FIN -964800422.934128 weird: spontaneous_FIN -964800422.934206 weird: spontaneous_FIN -964800422.934284 weird: spontaneous_FIN -964800422.934362 weird: spontaneous_FIN -964800422.934438 weird: spontaneous_FIN -964800422.934513 weird: spontaneous_FIN -964800422.934587 weird: spontaneous_FIN -964800422.934666 weird: spontaneous_FIN -964800422.934748 weird: spontaneous_FIN -964800422.934820 weird: spontaneous_FIN -964800422.934900 weird: spontaneous_FIN -964800422.934970 weird: spontaneous_FIN -964800422.935045 weird: spontaneous_FIN -964800422.935120 weird: spontaneous_FIN -964800422.935193 weird: spontaneous_FIN -964800422.935270 weird: spontaneous_FIN -964800422.935358 weird: spontaneous_FIN -964800422.935427 weird: spontaneous_FIN -964800422.935501 weird: spontaneous_FIN -964800422.935583 weird: spontaneous_FIN -964800422.935666 weird: spontaneous_FIN -964800422.935749 weird: spontaneous_FIN -964800422.935826 weird: spontaneous_FIN -964800422.936073 weird: spontaneous_FIN -964800422.936237 weird: spontaneous_FIN -964800422.936242 weird: spontaneous_FIN -964800422.936265 weird: spontaneous_FIN -964800422.936271 weird: spontaneous_FIN -964800422.936345 weird: spontaneous_FIN -964800422.936426 weird: spontaneous_FIN -964800422.936506 weird: spontaneous_FIN -964800422.936591 weird: spontaneous_FIN -964800422.936669 weird: spontaneous_FIN -964800422.936753 weird: spontaneous_FIN -964800422.936839 weird: spontaneous_FIN -964800422.936915 weird: spontaneous_FIN -964800422.936995 weird: spontaneous_FIN -964800422.937086 weird: spontaneous_FIN -964800422.937174 weird: spontaneous_FIN -964800422.937252 weird: spontaneous_FIN -964800422.937328 weird: spontaneous_FIN -964800422.937413 weird: spontaneous_FIN -964800422.937487 weird: spontaneous_FIN -964800422.937562 weird: spontaneous_FIN -964800422.937639 weird: spontaneous_FIN -964800422.937716 weird: spontaneous_FIN -964800422.937797 weird: spontaneous_FIN -964800422.937870 weird: spontaneous_FIN -964800422.937949 weird: spontaneous_FIN -964800422.938027 weird: spontaneous_FIN -964800422.938103 weird: spontaneous_FIN -964800422.938179 weird: spontaneous_FIN -964800422.938258 weird: spontaneous_FIN -964800422.938330 weird: spontaneous_FIN -964800422.938404 weird: spontaneous_FIN -964800422.938481 weird: spontaneous_FIN -964800422.938551 weird: spontaneous_FIN -964800422.938627 weird: spontaneous_FIN -964800422.938698 weird: spontaneous_FIN -964800422.938772 weird: spontaneous_FIN -964800422.938848 weird: spontaneous_FIN -964800422.938920 weird: spontaneous_FIN -964800422.938992 weird: spontaneous_FIN -964800422.939070 weird: spontaneous_FIN -964800422.939145 weird: spontaneous_FIN -964800422.939220 weird: spontaneous_FIN -964800422.939296 weird: spontaneous_FIN -964800422.939373 weird: spontaneous_FIN -964800422.939451 weird: spontaneous_FIN -964800422.939525 weird: spontaneous_FIN -964800422.939607 weird: spontaneous_FIN -964800423.034134 weird: spontaneous_FIN -964800423.034207 weird: spontaneous_FIN -964800423.034280 weird: spontaneous_FIN -964800423.034351 weird: spontaneous_FIN -964800423.034421 weird: spontaneous_FIN -964800423.034493 weird: spontaneous_FIN -964800423.034566 weird: spontaneous_FIN -964800423.034642 weird: spontaneous_FIN -964800423.034719 weird: spontaneous_FIN -964800423.034798 weird: spontaneous_FIN -964800423.034874 weird: spontaneous_FIN -964800423.034946 weird: spontaneous_FIN -964800423.035014 weird: spontaneous_FIN -964800423.035083 weird: spontaneous_FIN -964800423.035153 weird: spontaneous_FIN -964800423.035237 weird: spontaneous_FIN -964800423.035289 weird: spontaneous_FIN -964800423.035354 weird: spontaneous_FIN -964800423.035420 weird: spontaneous_FIN -964800423.035490 weird: spontaneous_FIN -964800423.035557 weird: spontaneous_FIN -964800423.035629 weird: spontaneous_FIN -964800423.035697 weird: spontaneous_FIN -964800423.035764 weird: spontaneous_FIN -964800423.035837 weird: spontaneous_FIN -964800423.035912 weird: spontaneous_FIN -964800423.035987 weird: spontaneous_FIN -964800423.036059 weird: spontaneous_FIN -964800423.036133 weird: spontaneous_FIN -964800423.036209 weird: spontaneous_FIN -964800423.036281 weird: spontaneous_FIN -964800423.036354 weird: spontaneous_FIN -964800423.036434 weird: spontaneous_FIN -964800423.036507 weird: spontaneous_FIN -964800423.036581 weird: spontaneous_FIN -964800423.036657 weird: spontaneous_FIN -964800423.036742 weird: spontaneous_FIN -964800423.036824 weird: spontaneous_FIN -964800423.036899 weird: spontaneous_FIN -964800423.036978 weird: spontaneous_FIN -964800423.037055 weird: spontaneous_FIN -964800423.037126 weird: spontaneous_FIN -964800423.037204 weird: spontaneous_FIN -964800423.037286 weird: spontaneous_FIN -964800423.037355 weird: spontaneous_FIN -964800423.037431 weird: spontaneous_FIN -964800423.037500 weird: spontaneous_FIN -964800423.037576 weird: spontaneous_FIN -964800423.037648 weird: spontaneous_FIN -964800423.037721 weird: spontaneous_FIN -964800423.037794 weird: spontaneous_FIN -964800423.037872 weird: spontaneous_FIN -964800423.037947 weird: spontaneous_FIN -964800423.038021 weird: spontaneous_FIN -964800423.038094 weird: spontaneous_FIN -964800423.038166 weird: spontaneous_FIN -964800423.038239 weird: spontaneous_FIN -964800423.038310 weird: spontaneous_FIN -964800423.038384 weird: spontaneous_FIN -964800423.038454 weird: spontaneous_FIN -964800423.038528 weird: spontaneous_FIN -964800423.038604 weird: spontaneous_FIN -964800423.038679 weird: spontaneous_FIN -964800423.038753 weird: spontaneous_FIN -964800423.038834 weird: spontaneous_FIN -964800423.038911 weird: spontaneous_FIN -964800423.038983 weird: spontaneous_FIN -964800423.039056 weird: spontaneous_FIN -964800423.039129 weird: spontaneous_FIN -964800423.039202 weird: spontaneous_FIN -964800423.039277 weird: spontaneous_FIN -964800423.039349 weird: spontaneous_FIN -964800423.124059 weird: spontaneous_FIN -964800423.124128 weird: spontaneous_FIN -964800423.124205 weird: spontaneous_FIN -964800423.124279 weird: spontaneous_FIN -964800423.124353 weird: spontaneous_FIN -964800423.124431 weird: spontaneous_FIN -964800423.124507 weird: spontaneous_FIN -964800423.124581 weird: spontaneous_FIN -964800423.124660 weird: spontaneous_FIN -964800423.124738 weird: spontaneous_FIN -964800423.124814 weird: spontaneous_FIN -964800423.124899 weird: spontaneous_FIN -964800423.124966 weird: spontaneous_FIN -964800423.125040 weird: spontaneous_FIN -964800423.125114 weird: spontaneous_FIN -964800423.125190 weird: spontaneous_FIN -964800423.125264 weird: spontaneous_FIN -964800423.125337 weird: spontaneous_FIN -964800423.125416 weird: spontaneous_FIN -964800423.125493 weird: spontaneous_FIN -964800423.125577 weird: spontaneous_FIN -964800423.125652 weird: spontaneous_FIN -964800423.125730 weird: spontaneous_FIN -964800423.125812 weird: spontaneous_FIN -964800423.125893 weird: spontaneous_FIN -964800423.125969 weird: spontaneous_FIN -964800423.126046 weird: spontaneous_FIN -964800423.126129 weird: spontaneous_FIN -964800423.126206 weird: spontaneous_FIN -964800423.126294 weird: spontaneous_FIN -964800423.126377 weird: spontaneous_FIN -964800423.126462 weird: spontaneous_FIN -964800423.126543 weird: spontaneous_FIN -964800423.126626 weird: spontaneous_FIN -964800423.126703 weird: spontaneous_FIN -964800423.126778 weird: spontaneous_FIN -964800423.126858 weird: spontaneous_FIN -964800423.126936 weird: spontaneous_FIN -964800423.127016 weird: spontaneous_FIN -964800423.127097 weird: spontaneous_FIN -964800423.127176 weird: spontaneous_FIN -964800423.127251 weird: spontaneous_FIN -964800423.127326 weird: spontaneous_FIN -964800423.127398 weird: spontaneous_FIN -964800423.127478 weird: spontaneous_FIN -964800423.127549 weird: spontaneous_FIN -964800423.127622 weird: spontaneous_FIN -964800423.127699 weird: spontaneous_FIN -964800423.127776 weird: spontaneous_FIN -964800423.127852 weird: spontaneous_FIN -964800423.127930 weird: spontaneous_FIN -964800423.128011 weird: spontaneous_FIN -964800423.128088 weird: spontaneous_FIN -964800423.128183 weird: spontaneous_FIN -964800423.128259 weird: spontaneous_FIN -964800423.128342 weird: spontaneous_FIN -964800423.128417 weird: spontaneous_FIN -964800423.128495 weird: spontaneous_FIN -964800423.128573 weird: spontaneous_FIN -964800423.128655 weird: spontaneous_FIN -964800423.128733 weird: spontaneous_FIN -964800423.128809 weird: spontaneous_FIN -964800423.128887 weird: spontaneous_FIN -964800423.128964 weird: spontaneous_FIN -964800423.129041 weird: spontaneous_FIN -964800423.129120 weird: spontaneous_FIN -964800423.129195 weird: spontaneous_FIN -964800423.129272 weird: spontaneous_FIN -964800423.129350 weird: spontaneous_FIN -964800423.129427 weird: spontaneous_FIN -964800423.129505 weird: spontaneous_FIN -964800423.129586 weird: spontaneous_FIN -964800423.194316 weird: unsolicited_SYN_response -964800423.224103 weird: spontaneous_FIN -964800423.224183 weird: spontaneous_FIN -964800423.224254 weird: spontaneous_FIN -964800423.224328 weird: spontaneous_FIN -964800423.224402 weird: spontaneous_FIN -964800423.224470 weird: spontaneous_FIN -964800423.224539 weird: spontaneous_FIN -964800423.224616 weird: spontaneous_FIN -964800423.224692 weird: spontaneous_FIN -964800423.224763 weird: spontaneous_FIN -964800423.224835 weird: spontaneous_FIN -964800423.224906 weird: spontaneous_FIN -964800423.224974 weird: spontaneous_FIN -964800423.225044 weird: spontaneous_FIN -964800423.225113 weird: spontaneous_FIN -964800423.225185 weird: spontaneous_FIN -964800423.225255 weird: spontaneous_FIN -964800423.225325 weird: spontaneous_FIN -964800423.225398 weird: spontaneous_FIN -964800423.225468 weird: spontaneous_FIN -964800423.225542 weird: spontaneous_FIN -964800423.225612 weird: spontaneous_FIN -964800423.225682 weird: spontaneous_FIN -964800423.225752 weird: spontaneous_FIN -964800423.225825 weird: spontaneous_FIN -964800423.225904 weird: spontaneous_FIN -964800423.225980 weird: spontaneous_FIN -964800423.226061 weird: spontaneous_FIN -964800423.226139 weird: spontaneous_FIN -964800423.226223 weird: spontaneous_FIN -964800423.226301 weird: spontaneous_FIN -964800423.226381 weird: spontaneous_FIN -964800423.226459 weird: spontaneous_FIN -964800423.226532 weird: spontaneous_FIN -964800423.226611 weird: spontaneous_FIN -964800423.226690 weird: spontaneous_FIN -964800423.226766 weird: spontaneous_FIN -964800423.226844 weird: spontaneous_FIN -964800423.226916 weird: spontaneous_FIN -964800423.226995 weird: spontaneous_FIN -964800423.227071 weird: spontaneous_FIN -964800423.227149 weird: spontaneous_FIN -964800423.227227 weird: spontaneous_FIN -964800423.227300 weird: spontaneous_FIN -964800423.227376 weird: spontaneous_FIN -964800423.227449 weird: spontaneous_FIN -964800423.227521 weird: spontaneous_FIN -964800423.227596 weird: spontaneous_FIN -964800423.227670 weird: spontaneous_FIN -964800423.227744 weird: spontaneous_FIN -964800423.227819 weird: spontaneous_FIN -964800423.227891 weird: spontaneous_FIN -964800423.227965 weird: spontaneous_FIN -964800423.228047 weird: spontaneous_FIN -964800423.228121 weird: spontaneous_FIN -964800423.228193 weird: spontaneous_FIN -964800423.228267 weird: spontaneous_FIN -964800423.228346 weird: spontaneous_FIN -964800423.228422 weird: spontaneous_FIN -964800423.228496 weird: spontaneous_FIN -964800423.228572 weird: spontaneous_FIN -964800423.228646 weird: spontaneous_FIN -964800423.228723 weird: spontaneous_FIN -964800423.228795 weird: spontaneous_FIN -964800423.228877 weird: spontaneous_FIN -964800423.228956 weird: spontaneous_FIN -964800423.229023 weird: spontaneous_FIN -964800423.229096 weird: spontaneous_FIN -964800423.229171 weird: spontaneous_FIN -964800423.229246 weird: spontaneous_FIN -964800423.229318 weird: spontaneous_FIN -964800423.229396 weird: spontaneous_FIN -964800423.324055 weird: spontaneous_FIN -964800423.324128 weird: spontaneous_FIN -964800423.324203 weird: spontaneous_FIN -964800423.324279 weird: spontaneous_FIN -964800423.324351 weird: spontaneous_FIN -964800423.324425 weird: spontaneous_FIN -964800423.324501 weird: spontaneous_FIN -964800423.324574 weird: spontaneous_FIN -964800423.324649 weird: spontaneous_FIN -964800423.324729 weird: spontaneous_FIN -964800423.324804 weird: spontaneous_FIN -964800423.324881 weird: spontaneous_FIN -964800423.324958 weird: spontaneous_FIN -964800423.325032 weird: spontaneous_FIN -964800423.325107 weird: spontaneous_FIN -964800423.325182 weird: spontaneous_FIN -964800423.325256 weird: spontaneous_FIN -964800423.325328 weird: spontaneous_FIN -964800423.325411 weird: spontaneous_FIN -964800423.325492 weird: spontaneous_FIN -964800423.325571 weird: spontaneous_FIN -964800423.325652 weird: spontaneous_FIN -964800423.325734 weird: spontaneous_FIN -964800423.325819 weird: spontaneous_FIN -964800423.325898 weird: spontaneous_FIN -964800423.325980 weird: spontaneous_FIN -964800423.326068 weird: spontaneous_FIN -964800423.326146 weird: spontaneous_FIN -964800423.326225 weird: spontaneous_FIN -964800423.326310 weird: spontaneous_FIN -964800423.326396 weird: spontaneous_FIN -964800423.326478 weird: spontaneous_FIN -964800423.326556 weird: spontaneous_FIN -964800423.326636 weird: spontaneous_FIN -964800423.326719 weird: spontaneous_FIN -964800423.326803 weird: spontaneous_FIN -964800423.326881 weird: spontaneous_FIN -964800423.326960 weird: spontaneous_FIN -964800423.327042 weird: spontaneous_FIN -964800423.327125 weird: spontaneous_FIN -964800423.327207 weird: spontaneous_FIN -964800423.327284 weird: spontaneous_FIN -964800423.327361 weird: spontaneous_FIN -964800423.327437 weird: spontaneous_FIN -964800423.327512 weird: spontaneous_FIN -964800423.327586 weird: spontaneous_FIN -964800423.327663 weird: spontaneous_FIN -964800423.327740 weird: spontaneous_FIN -964800423.327816 weird: spontaneous_FIN -964800423.327890 weird: spontaneous_FIN -964800423.327964 weird: spontaneous_FIN -964800423.328044 weird: spontaneous_FIN -964800423.328124 weird: spontaneous_FIN -964800423.328202 weird: spontaneous_FIN -964800423.328281 weird: spontaneous_FIN -964800423.328356 weird: spontaneous_FIN -964800423.328435 weird: spontaneous_FIN -964800423.328512 weird: spontaneous_FIN -964800423.328589 weird: spontaneous_FIN -964800423.328668 weird: spontaneous_FIN -964800423.328744 weird: spontaneous_FIN -964800423.328820 weird: spontaneous_FIN -964800423.328898 weird: spontaneous_FIN -964800423.328975 weird: spontaneous_FIN -964800423.329052 weird: spontaneous_FIN -964800423.329130 weird: spontaneous_FIN -964800423.329205 weird: spontaneous_FIN -964800423.329281 weird: spontaneous_FIN -964800423.329360 weird: spontaneous_FIN -964800423.329433 weird: spontaneous_FIN -964800423.329647 weird: spontaneous_FIN -964800423.329791 weird: spontaneous_FIN -964800423.424116 weird: spontaneous_FIN -964800423.424198 weird: spontaneous_FIN -964800423.424277 weird: spontaneous_FIN -964800423.424342 weird: spontaneous_FIN -964800423.424409 weird: spontaneous_FIN -964800423.424479 weird: spontaneous_FIN -964800423.424550 weird: spontaneous_FIN -964800423.424627 weird: spontaneous_FIN -964800423.424701 weird: spontaneous_FIN -964800423.424776 weird: spontaneous_FIN -964800423.424845 weird: spontaneous_FIN -964800423.424923 weird: spontaneous_FIN -964800423.424992 weird: spontaneous_FIN -964800423.425062 weird: spontaneous_FIN -964800423.425132 weird: spontaneous_FIN -964800423.425205 weird: spontaneous_FIN -964800423.425279 weird: spontaneous_FIN -964800423.425348 weird: spontaneous_FIN -964800423.425422 weird: spontaneous_FIN -964800423.425490 weird: spontaneous_FIN -964800423.425564 weird: spontaneous_FIN -964800423.425637 weird: spontaneous_FIN -964800423.425709 weird: spontaneous_FIN -964800423.425784 weird: spontaneous_FIN -964800423.425856 weird: spontaneous_FIN -964800423.425934 weird: spontaneous_FIN -964800423.426010 weird: spontaneous_FIN -964800423.426085 weird: spontaneous_FIN -964800423.426159 weird: spontaneous_FIN -964800423.426234 weird: spontaneous_FIN -964800423.426307 weird: spontaneous_FIN -964800423.426386 weird: spontaneous_FIN -964800423.426464 weird: spontaneous_FIN -964800423.426539 weird: spontaneous_FIN -964800423.426618 weird: spontaneous_FIN -964800423.426696 weird: spontaneous_FIN -964800423.426774 weird: spontaneous_FIN -964800423.426851 weird: spontaneous_FIN -964800423.426927 weird: spontaneous_FIN -964800423.427001 weird: spontaneous_FIN -964800423.427082 weird: spontaneous_FIN -964800423.427157 weird: spontaneous_FIN -964800423.427234 weird: spontaneous_FIN -964800423.427308 weird: spontaneous_FIN -964800423.427378 weird: spontaneous_FIN -964800423.427451 weird: spontaneous_FIN -964800423.427520 weird: spontaneous_FIN -964800423.427590 weird: spontaneous_FIN -964800423.427661 weird: spontaneous_FIN -964800423.427730 weird: spontaneous_FIN -964800423.427798 weird: spontaneous_FIN -964800423.427868 weird: spontaneous_FIN -964800423.427937 weird: spontaneous_FIN -964800423.428006 weird: spontaneous_FIN -964800423.428076 weird: spontaneous_FIN -964800423.428145 weird: spontaneous_FIN -964800423.428213 weird: spontaneous_FIN -964800423.428283 weird: spontaneous_FIN -964800423.428352 weird: spontaneous_FIN -964800423.428420 weird: spontaneous_FIN -964800423.428495 weird: spontaneous_FIN -964800423.428564 weird: spontaneous_FIN -964800423.428637 weird: spontaneous_FIN -964800423.428709 weird: spontaneous_FIN -964800423.428780 weird: spontaneous_FIN -964800423.428855 weird: spontaneous_FIN -964800423.429009 weird: spontaneous_FIN -964800423.429156 weird: spontaneous_FIN -964800423.429303 weird: spontaneous_FIN -964800423.429445 weird: spontaneous_FIN -964800423.429589 weird: spontaneous_FIN -964800423.429596 weird: spontaneous_FIN -964800423.524059 weird: spontaneous_FIN -964800423.524127 weird: spontaneous_FIN -964800423.524210 weird: spontaneous_FIN -964800423.524280 weird: spontaneous_FIN -964800423.524354 weird: spontaneous_FIN -964800423.524432 weird: spontaneous_FIN -964800423.524505 weird: spontaneous_FIN -964800423.524578 weird: spontaneous_FIN -964800423.524655 weird: spontaneous_FIN -964800423.524736 weird: spontaneous_FIN -964800423.524814 weird: spontaneous_FIN -964800423.524888 weird: spontaneous_FIN -964800423.524964 weird: spontaneous_FIN -964800423.525039 weird: spontaneous_FIN -964800423.525114 weird: spontaneous_FIN -964800423.525186 weird: spontaneous_FIN -964800423.525263 weird: spontaneous_FIN -964800423.525336 weird: spontaneous_FIN -964800423.525409 weird: spontaneous_FIN -964800423.525489 weird: spontaneous_FIN -964800423.525569 weird: spontaneous_FIN -964800423.525649 weird: spontaneous_FIN -964800423.525727 weird: spontaneous_FIN -964800423.525806 weird: spontaneous_FIN -964800423.525891 weird: spontaneous_FIN -964800423.525972 weird: spontaneous_FIN -964800423.526051 weird: spontaneous_FIN -964800423.526133 weird: spontaneous_FIN -964800423.526211 weird: spontaneous_FIN -964800423.526289 weird: spontaneous_FIN -964800423.526369 weird: spontaneous_FIN -964800423.526451 weird: spontaneous_FIN -964800423.526530 weird: spontaneous_FIN -964800423.526608 weird: spontaneous_FIN -964800423.526685 weird: spontaneous_FIN -964800423.526762 weird: spontaneous_FIN -964800423.526842 weird: spontaneous_FIN -964800423.526918 weird: spontaneous_FIN -964800423.526997 weird: spontaneous_FIN -964800423.527076 weird: spontaneous_FIN -964800423.527153 weird: spontaneous_FIN -964800423.527232 weird: spontaneous_FIN -964800423.527310 weird: spontaneous_FIN -964800423.527382 weird: spontaneous_FIN -964800423.527458 weird: spontaneous_FIN -964800423.527531 weird: spontaneous_FIN -964800423.527608 weird: spontaneous_FIN -964800423.527681 weird: spontaneous_FIN -964800423.527758 weird: spontaneous_FIN -964800423.527834 weird: spontaneous_FIN -964800423.527909 weird: spontaneous_FIN -964800423.527986 weird: spontaneous_FIN -964800423.528064 weird: spontaneous_FIN -964800423.528143 weird: spontaneous_FIN -964800423.528220 weird: spontaneous_FIN -964800423.528299 weird: spontaneous_FIN -964800423.528376 weird: spontaneous_FIN -964800423.528458 weird: spontaneous_FIN -964800423.528542 weird: spontaneous_FIN -964800423.528626 weird: spontaneous_FIN -964800423.528703 weird: spontaneous_FIN -964800423.528778 weird: spontaneous_FIN -964800423.528858 weird: spontaneous_FIN -964800423.528944 weird: spontaneous_FIN -964800423.529024 weird: spontaneous_FIN -964800423.529105 weird: spontaneous_FIN -964800423.529185 weird: spontaneous_FIN -964800423.529261 weird: spontaneous_FIN -964800423.529339 weird: spontaneous_FIN -964800423.529418 weird: spontaneous_FIN -964800423.529498 weird: spontaneous_FIN -964800423.529580 weird: spontaneous_FIN -964800423.624101 weird: spontaneous_FIN -964800423.624168 weird: spontaneous_FIN -964800423.624240 weird: spontaneous_FIN -964800423.624310 weird: spontaneous_FIN -964800423.624381 weird: spontaneous_FIN -964800423.624452 weird: spontaneous_FIN -964800423.624523 weird: spontaneous_FIN -964800423.624597 weird: spontaneous_FIN -964800423.624671 weird: spontaneous_FIN -964800423.624741 weird: spontaneous_FIN -964800423.624813 weird: spontaneous_FIN -964800423.624885 weird: spontaneous_FIN -964800423.624952 weird: spontaneous_FIN -964800423.625023 weird: spontaneous_FIN -964800423.625097 weird: spontaneous_FIN -964800423.625168 weird: spontaneous_FIN -964800423.625240 weird: spontaneous_FIN -964800423.625307 weird: spontaneous_FIN -964800423.625375 weird: spontaneous_FIN -964800423.625446 weird: spontaneous_FIN -964800423.625521 weird: spontaneous_FIN -964800423.625594 weird: spontaneous_FIN -964800423.625664 weird: spontaneous_FIN -964800423.625737 weird: spontaneous_FIN -964800423.625817 weird: spontaneous_FIN -964800423.625902 weird: spontaneous_FIN -964800423.625986 weird: spontaneous_FIN -964800423.626062 weird: spontaneous_FIN -964800423.626141 weird: spontaneous_FIN -964800423.626223 weird: spontaneous_FIN -964800423.626306 weird: spontaneous_FIN -964800423.626391 weird: spontaneous_FIN -964800423.626473 weird: spontaneous_FIN -964800423.626548 weird: spontaneous_FIN -964800423.626623 weird: spontaneous_FIN -964800423.626700 weird: spontaneous_FIN -964800423.626779 weird: spontaneous_FIN -964800423.626853 weird: spontaneous_FIN -964800423.626927 weird: spontaneous_FIN -964800423.627006 weird: spontaneous_FIN -964800423.627086 weird: spontaneous_FIN -964800423.627163 weird: spontaneous_FIN -964800423.627238 weird: spontaneous_FIN -964800423.627314 weird: spontaneous_FIN -964800423.627384 weird: spontaneous_FIN -964800423.627458 weird: spontaneous_FIN -964800423.627533 weird: spontaneous_FIN -964800423.627603 weird: spontaneous_FIN -964800423.627676 weird: spontaneous_FIN -964800423.627748 weird: spontaneous_FIN -964800423.627815 weird: spontaneous_FIN -964800423.627890 weird: spontaneous_FIN -964800423.627970 weird: spontaneous_FIN -964800423.628044 weird: spontaneous_FIN -964800423.628118 weird: spontaneous_FIN -964800423.628187 weird: spontaneous_FIN -964800423.628260 weird: spontaneous_FIN -964800423.628331 weird: spontaneous_FIN -964800423.628399 weird: spontaneous_FIN -964800423.628469 weird: spontaneous_FIN -964800423.628538 weird: spontaneous_FIN -964800423.628606 weird: spontaneous_FIN -964800423.628679 weird: spontaneous_FIN -964800423.628750 weird: spontaneous_FIN -964800423.628822 weird: spontaneous_FIN -964800423.628891 weird: spontaneous_FIN -964800423.628960 weird: spontaneous_FIN -964800423.629030 weird: spontaneous_FIN -964800423.629098 weird: spontaneous_FIN -964800423.629167 weird: spontaneous_FIN -964800423.629237 weird: spontaneous_FIN -964800423.629310 weird: spontaneous_FIN -964800423.724045 weird: spontaneous_FIN -964800423.724125 weird: spontaneous_FIN -964800423.724200 weird: spontaneous_FIN -964800423.724273 weird: spontaneous_FIN -964800423.724346 weird: spontaneous_FIN -964800423.724420 weird: spontaneous_FIN -964800423.724492 weird: spontaneous_FIN -964800423.724563 weird: spontaneous_FIN -964800423.724639 weird: spontaneous_FIN -964800423.724720 weird: spontaneous_FIN -964800423.724791 weird: spontaneous_FIN -964800423.724865 weird: spontaneous_FIN -964800423.724938 weird: spontaneous_FIN -964800423.725010 weird: spontaneous_FIN -964800423.725081 weird: spontaneous_FIN -964800423.725154 weird: spontaneous_FIN -964800423.725224 weird: spontaneous_FIN -964800423.725295 weird: spontaneous_FIN -964800423.725367 weird: spontaneous_FIN -964800423.725440 weird: spontaneous_FIN -964800423.725519 weird: spontaneous_FIN -964800423.725594 weird: spontaneous_FIN -964800423.725671 weird: spontaneous_FIN -964800423.725748 weird: spontaneous_FIN -964800423.725828 weird: spontaneous_FIN -964800423.725910 weird: spontaneous_FIN -964800423.725989 weird: spontaneous_FIN -964800423.726070 weird: spontaneous_FIN -964800423.726145 weird: spontaneous_FIN -964800423.726366 weird: spontaneous_FIN -964800423.726514 weird: spontaneous_FIN -964800423.726660 weird: spontaneous_FIN -964800423.726806 weird: spontaneous_FIN -964800423.726952 weird: spontaneous_FIN -964800423.727096 weird: spontaneous_FIN -964800423.727241 weird: spontaneous_FIN -964800423.727402 weird: spontaneous_FIN -964800423.727550 weird: spontaneous_FIN -964800423.727555 weird: spontaneous_FIN -964800423.727702 weird: spontaneous_FIN -964800423.727708 weird: spontaneous_FIN -964800423.727713 weird: spontaneous_FIN -964800423.727718 weird: spontaneous_FIN -964800423.727723 weird: spontaneous_FIN -964800423.727729 weird: spontaneous_FIN -964800423.727735 weird: spontaneous_FIN -964800423.727741 weird: spontaneous_FIN -964800423.727746 weird: spontaneous_FIN -964800423.727751 weird: spontaneous_FIN -964800423.727823 weird: spontaneous_FIN -964800423.727899 weird: spontaneous_FIN -964800423.727981 weird: spontaneous_FIN -964800423.728072 weird: spontaneous_FIN -964800423.728158 weird: spontaneous_FIN -964800423.728239 weird: spontaneous_FIN -964800423.728318 weird: spontaneous_FIN -964800423.728400 weird: spontaneous_FIN -964800423.728478 weird: spontaneous_FIN -964800423.728559 weird: spontaneous_FIN -964800423.728637 weird: spontaneous_FIN -964800423.728718 weird: spontaneous_FIN -964800423.728796 weird: spontaneous_FIN -964800423.728878 weird: spontaneous_FIN -964800423.728952 weird: spontaneous_FIN -964800423.729035 weird: spontaneous_FIN -964800423.729111 weird: spontaneous_FIN -964800423.729188 weird: spontaneous_FIN -964800423.729269 weird: spontaneous_FIN -964800423.729350 weird: spontaneous_FIN -964800423.729424 weird: spontaneous_FIN -964800423.729501 weird: spontaneous_FIN -964800423.729581 weird: spontaneous_FIN -964800423.824117 weird: spontaneous_FIN -964800423.824193 weird: spontaneous_FIN -964800423.824268 weird: spontaneous_FIN -964800423.824335 weird: spontaneous_FIN -964800423.824401 weird: spontaneous_FIN -964800423.824469 weird: spontaneous_FIN -964800423.824539 weird: spontaneous_FIN -964800423.824619 weird: spontaneous_FIN -964800423.824693 weird: spontaneous_FIN -964800423.824761 weird: spontaneous_FIN -964800423.824835 weird: spontaneous_FIN -964800423.824914 weird: spontaneous_FIN -964800423.824981 weird: spontaneous_FIN -964800423.825049 weird: spontaneous_FIN -964800423.825122 weird: spontaneous_FIN -964800423.825198 weird: spontaneous_FIN -964800423.825273 weird: spontaneous_FIN -964800423.825343 weird: spontaneous_FIN -964800423.825416 weird: spontaneous_FIN -964800423.836951 weird: spontaneous_FIN -964800423.837035 weird: spontaneous_FIN -964800423.837107 weird: spontaneous_FIN -964800423.837182 weird: spontaneous_FIN -964800423.837252 weird: spontaneous_FIN -964800423.837330 weird: spontaneous_FIN -964800423.837410 weird: spontaneous_FIN -964800423.837486 weird: spontaneous_FIN -964800423.837564 weird: spontaneous_FIN -964800423.837644 weird: spontaneous_FIN -964800423.837729 weird: spontaneous_FIN -964800423.837812 weird: spontaneous_FIN -964800423.837891 weird: spontaneous_FIN -964800423.837971 weird: spontaneous_FIN -964800423.838051 weird: spontaneous_FIN -964800423.838132 weird: spontaneous_FIN -964800423.838213 weird: spontaneous_FIN -964800423.838294 weird: spontaneous_FIN -964800423.838373 weird: spontaneous_FIN -964800423.838452 weird: spontaneous_FIN -964800423.838533 weird: spontaneous_FIN -964800423.838615 weird: spontaneous_FIN -964800423.838693 weird: spontaneous_FIN -964800423.838776 weird: spontaneous_FIN -964800423.838856 weird: spontaneous_FIN -964800423.838929 weird: spontaneous_FIN -964800423.839004 weird: spontaneous_FIN -964800423.839082 weird: spontaneous_FIN -964800423.839148 weird: spontaneous_FIN -964800423.839218 weird: spontaneous_FIN -964800423.839291 weird: spontaneous_FIN -964800423.839367 weird: spontaneous_FIN -964800423.839446 weird: spontaneous_FIN -964800423.839519 weird: spontaneous_FIN -964800423.839600 weird: spontaneous_FIN -964800423.839669 weird: spontaneous_FIN -964800423.839744 weird: spontaneous_FIN -964800423.839817 weird: spontaneous_FIN -964800423.839889 weird: spontaneous_FIN -964800423.839964 weird: spontaneous_FIN -964800423.840034 weird: spontaneous_FIN -964800423.840106 weird: spontaneous_FIN -964800423.840182 weird: spontaneous_FIN -964800423.840256 weird: spontaneous_FIN -964800423.840326 weird: spontaneous_FIN -964800423.840404 weird: spontaneous_FIN -964800423.840485 weird: spontaneous_FIN -964800423.840557 weird: spontaneous_FIN -964800423.840771 weird: spontaneous_FIN -964800423.840920 weird: spontaneous_FIN -964800423.840927 weird: spontaneous_FIN -964800423.840933 weird: spontaneous_FIN -964800423.840938 weird: spontaneous_FIN -964800423.934031 weird: spontaneous_FIN -964800423.934112 weird: spontaneous_FIN -964800423.934184 weird: spontaneous_FIN -964800423.934255 weird: spontaneous_FIN -964800423.934328 weird: spontaneous_FIN -964800423.934403 weird: spontaneous_FIN -964800423.934476 weird: spontaneous_FIN -964800423.934548 weird: spontaneous_FIN -964800423.934626 weird: spontaneous_FIN -964800423.934703 weird: spontaneous_FIN -964800423.934775 weird: spontaneous_FIN -964800423.934848 weird: spontaneous_FIN -964800423.934982 weird: spontaneous_FIN -964800423.935002 weird: spontaneous_FIN -964800423.935077 weird: spontaneous_FIN -964800423.935152 weird: spontaneous_FIN -964800423.935228 weird: spontaneous_FIN -964800423.935303 weird: spontaneous_FIN -964800423.935382 weird: spontaneous_FIN -964800423.935457 weird: spontaneous_FIN -964800423.935535 weird: spontaneous_FIN -964800423.935618 weird: spontaneous_FIN -964800423.935695 weird: spontaneous_FIN -964800423.935777 weird: spontaneous_FIN -964800423.935860 weird: spontaneous_FIN -964800423.935941 weird: spontaneous_FIN -964800423.936027 weird: spontaneous_FIN -964800423.936114 weird: spontaneous_FIN -964800423.936197 weird: spontaneous_FIN -964800423.936284 weird: spontaneous_FIN -964800423.936372 weird: spontaneous_FIN -964800423.936457 weird: spontaneous_FIN -964800423.936542 weird: spontaneous_FIN -964800423.936624 weird: spontaneous_FIN -964800423.936705 weird: spontaneous_FIN -964800423.936783 weird: spontaneous_FIN -964800423.936862 weird: spontaneous_FIN -964800423.936943 weird: spontaneous_FIN -964800423.937025 weird: spontaneous_FIN -964800423.937110 weird: spontaneous_FIN -964800423.937186 weird: spontaneous_FIN -964800423.937264 weird: spontaneous_FIN -964800423.937343 weird: spontaneous_FIN -964800423.937424 weird: spontaneous_FIN -964800423.937497 weird: spontaneous_FIN -964800423.937572 weird: spontaneous_FIN -964800423.937651 weird: spontaneous_FIN -964800423.937730 weird: spontaneous_FIN -964800423.937809 weird: spontaneous_FIN -964800423.937885 weird: spontaneous_FIN -964800423.937961 weird: spontaneous_FIN -964800423.938035 weird: spontaneous_FIN -964800423.938116 weird: spontaneous_FIN -964800423.938196 weird: spontaneous_FIN -964800423.938275 weird: spontaneous_FIN -964800423.938345 weird: spontaneous_FIN -964800423.938424 weird: spontaneous_FIN -964800423.938504 weird: spontaneous_FIN -964800423.938581 weird: spontaneous_FIN -964800423.938658 weird: spontaneous_FIN -964800423.938733 weird: spontaneous_FIN -964800423.938807 weird: spontaneous_FIN -964800423.938883 weird: spontaneous_FIN -964800423.938957 weird: spontaneous_FIN -964800423.939034 weird: spontaneous_FIN -964800423.939113 weird: spontaneous_FIN -964800423.939189 weird: spontaneous_FIN -964800423.939265 weird: spontaneous_FIN -964800423.939342 weird: spontaneous_FIN -964800423.939419 weird: spontaneous_FIN -964800423.939498 weird: spontaneous_FIN -964800423.939580 weird: spontaneous_FIN -964800424.034102 weird: spontaneous_FIN -964800424.034188 weird: spontaneous_FIN -964800424.034262 weird: spontaneous_FIN -964800424.034333 weird: spontaneous_FIN -964800424.034408 weird: spontaneous_FIN -964800424.034478 weird: spontaneous_FIN -964800424.034548 weird: spontaneous_FIN -964800424.034622 weird: spontaneous_FIN -964800424.034696 weird: spontaneous_FIN -964800424.034767 weird: spontaneous_FIN -964800424.034837 weird: spontaneous_FIN -964800424.034917 weird: spontaneous_FIN -964800424.034977 weird: spontaneous_FIN -964800424.035050 weird: spontaneous_FIN -964800424.035119 weird: spontaneous_FIN -964800424.035190 weird: spontaneous_FIN -964800424.035263 weird: spontaneous_FIN -964800424.035331 weird: spontaneous_FIN -964800424.035398 weird: spontaneous_FIN -964800424.035472 weird: spontaneous_FIN -964800424.035540 weird: spontaneous_FIN -964800424.035608 weird: spontaneous_FIN -964800424.035677 weird: spontaneous_FIN -964800424.035747 weird: spontaneous_FIN -964800424.035820 weird: spontaneous_FIN -964800424.035894 weird: spontaneous_FIN -964800424.035969 weird: spontaneous_FIN -964800424.036043 weird: spontaneous_FIN -964800424.036116 weird: spontaneous_FIN -964800424.036193 weird: spontaneous_FIN -964800424.036271 weird: spontaneous_FIN -964800424.036347 weird: spontaneous_FIN -964800424.036425 weird: spontaneous_FIN -964800424.036502 weird: spontaneous_FIN -964800424.036582 weird: spontaneous_FIN -964800424.036667 weird: spontaneous_FIN -964800424.036748 weird: spontaneous_FIN -964800424.036826 weird: spontaneous_FIN -964800424.036905 weird: spontaneous_FIN -964800424.036987 weird: spontaneous_FIN -964800424.037073 weird: spontaneous_FIN -964800424.037150 weird: spontaneous_FIN -964800424.037229 weird: spontaneous_FIN -964800424.037304 weird: spontaneous_FIN -964800424.037383 weird: spontaneous_FIN -964800424.037456 weird: spontaneous_FIN -964800424.037531 weird: spontaneous_FIN -964800424.037604 weird: spontaneous_FIN -964800424.037676 weird: spontaneous_FIN -964800424.037756 weird: spontaneous_FIN -964800424.037831 weird: spontaneous_FIN -964800424.037910 weird: spontaneous_FIN -964800424.037986 weird: spontaneous_FIN -964800424.038060 weird: spontaneous_FIN -964800424.038138 weird: spontaneous_FIN -964800424.038212 weird: spontaneous_FIN -964800424.038290 weird: spontaneous_FIN -964800424.038367 weird: spontaneous_FIN -964800424.038442 weird: spontaneous_FIN -964800424.038513 weird: spontaneous_FIN -964800424.038586 weird: spontaneous_FIN -964800424.038658 weird: spontaneous_FIN -964800424.038735 weird: spontaneous_FIN -964800424.038810 weird: spontaneous_FIN -964800424.038883 weird: spontaneous_FIN -964800424.038956 weird: spontaneous_FIN -964800424.039026 weird: spontaneous_FIN -964800424.124048 weird: spontaneous_FIN -964800424.124132 weird: spontaneous_FIN -964800424.124211 weird: spontaneous_FIN -964800424.124288 weird: spontaneous_FIN -964800424.124361 weird: spontaneous_FIN -964800424.124437 weird: spontaneous_FIN -964800424.124513 weird: spontaneous_FIN -964800424.124582 weird: spontaneous_FIN -964800424.124659 weird: spontaneous_FIN -964800424.124739 weird: spontaneous_FIN -964800424.124812 weird: spontaneous_FIN -964800424.124883 weird: spontaneous_FIN -964800424.124957 weird: spontaneous_FIN -964800424.125030 weird: spontaneous_FIN -964800424.125106 weird: spontaneous_FIN -964800424.125179 weird: spontaneous_FIN -964800424.125253 weird: spontaneous_FIN -964800424.125327 weird: spontaneous_FIN -964800424.125403 weird: spontaneous_FIN -964800424.125479 weird: spontaneous_FIN -964800424.125563 weird: spontaneous_FIN -964800424.125642 weird: spontaneous_FIN -964800424.125725 weird: spontaneous_FIN -964800424.125811 weird: spontaneous_FIN -964800424.125896 weird: spontaneous_FIN -964800424.125979 weird: spontaneous_FIN -964800424.126065 weird: spontaneous_FIN -964800424.126149 weird: spontaneous_FIN -964800424.126237 weird: spontaneous_FIN -964800424.126323 weird: spontaneous_FIN -964800424.126410 weird: spontaneous_FIN -964800424.126498 weird: spontaneous_FIN -964800424.126584 weird: spontaneous_FIN -964800424.126669 weird: spontaneous_FIN -964800424.126755 weird: spontaneous_FIN -964800424.126842 weird: spontaneous_FIN -964800424.126925 weird: spontaneous_FIN -964800424.127008 weird: spontaneous_FIN -964800424.127096 weird: spontaneous_FIN -964800424.127185 weird: spontaneous_FIN -964800424.127266 weird: spontaneous_FIN -964800424.127347 weird: spontaneous_FIN -964800424.127423 weird: spontaneous_FIN -964800424.127500 weird: spontaneous_FIN -964800424.127575 weird: spontaneous_FIN -964800424.127655 weird: spontaneous_FIN -964800424.127735 weird: spontaneous_FIN -964800424.127816 weird: spontaneous_FIN -964800424.127893 weird: spontaneous_FIN -964800424.127968 weird: spontaneous_FIN -964800424.128046 weird: spontaneous_FIN -964800424.128126 weird: spontaneous_FIN -964800424.128206 weird: spontaneous_FIN -964800424.128286 weird: spontaneous_FIN -964800424.128360 weird: spontaneous_FIN -964800424.128435 weird: spontaneous_FIN -964800424.128510 weird: spontaneous_FIN -964800424.128586 weird: spontaneous_FIN -964800424.128664 weird: spontaneous_FIN -964800424.128740 weird: spontaneous_FIN -964800424.128812 weird: spontaneous_FIN -964800424.128888 weird: spontaneous_FIN -964800424.128965 weird: spontaneous_FIN -964800424.129040 weird: spontaneous_FIN -964800424.129112 weird: spontaneous_FIN -964800424.129188 weird: spontaneous_FIN -964800425.052649 weird: spontaneous_FIN -964800426.864054 weird: spontaneous_RST -964800426.864094 weird: spontaneous_RST -964800426.864115 weird: spontaneous_RST -964800426.864137 weird: spontaneous_RST -964800426.864160 weird: spontaneous_RST -964800428.254218 weird: spontaneous_FIN -964800428.254286 weird: spontaneous_FIN -964800428.254352 weird: spontaneous_FIN -964800428.254419 weird: spontaneous_FIN -964800428.254489 weird: spontaneous_FIN -964800428.254567 weird: spontaneous_FIN -964800428.254638 weird: spontaneous_FIN -964800428.254720 weird: spontaneous_FIN -964800428.254798 weird: spontaneous_FIN -964800428.254871 weird: spontaneous_FIN -964800428.254941 weird: spontaneous_FIN -964800428.255011 weird: spontaneous_FIN -964800428.255081 weird: spontaneous_FIN -964800428.255155 weird: spontaneous_FIN -964800428.255228 weird: spontaneous_FIN -964800428.255299 weird: spontaneous_FIN -964800428.334040 weird: spontaneous_FIN -964800428.334121 weird: spontaneous_FIN -964800428.334197 weird: spontaneous_FIN -964800428.334268 weird: spontaneous_FIN -964800428.334340 weird: spontaneous_FIN -964800428.334416 weird: spontaneous_FIN -964800428.334489 weird: spontaneous_FIN -964800428.334567 weird: spontaneous_FIN -964800428.334646 weird: spontaneous_FIN -964800428.334722 weird: spontaneous_FIN -964800428.334797 weird: spontaneous_FIN -964800428.334875 weird: spontaneous_FIN -964800428.334948 weird: spontaneous_FIN -964800428.335023 weird: spontaneous_FIN -964800428.335097 weird: spontaneous_FIN -964800428.335173 weird: spontaneous_FIN -964800428.335247 weird: spontaneous_FIN -964800428.335321 weird: spontaneous_FIN -964800428.424077 weird: spontaneous_FIN -964800428.424160 weird: spontaneous_FIN -964800428.424236 weird: spontaneous_FIN -964800428.424306 weird: spontaneous_FIN -964800428.424372 weird: spontaneous_FIN -964800428.424438 weird: spontaneous_FIN -964800428.424507 weird: spontaneous_FIN -964800428.424584 weird: spontaneous_FIN -964800428.424656 weird: spontaneous_FIN -964800428.424735 weird: spontaneous_FIN -964800428.424811 weird: spontaneous_FIN -964800428.424884 weird: spontaneous_FIN -964800428.424954 weird: spontaneous_FIN -964800428.425023 weird: spontaneous_FIN -964800428.425096 weird: spontaneous_FIN -964800428.425167 weird: spontaneous_FIN -964800428.425240 weird: spontaneous_FIN -964800428.425311 weird: spontaneous_FIN -964800428.514042 weird: spontaneous_FIN -964800428.514125 weird: spontaneous_FIN -964800428.514203 weird: spontaneous_FIN -964800428.514276 weird: spontaneous_FIN -964800428.514347 weird: spontaneous_FIN -964800428.514417 weird: spontaneous_FIN -964800428.514492 weird: spontaneous_FIN -964800428.514567 weird: spontaneous_FIN -964800428.514646 weird: spontaneous_FIN -964800428.514723 weird: spontaneous_FIN -964800428.514801 weird: spontaneous_FIN -964800428.514880 weird: spontaneous_FIN -964800428.514954 weird: spontaneous_FIN -964800428.515029 weird: spontaneous_FIN -964800428.515104 weird: spontaneous_FIN -964800428.515178 weird: spontaneous_FIN -964800428.515256 weird: spontaneous_FIN -964800428.515327 weird: spontaneous_FIN -964800428.594059 weird: spontaneous_FIN -964800428.594136 weird: spontaneous_FIN -964800428.594210 weird: spontaneous_FIN -964800428.594276 weird: spontaneous_FIN -964800428.594344 weird: spontaneous_FIN -964800428.594408 weird: spontaneous_FIN -964800428.594478 weird: spontaneous_FIN -964800428.594561 weird: spontaneous_FIN -964800428.594632 weird: spontaneous_FIN -964800428.594712 weird: spontaneous_FIN -964800428.594786 weird: spontaneous_FIN -964800428.594862 weird: spontaneous_FIN -964800428.594938 weird: spontaneous_FIN -964800428.595001 weird: spontaneous_FIN -964800428.595072 weird: spontaneous_FIN -964800428.595144 weird: spontaneous_FIN -964800428.595219 weird: spontaneous_FIN -964800428.595289 weird: spontaneous_FIN -964800428.674044 weird: spontaneous_FIN -964800428.674131 weird: spontaneous_FIN -964800428.674202 weird: spontaneous_FIN -964800428.674274 weird: spontaneous_FIN -964800428.674346 weird: spontaneous_FIN -964800428.674421 weird: spontaneous_FIN -964800428.674495 weird: spontaneous_FIN -964800428.674572 weird: spontaneous_FIN -964800428.674651 weird: spontaneous_FIN -964800428.674726 weird: spontaneous_FIN -964800428.674802 weird: spontaneous_FIN -964800428.674879 weird: spontaneous_FIN -964800428.674953 weird: spontaneous_FIN -964800428.675031 weird: spontaneous_FIN -964800428.675102 weird: spontaneous_FIN -964800428.675174 weird: spontaneous_FIN -964800428.675250 weird: spontaneous_FIN -964800428.675322 weird: spontaneous_FIN -964800428.754062 weird: spontaneous_FIN -964800428.754139 weird: spontaneous_FIN -964800428.754215 weird: spontaneous_FIN -964800428.754281 weird: spontaneous_FIN -964800428.754346 weird: spontaneous_FIN -964800428.754412 weird: spontaneous_FIN -964800428.754485 weird: spontaneous_FIN -964800428.754560 weird: spontaneous_FIN -964800428.754632 weird: spontaneous_FIN -964800428.754712 weird: spontaneous_FIN -964800428.754786 weird: spontaneous_FIN -964800428.754858 weird: spontaneous_FIN -964800428.754929 weird: spontaneous_FIN -964800428.754999 weird: spontaneous_FIN -964800428.755064 weird: spontaneous_FIN -964800428.755139 weird: spontaneous_FIN -964800428.755214 weird: spontaneous_FIN -964800428.755285 weird: spontaneous_FIN -964800428.834049 weird: spontaneous_FIN -964800428.845564 weird: spontaneous_FIN -964800428.845656 weird: spontaneous_FIN -964800428.845731 weird: spontaneous_FIN -964800428.845802 weird: spontaneous_FIN -964800428.845878 weird: spontaneous_FIN -964800428.845951 weird: spontaneous_FIN -964800428.846026 weird: spontaneous_FIN -964800428.846105 weird: spontaneous_FIN -964800428.846181 weird: spontaneous_FIN -964800428.846256 weird: spontaneous_FIN -964800428.846334 weird: spontaneous_FIN -964800428.846411 weird: spontaneous_FIN -964800428.846489 weird: spontaneous_FIN -964800428.846566 weird: spontaneous_FIN -964800428.846644 weird: spontaneous_FIN -964800428.846726 weird: spontaneous_FIN -964800428.846802 weird: spontaneous_FIN -964800428.924062 weird: spontaneous_FIN -964800428.924144 weird: spontaneous_FIN -964800428.924217 weird: spontaneous_FIN -964800428.924284 weird: spontaneous_FIN -964800428.924353 weird: spontaneous_FIN -964800428.924417 weird: spontaneous_FIN -964800428.924488 weird: spontaneous_FIN -964800428.924565 weird: spontaneous_FIN -964800428.924633 weird: spontaneous_FIN -964800428.924713 weird: spontaneous_FIN -964800428.924786 weird: spontaneous_FIN -964800428.924859 weird: spontaneous_FIN -964800428.924928 weird: spontaneous_FIN -964800428.924997 weird: spontaneous_FIN -964800428.925067 weird: spontaneous_FIN -964800428.925139 weird: spontaneous_FIN -964800428.925211 weird: spontaneous_FIN -964800428.925282 weird: spontaneous_FIN -964800429.004047 weird: spontaneous_FIN -964800429.004126 weird: spontaneous_FIN -964800429.004198 weird: spontaneous_FIN -964800429.004269 weird: spontaneous_FIN -964800429.004342 weird: spontaneous_FIN -964800429.004414 weird: spontaneous_FIN -964800429.004487 weird: spontaneous_FIN -964800429.004561 weird: spontaneous_FIN -964800429.004639 weird: spontaneous_FIN -964800429.004716 weird: spontaneous_FIN -964800429.004790 weird: spontaneous_FIN -964800429.004868 weird: spontaneous_FIN -964800429.004943 weird: spontaneous_FIN -964800429.005018 weird: spontaneous_FIN -964800429.005093 weird: spontaneous_FIN -964800429.005165 weird: spontaneous_FIN -964800429.005239 weird: spontaneous_FIN -964800429.005311 weird: spontaneous_FIN -964800429.084052 weird: spontaneous_FIN -964800429.084128 weird: spontaneous_FIN -964800429.084203 weird: spontaneous_FIN -964800429.084269 weird: spontaneous_FIN -964800429.084336 weird: spontaneous_FIN -964800429.084402 weird: spontaneous_FIN -964800429.084469 weird: spontaneous_FIN -964800429.084547 weird: spontaneous_FIN -964800429.084616 weird: spontaneous_FIN -964800429.084697 weird: spontaneous_FIN -964800429.084772 weird: spontaneous_FIN -964800429.084843 weird: spontaneous_FIN -964800429.084914 weird: spontaneous_FIN -964800429.084992 weird: spontaneous_FIN -964800429.085054 weird: spontaneous_FIN -964800429.085124 weird: spontaneous_FIN -964800429.085197 weird: spontaneous_FIN -964800429.085268 weird: spontaneous_FIN -964800429.164049 weird: spontaneous_FIN -964800429.164132 weird: spontaneous_FIN -964800429.164204 weird: spontaneous_FIN -964800429.164275 weird: spontaneous_FIN -964800429.164348 weird: spontaneous_FIN -964800429.164422 weird: spontaneous_FIN -964800429.164497 weird: spontaneous_FIN -964800429.164572 weird: spontaneous_FIN -964800429.164650 weird: spontaneous_FIN -964800429.164727 weird: spontaneous_FIN -964800429.164805 weird: spontaneous_FIN -964800429.164885 weird: spontaneous_FIN -964800429.164958 weird: spontaneous_FIN -964800429.165034 weird: spontaneous_FIN -964800429.165109 weird: spontaneous_FIN -964800429.165182 weird: spontaneous_FIN -964800429.165259 weird: spontaneous_FIN -964800429.165333 weird: spontaneous_FIN -964800429.254061 weird: spontaneous_FIN -964800429.254139 weird: spontaneous_FIN -964800429.254217 weird: spontaneous_FIN -964800429.254286 weird: spontaneous_FIN -964800429.254353 weird: spontaneous_FIN -964800429.254420 weird: spontaneous_FIN -964800429.254493 weird: spontaneous_FIN -964800429.254565 weird: spontaneous_FIN -964800429.254639 weird: spontaneous_FIN -964800429.254712 weird: spontaneous_FIN -964800429.254785 weird: spontaneous_FIN -964800429.254859 weird: spontaneous_FIN -964800429.254934 weird: spontaneous_FIN -964800429.254999 weird: spontaneous_FIN -964800429.255071 weird: spontaneous_FIN -964800429.255145 weird: spontaneous_FIN -964800429.255220 weird: spontaneous_FIN -964800429.255290 weird: spontaneous_FIN -964800429.344059 weird: spontaneous_FIN -964800429.344129 weird: spontaneous_FIN -964800429.344204 weird: spontaneous_FIN -964800429.344276 weird: spontaneous_FIN -964800429.344350 weird: spontaneous_FIN -964800429.344425 weird: spontaneous_FIN -964800429.344498 weird: spontaneous_FIN -964800429.344572 weird: spontaneous_FIN -964800429.344648 weird: spontaneous_FIN -964800429.344727 weird: spontaneous_FIN -964800429.344801 weird: spontaneous_FIN -964800429.344877 weird: spontaneous_FIN -964800429.344950 weird: spontaneous_FIN -964800429.345026 weird: spontaneous_FIN -964800429.345101 weird: spontaneous_FIN -964800429.345174 weird: spontaneous_FIN -964800429.345249 weird: spontaneous_FIN -964800429.345320 weird: spontaneous_FIN -964800429.424056 weird: spontaneous_FIN -964800429.424130 weird: spontaneous_FIN -964800429.424205 weird: spontaneous_FIN -964800429.424273 weird: spontaneous_FIN -964800429.424340 weird: spontaneous_FIN -964800429.424405 weird: spontaneous_FIN -964800429.424474 weird: spontaneous_FIN -964800429.424547 weird: spontaneous_FIN -964800429.424620 weird: spontaneous_FIN -964800429.424691 weird: spontaneous_FIN -964800429.424759 weird: spontaneous_FIN -964800429.424831 weird: spontaneous_FIN -964800429.424900 weird: spontaneous_FIN -964800429.424971 weird: spontaneous_FIN -964800429.425038 weird: spontaneous_FIN -964800429.425112 weird: spontaneous_FIN -964800429.425187 weird: spontaneous_FIN -964800429.425255 weird: spontaneous_FIN -964800429.504046 weird: spontaneous_FIN -964800429.504130 weird: spontaneous_FIN -964800429.504205 weird: spontaneous_FIN -964800429.504276 weird: spontaneous_FIN -964800429.504348 weird: spontaneous_FIN -964800429.504421 weird: spontaneous_FIN -964800429.504495 weird: spontaneous_FIN -964800429.504567 weird: spontaneous_FIN -964800429.504645 weird: spontaneous_FIN -964800429.504722 weird: spontaneous_FIN -964800429.504796 weird: spontaneous_FIN -964800429.504871 weird: spontaneous_FIN -964800429.504944 weird: spontaneous_FIN -964800429.505023 weird: spontaneous_FIN -964800429.505096 weird: spontaneous_FIN -964800429.505169 weird: spontaneous_FIN -964800429.505243 weird: spontaneous_FIN -964800429.505315 weird: spontaneous_FIN -964800429.584059 weird: spontaneous_FIN -964800429.584136 weird: spontaneous_FIN -964800429.584209 weird: spontaneous_FIN -964800429.584277 weird: spontaneous_FIN -964800429.584342 weird: spontaneous_FIN -964800429.584407 weird: spontaneous_FIN -964800429.584479 weird: spontaneous_FIN -964800429.584553 weird: spontaneous_FIN -964800429.584632 weird: spontaneous_FIN -964800429.584706 weird: spontaneous_FIN -964800429.584783 weird: spontaneous_FIN -964800429.584859 weird: spontaneous_FIN -964800429.584929 weird: spontaneous_FIN -964800429.585005 weird: spontaneous_FIN -964800429.585073 weird: spontaneous_FIN -964800429.585149 weird: spontaneous_FIN -964800429.585226 weird: spontaneous_FIN -964800429.585299 weird: spontaneous_FIN -964800429.664049 weird: spontaneous_FIN -964800429.664132 weird: spontaneous_FIN -964800429.664207 weird: spontaneous_FIN -964800429.664279 weird: spontaneous_FIN -964800429.664352 weird: spontaneous_FIN -964800429.664426 weird: spontaneous_FIN -964800429.664509 weird: spontaneous_FIN -964800429.664594 weird: spontaneous_FIN -964800429.664680 weird: spontaneous_FIN -964800429.664762 weird: spontaneous_FIN -964800429.664837 weird: spontaneous_FIN -964800429.664917 weird: spontaneous_FIN -964800429.665000 weird: spontaneous_FIN -964800429.665070 weird: spontaneous_FIN -964800429.665146 weird: spontaneous_FIN -964800429.665224 weird: spontaneous_FIN -964800429.665300 weird: spontaneous_FIN -964800429.665375 weird: spontaneous_FIN -964800429.744075 weird: spontaneous_FIN -964800429.744154 weird: spontaneous_FIN -964800429.744231 weird: spontaneous_FIN -964800429.744303 weird: spontaneous_FIN -964800429.744370 weird: spontaneous_FIN -964800429.744437 weird: spontaneous_FIN -964800429.744508 weird: spontaneous_FIN -964800429.744582 weird: spontaneous_FIN -964800429.744655 weird: spontaneous_FIN -964800429.744725 weird: spontaneous_FIN -964800429.744798 weird: spontaneous_FIN -964800429.744874 weird: spontaneous_FIN -964800429.744945 weird: spontaneous_FIN -964800429.745019 weird: spontaneous_FIN -964800429.745093 weird: spontaneous_FIN -964800429.745165 weird: spontaneous_FIN -964800429.745240 weird: spontaneous_FIN -964800429.745312 weird: spontaneous_FIN -964800429.824052 weird: spontaneous_FIN -964800429.824134 weird: spontaneous_FIN -964800429.824207 weird: spontaneous_FIN -964800429.824281 weird: spontaneous_FIN -964800429.824353 weird: spontaneous_FIN -964800429.824427 weird: spontaneous_FIN -964800429.824502 weird: spontaneous_FIN -964800429.824579 weird: spontaneous_FIN -964800429.824657 weird: spontaneous_FIN -964800429.824738 weird: spontaneous_FIN -964800429.824813 weird: spontaneous_FIN -964800429.824892 weird: spontaneous_FIN -964800429.824968 weird: spontaneous_FIN -964800429.825043 weird: spontaneous_FIN -964800429.825120 weird: spontaneous_FIN -964800429.825195 weird: spontaneous_FIN -964800429.825273 weird: spontaneous_FIN -964800429.825347 weird: spontaneous_FIN -964800429.904068 weird: spontaneous_FIN -964800429.904144 weird: spontaneous_FIN -964800429.904218 weird: spontaneous_FIN -964800429.904287 weird: spontaneous_FIN -964800429.904353 weird: spontaneous_FIN -964800429.904420 weird: spontaneous_FIN -964800429.904494 weird: spontaneous_FIN -964800429.904570 weird: spontaneous_FIN -964800429.904644 weird: spontaneous_FIN -964800429.904715 weird: spontaneous_FIN -964800429.904787 weird: spontaneous_FIN -964800429.904861 weird: spontaneous_FIN -964800429.904932 weird: spontaneous_FIN -964800429.905005 weird: spontaneous_FIN -964800429.905075 weird: spontaneous_FIN -964800429.905149 weird: spontaneous_FIN -964800429.905225 weird: spontaneous_FIN -964800429.905296 weird: spontaneous_FIN -964800429.994070 weird: spontaneous_FIN -964800429.994159 weird: spontaneous_FIN -964800429.994239 weird: spontaneous_FIN -964800429.994314 weird: spontaneous_FIN -964800429.994392 weird: spontaneous_FIN -964800429.994467 weird: spontaneous_FIN -964800429.994542 weird: spontaneous_FIN -964800429.994618 weird: spontaneous_FIN -964800429.994695 weird: spontaneous_FIN -964800429.994777 weird: spontaneous_FIN -964800429.994852 weird: spontaneous_FIN -964800429.994931 weird: spontaneous_FIN -964800429.995012 weird: spontaneous_FIN -964800429.995085 weird: spontaneous_FIN -964800429.995160 weird: spontaneous_FIN -964800429.995233 weird: spontaneous_FIN -964800429.995312 weird: spontaneous_FIN -964800429.995388 weird: spontaneous_FIN -964800430.074071 weird: spontaneous_FIN -964800430.074149 weird: spontaneous_FIN -964800430.074225 weird: spontaneous_FIN -964800430.074294 weird: spontaneous_FIN -964800430.074361 weird: spontaneous_FIN -964800430.074429 weird: spontaneous_FIN -964800430.074501 weird: spontaneous_FIN -964800430.074575 weird: spontaneous_FIN -964800430.074650 weird: spontaneous_FIN -964800430.074721 weird: spontaneous_FIN -964800430.074795 weird: spontaneous_FIN -964800430.074869 weird: spontaneous_FIN -964800430.074939 weird: spontaneous_FIN -964800430.075011 weird: spontaneous_FIN -964800430.075082 weird: spontaneous_FIN -964800430.075156 weird: spontaneous_FIN -964800430.075232 weird: spontaneous_FIN -964800430.075304 weird: spontaneous_FIN -964800430.154051 weird: spontaneous_FIN -964800430.154134 weird: spontaneous_FIN -964800430.154210 weird: spontaneous_FIN -964800430.154284 weird: spontaneous_FIN -964800430.154357 weird: spontaneous_FIN -964800430.154434 weird: spontaneous_FIN -964800430.154508 weird: spontaneous_FIN -964800430.154585 weird: spontaneous_FIN -964800430.154664 weird: spontaneous_FIN -964800430.154744 weird: spontaneous_FIN -964800430.154821 weird: spontaneous_FIN -964800430.154900 weird: spontaneous_FIN -964800430.154976 weird: spontaneous_FIN -964800430.155054 weird: spontaneous_FIN -964800430.155131 weird: spontaneous_FIN -964800430.155205 weird: spontaneous_FIN -964800430.155281 weird: spontaneous_FIN -964800430.155359 weird: spontaneous_FIN -964800430.234094 weird: spontaneous_FIN -964800430.234309 weird: spontaneous_FIN -964800430.234456 weird: spontaneous_FIN -964800430.234617 weird: spontaneous_FIN -964800430.234764 weird: spontaneous_FIN -964800430.234911 weird: spontaneous_FIN -964800430.235069 weird: spontaneous_FIN -964800430.235215 weird: spontaneous_FIN -964800430.235362 weird: spontaneous_FIN -964800430.235505 weird: spontaneous_FIN -964800430.235648 weird: spontaneous_FIN -964800430.235790 weird: spontaneous_FIN -964800430.235795 weird: spontaneous_FIN -964800430.235965 weird: spontaneous_FIN -964800430.235971 weird: spontaneous_FIN -964800430.235975 weird: spontaneous_FIN -964800430.235980 weird: spontaneous_FIN -964800430.235986 weird: spontaneous_FIN -964800430.314054 weird: spontaneous_FIN -964800430.314137 weird: spontaneous_FIN -964800430.314214 weird: spontaneous_FIN -964800430.314290 weird: spontaneous_FIN -964800430.314364 weird: spontaneous_FIN -964800430.314439 weird: spontaneous_FIN -964800430.314514 weird: spontaneous_FIN -964800430.314590 weird: spontaneous_FIN -964800430.314670 weird: spontaneous_FIN -964800430.314747 weird: spontaneous_FIN -964800430.314824 weird: spontaneous_FIN -964800430.314904 weird: spontaneous_FIN -964800430.314980 weird: spontaneous_FIN -964800430.315056 weird: spontaneous_FIN -964800430.315129 weird: spontaneous_FIN -964800430.315203 weird: spontaneous_FIN -964800430.315278 weird: spontaneous_FIN -964800430.315353 weird: spontaneous_FIN -964800430.394072 weird: spontaneous_FIN -964800430.394149 weird: spontaneous_FIN -964800430.394225 weird: spontaneous_FIN -964800430.394292 weird: spontaneous_FIN -964800430.394355 weird: spontaneous_FIN -964800430.394420 weird: spontaneous_FIN -964800430.394488 weird: spontaneous_FIN -964800430.394566 weird: spontaneous_FIN -964800430.394634 weird: spontaneous_FIN -964800430.394718 weird: spontaneous_FIN -964800430.394792 weird: spontaneous_FIN -964800430.394862 weird: spontaneous_FIN -964800430.394934 weird: spontaneous_FIN -964800430.395014 weird: spontaneous_FIN -964800430.395071 weird: spontaneous_FIN -964800430.395144 weird: spontaneous_FIN -964800430.395218 weird: spontaneous_FIN -964800430.395294 weird: spontaneous_FIN -964800430.474051 weird: spontaneous_FIN -964800430.474133 weird: spontaneous_FIN -964800430.474205 weird: spontaneous_FIN -964800430.474277 weird: spontaneous_FIN -964800430.474348 weird: spontaneous_FIN -964800430.474420 weird: spontaneous_FIN -964800430.474493 weird: spontaneous_FIN -964800430.474568 weird: spontaneous_FIN -964800430.474646 weird: spontaneous_FIN -964800430.474722 weird: spontaneous_FIN -964800430.474798 weird: spontaneous_FIN -964800430.474874 weird: spontaneous_FIN -964800430.474947 weird: spontaneous_FIN -964800430.475022 weird: spontaneous_FIN -964800430.475098 weird: spontaneous_FIN -964800430.475169 weird: spontaneous_FIN -964800430.475245 weird: spontaneous_FIN -964800430.475315 weird: spontaneous_FIN -964800430.554063 weird: spontaneous_FIN -964800430.554142 weird: spontaneous_FIN -964800430.554216 weird: spontaneous_FIN -964800430.554283 weird: spontaneous_FIN -964800430.554347 weird: spontaneous_FIN -964800430.554412 weird: spontaneous_FIN -964800430.554482 weird: spontaneous_FIN -964800430.554559 weird: spontaneous_FIN -964800430.554629 weird: spontaneous_FIN -964800430.554710 weird: spontaneous_FIN -964800430.554785 weird: spontaneous_FIN -964800430.554859 weird: spontaneous_FIN -964800430.554928 weird: spontaneous_FIN -964800430.554999 weird: spontaneous_FIN -964800430.555072 weird: spontaneous_FIN -964800430.555141 weird: spontaneous_FIN -964800430.555215 weird: spontaneous_FIN -964800430.555284 weird: spontaneous_FIN -964800430.634053 weird: spontaneous_FIN -964800430.634135 weird: spontaneous_FIN -964800430.634208 weird: spontaneous_FIN -964800430.634281 weird: spontaneous_FIN -964800430.634354 weird: spontaneous_FIN -964800430.634429 weird: spontaneous_FIN -964800430.634503 weird: spontaneous_FIN -964800430.634579 weird: spontaneous_FIN -964800430.634658 weird: spontaneous_FIN -964800430.634735 weird: spontaneous_FIN -964800430.634812 weird: spontaneous_FIN -964800430.634891 weird: spontaneous_FIN -964800430.634966 weird: spontaneous_FIN -964800430.635041 weird: spontaneous_FIN -964800430.635115 weird: spontaneous_FIN -964800430.635186 weird: spontaneous_FIN -964800430.635262 weird: spontaneous_FIN -964800430.635336 weird: spontaneous_FIN -964800430.724069 weird: spontaneous_FIN -964800430.724149 weird: spontaneous_FIN -964800430.724224 weird: spontaneous_FIN -964800430.724292 weird: spontaneous_FIN -964800430.724356 weird: spontaneous_FIN -964800430.724420 weird: spontaneous_FIN -964800430.724488 weird: spontaneous_FIN -964800430.724563 weird: spontaneous_FIN -964800430.724634 weird: spontaneous_FIN -964800430.724714 weird: spontaneous_FIN -964800430.724787 weird: spontaneous_FIN -964800430.724859 weird: spontaneous_FIN -964800430.724929 weird: spontaneous_FIN -964800430.725001 weird: spontaneous_FIN -964800430.725070 weird: spontaneous_FIN -964800430.725141 weird: spontaneous_FIN -964800430.725215 weird: spontaneous_FIN -964800430.725286 weird: spontaneous_FIN -964800430.804057 weird: spontaneous_FIN -964800430.804141 weird: spontaneous_FIN -964800430.804217 weird: spontaneous_FIN -964800430.804288 weird: spontaneous_FIN -964800430.804359 weird: spontaneous_FIN -964800430.804432 weird: spontaneous_FIN -964800430.804506 weird: spontaneous_FIN -964800430.804582 weird: spontaneous_FIN -964800430.804661 weird: spontaneous_FIN -964800430.804737 weird: spontaneous_FIN -964800430.804811 weird: spontaneous_FIN -964800430.804891 weird: spontaneous_FIN -964800430.804965 weird: spontaneous_FIN -964800430.805038 weird: spontaneous_FIN -964800430.805115 weird: spontaneous_FIN -964800430.805188 weird: spontaneous_FIN -964800430.805264 weird: spontaneous_FIN -964800430.805336 weird: spontaneous_FIN -964800430.884066 weird: spontaneous_FIN -964800430.884144 weird: spontaneous_FIN -964800430.884218 weird: spontaneous_FIN -964800430.884286 weird: spontaneous_FIN -964800430.884352 weird: spontaneous_FIN -964800430.884420 weird: spontaneous_FIN -964800430.884491 weird: spontaneous_FIN -964800430.884568 weird: spontaneous_FIN -964800430.884639 weird: spontaneous_FIN -964800430.884720 weird: spontaneous_FIN -964800430.884797 weird: spontaneous_FIN -964800430.884868 weird: spontaneous_FIN -964800430.884937 weird: spontaneous_FIN -964800430.885016 weird: spontaneous_FIN -964800430.885079 weird: spontaneous_FIN -964800430.885151 weird: spontaneous_FIN -964800430.885227 weird: spontaneous_FIN -964800430.885295 weird: spontaneous_FIN -964800430.964058 weird: spontaneous_FIN -964800430.964139 weird: spontaneous_FIN -964800430.964216 weird: spontaneous_FIN -964800430.964291 weird: spontaneous_FIN -964800430.964366 weird: spontaneous_FIN -964800430.964439 weird: spontaneous_FIN -964800430.964512 weird: spontaneous_FIN -964800430.964586 weird: spontaneous_FIN -964800430.964667 weird: spontaneous_FIN -964800430.964744 weird: spontaneous_FIN -964800430.964819 weird: spontaneous_FIN -964800430.964897 weird: spontaneous_FIN -964800430.964970 weird: spontaneous_FIN -964800430.965047 weird: spontaneous_FIN -964800430.965123 weird: spontaneous_FIN -964800430.965196 weird: spontaneous_FIN -964800430.965271 weird: spontaneous_FIN -964800430.965344 weird: spontaneous_FIN -964800431.022627 weird: spontaneous_FIN -964800431.044072 weird: spontaneous_FIN -964800431.044152 weird: spontaneous_FIN -964800431.044228 weird: spontaneous_FIN -964800431.044295 weird: spontaneous_FIN -964800431.044361 weird: spontaneous_FIN -964800431.044426 weird: spontaneous_FIN -964800431.044495 weird: spontaneous_FIN -964800431.044571 weird: spontaneous_FIN -964800431.044642 weird: spontaneous_FIN -964800431.044721 weird: spontaneous_FIN -964800431.044795 weird: spontaneous_FIN -964800431.044868 weird: spontaneous_FIN -964800431.044939 weird: spontaneous_FIN -964800431.045006 weird: spontaneous_FIN -964800431.045078 weird: spontaneous_FIN -964800431.045151 weird: spontaneous_FIN -964800431.045225 weird: spontaneous_FIN -964800431.045298 weird: spontaneous_FIN -964800431.124056 weird: spontaneous_FIN -964800431.124141 weird: spontaneous_FIN -964800431.124215 weird: spontaneous_FIN -964800431.124285 weird: spontaneous_FIN -964800431.124358 weird: spontaneous_FIN -964800431.124431 weird: spontaneous_FIN -964800431.124504 weird: spontaneous_FIN -964800431.124579 weird: spontaneous_FIN -964800431.124659 weird: spontaneous_FIN -964800431.124735 weird: spontaneous_FIN -964800431.124811 weird: spontaneous_FIN -964800431.124888 weird: spontaneous_FIN -964800431.124961 weird: spontaneous_FIN -964800431.125034 weird: spontaneous_FIN -964800431.125110 weird: spontaneous_FIN -964800431.125182 weird: spontaneous_FIN -964800431.125258 weird: spontaneous_FIN -964800431.125327 weird: spontaneous_FIN -964800431.204071 weird: spontaneous_FIN -964800431.204147 weird: spontaneous_FIN -964800431.204222 weird: spontaneous_FIN -964800431.204286 weird: spontaneous_FIN -964800431.204353 weird: spontaneous_FIN -964800431.204419 weird: spontaneous_FIN -964800431.204489 weird: spontaneous_FIN -964800431.204567 weird: spontaneous_FIN -964800431.204639 weird: spontaneous_FIN -964800431.204719 weird: spontaneous_FIN -964800431.204795 weird: spontaneous_FIN -964800431.204865 weird: spontaneous_FIN -964800431.204938 weird: spontaneous_FIN -964800431.205009 weird: spontaneous_FIN -964800431.205081 weird: spontaneous_FIN -964800431.205154 weird: spontaneous_FIN -964800431.205226 weird: spontaneous_FIN -964800431.205295 weird: spontaneous_FIN -964800431.284058 weird: spontaneous_FIN -964800431.284140 weird: spontaneous_FIN -964800431.284214 weird: spontaneous_FIN -964800431.284286 weird: spontaneous_FIN -964800431.284359 weird: spontaneous_FIN -964800431.284433 weird: spontaneous_FIN -964800431.284508 weird: spontaneous_FIN -964800431.284587 weird: spontaneous_FIN -964800431.284667 weird: spontaneous_FIN -964800431.284745 weird: spontaneous_FIN -964800431.284820 weird: spontaneous_FIN -964800431.284898 weird: spontaneous_FIN -964800431.284973 weird: spontaneous_FIN -964800431.285050 weird: spontaneous_FIN -964800431.285127 weird: spontaneous_FIN -964800431.285201 weird: spontaneous_FIN -964800431.285276 weird: spontaneous_FIN -964800431.285347 weird: spontaneous_FIN -964800431.364075 weird: spontaneous_FIN -964800431.364155 weird: spontaneous_FIN -964800431.364229 weird: spontaneous_FIN -964800431.364298 weird: spontaneous_FIN -964800431.364362 weird: spontaneous_FIN -964800431.364429 weird: spontaneous_FIN -964800431.364497 weird: spontaneous_FIN -964800431.364576 weird: spontaneous_FIN -964800431.364647 weird: spontaneous_FIN -964800431.364729 weird: spontaneous_FIN -964800431.364805 weird: spontaneous_FIN -964800431.364878 weird: spontaneous_FIN -964800431.364949 weird: spontaneous_FIN -964800431.365026 weird: spontaneous_FIN -964800431.365089 weird: spontaneous_FIN -964800431.365160 weird: spontaneous_FIN -964800431.365234 weird: spontaneous_FIN -964800431.365306 weird: spontaneous_FIN -964800431.444060 weird: spontaneous_FIN -964800431.444148 weird: spontaneous_FIN -964800431.444222 weird: spontaneous_FIN -964800431.444298 weird: spontaneous_FIN -964800431.444371 weird: spontaneous_FIN -964800431.444446 weird: spontaneous_FIN -964800431.444520 weird: spontaneous_FIN -964800431.444595 weird: spontaneous_FIN -964800431.444673 weird: spontaneous_FIN -964800431.444748 weird: spontaneous_FIN -964800431.444826 weird: spontaneous_FIN -964800431.444904 weird: spontaneous_FIN -964800431.444978 weird: spontaneous_FIN -964800431.445054 weird: spontaneous_FIN -964800431.445130 weird: spontaneous_FIN -964800431.445204 weird: spontaneous_FIN -964800431.445280 weird: spontaneous_FIN -964800431.445357 weird: spontaneous_FIN -964800431.524081 weird: spontaneous_FIN -964800431.524161 weird: spontaneous_FIN -964800431.524237 weird: spontaneous_FIN -964800431.524303 weird: spontaneous_FIN -964800431.524369 weird: spontaneous_FIN -964800431.524436 weird: spontaneous_FIN -964800431.524509 weird: spontaneous_FIN -964800431.524587 weird: spontaneous_FIN -964800431.524657 weird: spontaneous_FIN -964800431.524738 weird: spontaneous_FIN -964800431.524815 weird: spontaneous_FIN -964800431.524888 weird: spontaneous_FIN -964800431.524956 weird: spontaneous_FIN -964800431.525029 weird: spontaneous_FIN -964800431.525101 weird: spontaneous_FIN -964800431.525171 weird: spontaneous_FIN -964800431.525245 weird: spontaneous_FIN -964800431.525318 weird: spontaneous_FIN -964800431.604063 weird: spontaneous_FIN -964800431.604145 weird: spontaneous_FIN -964800431.604218 weird: spontaneous_FIN -964800431.604290 weird: spontaneous_FIN -964800431.604363 weird: spontaneous_FIN -964800431.604434 weird: spontaneous_FIN -964800431.604507 weird: spontaneous_FIN -964800431.604580 weird: spontaneous_FIN -964800431.604662 weird: spontaneous_FIN -964800431.604739 weird: spontaneous_FIN -964800431.604814 weird: spontaneous_FIN -964800431.604893 weird: spontaneous_FIN -964800431.604965 weird: spontaneous_FIN -964800431.605040 weird: spontaneous_FIN -964800431.605115 weird: spontaneous_FIN -964800431.605188 weird: spontaneous_FIN -964800431.605267 weird: spontaneous_FIN -964800431.605340 weird: spontaneous_FIN -964800431.684114 weird: spontaneous_FIN -964800431.684196 weird: spontaneous_FIN -964800431.684271 weird: spontaneous_FIN -964800431.684338 weird: spontaneous_FIN -964800431.684406 weird: spontaneous_FIN -964800431.684471 weird: spontaneous_FIN -964800431.684541 weird: spontaneous_FIN -964800431.684619 weird: spontaneous_FIN -964800431.684689 weird: spontaneous_FIN -964800431.684770 weird: spontaneous_FIN -964800431.684845 weird: spontaneous_FIN -964800431.684916 weird: spontaneous_FIN -964800431.684989 weird: spontaneous_FIN -964800431.685057 weird: spontaneous_FIN -964800431.685128 weird: spontaneous_FIN -964800431.685200 weird: spontaneous_FIN -964800431.685274 weird: spontaneous_FIN -964800431.685349 weird: spontaneous_FIN -964800431.764061 weird: spontaneous_FIN -964800431.764143 weird: spontaneous_FIN -964800431.764216 weird: spontaneous_FIN -964800431.764288 weird: spontaneous_FIN -964800431.764363 weird: spontaneous_FIN -964800431.764435 weird: spontaneous_FIN -964800431.764509 weird: spontaneous_FIN -964800431.764585 weird: spontaneous_FIN -964800431.764666 weird: spontaneous_FIN -964800431.764742 weird: spontaneous_FIN -964800431.764820 weird: spontaneous_FIN -964800431.764898 weird: spontaneous_FIN -964800431.764971 weird: spontaneous_FIN -964800431.765047 weird: spontaneous_FIN -964800431.765125 weird: spontaneous_FIN -964800431.765198 weird: spontaneous_FIN -964800431.765274 weird: spontaneous_FIN -964800431.765342 weird: spontaneous_FIN -964800431.844077 weird: spontaneous_FIN -964800431.844153 weird: spontaneous_FIN -964800431.844227 weird: spontaneous_FIN -964800431.844294 weird: spontaneous_FIN -964800431.844361 weird: spontaneous_FIN -964800431.844425 weird: spontaneous_FIN -964800431.844495 weird: spontaneous_FIN -964800431.844571 weird: spontaneous_FIN -964800431.844643 weird: spontaneous_FIN -964800431.844723 weird: spontaneous_FIN -964800431.844798 weird: spontaneous_FIN -964800431.844869 weird: spontaneous_FIN -964800431.844941 weird: spontaneous_FIN -964800431.845012 weird: spontaneous_FIN -964800431.845082 weird: spontaneous_FIN -964800431.845156 weird: spontaneous_FIN -964800431.845228 weird: spontaneous_FIN -964800431.845299 weird: spontaneous_FIN -964800431.924062 weird: spontaneous_FIN -964800431.924144 weird: spontaneous_FIN -964800431.924217 weird: spontaneous_FIN -964800431.924289 weird: spontaneous_FIN -964800431.924362 weird: spontaneous_FIN -964800431.924434 weird: spontaneous_FIN -964800431.924509 weird: spontaneous_FIN -964800431.924582 weird: spontaneous_FIN -964800431.924660 weird: spontaneous_FIN -964800431.924735 weird: spontaneous_FIN -964800431.924811 weird: spontaneous_FIN -964800431.924890 weird: spontaneous_FIN -964800431.924960 weird: spontaneous_FIN -964800431.925038 weird: spontaneous_FIN -964800431.925109 weird: spontaneous_FIN -964800431.925182 weird: spontaneous_FIN -964800431.925256 weird: spontaneous_FIN -964800431.925329 weird: spontaneous_FIN -964800432.004074 weird: spontaneous_FIN -964800432.004146 weird: spontaneous_FIN -964800432.004223 weird: spontaneous_FIN -964800432.004287 weird: spontaneous_FIN -964800432.004358 weird: spontaneous_FIN -964800432.004425 weird: spontaneous_FIN -964800432.004495 weird: spontaneous_FIN -964800432.004570 weird: spontaneous_FIN -964800432.004642 weird: spontaneous_FIN -964800432.004722 weird: spontaneous_FIN -964800432.004797 weird: spontaneous_FIN -964800432.004867 weird: spontaneous_FIN -964800432.004937 weird: spontaneous_FIN -964800432.005008 weird: spontaneous_FIN -964800432.005076 weird: spontaneous_FIN -964800432.005145 weird: spontaneous_FIN -964800432.005218 weird: spontaneous_FIN -964800432.005289 weird: spontaneous_FIN -964800432.084062 weird: spontaneous_FIN -964800432.084145 weird: spontaneous_FIN -964800432.084222 weird: spontaneous_FIN -964800432.084296 weird: spontaneous_FIN -964800432.084370 weird: spontaneous_FIN -964800432.084444 weird: spontaneous_FIN -964800432.084518 weird: spontaneous_FIN -964800432.084593 weird: spontaneous_FIN -964800432.084670 weird: spontaneous_FIN -964800432.084746 weird: spontaneous_FIN -964800432.084821 weird: spontaneous_FIN -964800432.084898 weird: spontaneous_FIN -964800432.084972 weird: spontaneous_FIN -964800432.085047 weird: spontaneous_FIN -964800432.085121 weird: spontaneous_FIN -964800432.085193 weird: spontaneous_FIN -964800432.085269 weird: spontaneous_FIN -964800432.085340 weird: spontaneous_FIN -964800432.164079 weird: spontaneous_FIN -964800432.164154 weird: spontaneous_FIN -964800432.164227 weird: spontaneous_FIN -964800432.164294 weird: spontaneous_FIN -964800432.164363 weird: spontaneous_FIN -964800432.164430 weird: spontaneous_FIN -964800432.164500 weird: spontaneous_FIN -964800432.164578 weird: spontaneous_FIN -964800432.164648 weird: spontaneous_FIN -964800432.164728 weird: spontaneous_FIN -964800432.164801 weird: spontaneous_FIN -964800432.164874 weird: spontaneous_FIN -964800432.164942 weird: spontaneous_FIN -964800432.165012 weird: spontaneous_FIN -964800432.165084 weird: spontaneous_FIN -964800432.165153 weird: spontaneous_FIN -964800432.165228 weird: spontaneous_FIN -964800432.165300 weird: spontaneous_FIN -964800432.244062 weird: spontaneous_FIN -964800432.244144 weird: spontaneous_FIN -964800432.244217 weird: spontaneous_FIN -964800432.244290 weird: spontaneous_FIN -964800432.244363 weird: spontaneous_FIN -964800432.244434 weird: spontaneous_FIN -964800432.244507 weird: spontaneous_FIN -964800432.244580 weird: spontaneous_FIN -964800432.244660 weird: spontaneous_FIN -964800432.244735 weird: spontaneous_FIN -964800432.244812 weird: spontaneous_FIN -964800432.244888 weird: spontaneous_FIN -964800432.244962 weird: spontaneous_FIN -964800432.245040 weird: spontaneous_FIN -964800432.245110 weird: spontaneous_FIN -964800432.245181 weird: spontaneous_FIN -964800432.245257 weird: spontaneous_FIN -964800432.245328 weird: spontaneous_FIN -964800432.334078 weird: spontaneous_FIN -964800432.334157 weird: spontaneous_FIN -964800432.334232 weird: spontaneous_FIN -964800432.334301 weird: spontaneous_FIN -964800432.334368 weird: spontaneous_FIN -964800432.334434 weird: spontaneous_FIN -964800432.334503 weird: spontaneous_FIN -964800432.334582 weird: spontaneous_FIN -964800432.334653 weird: spontaneous_FIN -964800432.334732 weird: spontaneous_FIN -964800432.334808 weird: spontaneous_FIN -964800432.334880 weird: spontaneous_FIN -964800432.334953 weird: spontaneous_FIN -964800432.335024 weird: spontaneous_FIN -964800432.335095 weird: spontaneous_FIN -964800432.335170 weird: spontaneous_FIN -964800432.335244 weird: spontaneous_FIN -964800432.335322 weird: spontaneous_FIN -964800432.393658 weird: spontaneous_RST -964800432.393697 weird: spontaneous_RST -964800432.424076 weird: spontaneous_FIN -964800432.424160 weird: spontaneous_FIN -964800432.424232 weird: spontaneous_FIN -964800432.424305 weird: spontaneous_FIN -964800432.424380 weird: spontaneous_FIN -964800432.424456 weird: spontaneous_FIN -964800432.424530 weird: spontaneous_FIN -964800432.424608 weird: spontaneous_FIN -964800432.424691 weird: spontaneous_FIN -964800432.424767 weird: spontaneous_FIN -964800432.424842 weird: spontaneous_FIN -964800432.424919 weird: spontaneous_FIN -964800432.424993 weird: spontaneous_FIN -964800432.425070 weird: spontaneous_FIN -964800432.425147 weird: spontaneous_FIN -964800432.425226 weird: spontaneous_FIN -964800432.425307 weird: spontaneous_FIN -964800432.425384 weird: spontaneous_FIN -964800432.504091 weird: spontaneous_FIN -964800432.504176 weird: spontaneous_FIN -964800432.504259 weird: spontaneous_FIN -964800432.504327 weird: spontaneous_FIN -964800432.504396 weird: spontaneous_FIN -964800432.504463 weird: spontaneous_FIN -964800432.504538 weird: spontaneous_FIN -964800432.504609 weird: spontaneous_FIN -964800432.504685 weird: spontaneous_FIN -964800432.504757 weird: spontaneous_FIN -964800432.504830 weird: spontaneous_FIN -964800432.504903 weird: spontaneous_FIN -964800432.504974 weird: spontaneous_FIN -964800432.505044 weird: spontaneous_FIN -964800432.505112 weird: spontaneous_FIN -964800432.505187 weird: spontaneous_FIN -964800432.505259 weird: spontaneous_FIN -964800432.505329 weird: spontaneous_FIN -964800432.584072 weird: spontaneous_FIN -964800432.584154 weird: spontaneous_FIN -964800432.584228 weird: spontaneous_FIN -964800432.584299 weird: spontaneous_FIN -964800432.584372 weird: spontaneous_FIN -964800432.584447 weird: spontaneous_FIN -964800432.584522 weird: spontaneous_FIN -964800432.584598 weird: spontaneous_FIN -964800432.584674 weird: spontaneous_FIN -964800432.584752 weird: spontaneous_FIN -964800432.584835 weird: spontaneous_FIN -964800432.584962 weird: spontaneous_FIN -964800432.585045 weird: spontaneous_FIN -964800432.585108 weird: spontaneous_FIN -964800432.585179 weird: spontaneous_FIN -964800432.585246 weird: spontaneous_FIN -964800432.585324 weird: spontaneous_FIN -964800432.585393 weird: spontaneous_FIN -964800432.664091 weird: spontaneous_FIN -964800432.664174 weird: spontaneous_FIN -964800432.664249 weird: spontaneous_FIN -964800432.664316 weird: spontaneous_FIN -964800432.664386 weird: spontaneous_FIN -964800432.664456 weird: spontaneous_FIN -964800432.664521 weird: spontaneous_FIN -964800432.664591 weird: spontaneous_FIN -964800432.664664 weird: spontaneous_FIN -964800432.664735 weird: spontaneous_FIN -964800432.664808 weird: spontaneous_FIN -964800432.664878 weird: spontaneous_FIN -964800432.664950 weird: spontaneous_FIN -964800432.665022 weird: spontaneous_FIN -964800432.665091 weird: spontaneous_FIN -964800432.665164 weird: spontaneous_FIN -964800432.665235 weird: spontaneous_FIN -964800432.665305 weird: spontaneous_FIN -964800432.744077 weird: spontaneous_FIN -964800432.744155 weird: spontaneous_FIN -964800432.744224 weird: spontaneous_FIN -964800432.744294 weird: spontaneous_FIN -964800432.744364 weird: spontaneous_FIN -964800432.744435 weird: spontaneous_FIN -964800432.744506 weird: spontaneous_FIN -964800432.744586 weird: spontaneous_FIN -964800432.744666 weird: spontaneous_FIN -964800432.744742 weird: spontaneous_FIN -964800432.744822 weird: spontaneous_FIN -964800432.744902 weird: spontaneous_FIN -964800432.744976 weird: spontaneous_FIN -964800432.745050 weird: spontaneous_FIN -964800432.745119 weird: spontaneous_FIN -964800432.745190 weird: spontaneous_FIN -964800432.745268 weird: spontaneous_FIN -964800432.745339 weird: spontaneous_FIN -964800432.824076 weird: spontaneous_FIN -964800432.824161 weird: spontaneous_FIN -964800432.824236 weird: spontaneous_FIN -964800432.824303 weird: spontaneous_FIN -964800432.824372 weird: spontaneous_FIN -964800432.824442 weird: spontaneous_FIN -964800432.824510 weird: spontaneous_FIN -964800432.824583 weird: spontaneous_FIN -964800432.824658 weird: spontaneous_FIN -964800432.824728 weird: spontaneous_FIN -964800432.824800 weird: spontaneous_FIN -964800432.824870 weird: spontaneous_FIN -964800432.824942 weird: spontaneous_FIN -964800432.825012 weird: spontaneous_FIN -964800432.825082 weird: spontaneous_FIN -964800432.825154 weird: spontaneous_FIN -964800432.825226 weird: spontaneous_FIN -964800432.825301 weird: spontaneous_FIN -964800432.904071 weird: spontaneous_FIN -964800432.904150 weird: spontaneous_FIN -964800432.904219 weird: spontaneous_FIN -964800432.904290 weird: spontaneous_FIN -964800432.904361 weird: spontaneous_FIN -964800432.904432 weird: spontaneous_FIN -964800432.904506 weird: spontaneous_FIN -964800432.904580 weird: spontaneous_FIN -964800432.904655 weird: spontaneous_FIN -964800432.904729 weird: spontaneous_FIN -964800432.904805 weird: spontaneous_FIN -964800432.904880 weird: spontaneous_FIN -964800432.904957 weird: spontaneous_FIN -964800432.905029 weird: spontaneous_FIN -964800432.905102 weird: spontaneous_FIN -964800432.905173 weird: spontaneous_FIN -964800432.905252 weird: spontaneous_FIN -964800432.905327 weird: spontaneous_FIN -964800432.984084 weird: spontaneous_FIN -964800432.984166 weird: spontaneous_FIN -964800432.984239 weird: spontaneous_FIN -964800432.984310 weird: spontaneous_FIN -964800432.984380 weird: spontaneous_FIN -964800432.984448 weird: spontaneous_FIN -964800432.984516 weird: spontaneous_FIN -964800432.984589 weird: spontaneous_FIN -964800432.984664 weird: spontaneous_FIN -964800432.984738 weird: spontaneous_FIN -964800432.984811 weird: spontaneous_FIN -964800432.984880 weird: spontaneous_FIN -964800433.064081 weird: spontaneous_FIN -964800433.064168 weird: spontaneous_FIN -964800433.064241 weird: spontaneous_FIN -964800433.064312 weird: spontaneous_FIN -964800433.064388 weird: spontaneous_FIN -964800433.064462 weird: spontaneous_FIN -964800433.064539 weird: spontaneous_FIN -964800433.064611 weird: spontaneous_FIN -964800433.064687 weird: spontaneous_FIN -964800433.064761 weird: spontaneous_FIN -964800434.264113 weird: spontaneous_FIN -964800434.264192 weird: spontaneous_FIN -964800434.264353 weird: spontaneous_FIN -964800434.264569 weird: spontaneous_FIN -964800434.264677 weird: spontaneous_FIN -964800434.264810 weird: spontaneous_FIN -964800434.265004 weird: spontaneous_FIN -964800434.265089 weird: spontaneous_FIN -964800434.265243 weird: spontaneous_FIN -964800434.265449 weird: spontaneous_FIN -964800434.265536 weird: spontaneous_FIN -964800434.265697 weird: spontaneous_FIN -964800434.265897 weird: spontaneous_FIN -964800434.266002 weird: spontaneous_FIN -964800434.266149 weird: spontaneous_FIN -964800434.266361 weird: spontaneous_FIN -964800434.266445 weird: spontaneous_FIN -964800434.266616 weird: spontaneous_FIN -964800434.266835 weird: spontaneous_FIN -964800434.266928 weird: spontaneous_FIN -964800434.267095 weird: spontaneous_FIN -964800434.267312 weird: spontaneous_FIN -964800434.267389 weird: spontaneous_FIN -964800434.267540 weird: spontaneous_FIN -964800434.267743 weird: spontaneous_FIN -964800434.267825 weird: spontaneous_FIN -964800434.267984 weird: spontaneous_FIN -964800434.268191 weird: spontaneous_FIN -964800434.268274 weird: spontaneous_FIN -964800434.268445 weird: spontaneous_FIN -964800434.268657 weird: spontaneous_FIN -964800434.268735 weird: spontaneous_FIN -964800434.268895 weird: spontaneous_FIN -964800434.269105 weird: spontaneous_FIN -964800434.269190 weird: spontaneous_FIN -964800434.269364 weird: spontaneous_FIN -964800434.269603 weird: spontaneous_FIN -964800434.269703 weird: spontaneous_FIN -964800434.269875 weird: spontaneous_FIN -964800434.270101 weird: spontaneous_FIN -964800434.270184 weird: spontaneous_FIN -964800434.270370 weird: spontaneous_FIN -964800434.270602 weird: spontaneous_FIN -964800434.270686 weird: spontaneous_FIN -964800434.270852 weird: spontaneous_FIN -964800434.271061 weird: spontaneous_FIN -964800434.271140 weird: spontaneous_FIN -964800434.271296 weird: spontaneous_FIN -964800434.271494 weird: spontaneous_FIN -964800434.271579 weird: spontaneous_FIN -964800434.271737 weird: spontaneous_FIN -964800434.271945 weird: spontaneous_FIN -964800434.272022 weird: spontaneous_FIN -964800434.272185 weird: spontaneous_FIN -964800434.272384 weird: spontaneous_FIN -964800434.272465 weird: spontaneous_FIN -964800434.272625 weird: spontaneous_FIN -964800434.272824 weird: spontaneous_FIN -964800434.272909 weird: spontaneous_FIN -964800434.273060 weird: spontaneous_FIN -964800434.273275 weird: spontaneous_FIN -964800434.273409 weird: spontaneous_FIN -964800434.273521 weird: spontaneous_FIN -964800434.273725 weird: spontaneous_FIN -964800434.273810 weird: spontaneous_FIN -964800434.364130 weird: spontaneous_FIN -964800434.364214 weird: spontaneous_FIN -964800434.364386 weird: spontaneous_FIN -964800434.364519 weird: spontaneous_FIN -964800434.364717 weird: spontaneous_FIN -964800434.364791 weird: spontaneous_FIN -964800434.364937 weird: spontaneous_FIN -964800434.365131 weird: spontaneous_FIN -964800434.365214 weird: spontaneous_FIN -964800434.365362 weird: spontaneous_FIN -964800434.365576 weird: spontaneous_FIN -964800434.365682 weird: spontaneous_FIN -964800434.365823 weird: spontaneous_FIN -964800434.366029 weird: spontaneous_FIN -964800434.366111 weird: spontaneous_FIN -964800434.366271 weird: spontaneous_FIN -964800434.366466 weird: spontaneous_FIN -964800434.366551 weird: spontaneous_FIN -964800434.366707 weird: spontaneous_FIN -964800434.366896 weird: spontaneous_FIN -964800434.367006 weird: spontaneous_FIN -964800434.367140 weird: spontaneous_FIN -964800434.367346 weird: spontaneous_FIN -964800434.367431 weird: spontaneous_FIN -964800434.367607 weird: spontaneous_FIN -964800434.367859 weird: spontaneous_FIN -964800434.367956 weird: spontaneous_FIN -964800434.368129 weird: spontaneous_FIN -964800434.368371 weird: spontaneous_FIN -964800434.368451 weird: spontaneous_FIN -964800434.368627 weird: spontaneous_FIN -964800434.368842 weird: spontaneous_FIN -964800434.368917 weird: spontaneous_FIN -964800434.369070 weird: spontaneous_FIN -964800434.369279 weird: spontaneous_FIN -964800434.369361 weird: spontaneous_FIN -964800434.369512 weird: spontaneous_FIN -964800434.369710 weird: spontaneous_FIN -964800434.369792 weird: spontaneous_FIN -964800434.369953 weird: spontaneous_FIN -964800434.370159 weird: spontaneous_FIN -964800434.370242 weird: spontaneous_FIN -964800434.370395 weird: spontaneous_FIN -964800434.370593 weird: spontaneous_FIN -964800434.370672 weird: spontaneous_FIN -964800434.370826 weird: spontaneous_FIN -964800434.371030 weird: spontaneous_FIN -964800434.371133 weird: spontaneous_FIN -964800434.371267 weird: spontaneous_FIN -964800434.371365 weird: spontaneous_FIN -964800434.371650 weird: spontaneous_FIN -964800434.371823 weird: spontaneous_FIN -964800434.371908 weird: spontaneous_FIN -964800434.372066 weird: spontaneous_FIN -964800434.372272 weird: spontaneous_FIN -964800434.372349 weird: spontaneous_FIN -964800434.372500 weird: spontaneous_FIN -964800434.372700 weird: spontaneous_FIN -964800434.372780 weird: spontaneous_FIN -964800434.372931 weird: spontaneous_FIN -964800434.373141 weird: spontaneous_FIN -964800434.373222 weird: spontaneous_FIN -964800434.373377 weird: spontaneous_FIN -964800434.373592 weird: spontaneous_FIN -964800434.373678 weird: spontaneous_FIN -964800434.373839 weird: spontaneous_FIN -964800434.374088 weird: spontaneous_FIN -964800434.374186 weird: spontaneous_FIN -964800434.374357 weird: spontaneous_FIN -964800434.464120 weird: spontaneous_FIN -964800434.464198 weird: spontaneous_FIN -964800434.464350 weird: spontaneous_FIN -964800434.464561 weird: spontaneous_FIN -964800434.464671 weird: spontaneous_FIN -964800434.464801 weird: spontaneous_FIN -964800434.464998 weird: spontaneous_FIN -964800434.465106 weird: spontaneous_FIN -964800434.465238 weird: spontaneous_FIN -964800434.465456 weird: spontaneous_FIN -964800434.465539 weird: spontaneous_FIN -964800434.465694 weird: spontaneous_FIN -964800434.465900 weird: spontaneous_FIN -964800434.465984 weird: spontaneous_FIN -964800434.466144 weird: spontaneous_FIN -964800434.466346 weird: spontaneous_FIN -964800434.466430 weird: spontaneous_FIN -964800434.466595 weird: spontaneous_FIN -964800434.466807 weird: spontaneous_FIN -964800434.466889 weird: spontaneous_FIN -964800434.467055 weird: spontaneous_FIN -964800434.467267 weird: spontaneous_FIN -964800434.467350 weird: spontaneous_FIN -964800434.467507 weird: spontaneous_FIN -964800434.467717 weird: spontaneous_FIN -964800434.467801 weird: spontaneous_FIN -964800434.467966 weird: spontaneous_FIN -964800434.468225 weird: spontaneous_FIN -964800434.468303 weird: spontaneous_FIN -964800434.468454 weird: spontaneous_FIN -964800434.468656 weird: spontaneous_FIN -964800434.468733 weird: spontaneous_FIN -964800434.468888 weird: spontaneous_FIN -964800434.469043 weird: spontaneous_FIN -964800434.469202 weird: spontaneous_FIN -964800434.469325 weird: spontaneous_FIN -964800434.469550 weird: spontaneous_FIN -964800434.469633 weird: spontaneous_FIN -964800434.469825 weird: spontaneous_FIN -964800434.470044 weird: spontaneous_FIN -964800434.470141 weird: spontaneous_FIN -964800434.470314 weird: spontaneous_FIN -964800434.470546 weird: spontaneous_FIN -964800434.470634 weird: spontaneous_FIN -964800434.470800 weird: spontaneous_FIN -964800434.471329 weird: spontaneous_FIN -964800434.471494 weird: spontaneous_FIN -964800434.471995 weird: spontaneous_FIN -964800434.472338 weird: spontaneous_FIN -964800434.472503 weird: spontaneous_FIN -964800434.473692 weird: spontaneous_FIN -964800434.474355 weird: spontaneous_FIN -964800434.474522 weird: spontaneous_FIN -964800434.475022 weird: spontaneous_FIN -964800434.475539 weird: spontaneous_FIN -964800434.475703 weird: spontaneous_FIN -964800434.476358 weird: spontaneous_FIN -964800434.476869 weird: spontaneous_FIN -964800434.477357 weird: spontaneous_FIN -964800434.477688 weird: spontaneous_FIN -964800434.478341 weird: spontaneous_FIN -964800434.478503 weird: spontaneous_FIN -964800434.478996 weird: spontaneous_FIN -964800434.479649 weird: spontaneous_FIN -964800434.479812 weird: spontaneous_FIN -964800434.480302 weird: spontaneous_FIN -964800434.480796 weird: spontaneous_FIN -964800434.481124 weird: spontaneous_FIN -964800434.481451 weird: spontaneous_FIN -964800434.482104 weird: spontaneous_FIN -964800434.482267 weird: spontaneous_FIN -964800434.482757 weird: spontaneous_FIN -964800434.483250 weird: spontaneous_FIN -964800434.564123 weird: spontaneous_FIN -964800434.564205 weird: spontaneous_FIN -964800434.564374 weird: spontaneous_FIN -964800434.564505 weird: spontaneous_FIN -964800434.564712 weird: spontaneous_FIN -964800434.564788 weird: spontaneous_FIN -964800434.564945 weird: spontaneous_FIN -964800434.565147 weird: spontaneous_FIN -964800434.565228 weird: spontaneous_FIN -964800434.565376 weird: spontaneous_FIN -964800434.565578 weird: spontaneous_FIN -964800434.565660 weird: spontaneous_FIN -964800434.565823 weird: spontaneous_FIN -964800434.566021 weird: spontaneous_FIN -964800434.566100 weird: spontaneous_FIN -964800434.566249 weird: spontaneous_FIN -964800434.566443 weird: spontaneous_FIN -964800434.566523 weird: spontaneous_FIN -964800434.566672 weird: spontaneous_FIN -964800434.566877 weird: spontaneous_FIN -964800434.566958 weird: spontaneous_FIN -964800434.567108 weird: spontaneous_FIN -964800434.567299 weird: spontaneous_FIN -964800434.567384 weird: spontaneous_FIN -964800434.567573 weird: spontaneous_FIN -964800434.567794 weird: spontaneous_FIN -964800434.567892 weird: spontaneous_FIN -964800434.568051 weird: spontaneous_FIN -964800434.568280 weird: spontaneous_FIN -964800434.568378 weird: spontaneous_FIN -964800434.568547 weird: spontaneous_FIN -964800434.568751 weird: spontaneous_FIN -964800434.568828 weird: spontaneous_FIN -964800434.568980 weird: spontaneous_FIN -964800434.569178 weird: spontaneous_FIN -964800434.569258 weird: spontaneous_FIN -964800434.569413 weird: spontaneous_FIN -964800434.569618 weird: spontaneous_FIN -964800434.569701 weird: spontaneous_FIN -964800434.569854 weird: spontaneous_FIN -964800434.570054 weird: spontaneous_FIN -964800434.570137 weird: spontaneous_FIN -964800434.570297 weird: spontaneous_FIN -964800434.570489 weird: spontaneous_FIN -964800434.570571 weird: spontaneous_FIN -964800434.570727 weird: spontaneous_FIN -964800434.570924 weird: spontaneous_FIN -964800434.571010 weird: spontaneous_FIN -964800434.571174 weird: spontaneous_FIN -964800434.571399 weird: spontaneous_FIN -964800434.571498 weird: spontaneous_FIN -964800434.571660 weird: spontaneous_FIN -964800434.571888 weird: spontaneous_FIN -964800434.572000 weird: spontaneous_FIN -964800434.572063 weird: spontaneous_FIN -964800434.572222 weird: spontaneous_FIN -964800434.572448 weird: spontaneous_FIN -964800434.572532 weird: spontaneous_FIN -964800434.572701 weird: spontaneous_FIN -964800434.572920 weird: spontaneous_FIN -964800434.573004 weird: spontaneous_FIN -964800434.573172 weird: spontaneous_FIN -964800434.573387 weird: spontaneous_FIN -964800434.573469 weird: spontaneous_FIN -964800434.573631 weird: spontaneous_FIN -964800434.573851 weird: spontaneous_FIN -964800434.573933 weird: spontaneous_FIN -964800434.574122 weird: spontaneous_FIN -964800434.574372 weird: spontaneous_FIN -964800434.574455 weird: spontaneous_FIN -964800434.574631 weird: spontaneous_FIN -964800434.574857 weird: spontaneous_FIN -964800434.574943 weird: spontaneous_FIN -964800434.575114 weird: spontaneous_FIN -964800434.575329 weird: spontaneous_FIN -964800434.575409 weird: spontaneous_FIN -964800434.575576 weird: spontaneous_FIN -964800434.674133 weird: spontaneous_FIN -964800434.674229 weird: spontaneous_FIN -964800434.674398 weird: spontaneous_FIN -964800434.674624 weird: spontaneous_FIN -964800434.674734 weird: spontaneous_FIN -964800434.674858 weird: spontaneous_FIN -964800434.675071 weird: spontaneous_FIN -964800434.675169 weird: spontaneous_FIN -964800434.675251 weird: spontaneous_FIN -964800434.675404 weird: spontaneous_FIN -964800434.675599 weird: spontaneous_FIN -964800434.675701 weird: spontaneous_FIN -964800434.675847 weird: spontaneous_FIN -964800434.676042 weird: spontaneous_FIN -964800434.676130 weird: spontaneous_FIN -964800434.676280 weird: spontaneous_FIN -964800434.676476 weird: spontaneous_FIN -964800434.676558 weird: spontaneous_FIN -964800434.676716 weird: spontaneous_FIN -964800434.676914 weird: spontaneous_FIN -964800434.676996 weird: spontaneous_FIN -964800434.677159 weird: spontaneous_FIN -964800434.677364 weird: spontaneous_FIN -964800434.677443 weird: spontaneous_FIN -964800434.677612 weird: spontaneous_FIN -964800434.677821 weird: spontaneous_FIN -964800434.677901 weird: spontaneous_FIN -964800434.678065 weird: spontaneous_FIN -964800434.678289 weird: spontaneous_FIN -964800434.678368 weird: spontaneous_FIN -964800434.678539 weird: spontaneous_FIN -964800434.678751 weird: spontaneous_FIN -964800434.678827 weird: spontaneous_FIN -964800434.678994 weird: spontaneous_FIN -964800434.679210 weird: spontaneous_FIN -964800434.679285 weird: spontaneous_FIN -964800434.679456 weird: spontaneous_FIN -964800434.679683 weird: spontaneous_FIN -964800434.679797 weird: spontaneous_FIN -964800434.679929 weird: spontaneous_FIN -964800434.680138 weird: spontaneous_FIN -964800434.680258 weird: spontaneous_FIN -964800434.680397 weird: spontaneous_FIN -964800434.680620 weird: spontaneous_FIN -964800434.680703 weird: spontaneous_FIN -964800434.680889 weird: spontaneous_FIN -964800434.681095 weird: spontaneous_FIN -964800434.681190 weird: spontaneous_FIN -964800434.681354 weird: spontaneous_FIN -964800434.681585 weird: spontaneous_FIN -964800434.681660 weird: spontaneous_FIN -964800434.681826 weird: spontaneous_FIN -964800434.682049 weird: spontaneous_FIN -964800434.682126 weird: spontaneous_FIN -964800434.682292 weird: spontaneous_FIN -964800434.682496 weird: spontaneous_FIN -964800434.682582 weird: spontaneous_FIN -964800434.682742 weird: spontaneous_FIN -964800434.682942 weird: spontaneous_FIN -964800434.683022 weird: spontaneous_FIN -964800434.683182 weird: spontaneous_FIN -964800434.683384 weird: spontaneous_FIN -964800434.683462 weird: spontaneous_FIN -964800434.683619 weird: spontaneous_FIN -964800434.683818 weird: spontaneous_FIN -964800434.683902 weird: spontaneous_FIN -964800434.684143 weird: spontaneous_FIN -964800434.684374 weird: spontaneous_FIN -964800434.684450 weird: spontaneous_FIN -964800434.684609 weird: spontaneous_FIN -964800434.684828 weird: spontaneous_FIN -964800434.684912 weird: spontaneous_FIN -964800434.685085 weird: spontaneous_FIN -964800434.685273 weird: spontaneous_FIN -964800434.685356 weird: spontaneous_FIN -964800434.685522 weird: spontaneous_FIN -964800434.685747 weird: spontaneous_FIN -964800434.685832 weird: spontaneous_FIN -964800434.686005 weird: spontaneous_FIN -964800434.686233 weird: spontaneous_FIN -964800434.686313 weird: spontaneous_FIN -964800434.784136 weird: spontaneous_FIN -964800434.784219 weird: spontaneous_FIN -964800434.784395 weird: spontaneous_FIN -964800434.784534 weird: spontaneous_FIN -964800434.784727 weird: spontaneous_FIN -964800434.784806 weird: spontaneous_FIN -964800434.784959 weird: spontaneous_FIN -964800434.785158 weird: spontaneous_FIN -964800434.785240 weird: spontaneous_FIN -964800434.785411 weird: spontaneous_FIN -964800434.785657 weird: spontaneous_FIN -964800434.785733 weird: spontaneous_FIN -964800434.785883 weird: spontaneous_FIN -964800434.786087 weird: spontaneous_FIN -964800434.786174 weird: spontaneous_FIN -964800434.786334 weird: spontaneous_FIN -964800434.786536 weird: spontaneous_FIN -964800434.786616 weird: spontaneous_FIN -964800434.786772 weird: spontaneous_FIN -964800434.786973 weird: spontaneous_FIN -964800434.787058 weird: spontaneous_FIN -964800434.787218 weird: spontaneous_FIN -964800434.787445 weird: spontaneous_FIN -964800434.787526 weird: spontaneous_FIN -964800434.787698 weird: spontaneous_FIN -964800434.787927 weird: spontaneous_FIN -964800434.788013 weird: spontaneous_FIN -964800434.788200 weird: spontaneous_FIN -964800434.788429 weird: spontaneous_FIN -964800434.788541 weird: spontaneous_FIN -964800434.788683 weird: spontaneous_FIN -964800434.788834 weird: spontaneous_FIN -964800434.789079 weird: spontaneous_FIN -964800434.789265 weird: spontaneous_FIN -964800434.789348 weird: spontaneous_FIN -964800434.789512 weird: spontaneous_FIN -964800434.789721 weird: spontaneous_FIN -964800434.789799 weird: spontaneous_FIN -964800434.789959 weird: spontaneous_FIN -964800434.790168 weird: spontaneous_FIN -964800434.790250 weird: spontaneous_FIN -964800434.790415 weird: spontaneous_FIN -964800434.790620 weird: spontaneous_FIN -964800434.790703 weird: spontaneous_FIN -964800434.790852 weird: spontaneous_FIN -964800434.791051 weird: spontaneous_FIN -964800434.791131 weird: spontaneous_FIN -964800434.791291 weird: spontaneous_FIN -964800434.791509 weird: spontaneous_FIN -964800434.791591 weird: spontaneous_FIN -964800434.791752 weird: spontaneous_FIN -964800434.791970 weird: spontaneous_FIN -964800434.792050 weird: spontaneous_FIN -964800434.792208 weird: spontaneous_FIN -964800434.792416 weird: spontaneous_FIN -964800434.792513 weird: spontaneous_FIN -964800434.792668 weird: spontaneous_FIN -964800434.792881 weird: spontaneous_FIN -964800434.792966 weird: spontaneous_FIN -964800434.793131 weird: spontaneous_FIN -964800434.793342 weird: spontaneous_FIN -964800434.793422 weird: spontaneous_FIN -964800434.793588 weird: spontaneous_FIN -964800444.965500 weird: baroque_SYN -964800444.966119 weird: spontaneous_FIN -964800448.828993 weird: spontaneous_FIN -964800450.784603 weird: spontaneous_FIN -964800451.375687 weird: spontaneous_FIN -964800455.972346 weird: spontaneous_FIN -964800460.691333 weird: data_after_reset -964800460.882450 weird: data_after_reset -964800461.282399 weird: data_after_reset -964800461.371887 weird: spontaneous_FIN -964800462.082309 weird: data_after_reset -964800463.682135 weird: data_after_reset -964800466.660580 weird: spontaneous_FIN -964800467.449130 weird: bad_ICMP_checksum -964800467.449361 weird: bad_ICMP_checksum -964800467.449618 weird: bad_ICMP_checksum -964800467.450881 weird: bad_ICMP_checksum -964800467.451124 weird: bad_ICMP_checksum -964800467.451917 weird: bad_ICMP_checksum -964800468.728574 weird: bad_ICMP_checksum -964800469.688564 weird: bad_ICMP_checksum -964800470.648585 weird: bad_ICMP_checksum -964800471.609011 weird: bad_ICMP_checksum -964800471.931997 weird: spontaneous_FIN -964800472.135373 weird: baroque_SYN -964800472.135678 weird: spontaneous_FIN -964800472.568625 weird: bad_ICMP_checksum -964800473.572810 weird: bad_ICMP_checksum -964800474.528721 weird: bad_ICMP_checksum -964800475.488903 weird: bad_ICMP_checksum -964800476.448807 weird: bad_ICMP_checksum -964800477.112079 weird: spontaneous_FIN -964800477.728739 weird: bad_ICMP_checksum -964800478.440675 weird: spontaneous_FIN -964800478.668948 weird: bad_ICMP_checksum -964800479.628815 weird: bad_ICMP_checksum -964800480.544655 weird: bad_ICMP_checksum -964800481.518712 weird: bad_ICMP_checksum -964800482.124565 weird: spontaneous_FIN -964800482.479088 weird: bad_ICMP_checksum -964800483.164742 weird: connection_originator_SYN_ack -964800483.184343 weird: spontaneous_FIN -964800483.204344 weird: spontaneous_FIN -964800483.759068 weird: bad_ICMP_checksum -964800484.718942 weird: bad_ICMP_checksum -964800485.679163 weird: bad_ICMP_checksum -964800486.639056 weird: bad_ICMP_checksum -964800487.332714 weird: spontaneous_FIN -964800487.599116 weird: bad_ICMP_checksum -964800488.559035 weird: bad_ICMP_checksum -964800489.519234 weird: bad_ICMP_checksum -964800490.479132 weird: bad_ICMP_checksum -964800491.439510 weird: bad_ICMP_checksum -964800492.662261 weird: spontaneous_FIN -964800492.719249 weird: bad_ICMP_checksum -964800493.679113 weird: bad_ICMP_checksum -964800494.639368 weird: bad_ICMP_checksum -964800495.599197 weird: bad_ICMP_checksum -964800496.559379 weird: bad_ICMP_checksum -964800497.519254 weird: bad_ICMP_checksum -964800497.684759 weird: spontaneous_FIN -964800498.479478 weird: bad_ICMP_checksum -964800499.439309 weird: bad_ICMP_checksum -964800500.719315 weird: bad_ICMP_checksum -964800500.967186 weird: spontaneous_FIN -964800501.679546 weird: bad_ICMP_checksum -964800501.936549 weird: baroque_SYN -964800501.939644 weird: spontaneous_FIN -964800502.639388 weird: bad_ICMP_checksum -964800502.872929 weird: spontaneous_FIN -964800503.071990 weird: spontaneous_FIN -964800503.599578 weird: bad_ICMP_checksum -964800504.559386 weird: bad_ICMP_checksum -964800505.519573 weird: bad_ICMP_checksum -964800506.451349 weird: bad_ICMP_checksum -964800507.729471 weird: bad_ICMP_checksum -964800508.132566 weird: spontaneous_FIN -964800508.679733 weird: bad_ICMP_checksum -964800509.632398 weird: bad_ICMP_checksum -964800509.941475 weird: spontaneous_FIN -964800509.941578 weird: spontaneous_FIN -964800509.941667 weird: spontaneous_FIN -964800509.941752 weird: spontaneous_FIN -964800509.941835 weird: spontaneous_FIN -964800509.941920 weird: spontaneous_FIN -964800509.942003 weird: spontaneous_FIN -964800509.942090 weird: spontaneous_FIN -964800509.942171 weird: spontaneous_FIN -964800509.942252 weird: spontaneous_FIN -964800509.942335 weird: spontaneous_FIN -964800510.024577 weird: spontaneous_FIN -964800510.024660 weird: spontaneous_FIN -964800510.024733 weird: spontaneous_FIN -964800510.024808 weird: spontaneous_FIN -964800510.024885 weird: spontaneous_FIN -964800510.024967 weird: spontaneous_FIN -964800510.025095 weird: spontaneous_FIN -964800510.025177 weird: spontaneous_FIN -964800510.025251 weird: spontaneous_FIN -964800510.025328 weird: spontaneous_FIN -964800510.025463 weird: spontaneous_FIN -964800510.025552 weird: spontaneous_FIN -964800510.025630 weird: spontaneous_FIN -964800510.025715 weird: spontaneous_FIN -964800510.104584 weird: spontaneous_FIN -964800510.104675 weird: spontaneous_FIN -964800510.104750 weird: spontaneous_FIN -964800510.104824 weird: spontaneous_FIN -964800510.104895 weird: spontaneous_FIN -964800510.104968 weird: spontaneous_FIN -964800510.105036 weird: spontaneous_FIN -964800510.105109 weird: spontaneous_FIN -964800510.105188 weird: spontaneous_FIN -964800510.105261 weird: spontaneous_FIN -964800510.105332 weird: spontaneous_FIN -964800510.105410 weird: spontaneous_FIN -964800510.105486 weird: spontaneous_FIN -964800510.105563 weird: spontaneous_FIN -964800510.105636 weird: spontaneous_FIN -964800510.105712 weird: spontaneous_FIN -964800510.105793 weird: spontaneous_FIN -964800510.105929 weird: spontaneous_FIN -964800510.184584 weird: spontaneous_FIN -964800510.184676 weird: spontaneous_FIN -964800510.184746 weird: spontaneous_FIN -964800510.184823 weird: spontaneous_FIN -964800510.184896 weird: spontaneous_FIN -964800510.184972 weird: spontaneous_FIN -964800510.185098 weird: spontaneous_FIN -964800510.185182 weird: spontaneous_FIN -964800510.185262 weird: spontaneous_FIN -964800510.185384 weird: spontaneous_FIN -964800510.185460 weird: spontaneous_FIN -964800510.185532 weird: spontaneous_FIN -964800510.185605 weird: spontaneous_FIN -964800510.185677 weird: spontaneous_FIN -964800510.185749 weird: spontaneous_FIN -964800510.185823 weird: spontaneous_FIN -964800510.185899 weird: spontaneous_FIN -964800510.185977 weird: spontaneous_FIN -964800510.186061 weird: spontaneous_FIN -964800510.186143 weird: spontaneous_FIN -964800510.186224 weird: spontaneous_FIN -964800510.284581 weird: spontaneous_FIN -964800510.284670 weird: spontaneous_FIN -964800510.284752 weird: spontaneous_FIN -964800510.284833 weird: spontaneous_FIN -964800510.284912 weird: spontaneous_FIN -964800510.284990 weird: spontaneous_FIN -964800510.285072 weird: spontaneous_FIN -964800510.285150 weird: spontaneous_FIN -964800510.285226 weird: spontaneous_FIN -964800510.285307 weird: spontaneous_FIN -964800510.285383 weird: spontaneous_FIN -964800510.285464 weird: spontaneous_FIN -964800510.285544 weird: spontaneous_FIN -964800510.285622 weird: spontaneous_FIN -964800510.285701 weird: spontaneous_FIN -964800510.285777 weird: spontaneous_FIN -964800510.285852 weird: spontaneous_FIN -964800510.285927 weird: spontaneous_FIN -964800510.364589 weird: spontaneous_FIN -964800510.364671 weird: spontaneous_FIN -964800510.364743 weird: spontaneous_FIN -964800510.364816 weird: spontaneous_FIN -964800510.364891 weird: spontaneous_FIN -964800510.364966 weird: spontaneous_FIN -964800510.365102 weird: spontaneous_FIN -964800510.365181 weird: spontaneous_FIN -964800510.365254 weird: spontaneous_FIN -964800510.365329 weird: spontaneous_FIN -964800510.365452 weird: spontaneous_FIN -964800510.365531 weird: spontaneous_FIN -964800510.365708 weird: spontaneous_FIN -964800510.365846 weird: spontaneous_FIN -964800510.365934 weird: spontaneous_FIN -964800510.366006 weird: spontaneous_FIN -964800510.444584 weird: spontaneous_FIN -964800510.444667 weird: spontaneous_FIN -964800510.444734 weird: spontaneous_FIN -964800510.444810 weird: spontaneous_FIN -964800510.444882 weird: spontaneous_FIN -964800510.444959 weird: spontaneous_FIN -964800510.445032 weird: spontaneous_FIN -964800510.445167 weird: spontaneous_FIN -964800510.445245 weird: spontaneous_FIN -964800510.445319 weird: spontaneous_FIN -964800510.445394 weird: spontaneous_FIN -964800510.445516 weird: spontaneous_FIN -964800510.445591 weird: spontaneous_FIN -964800510.445665 weird: spontaneous_FIN -964800510.445739 weird: spontaneous_FIN -964800510.445814 weird: spontaneous_FIN -964800510.445886 weird: spontaneous_FIN -964800510.445966 weird: spontaneous_FIN -964800510.446041 weird: spontaneous_FIN -964800510.524588 weird: spontaneous_FIN -964800510.524671 weird: spontaneous_FIN -964800510.524745 weird: spontaneous_FIN -964800510.524819 weird: spontaneous_FIN -964800510.524894 weird: spontaneous_FIN -964800510.524963 weird: spontaneous_FIN -964800510.525038 weird: spontaneous_FIN -964800510.525114 weird: spontaneous_FIN -964800510.525185 weird: spontaneous_FIN -964800510.525268 weird: spontaneous_FIN -964800510.525402 weird: spontaneous_FIN -964800510.525549 weird: spontaneous_FIN -964800510.525729 weird: spontaneous_FIN -964800510.525809 weird: spontaneous_FIN -964800510.525882 weird: spontaneous_FIN -964800510.525954 weird: spontaneous_FIN -964800510.526024 weird: spontaneous_FIN -964800510.526105 weird: spontaneous_FIN -964800510.526187 weird: spontaneous_FIN -964800510.526263 weird: spontaneous_FIN -964800510.526341 weird: spontaneous_FIN -964800510.526425 weird: spontaneous_FIN -964800510.526503 weird: spontaneous_FIN -964800510.589810 weird: bad_ICMP_checksum -964800510.624593 weird: spontaneous_FIN -964800510.624684 weird: spontaneous_FIN -964800510.624758 weird: spontaneous_FIN -964800510.624829 weird: spontaneous_FIN -964800510.624901 weird: spontaneous_FIN -964800510.624969 weird: spontaneous_FIN -964800510.625040 weird: spontaneous_FIN -964800510.625109 weird: spontaneous_FIN -964800510.625181 weird: spontaneous_FIN -964800510.625255 weird: spontaneous_FIN -964800510.625331 weird: spontaneous_FIN -964800510.625410 weird: spontaneous_FIN -964800510.625481 weird: spontaneous_FIN -964800510.625558 weird: spontaneous_FIN -964800510.625632 weird: spontaneous_FIN -964800510.625707 weird: spontaneous_FIN -964800510.625783 weird: spontaneous_FIN -964800510.625859 weird: spontaneous_FIN -964800510.625932 weird: spontaneous_FIN -964800510.626004 weird: spontaneous_FIN -964800510.626079 weird: spontaneous_FIN -964800510.626152 weird: spontaneous_FIN -964800510.626233 weird: spontaneous_FIN -964800510.626309 weird: spontaneous_FIN -964800510.626387 weird: spontaneous_FIN -964800510.626462 weird: spontaneous_FIN -964800510.724590 weird: spontaneous_FIN -964800510.724686 weird: spontaneous_FIN -964800510.724764 weird: spontaneous_FIN -964800510.724838 weird: spontaneous_FIN -964800510.724910 weird: spontaneous_FIN -964800510.724984 weird: spontaneous_FIN -964800510.725055 weird: spontaneous_FIN -964800510.725127 weird: spontaneous_FIN -964800510.725205 weird: spontaneous_FIN -964800510.725353 weird: spontaneous_FIN -964800510.725467 weird: spontaneous_FIN -964800510.725605 weird: spontaneous_FIN -964800510.725678 weird: spontaneous_FIN -964800510.725752 weird: spontaneous_FIN -964800510.725825 weird: spontaneous_FIN -964800510.725898 weird: spontaneous_FIN -964800510.725977 weird: spontaneous_FIN -964800510.726058 weird: spontaneous_FIN -964800510.726138 weird: spontaneous_FIN -964800510.726223 weird: spontaneous_FIN -964800510.726298 weird: spontaneous_FIN -964800510.726377 weird: spontaneous_FIN -964800510.726454 weird: spontaneous_FIN -964800510.824594 weird: spontaneous_FIN -964800510.824684 weird: spontaneous_FIN -964800510.824766 weird: spontaneous_FIN -964800510.824846 weird: spontaneous_FIN -964800510.824928 weird: spontaneous_FIN -964800510.825022 weird: spontaneous_FIN -964800510.825103 weird: spontaneous_FIN -964800510.825186 weird: spontaneous_FIN -964800510.825264 weird: spontaneous_FIN -964800510.825346 weird: spontaneous_FIN -964800510.825429 weird: spontaneous_FIN -964800510.825513 weird: spontaneous_FIN -964800510.825590 weird: spontaneous_FIN -964800510.825670 weird: spontaneous_FIN -964800510.825750 weird: spontaneous_FIN -964800510.825832 weird: spontaneous_FIN -964800510.825911 weird: spontaneous_FIN -964800510.825993 weird: spontaneous_FIN -964800510.826074 weird: spontaneous_FIN -964800510.826153 weird: spontaneous_FIN -964800510.826239 weird: spontaneous_FIN -964800510.826378 weird: spontaneous_FIN -964800510.826520 weird: spontaneous_FIN -964800510.826752 weird: spontaneous_FIN -964800510.826895 weird: spontaneous_FIN -964800510.826979 weird: spontaneous_FIN -964800510.827061 weird: spontaneous_FIN -964800510.924602 weird: spontaneous_FIN -964800510.924690 weird: spontaneous_FIN -964800510.924787 weird: spontaneous_FIN -964800510.924862 weird: spontaneous_FIN -964800510.924940 weird: spontaneous_FIN -964800510.925018 weird: spontaneous_FIN -964800510.925100 weird: spontaneous_FIN -964800510.925184 weird: spontaneous_FIN -964800510.925255 weird: spontaneous_FIN -964800510.925338 weird: spontaneous_FIN -964800510.925421 weird: spontaneous_FIN -964800510.925503 weird: spontaneous_FIN -964800510.925581 weird: spontaneous_FIN -964800510.925659 weird: spontaneous_FIN -964800511.004590 weird: spontaneous_FIN -964800511.004672 weird: spontaneous_FIN -964800511.004745 weird: spontaneous_FIN -964800511.004817 weird: spontaneous_FIN -964800511.004898 weird: spontaneous_FIN -964800511.004979 weird: spontaneous_FIN -964800511.005058 weird: spontaneous_FIN -964800511.005136 weird: spontaneous_FIN -964800511.005219 weird: spontaneous_FIN -964800511.005305 weird: spontaneous_FIN -964800511.005400 weird: spontaneous_FIN -964800511.005544 weird: spontaneous_FIN -964800511.005687 weird: spontaneous_FIN -964800511.084597 weird: spontaneous_FIN -964800511.084686 weird: spontaneous_FIN -964800511.084768 weird: spontaneous_FIN -964800511.084847 weird: spontaneous_FIN -964800511.084922 weird: spontaneous_FIN -964800511.085007 weird: spontaneous_FIN -964800511.085091 weird: spontaneous_FIN -964800511.085170 weird: spontaneous_FIN -964800511.085251 weird: spontaneous_FIN -964800511.085328 weird: spontaneous_FIN -964800511.085416 weird: spontaneous_FIN -964800511.085556 weird: spontaneous_FIN -964800511.085720 weird: spontaneous_FIN -964800511.085828 weird: spontaneous_FIN -964800511.097763 weird: spontaneous_FIN -964800511.097868 weird: spontaneous_FIN -964800511.194607 weird: spontaneous_FIN -964800511.194696 weird: spontaneous_FIN -964800511.194767 weird: spontaneous_FIN -964800511.194843 weird: spontaneous_FIN -964800511.194919 weird: spontaneous_FIN -964800511.195010 weird: spontaneous_FIN -964800511.195144 weird: spontaneous_FIN -964800511.195230 weird: spontaneous_FIN -964800511.195308 weird: spontaneous_FIN -964800511.195439 weird: spontaneous_FIN -964800511.195527 weird: spontaneous_FIN -964800511.195604 weird: spontaneous_FIN -964800511.195729 weird: spontaneous_FIN -964800511.195868 weird: spontaneous_FIN -964800511.195954 weird: spontaneous_FIN -964800511.196043 weird: spontaneous_FIN -964800511.196128 weird: spontaneous_FIN -964800511.196207 weird: spontaneous_FIN -964800511.196288 weird: spontaneous_FIN -964800511.274598 weird: spontaneous_FIN -964800511.274694 weird: spontaneous_FIN -964800511.274771 weird: spontaneous_FIN -964800511.274853 weird: spontaneous_FIN -964800511.274935 weird: spontaneous_FIN -964800511.275017 weird: spontaneous_FIN -964800511.275158 weird: spontaneous_FIN -964800511.275236 weird: spontaneous_FIN -964800511.275311 weird: spontaneous_FIN -964800511.275387 weird: spontaneous_FIN -964800511.275465 weird: spontaneous_FIN -964800511.275544 weird: spontaneous_FIN -964800511.275621 weird: spontaneous_FIN -964800511.275700 weird: spontaneous_FIN -964800511.275783 weird: spontaneous_FIN -964800511.275863 weird: spontaneous_FIN -964800511.275942 weird: spontaneous_FIN -964800511.276017 weird: spontaneous_FIN -964800511.276098 weird: spontaneous_FIN -964800511.276179 weird: spontaneous_FIN -964800511.276254 weird: spontaneous_FIN -964800511.276337 weird: spontaneous_FIN -964800511.276415 weird: spontaneous_FIN -964800511.364592 weird: spontaneous_FIN -964800511.364677 weird: spontaneous_FIN -964800511.364757 weird: spontaneous_FIN -964800511.364834 weird: spontaneous_FIN -964800511.364909 weird: spontaneous_FIN -964800511.364997 weird: spontaneous_FIN -964800511.365136 weird: spontaneous_FIN -964800511.365215 weird: spontaneous_FIN -964800511.365296 weird: spontaneous_FIN -964800511.365375 weird: spontaneous_FIN -964800511.365452 weird: spontaneous_FIN -964800511.365537 weird: spontaneous_FIN -964800511.365616 weird: spontaneous_FIN -964800511.365695 weird: spontaneous_FIN -964800511.365769 weird: spontaneous_FIN -964800511.365846 weird: spontaneous_FIN -964800511.365976 weird: spontaneous_FIN -964800511.366059 weird: spontaneous_FIN -964800511.366146 weird: spontaneous_FIN -964800511.366231 weird: spontaneous_FIN -964800511.366449 weird: spontaneous_FIN -964800511.368155 weird: spontaneous_FIN -964800511.454597 weird: spontaneous_FIN -964800511.454683 weird: spontaneous_FIN -964800511.454764 weird: spontaneous_FIN -964800511.454846 weird: spontaneous_FIN -964800511.454924 weird: spontaneous_FIN -964800511.455003 weird: spontaneous_FIN -964800511.455139 weird: spontaneous_FIN -964800511.455226 weird: spontaneous_FIN -964800511.455313 weird: spontaneous_FIN -964800511.455391 weird: spontaneous_FIN -964800511.455529 weird: spontaneous_FIN -964800511.455608 weird: spontaneous_FIN -964800511.455686 weird: spontaneous_FIN -964800511.534587 weird: spontaneous_FIN -964800511.534672 weird: spontaneous_FIN -964800511.534748 weird: spontaneous_FIN -964800511.534828 weird: spontaneous_FIN -964800511.534905 weird: spontaneous_FIN -964800511.534992 weird: spontaneous_FIN -964800511.535131 weird: spontaneous_FIN -964800511.535216 weird: spontaneous_FIN -964800511.535296 weird: spontaneous_FIN -964800511.535433 weird: spontaneous_FIN -964800511.535521 weird: spontaneous_FIN -964800511.535597 weird: spontaneous_FIN -964800511.535679 weird: spontaneous_FIN -964800511.535754 weird: spontaneous_FIN -964800511.535832 weird: spontaneous_FIN -964800511.535913 weird: spontaneous_FIN -964800511.535995 weird: spontaneous_FIN -964800511.549586 weird: bad_ICMP_checksum -964800511.634593 weird: spontaneous_FIN -964800511.634680 weird: spontaneous_FIN -964800511.634754 weird: spontaneous_FIN -964800511.634838 weird: spontaneous_FIN -964800511.634923 weird: spontaneous_FIN -964800511.635002 weird: spontaneous_FIN -964800511.635146 weird: spontaneous_FIN -964800511.635225 weird: spontaneous_FIN -964800511.635302 weird: spontaneous_FIN -964800511.635392 weird: spontaneous_FIN -964800511.635518 weird: spontaneous_FIN -964800511.635609 weird: spontaneous_FIN -964800511.635689 weird: spontaneous_FIN -964800511.635773 weird: spontaneous_FIN -964800511.635854 weird: spontaneous_FIN -964800511.635938 weird: spontaneous_FIN -964800511.636019 weird: spontaneous_FIN -964800511.636103 weird: spontaneous_FIN -964800511.636184 weird: spontaneous_FIN -964800511.636268 weird: spontaneous_FIN -964800511.724593 weird: spontaneous_FIN -964800511.724681 weird: spontaneous_FIN -964800511.724753 weird: spontaneous_FIN -964800511.724826 weird: spontaneous_FIN -964800511.724906 weird: spontaneous_FIN -964800511.724983 weird: spontaneous_FIN -964800511.725062 weird: spontaneous_FIN -964800511.725139 weird: spontaneous_FIN -964800511.725213 weird: spontaneous_FIN -964800511.725292 weird: spontaneous_FIN -964800511.725377 weird: spontaneous_FIN -964800511.725514 weird: spontaneous_FIN -964800511.725594 weird: spontaneous_FIN -964800511.725674 weird: spontaneous_FIN -964800511.725885 weird: spontaneous_FIN -964800511.726038 weird: spontaneous_FIN -964800511.726122 weird: spontaneous_FIN -964800511.726200 weird: spontaneous_FIN -964800511.726328 weird: spontaneous_FIN -964800511.726413 weird: spontaneous_FIN -964800511.726587 weird: spontaneous_FIN -964800511.726751 weird: spontaneous_FIN -964800511.726904 weird: spontaneous_FIN -964800511.726994 weird: spontaneous_FIN -964800511.824599 weird: spontaneous_FIN -964800511.824688 weird: spontaneous_FIN -964800511.824765 weird: spontaneous_FIN -964800511.824844 weird: spontaneous_FIN -964800511.824915 weird: spontaneous_FIN -964800511.824994 weird: spontaneous_FIN -964800511.825065 weird: spontaneous_FIN -964800511.825133 weird: spontaneous_FIN -964800511.825206 weird: spontaneous_FIN -964800511.825283 weird: spontaneous_FIN -964800511.825428 weird: spontaneous_FIN -964800511.825521 weird: spontaneous_FIN -964800511.825643 weird: spontaneous_FIN -964800511.825727 weird: spontaneous_FIN -964800511.825815 weird: spontaneous_FIN -964800511.825905 weird: spontaneous_FIN -964800511.825989 weird: spontaneous_FIN -964800511.826071 weird: spontaneous_FIN -964800511.826158 weird: spontaneous_FIN -964800511.826296 weird: spontaneous_FIN -964800511.826377 weird: spontaneous_FIN -964800511.826462 weird: spontaneous_FIN -964800511.826546 weird: spontaneous_FIN -964800511.826627 weird: spontaneous_FIN -964800511.826709 weird: spontaneous_FIN -964800511.826799 weird: spontaneous_FIN -964800511.826884 weird: spontaneous_FIN -964800511.826967 weird: spontaneous_FIN -964800511.924606 weird: spontaneous_FIN -964800511.924696 weird: spontaneous_FIN -964800511.924778 weird: spontaneous_FIN -964800511.924853 weird: spontaneous_FIN -964800511.924928 weird: spontaneous_FIN -964800511.925012 weird: spontaneous_FIN -964800511.925092 weird: spontaneous_FIN -964800511.925166 weird: spontaneous_FIN -964800511.925247 weird: spontaneous_FIN -964800511.925327 weird: spontaneous_FIN -964800511.925411 weird: spontaneous_FIN -964800511.925568 weird: spontaneous_FIN -964800511.925753 weird: spontaneous_FIN -964800511.925844 weird: spontaneous_FIN -964800511.925931 weird: spontaneous_FIN -964800511.926017 weird: spontaneous_FIN -964800511.926094 weird: spontaneous_FIN -964800511.926175 weird: spontaneous_FIN -964800511.926256 weird: spontaneous_FIN -964800511.926335 weird: spontaneous_FIN -964800511.926464 weird: spontaneous_FIN -964800511.926547 weird: spontaneous_FIN -964800511.926625 weird: spontaneous_FIN -964800511.926701 weird: spontaneous_FIN -964800511.926781 weird: spontaneous_FIN -964800511.926858 weird: spontaneous_FIN -964800511.926936 weird: spontaneous_FIN -964800511.927017 weird: spontaneous_FIN -964800511.927096 weird: spontaneous_FIN -964800511.927174 weird: spontaneous_FIN -964800511.927255 weird: spontaneous_FIN -964800512.024603 weird: spontaneous_FIN -964800512.024693 weird: spontaneous_FIN -964800512.024772 weird: spontaneous_FIN -964800512.024851 weird: spontaneous_FIN -964800512.024927 weird: spontaneous_FIN -964800512.025002 weird: spontaneous_FIN -964800512.025079 weird: spontaneous_FIN -964800512.025156 weird: spontaneous_FIN -964800512.025232 weird: spontaneous_FIN -964800512.025310 weird: spontaneous_FIN -964800512.025395 weird: spontaneous_FIN -964800512.025477 weird: spontaneous_FIN -964800512.025555 weird: spontaneous_FIN -964800512.025633 weird: spontaneous_FIN -964800512.025710 weird: spontaneous_FIN -964800512.025789 weird: spontaneous_FIN -964800512.025868 weird: spontaneous_FIN -964800512.025951 weird: spontaneous_FIN -964800512.026032 weird: spontaneous_FIN -964800512.026118 weird: spontaneous_FIN -964800512.026204 weird: spontaneous_FIN -964800512.026294 weird: spontaneous_FIN -964800512.026380 weird: spontaneous_FIN -964800512.026459 weird: spontaneous_FIN -964800512.124598 weird: spontaneous_FIN -964800512.124687 weird: spontaneous_FIN -964800512.124764 weird: spontaneous_FIN -964800512.124842 weird: spontaneous_FIN -964800512.124919 weird: spontaneous_FIN -964800512.124992 weird: spontaneous_FIN -964800512.125130 weird: spontaneous_FIN -964800512.204612 weird: spontaneous_FIN -964800512.204700 weird: spontaneous_FIN -964800512.204774 weird: spontaneous_FIN -964800512.204850 weird: spontaneous_FIN -964800512.204930 weird: spontaneous_FIN -964800512.205001 weird: spontaneous_FIN -964800512.205074 weird: spontaneous_FIN -964800512.205147 weird: spontaneous_FIN -964800512.205224 weird: spontaneous_FIN -964800512.205304 weird: spontaneous_FIN -964800512.284596 weird: spontaneous_FIN -964800512.284682 weird: spontaneous_FIN -964800512.284760 weird: spontaneous_FIN -964800512.284836 weird: spontaneous_FIN -964800512.284911 weird: spontaneous_FIN -964800512.284985 weird: spontaneous_FIN -964800512.285118 weird: spontaneous_FIN -964800512.285197 weird: spontaneous_FIN -964800512.285273 weird: spontaneous_FIN -964800512.285399 weird: spontaneous_FIN -964800512.285513 weird: spontaneous_FIN -964800512.285658 weird: spontaneous_FIN -964800512.285732 weird: spontaneous_FIN -964800512.374597 weird: spontaneous_FIN -964800512.374680 weird: spontaneous_FIN -964800512.374753 weird: spontaneous_FIN -964800512.374828 weird: spontaneous_FIN -964800512.374908 weird: spontaneous_FIN -964800512.374998 weird: spontaneous_FIN -964800512.375125 weird: spontaneous_FIN -964800512.375203 weird: spontaneous_FIN -964800512.375274 weird: spontaneous_FIN -964800512.375352 weird: spontaneous_FIN -964800512.375489 weird: spontaneous_FIN -964800512.375663 weird: spontaneous_FIN -964800512.375774 weird: spontaneous_FIN -964800512.375881 weird: spontaneous_FIN -964800512.375959 weird: spontaneous_FIN -964800512.376037 weird: spontaneous_FIN -964800512.376111 weird: spontaneous_FIN -964800512.464598 weird: spontaneous_FIN -964800512.464686 weird: spontaneous_FIN -964800512.464757 weird: spontaneous_FIN -964800512.464830 weird: spontaneous_FIN -964800512.464905 weird: spontaneous_FIN -964800512.464979 weird: spontaneous_FIN -964800512.465114 weird: spontaneous_FIN -964800512.465194 weird: spontaneous_FIN -964800512.465266 weird: spontaneous_FIN -964800512.465343 weird: spontaneous_FIN -964800512.465469 weird: spontaneous_FIN -964800512.465603 weird: spontaneous_FIN -964800512.465725 weird: spontaneous_FIN -964800512.465800 weird: spontaneous_FIN -964800512.465877 weird: spontaneous_FIN -964800512.465955 weird: spontaneous_FIN -964800512.466032 weird: spontaneous_FIN -964800512.466109 weird: spontaneous_FIN -964800512.466187 weird: spontaneous_FIN -964800512.466267 weird: spontaneous_FIN -964800512.466346 weird: spontaneous_FIN -964800512.489837 weird: bad_ICMP_checksum -964800512.564601 weird: spontaneous_FIN -964800512.564691 weird: spontaneous_FIN -964800512.564771 weird: spontaneous_FIN -964800512.564857 weird: spontaneous_FIN -964800512.564933 weird: spontaneous_FIN -964800512.565006 weird: spontaneous_FIN -964800512.565135 weird: spontaneous_FIN -964800512.565217 weird: spontaneous_FIN -964800512.565290 weird: spontaneous_FIN -964800512.565368 weird: spontaneous_FIN -964800512.565491 weird: spontaneous_FIN -964800512.565569 weird: spontaneous_FIN -964800512.565708 weird: spontaneous_FIN -964800512.565829 weird: spontaneous_FIN -964800512.565908 weird: spontaneous_FIN -964800512.565989 weird: spontaneous_FIN -964800512.566068 weird: spontaneous_FIN -964800512.566149 weird: spontaneous_FIN -964800512.566224 weird: spontaneous_FIN -964800512.566305 weird: spontaneous_FIN -964800512.566386 weird: spontaneous_FIN -964800512.566463 weird: spontaneous_FIN -964800512.566542 weird: spontaneous_FIN -964800512.566625 weird: spontaneous_FIN -964800512.664607 weird: spontaneous_FIN -964800512.664694 weird: spontaneous_FIN -964800512.664772 weird: spontaneous_FIN -964800512.664850 weird: spontaneous_FIN -964800512.664929 weird: spontaneous_FIN -964800512.665029 weird: spontaneous_FIN -964800512.665150 weird: spontaneous_FIN -964800512.665236 weird: spontaneous_FIN -964800512.665313 weird: spontaneous_FIN -964800512.665443 weird: spontaneous_FIN -964800512.665523 weird: spontaneous_FIN -964800512.665699 weird: spontaneous_FIN -964800512.665784 weird: spontaneous_FIN -964800512.665856 weird: spontaneous_FIN -964800512.665934 weird: spontaneous_FIN -964800512.666012 weird: spontaneous_FIN -964800512.744602 weird: spontaneous_FIN -964800512.744692 weird: spontaneous_FIN -964800512.744770 weird: spontaneous_FIN -964800512.744843 weird: spontaneous_FIN -964800512.744918 weird: spontaneous_FIN -964800512.744993 weird: spontaneous_FIN -964800512.745138 weird: spontaneous_FIN -964800512.745219 weird: spontaneous_FIN -964800512.745302 weird: spontaneous_FIN -964800512.745425 weird: spontaneous_FIN -964800512.745504 weird: spontaneous_FIN -964800512.745580 weird: spontaneous_FIN -964800512.745722 weird: spontaneous_FIN -964800512.745840 weird: spontaneous_FIN -964800512.745927 weird: spontaneous_FIN -964800512.746037 weird: spontaneous_FIN -964800512.746121 weird: spontaneous_FIN -964800512.746193 weird: spontaneous_FIN -964800512.746267 weird: spontaneous_FIN -964800512.746384 weird: spontaneous_FIN -964800512.824604 weird: spontaneous_FIN -964800512.824687 weird: spontaneous_FIN -964800512.824765 weird: spontaneous_FIN -964800512.824843 weird: spontaneous_FIN -964800512.824918 weird: spontaneous_FIN -964800512.824993 weird: spontaneous_FIN -964800512.825127 weird: spontaneous_FIN -964800512.825212 weird: spontaneous_FIN -964800512.825293 weird: spontaneous_FIN -964800512.825377 weird: spontaneous_FIN -964800512.825496 weird: spontaneous_FIN -964800512.825640 weird: spontaneous_FIN -964800512.825799 weird: spontaneous_FIN -964800512.825878 weird: spontaneous_FIN -964800512.825953 weird: spontaneous_FIN -964800512.826032 weird: spontaneous_FIN -964800512.826109 weird: spontaneous_FIN -964800512.826188 weird: spontaneous_FIN -964800512.826315 weird: spontaneous_FIN -964800512.826391 weird: spontaneous_FIN -964800512.826468 weird: spontaneous_FIN -964800512.826547 weird: spontaneous_FIN -964800512.826629 weird: spontaneous_FIN -964800512.826710 weird: spontaneous_FIN -964800512.924602 weird: spontaneous_FIN -964800512.924687 weird: spontaneous_FIN -964800512.924767 weird: spontaneous_FIN -964800512.924843 weird: spontaneous_FIN -964800512.924919 weird: spontaneous_FIN -964800512.924995 weird: spontaneous_FIN -964800512.925127 weird: spontaneous_FIN -964800512.925201 weird: spontaneous_FIN -964800512.925275 weird: spontaneous_FIN -964800512.925399 weird: spontaneous_FIN -964800512.925482 weird: spontaneous_FIN -964800512.925556 weird: spontaneous_FIN -964800512.925631 weird: spontaneous_FIN -964800512.925706 weird: spontaneous_FIN -964800512.925785 weird: spontaneous_FIN -964800512.925859 weird: spontaneous_FIN -964800512.925969 weird: spontaneous_FIN -964800512.926258 weird: spontaneous_FIN -964800512.926414 weird: spontaneous_FIN -964800512.926493 weird: spontaneous_FIN -964800512.926573 weird: spontaneous_FIN -964800512.926654 weird: spontaneous_FIN -964800512.926740 weird: spontaneous_FIN -964800512.926829 weird: spontaneous_FIN -964800512.927003 weird: spontaneous_FIN -964800512.927096 weird: spontaneous_FIN -964800512.927177 weird: spontaneous_FIN -964800513.008586 weird: spontaneous_FIN -964800513.008670 weird: spontaneous_FIN -964800513.008751 weird: spontaneous_FIN -964800513.008822 weird: spontaneous_FIN -964800513.008898 weird: spontaneous_FIN -964800513.008981 weird: spontaneous_FIN -964800513.009117 weird: spontaneous_FIN -964800513.009202 weird: spontaneous_FIN -964800513.009281 weird: spontaneous_FIN -964800513.009416 weird: spontaneous_FIN -964800513.009494 weird: spontaneous_FIN -964800513.009570 weird: spontaneous_FIN -964800513.009644 weird: spontaneous_FIN -964800513.009718 weird: spontaneous_FIN -964800513.009790 weird: spontaneous_FIN -964800513.009869 weird: spontaneous_FIN -964800513.009989 weird: spontaneous_FIN -964800513.010071 weird: spontaneous_FIN -964800513.010148 weird: spontaneous_FIN -964800513.010222 weird: spontaneous_FIN -964800513.010295 weird: spontaneous_FIN -964800513.010370 weird: spontaneous_FIN -964800513.010443 weird: spontaneous_FIN -964800513.010518 weird: spontaneous_FIN -964800513.010594 weird: spontaneous_FIN -964800513.010669 weird: spontaneous_FIN -964800513.010746 weird: spontaneous_FIN -964800513.010823 weird: spontaneous_FIN -964800513.010896 weird: spontaneous_FIN -964800513.010973 weird: spontaneous_FIN -964800513.011046 weird: spontaneous_FIN -964800513.104600 weird: spontaneous_FIN -964800513.104688 weird: spontaneous_FIN -964800513.104764 weird: spontaneous_FIN -964800513.104848 weird: spontaneous_FIN -964800513.104922 weird: spontaneous_FIN -964800513.104998 weird: spontaneous_FIN -964800513.105075 weird: spontaneous_FIN -964800513.105158 weird: spontaneous_FIN -964800513.105236 weird: spontaneous_FIN -964800513.105315 weird: spontaneous_FIN -964800513.105393 weird: spontaneous_FIN -964800513.105538 weird: spontaneous_FIN -964800513.105619 weird: spontaneous_FIN -964800513.105703 weird: spontaneous_FIN -964800513.105830 weird: spontaneous_FIN -964800513.105919 weird: spontaneous_FIN -964800513.106034 weird: spontaneous_FIN -964800513.106114 weird: spontaneous_FIN -964800513.106188 weird: spontaneous_FIN -964800513.106260 weird: spontaneous_FIN -964800513.106335 weird: spontaneous_FIN -964800513.106406 weird: spontaneous_FIN -964800513.106479 weird: spontaneous_FIN -964800513.106553 weird: spontaneous_FIN -964800513.106621 weird: spontaneous_FIN -964800513.106697 weird: spontaneous_FIN -964800513.106769 weird: spontaneous_FIN -964800513.106847 weird: spontaneous_FIN -964800513.106920 weird: spontaneous_FIN -964800513.106992 weird: spontaneous_FIN -964800513.107064 weird: spontaneous_FIN -964800513.107139 weird: spontaneous_FIN -964800513.107211 weird: spontaneous_FIN -964800513.107286 weird: spontaneous_FIN -964800513.107359 weird: spontaneous_FIN -964800513.204615 weird: spontaneous_FIN -964800513.204702 weird: spontaneous_FIN -964800513.204781 weird: spontaneous_FIN -964800513.204859 weird: spontaneous_FIN -964800513.204934 weird: spontaneous_FIN -964800513.205008 weird: spontaneous_FIN -964800513.205084 weird: spontaneous_FIN -964800513.205159 weird: spontaneous_FIN -964800513.205303 weird: spontaneous_FIN -964800513.205380 weird: spontaneous_FIN -964800513.205455 weird: spontaneous_FIN -964800513.205531 weird: spontaneous_FIN -964800513.205602 weird: spontaneous_FIN -964800513.205675 weird: spontaneous_FIN -964800513.205748 weird: spontaneous_FIN -964800513.205824 weird: spontaneous_FIN -964800513.205945 weird: spontaneous_FIN -964800513.206033 weird: spontaneous_FIN -964800513.206110 weird: spontaneous_FIN -964800513.206188 weird: spontaneous_FIN -964800513.206266 weird: spontaneous_FIN -964800513.206343 weird: spontaneous_FIN -964800513.206418 weird: spontaneous_FIN -964800513.206498 weird: spontaneous_FIN -964800513.206572 weird: spontaneous_FIN -964800513.206646 weird: spontaneous_FIN -964800513.206725 weird: spontaneous_FIN -964800513.206805 weird: spontaneous_FIN -964800513.206882 weird: spontaneous_FIN -964800513.304617 weird: spontaneous_FIN -964800513.304706 weird: spontaneous_FIN -964800513.304787 weird: spontaneous_FIN -964800513.304867 weird: spontaneous_FIN -964800513.304939 weird: spontaneous_FIN -964800513.305016 weird: spontaneous_FIN -964800513.305164 weird: spontaneous_FIN -964800513.305248 weird: spontaneous_FIN -964800513.305327 weird: spontaneous_FIN -964800513.305409 weird: spontaneous_FIN -964800513.305492 weird: spontaneous_FIN -964800513.305619 weird: spontaneous_FIN -964800513.305695 weird: spontaneous_FIN -964800513.305775 weird: spontaneous_FIN -964800513.344695 weird: spontaneous_FIN -964800513.384602 weird: spontaneous_FIN -964800513.384691 weird: spontaneous_FIN -964800513.384769 weird: spontaneous_FIN -964800513.384844 weird: spontaneous_FIN -964800513.384923 weird: spontaneous_FIN -964800513.385008 weird: spontaneous_FIN -964800513.385088 weird: spontaneous_FIN -964800513.449625 weird: bad_ICMP_checksum -964800513.464623 weird: spontaneous_FIN -964800513.464716 weird: spontaneous_FIN -964800513.464795 weird: spontaneous_FIN -964800513.464877 weird: spontaneous_FIN -964800513.464951 weird: spontaneous_FIN -964800513.465033 weird: spontaneous_FIN -964800513.465171 weird: spontaneous_FIN -964800513.465254 weird: spontaneous_FIN -964800513.465337 weird: spontaneous_FIN -964800513.465466 weird: spontaneous_FIN -964800513.544603 weird: spontaneous_FIN -964800513.544686 weird: spontaneous_FIN -964800513.544756 weird: spontaneous_FIN -964800513.544828 weird: spontaneous_FIN -964800513.544904 weird: spontaneous_FIN -964800513.544979 weird: spontaneous_FIN -964800513.545118 weird: spontaneous_FIN -964800513.545194 weird: spontaneous_FIN -964800513.545269 weird: spontaneous_FIN -964800513.545345 weird: spontaneous_FIN -964800513.545475 weird: spontaneous_FIN -964800513.545549 weird: spontaneous_FIN -964800513.545625 weird: spontaneous_FIN -964800513.624601 weird: spontaneous_FIN -964800513.624694 weird: spontaneous_FIN -964800513.624772 weird: spontaneous_FIN -964800513.624853 weird: spontaneous_FIN -964800513.624929 weird: spontaneous_FIN -964800513.625003 weird: spontaneous_FIN -964800513.625136 weird: spontaneous_FIN -964800513.625217 weird: spontaneous_FIN -964800513.625293 weird: spontaneous_FIN -964800513.625376 weird: spontaneous_FIN -964800513.625458 weird: spontaneous_FIN -964800513.625580 weird: spontaneous_FIN -964800513.625659 weird: spontaneous_FIN -964800513.625730 weird: spontaneous_FIN -964800513.625806 weird: spontaneous_FIN -964800513.625880 weird: spontaneous_FIN -964800513.625951 weird: spontaneous_FIN -964800513.704602 weird: spontaneous_FIN -964800513.704693 weird: spontaneous_FIN -964800513.704767 weird: spontaneous_FIN -964800513.704840 weird: spontaneous_FIN -964800513.704913 weird: spontaneous_FIN -964800513.704989 weird: spontaneous_FIN -964800513.705063 weird: spontaneous_FIN -964800513.705143 weird: spontaneous_FIN -964800513.705222 weird: spontaneous_FIN -964800513.705307 weird: spontaneous_FIN -964800513.705451 weird: spontaneous_FIN -964800513.705639 weird: spontaneous_FIN -964800513.705785 weird: spontaneous_FIN -964800513.705863 weird: spontaneous_FIN -964800513.705936 weird: spontaneous_FIN -964800513.706009 weird: spontaneous_FIN -964800513.706084 weird: spontaneous_FIN -964800513.706160 weird: spontaneous_FIN -964800513.706233 weird: spontaneous_FIN -964800513.706306 weird: spontaneous_FIN -964800513.706381 weird: spontaneous_FIN -964800513.804615 weird: spontaneous_FIN -964800513.804701 weird: spontaneous_FIN -964800513.804784 weird: spontaneous_FIN -964800513.804866 weird: spontaneous_FIN -964800513.804945 weird: spontaneous_FIN -964800513.805024 weird: spontaneous_FIN -964800513.805105 weird: spontaneous_FIN -964800513.805182 weird: spontaneous_FIN -964800513.805255 weird: spontaneous_FIN -964800513.805331 weird: spontaneous_FIN -964800513.805406 weird: spontaneous_FIN -964800513.805479 weird: spontaneous_FIN -964800513.805555 weird: spontaneous_FIN -964800513.805702 weird: spontaneous_FIN -964800513.805782 weird: spontaneous_FIN -964800513.805853 weird: spontaneous_FIN -964800513.805925 weird: spontaneous_FIN -964800513.805997 weird: spontaneous_FIN -964800513.806077 weird: spontaneous_FIN -964800513.806152 weird: spontaneous_FIN -964800513.806228 weird: spontaneous_FIN -964800513.806302 weird: spontaneous_FIN -964800513.806375 weird: spontaneous_FIN -964800513.806448 weird: spontaneous_FIN -964800513.904613 weird: spontaneous_FIN -964800513.904703 weird: spontaneous_FIN -964800513.904780 weird: spontaneous_FIN -964800513.904856 weird: spontaneous_FIN -964800513.904934 weird: spontaneous_FIN -964800513.905007 weird: spontaneous_FIN -964800513.905147 weird: spontaneous_FIN -964800513.905225 weird: spontaneous_FIN -964800513.905297 weird: spontaneous_FIN -964800513.905433 weird: spontaneous_FIN -964800513.905514 weird: spontaneous_FIN -964800513.905593 weird: spontaneous_FIN -964800513.905671 weird: spontaneous_FIN -964800513.905747 weird: spontaneous_FIN -964800513.905827 weird: spontaneous_FIN -964800513.905904 weird: spontaneous_FIN -964800513.905984 weird: spontaneous_FIN -964800513.906064 weird: spontaneous_FIN -964800514.004609 weird: spontaneous_FIN -964800514.004704 weird: spontaneous_FIN -964800514.004777 weird: spontaneous_FIN -964800514.004852 weird: spontaneous_FIN -964800514.004929 weird: spontaneous_FIN -964800514.005019 weird: spontaneous_FIN -964800514.005139 weird: spontaneous_FIN -964800514.005224 weird: spontaneous_FIN -964800514.005301 weird: spontaneous_FIN -964800514.005389 weird: spontaneous_FIN -964800514.005520 weird: spontaneous_FIN -964800514.005693 weird: spontaneous_FIN -964800514.005774 weird: spontaneous_FIN -964800514.005845 weird: spontaneous_FIN -964800514.005919 weird: spontaneous_FIN -964800514.005992 weird: spontaneous_FIN -964800514.006064 weird: spontaneous_FIN -964800514.006138 weird: spontaneous_FIN -964800514.006212 weird: spontaneous_FIN -964800514.006282 weird: spontaneous_FIN -964800514.006356 weird: spontaneous_FIN -964800514.006476 weird: spontaneous_FIN -964800514.104604 weird: spontaneous_FIN -964800514.104686 weird: spontaneous_FIN -964800514.104759 weird: spontaneous_FIN -964800514.104836 weird: spontaneous_FIN -964800514.104913 weird: spontaneous_FIN -964800514.105001 weird: spontaneous_FIN -964800514.105133 weird: spontaneous_FIN -964800514.105214 weird: spontaneous_FIN -964800514.105296 weird: spontaneous_FIN -964800514.105379 weird: spontaneous_FIN -964800514.105497 weird: spontaneous_FIN -964800514.105571 weird: spontaneous_FIN -964800514.105641 weird: spontaneous_FIN -964800514.105711 weird: spontaneous_FIN -964800514.105781 weird: spontaneous_FIN -964800514.105856 weird: spontaneous_FIN -964800514.105927 weird: spontaneous_FIN -964800514.105999 weird: spontaneous_FIN -964800514.106070 weird: spontaneous_FIN -964800514.106140 weird: spontaneous_FIN -964800514.184672 weird: spontaneous_FIN -964800514.184774 weird: spontaneous_FIN -964800514.184849 weird: spontaneous_FIN -964800514.184930 weird: spontaneous_FIN -964800514.185013 weird: spontaneous_FIN -964800514.185095 weird: spontaneous_FIN -964800514.185173 weird: spontaneous_FIN -964800514.185248 weird: spontaneous_FIN -964800514.185328 weird: spontaneous_FIN -964800514.185416 weird: spontaneous_FIN -964800514.185556 weird: spontaneous_FIN -964800514.185685 weird: spontaneous_FIN -964800514.185760 weird: spontaneous_FIN -964800514.185833 weird: spontaneous_FIN -964800514.185905 weird: spontaneous_FIN -964800514.185982 weird: spontaneous_FIN -964800514.186056 weird: spontaneous_FIN -964800514.186126 weird: spontaneous_FIN -964800514.186197 weird: spontaneous_FIN -964800514.186277 weird: spontaneous_FIN -964800514.186342 weird: spontaneous_FIN -964800514.186416 weird: spontaneous_FIN -964800514.186488 weird: spontaneous_FIN -964800514.186563 weird: spontaneous_FIN -964800514.284618 weird: spontaneous_FIN -964800514.284704 weird: spontaneous_FIN -964800514.284787 weird: spontaneous_FIN -964800514.284861 weird: spontaneous_FIN -964800514.284934 weird: spontaneous_FIN -964800514.285012 weird: spontaneous_FIN -964800514.285084 weird: spontaneous_FIN -964800514.285228 weird: spontaneous_FIN -964800514.285316 weird: spontaneous_FIN -964800514.285398 weird: spontaneous_FIN -964800514.285476 weird: spontaneous_FIN -964800514.285551 weird: spontaneous_FIN -964800514.285633 weird: spontaneous_FIN -964800514.285755 weird: spontaneous_FIN -964800514.285885 weird: spontaneous_FIN -964800514.285970 weird: spontaneous_FIN -964800514.286039 weird: spontaneous_FIN -964800514.286110 weird: spontaneous_FIN -964800514.286184 weird: spontaneous_FIN -964800514.286260 weird: spontaneous_FIN -964800514.286328 weird: spontaneous_FIN -964800514.286401 weird: spontaneous_FIN -964800514.286475 weird: spontaneous_FIN -964800514.286548 weird: spontaneous_FIN -964800514.286622 weird: spontaneous_FIN -964800514.286696 weird: spontaneous_FIN -964800514.286772 weird: spontaneous_FIN -964800514.374621 weird: spontaneous_FIN -964800514.374712 weird: spontaneous_FIN -964800514.374792 weird: spontaneous_FIN -964800514.374872 weird: spontaneous_FIN -964800514.374956 weird: spontaneous_FIN -964800514.375041 weird: spontaneous_FIN -964800514.375198 weird: spontaneous_FIN -964800514.375280 weird: spontaneous_FIN -964800514.375364 weird: spontaneous_FIN -964800514.375538 weird: spontaneous_FIN -964800514.375619 weird: spontaneous_FIN -964800514.375689 weird: spontaneous_FIN -964800514.375757 weird: spontaneous_FIN -964800514.375827 weird: spontaneous_FIN -964800514.375901 weird: spontaneous_FIN -964800514.375971 weird: spontaneous_FIN -964800514.376046 weird: spontaneous_FIN -964800514.376119 weird: spontaneous_FIN -964800514.376191 weird: spontaneous_FIN -964800514.376262 weird: spontaneous_FIN -964800514.376333 weird: spontaneous_FIN -964800514.376405 weird: spontaneous_FIN -964800514.376481 weird: spontaneous_FIN -964800514.376558 weird: spontaneous_FIN -964800514.464639 weird: spontaneous_FIN -964800514.464734 weird: spontaneous_FIN -964800514.464812 weird: spontaneous_FIN -964800514.464894 weird: spontaneous_FIN -964800514.464976 weird: spontaneous_FIN -964800514.465059 weird: spontaneous_FIN -964800514.465215 weird: spontaneous_FIN -964800514.465300 weird: spontaneous_FIN -964800514.465388 weird: spontaneous_FIN -964800514.465473 weird: spontaneous_FIN -964800514.465551 weird: spontaneous_FIN -964800514.465629 weird: spontaneous_FIN -964800514.544616 weird: spontaneous_FIN -964800514.544703 weird: spontaneous_FIN -964800514.544776 weird: spontaneous_FIN -964800514.544855 weird: spontaneous_FIN -964800514.544932 weird: spontaneous_FIN -964800514.545019 weird: spontaneous_FIN -964800514.545161 weird: spontaneous_FIN -964800514.624610 weird: spontaneous_FIN -964800514.624698 weird: spontaneous_FIN -964800514.624771 weird: spontaneous_FIN -964800514.624846 weird: spontaneous_FIN -964800514.624922 weird: spontaneous_FIN -964800514.625003 weird: spontaneous_FIN -964800514.625084 weird: spontaneous_FIN -964800514.625167 weird: spontaneous_FIN -964800514.625244 weird: spontaneous_FIN -964800514.625322 weird: spontaneous_FIN -964800514.704605 weird: spontaneous_FIN -964800514.704694 weird: spontaneous_FIN -964800514.704768 weird: spontaneous_FIN -964800514.704845 weird: spontaneous_FIN -964800514.704922 weird: spontaneous_FIN -964800514.705000 weird: spontaneous_FIN -964800514.705134 weird: spontaneous_FIN -964800514.705214 weird: spontaneous_FIN -964800514.705291 weird: spontaneous_FIN -964800514.705370 weird: spontaneous_FIN -964800514.705497 weird: spontaneous_FIN -964800514.705571 weird: spontaneous_FIN -964800514.705647 weird: spontaneous_FIN -964800514.705726 weird: spontaneous_FIN -964800514.709629 weird: bad_ICMP_checksum -964800514.784609 weird: spontaneous_FIN -964800514.784696 weird: spontaneous_FIN -964800514.784772 weird: spontaneous_FIN -964800514.784849 weird: spontaneous_FIN -964800514.784923 weird: spontaneous_FIN -964800514.785005 weird: spontaneous_FIN -964800514.785149 weird: spontaneous_FIN -964800514.785231 weird: spontaneous_FIN -964800514.785307 weird: spontaneous_FIN -964800514.785388 weird: spontaneous_FIN -964800514.785508 weird: spontaneous_FIN -964800514.785645 weird: spontaneous_FIN -964800514.785814 weird: spontaneous_FIN -964800514.785917 weird: spontaneous_FIN -964800514.786002 weird: spontaneous_FIN -964800514.786125 weird: spontaneous_FIN -964800514.786241 weird: spontaneous_FIN -964800514.864611 weird: spontaneous_FIN -964800514.864692 weird: spontaneous_FIN -964800514.864769 weird: spontaneous_FIN -964800514.864847 weird: spontaneous_FIN -964800514.864924 weird: spontaneous_FIN -964800514.864997 weird: spontaneous_FIN -964800514.865133 weird: spontaneous_FIN -964800514.865219 weird: spontaneous_FIN -964800514.865299 weird: spontaneous_FIN -964800514.865433 weird: spontaneous_FIN -964800514.865514 weird: spontaneous_FIN -964800514.865635 weird: spontaneous_FIN -964800514.865770 weird: spontaneous_FIN -964800514.865852 weird: spontaneous_FIN -964800514.865929 weird: spontaneous_FIN -964800514.866006 weird: spontaneous_FIN -964800514.866080 weird: spontaneous_FIN -964800514.866156 weird: spontaneous_FIN -964800514.866229 weird: spontaneous_FIN -964800514.866306 weird: spontaneous_FIN -964800514.866379 weird: spontaneous_FIN -964800514.954608 weird: spontaneous_FIN -964800514.954691 weird: spontaneous_FIN -964800514.954768 weird: spontaneous_FIN -964800514.954856 weird: spontaneous_FIN -964800514.954940 weird: spontaneous_FIN -964800514.955026 weird: spontaneous_FIN -964800514.955165 weird: spontaneous_FIN -964800514.955247 weird: spontaneous_FIN -964800514.955325 weird: spontaneous_FIN -964800514.955404 weird: spontaneous_FIN -964800514.955525 weird: spontaneous_FIN -964800514.955600 weird: spontaneous_FIN -964800514.955670 weird: spontaneous_FIN -964800514.955791 weird: spontaneous_FIN -964800514.955872 weird: spontaneous_FIN -964800514.955944 weird: spontaneous_FIN -964800514.956015 weird: spontaneous_FIN -964800514.956087 weird: spontaneous_FIN -964800514.956158 weird: spontaneous_FIN -964800514.956231 weird: spontaneous_FIN -964800514.956302 weird: spontaneous_FIN -964800514.956371 weird: spontaneous_FIN -964800514.956443 weird: spontaneous_FIN -964800514.956520 weird: spontaneous_FIN -964800515.054616 weird: spontaneous_FIN -964800515.054697 weird: spontaneous_FIN -964800515.054773 weird: spontaneous_FIN -964800515.054865 weird: spontaneous_FIN -964800515.054953 weird: spontaneous_FIN -964800515.055036 weird: spontaneous_FIN -964800515.055117 weird: spontaneous_FIN -964800515.055203 weird: spontaneous_FIN -964800515.055281 weird: spontaneous_FIN -964800515.055413 weird: spontaneous_FIN -964800515.055491 weird: spontaneous_FIN -964800515.055565 weird: spontaneous_FIN -964800515.055637 weird: spontaneous_FIN -964800515.055708 weird: spontaneous_FIN -964800515.055777 weird: spontaneous_FIN -964800515.134752 weird: spontaneous_FIN -964800515.134847 weird: spontaneous_FIN -964800515.134925 weird: spontaneous_FIN -964800515.135007 weird: spontaneous_FIN -964800515.135088 weird: spontaneous_FIN -964800515.135171 weird: spontaneous_FIN -964800515.135319 weird: spontaneous_FIN -964800515.135399 weird: spontaneous_FIN -964800515.135530 weird: spontaneous_FIN -964800515.135614 weird: spontaneous_FIN -964800515.214679 weird: spontaneous_FIN -964800515.214790 weird: spontaneous_FIN -964800515.214871 weird: spontaneous_FIN -964800515.214952 weird: spontaneous_FIN -964800515.215036 weird: spontaneous_FIN -964800515.215118 weird: spontaneous_FIN -964800515.215265 weird: spontaneous_FIN -964800515.215346 weird: spontaneous_FIN -964800515.215474 weird: spontaneous_FIN -964800515.215549 weird: spontaneous_FIN -964800515.215702 weird: spontaneous_FIN -964800515.215803 weird: spontaneous_FIN -964800515.215873 weird: spontaneous_FIN -964800515.304617 weird: spontaneous_FIN -964800515.304698 weird: spontaneous_FIN -964800515.304767 weird: spontaneous_FIN -964800515.304845 weird: spontaneous_FIN -964800515.304922 weird: spontaneous_FIN -964800515.304999 weird: spontaneous_FIN -964800515.305078 weird: spontaneous_FIN -964800515.305221 weird: spontaneous_FIN -964800515.305301 weird: spontaneous_FIN -964800515.305376 weird: spontaneous_FIN -964800515.305451 weird: spontaneous_FIN -964800515.305585 weird: spontaneous_FIN -964800515.305667 weird: spontaneous_FIN -964800515.305740 weird: spontaneous_FIN -964800515.305811 weird: spontaneous_FIN -964800515.305884 weird: spontaneous_FIN -964800515.305958 weird: spontaneous_FIN -964800515.384612 weird: spontaneous_FIN -964800515.384699 weird: spontaneous_FIN -964800515.384782 weird: spontaneous_FIN -964800515.384855 weird: spontaneous_FIN -964800515.384929 weird: spontaneous_FIN -964800515.385006 weird: spontaneous_FIN -964800515.385086 weird: spontaneous_FIN -964800515.385163 weird: spontaneous_FIN -964800515.385293 weird: spontaneous_FIN -964800515.385372 weird: spontaneous_FIN -964800515.385491 weird: spontaneous_FIN -964800515.385567 weird: spontaneous_FIN -964800515.385641 weird: spontaneous_FIN -964800515.385712 weird: spontaneous_FIN -964800515.385781 weird: spontaneous_FIN -964800515.385851 weird: spontaneous_FIN -964800515.385922 weird: spontaneous_FIN -964800515.385994 weird: spontaneous_FIN -964800515.386066 weird: spontaneous_FIN -964800515.386142 weird: spontaneous_FIN -964800515.386216 weird: spontaneous_FIN -964800515.484605 weird: spontaneous_FIN -964800515.484692 weird: spontaneous_FIN -964800515.484773 weird: spontaneous_FIN -964800515.484854 weird: spontaneous_FIN -964800515.484934 weird: spontaneous_FIN -964800515.485021 weird: spontaneous_FIN -964800515.485163 weird: spontaneous_FIN -964800515.485252 weird: spontaneous_FIN -964800515.485326 weird: spontaneous_FIN -964800515.485401 weird: spontaneous_FIN -964800515.485524 weird: spontaneous_FIN -964800515.485598 weird: spontaneous_FIN -964800515.485772 weird: spontaneous_FIN -964800515.485856 weird: spontaneous_FIN -964800515.485930 weird: spontaneous_FIN -964800515.486001 weird: spontaneous_FIN -964800515.486073 weird: spontaneous_FIN -964800515.564622 weird: spontaneous_FIN -964800515.564709 weird: spontaneous_FIN -964800515.564782 weird: spontaneous_FIN -964800515.564860 weird: spontaneous_FIN -964800515.564937 weird: spontaneous_FIN -964800515.565010 weird: spontaneous_FIN -964800515.565151 weird: spontaneous_FIN -964800515.565235 weird: spontaneous_FIN -964800515.565314 weird: spontaneous_FIN -964800515.565395 weird: spontaneous_FIN -964800515.565472 weird: spontaneous_FIN -964800515.644608 weird: spontaneous_FIN -964800515.644689 weird: spontaneous_FIN -964800515.644763 weird: spontaneous_FIN -964800515.644848 weird: spontaneous_FIN -964800515.644931 weird: spontaneous_FIN -964800515.645014 weird: spontaneous_FIN -964800515.645145 weird: spontaneous_FIN -964800515.645229 weird: spontaneous_FIN -964800515.645309 weird: spontaneous_FIN -964800515.645433 weird: spontaneous_FIN -964800515.645509 weird: spontaneous_FIN -964800515.645584 weird: spontaneous_FIN -964800515.645656 weird: spontaneous_FIN -964800515.645728 weird: spontaneous_FIN -964800515.669896 weird: bad_ICMP_checksum -964800515.724611 weird: spontaneous_FIN -964800515.724704 weird: spontaneous_FIN -964800515.724778 weird: spontaneous_FIN -964800515.724859 weird: spontaneous_FIN -964800515.724935 weird: spontaneous_FIN -964800515.725014 weird: spontaneous_FIN -964800515.725093 weird: spontaneous_FIN -964800515.725169 weird: spontaneous_FIN -964800515.725242 weird: spontaneous_FIN -964800515.725319 weird: spontaneous_FIN -964800515.725445 weird: spontaneous_FIN -964800515.725524 weird: spontaneous_FIN -964800515.725698 weird: spontaneous_FIN -964800515.725812 weird: spontaneous_FIN -964800515.725890 weird: spontaneous_FIN -964800515.725962 weird: spontaneous_FIN -964800515.726085 weird: spontaneous_FIN -964800515.726167 weird: spontaneous_FIN -964800515.804628 weird: spontaneous_FIN -964800515.804712 weird: spontaneous_FIN -964800515.804784 weird: spontaneous_FIN -964800515.804858 weird: spontaneous_FIN -964800515.804932 weird: spontaneous_FIN -964800515.805015 weird: spontaneous_FIN -964800515.805146 weird: spontaneous_FIN -964800515.805224 weird: spontaneous_FIN -964800515.805302 weird: spontaneous_FIN -964800515.805390 weird: spontaneous_FIN -964800515.805555 weird: spontaneous_FIN -964800515.805635 weird: spontaneous_FIN -964800515.805705 weird: spontaneous_FIN -964800515.805778 weird: spontaneous_FIN -964800515.805850 weird: spontaneous_FIN -964800515.805924 weird: spontaneous_FIN -964800515.805994 weird: spontaneous_FIN -964800515.806065 weird: spontaneous_FIN -964800515.806138 weird: spontaneous_FIN -964800515.806208 weird: spontaneous_FIN -964800515.806277 weird: spontaneous_FIN -964800515.904632 weird: spontaneous_FIN -964800515.904727 weird: spontaneous_FIN -964800515.904807 weird: spontaneous_FIN -964800515.904888 weird: spontaneous_FIN -964800515.904963 weird: spontaneous_FIN -964800515.905038 weird: spontaneous_FIN -964800515.905164 weird: spontaneous_FIN -964800515.905242 weird: spontaneous_FIN -964800515.905321 weird: spontaneous_FIN -964800515.905442 weird: spontaneous_FIN -964800515.905571 weird: spontaneous_FIN -964800515.905649 weird: spontaneous_FIN -964800515.905720 weird: spontaneous_FIN -964800515.905789 weird: spontaneous_FIN -964800515.905862 weird: spontaneous_FIN -964800515.905935 weird: spontaneous_FIN -964800515.906008 weird: spontaneous_FIN -964800515.906079 weird: spontaneous_FIN -964800515.906152 weird: spontaneous_FIN -964800515.906222 weird: spontaneous_FIN -964800515.906301 weird: spontaneous_FIN -964800515.906363 weird: spontaneous_FIN -964800515.906436 weird: spontaneous_FIN -964800515.906508 weird: spontaneous_FIN -964800515.906579 weird: spontaneous_FIN -964800516.016044 weird: spontaneous_FIN -964800516.016138 weird: spontaneous_FIN -964800516.016213 weird: spontaneous_FIN -964800516.016304 weird: spontaneous_FIN -964800516.016378 weird: spontaneous_FIN -964800516.016463 weird: spontaneous_FIN -964800516.016607 weird: spontaneous_FIN -964800516.016686 weird: spontaneous_FIN -964800516.016771 weird: spontaneous_FIN -964800516.016907 weird: spontaneous_FIN -964800516.016986 weird: spontaneous_FIN -964800516.017058 weird: spontaneous_FIN -964800516.017132 weird: spontaneous_FIN -964800516.017200 weird: spontaneous_FIN -964800516.017271 weird: spontaneous_FIN -964800516.017343 weird: spontaneous_FIN -964800516.114622 weird: spontaneous_FIN -964800516.114718 weird: spontaneous_FIN -964800516.114800 weird: spontaneous_FIN -964800516.114888 weird: spontaneous_FIN -964800516.114971 weird: spontaneous_FIN -964800516.115054 weird: spontaneous_FIN -964800516.194601 weird: spontaneous_FIN -964800516.194681 weird: spontaneous_FIN -964800516.194754 weird: spontaneous_FIN -964800516.194831 weird: spontaneous_FIN -964800516.194909 weird: spontaneous_FIN -964800516.274614 weird: spontaneous_FIN -964800516.274708 weird: spontaneous_FIN -964800516.274783 weird: spontaneous_FIN -964800516.274867 weird: spontaneous_FIN -964800516.274941 weird: spontaneous_FIN -964800516.275021 weird: spontaneous_FIN -964800516.275099 weird: spontaneous_FIN -964800516.275174 weird: spontaneous_FIN -964800516.354621 weird: spontaneous_FIN -964800516.354703 weird: spontaneous_FIN -964800516.354781 weird: spontaneous_FIN -964800516.354859 weird: spontaneous_FIN -964800516.354934 weird: spontaneous_FIN -964800516.355010 weird: spontaneous_FIN -964800516.355140 weird: spontaneous_FIN -964800516.355222 weird: spontaneous_FIN -964800516.355297 weird: spontaneous_FIN -964800516.355415 weird: spontaneous_FIN -964800516.355543 weird: spontaneous_FIN -964800516.434624 weird: spontaneous_FIN -964800516.434693 weird: spontaneous_FIN -964800516.434770 weird: spontaneous_FIN -964800516.434848 weird: spontaneous_FIN -964800516.434922 weird: spontaneous_FIN -964800516.434999 weird: spontaneous_FIN -964800516.435071 weird: spontaneous_FIN -964800516.435206 weird: spontaneous_FIN -964800516.435285 weird: spontaneous_FIN -964800516.435361 weird: spontaneous_FIN -964800516.435436 weird: spontaneous_FIN -964800516.435510 weird: spontaneous_FIN -964800516.435633 weird: spontaneous_FIN -964800516.435708 weird: spontaneous_FIN -964800516.435776 weird: spontaneous_FIN -964800516.514626 weird: spontaneous_FIN -964800516.514707 weird: spontaneous_FIN -964800516.514780 weird: spontaneous_FIN -964800516.514880 weird: spontaneous_FIN -964800516.514952 weird: spontaneous_FIN -964800516.515053 weird: spontaneous_FIN -964800516.515090 weird: spontaneous_FIN -964800516.515161 weird: spontaneous_FIN -964800516.515245 weird: spontaneous_FIN -964800516.515321 weird: spontaneous_FIN -964800516.515395 weird: spontaneous_FIN -964800516.515468 weird: spontaneous_FIN -964800516.515545 weird: spontaneous_FIN -964800516.515673 weird: spontaneous_FIN -964800516.515799 weird: spontaneous_FIN -964800516.515929 weird: spontaneous_FIN -964800516.516064 weird: spontaneous_FIN -964800516.516150 weird: spontaneous_FIN -964800516.594622 weird: spontaneous_FIN -964800516.594713 weird: spontaneous_FIN -964800516.594796 weird: spontaneous_FIN -964800516.594870 weird: spontaneous_FIN -964800516.594948 weird: spontaneous_FIN -964800516.595026 weird: spontaneous_FIN -964800516.595100 weird: spontaneous_FIN -964800516.595177 weird: spontaneous_FIN -964800516.595257 weird: spontaneous_FIN -964800516.595338 weird: spontaneous_FIN -964800516.595417 weird: spontaneous_FIN -964800516.595491 weird: spontaneous_FIN -964800516.595567 weird: spontaneous_FIN -964800516.595640 weird: spontaneous_FIN -964800516.595717 weird: spontaneous_FIN -964800516.595844 weird: spontaneous_FIN -964800516.595920 weird: spontaneous_FIN -964800516.595992 weird: spontaneous_FIN -964800516.596067 weird: spontaneous_FIN -964800516.596139 weird: spontaneous_FIN -964800516.596211 weird: spontaneous_FIN -964800516.631681 weird: bad_ICMP_checksum -964800516.684664 weird: spontaneous_FIN -964800516.684761 weird: spontaneous_FIN -964800516.684837 weird: spontaneous_FIN -964800516.684918 weird: spontaneous_FIN -964800516.684997 weird: spontaneous_FIN -964800516.685075 weird: spontaneous_FIN -964800516.685157 weird: spontaneous_FIN -964800516.685233 weird: spontaneous_FIN -964800516.685309 weird: spontaneous_FIN -964800516.685450 weird: spontaneous_FIN -964800516.685530 weird: spontaneous_FIN -964800516.685601 weird: spontaneous_FIN -964800516.685674 weird: spontaneous_FIN -964800516.685745 weird: spontaneous_FIN -964800516.685817 weird: spontaneous_FIN -964800516.685884 weird: spontaneous_FIN -964800516.685953 weird: spontaneous_FIN -964800516.686024 weird: spontaneous_FIN -964800516.686096 weird: spontaneous_FIN -964800516.686167 weird: spontaneous_FIN -964800516.686236 weird: spontaneous_FIN -964800516.686314 weird: spontaneous_FIN -964800516.686375 weird: spontaneous_FIN -964800516.686445 weird: spontaneous_FIN -964800516.686577 weird: spontaneous_FIN -964800516.784627 weird: spontaneous_FIN -964800516.784712 weird: spontaneous_FIN -964800516.784791 weird: spontaneous_FIN -964800516.784862 weird: spontaneous_FIN -964800516.784935 weird: spontaneous_FIN -964800516.785011 weird: spontaneous_FIN -964800516.785160 weird: spontaneous_FIN -964800516.785241 weird: spontaneous_FIN -964800516.785330 weird: spontaneous_FIN -964800516.785455 weird: spontaneous_FIN -964800516.785588 weird: spontaneous_FIN -964800516.785666 weird: spontaneous_FIN -964800516.785738 weird: spontaneous_FIN -964800516.785808 weird: spontaneous_FIN -964800516.864619 weird: spontaneous_FIN -964800516.864709 weird: spontaneous_FIN -964800516.864779 weird: spontaneous_FIN -964800516.864858 weird: spontaneous_FIN -964800516.864933 weird: spontaneous_FIN -964800516.865008 weird: spontaneous_FIN -964800516.865139 weird: spontaneous_FIN -964800516.865218 weird: spontaneous_FIN -964800516.865289 weird: spontaneous_FIN -964800516.865407 weird: spontaneous_FIN -964800516.865537 weird: spontaneous_FIN -964800516.865618 weird: spontaneous_FIN -964800516.865687 weird: spontaneous_FIN -964800516.944618 weird: spontaneous_FIN -964800516.944702 weird: spontaneous_FIN -964800516.944771 weird: spontaneous_FIN -964800516.944842 weird: spontaneous_FIN -964800516.944916 weird: spontaneous_FIN -964800516.944993 weird: spontaneous_FIN -964800516.945130 weird: spontaneous_FIN -964800516.945205 weird: spontaneous_FIN -964800516.945279 weird: spontaneous_FIN -964800516.945356 weird: spontaneous_FIN -964800516.945478 weird: spontaneous_FIN -964800516.945601 weird: spontaneous_FIN -964800516.945681 weird: spontaneous_FIN -964800516.945753 weird: spontaneous_FIN -964800516.945823 weird: spontaneous_FIN -964800516.945892 weird: spontaneous_FIN -964800517.024623 weird: spontaneous_FIN -964800517.024717 weird: spontaneous_FIN -964800517.024790 weird: spontaneous_FIN -964800517.024868 weird: spontaneous_FIN -964800517.024939 weird: spontaneous_FIN -964800517.025015 weird: spontaneous_FIN -964800517.025089 weird: spontaneous_FIN -964800517.025219 weird: spontaneous_FIN -964800517.025304 weird: spontaneous_FIN -964800517.025381 weird: spontaneous_FIN -964800517.025453 weird: spontaneous_FIN -964800517.025568 weird: spontaneous_FIN -964800517.025672 weird: spontaneous_FIN -964800517.025839 weird: spontaneous_FIN -964800517.025937 weird: spontaneous_FIN -964800517.026008 weird: spontaneous_FIN -964800517.026132 weird: spontaneous_FIN -964800517.026215 weird: spontaneous_FIN -964800517.026285 weird: spontaneous_FIN -964800517.026356 weird: spontaneous_FIN -964800517.104621 weird: spontaneous_FIN -964800517.104710 weird: spontaneous_FIN -964800517.104782 weird: spontaneous_FIN -964800517.104854 weird: spontaneous_FIN -964800517.104931 weird: spontaneous_FIN -964800517.105009 weird: spontaneous_FIN -964800517.105091 weird: spontaneous_FIN -964800517.105165 weird: spontaneous_FIN -964800517.105245 weird: spontaneous_FIN -964800517.105323 weird: spontaneous_FIN -964800517.105458 weird: spontaneous_FIN -964800517.105540 weird: spontaneous_FIN -964800517.105616 weird: spontaneous_FIN -964800517.105693 weird: spontaneous_FIN -964800517.105764 weird: spontaneous_FIN -964800517.105833 weird: spontaneous_FIN -964800517.105904 weird: spontaneous_FIN -964800517.105973 weird: spontaneous_FIN -964800517.106040 weird: spontaneous_FIN -964800517.184625 weird: spontaneous_FIN -964800517.184705 weird: spontaneous_FIN -964800517.184778 weird: spontaneous_FIN -964800517.184854 weird: spontaneous_FIN -964800517.184932 weird: spontaneous_FIN -964800517.185006 weird: spontaneous_FIN -964800517.185141 weird: spontaneous_FIN -964800517.185219 weird: spontaneous_FIN -964800517.185296 weird: spontaneous_FIN -964800517.185369 weird: spontaneous_FIN -964800517.185492 weird: spontaneous_FIN -964800517.185613 weird: spontaneous_FIN -964800517.185691 weird: spontaneous_FIN -964800517.185768 weird: spontaneous_FIN -964800517.185839 weird: spontaneous_FIN -964800517.185907 weird: spontaneous_FIN -964800517.185975 weird: spontaneous_FIN -964800517.186050 weird: spontaneous_FIN -964800517.186124 weird: spontaneous_FIN -964800517.186194 weird: spontaneous_FIN -964800517.186267 weird: spontaneous_FIN -964800517.186339 weird: spontaneous_FIN -964800517.284623 weird: spontaneous_FIN -964800517.284711 weird: spontaneous_FIN -964800517.284791 weird: spontaneous_FIN -964800517.284879 weird: spontaneous_FIN -964800517.284962 weird: spontaneous_FIN -964800517.285044 weird: spontaneous_FIN -964800517.285183 weird: spontaneous_FIN -964800517.285260 weird: spontaneous_FIN -964800517.285332 weird: spontaneous_FIN -964800517.285458 weird: spontaneous_FIN -964800517.285533 weird: spontaneous_FIN -964800517.285610 weird: spontaneous_FIN -964800517.285685 weird: spontaneous_FIN -964800517.285756 weird: spontaneous_FIN -964800517.285831 weird: spontaneous_FIN -964800517.285903 weird: spontaneous_FIN -964800517.285976 weird: spontaneous_FIN -964800517.286052 weird: spontaneous_FIN -964800517.286126 weird: spontaneous_FIN -964800517.286198 weird: spontaneous_FIN -964800517.286273 weird: spontaneous_FIN -964800517.286343 weird: spontaneous_FIN -964800517.286417 weird: spontaneous_FIN -964800517.286490 weird: spontaneous_FIN -964800517.286563 weird: spontaneous_FIN -964800517.286639 weird: spontaneous_FIN -964800517.374638 weird: spontaneous_FIN -964800517.374730 weird: spontaneous_FIN -964800517.374807 weird: spontaneous_FIN -964800517.374890 weird: spontaneous_FIN -964800517.374971 weird: spontaneous_FIN -964800517.375054 weird: spontaneous_FIN -964800517.375133 weird: spontaneous_FIN -964800517.375210 weird: spontaneous_FIN -964800517.375288 weird: spontaneous_FIN -964800517.375376 weird: spontaneous_FIN -964800517.375522 weird: spontaneous_FIN -964800517.375599 weird: spontaneous_FIN -964800517.375682 weird: spontaneous_FIN -964800517.454624 weird: spontaneous_FIN -964800517.454704 weird: spontaneous_FIN -964800517.454774 weird: spontaneous_FIN -964800517.454856 weird: spontaneous_FIN -964800517.454937 weird: spontaneous_FIN -964800517.455016 weird: spontaneous_FIN -964800517.455171 weird: spontaneous_FIN -964800517.534618 weird: spontaneous_FIN -964800517.534695 weird: spontaneous_FIN -964800517.534767 weird: spontaneous_FIN -964800517.534846 weird: spontaneous_FIN -964800517.534923 weird: spontaneous_FIN -964800517.535003 weird: spontaneous_FIN -964800517.535084 weird: spontaneous_FIN -964800517.535229 weird: spontaneous_FIN -964800517.535313 weird: spontaneous_FIN -964800517.535387 weird: spontaneous_FIN -964800517.609976 weird: bad_ICMP_checksum -964800517.614619 weird: spontaneous_FIN -964800517.614702 weird: spontaneous_FIN -964800517.614773 weird: spontaneous_FIN -964800517.614849 weird: spontaneous_FIN -964800517.614925 weird: spontaneous_FIN -964800517.615006 weird: spontaneous_FIN -964800517.615084 weird: spontaneous_FIN -964800517.615155 weird: spontaneous_FIN -964800517.615288 weird: spontaneous_FIN -964800517.615360 weird: spontaneous_FIN -964800517.615436 weird: spontaneous_FIN -964800517.615508 weird: spontaneous_FIN -964800517.615577 weird: spontaneous_FIN -964800517.615649 weird: spontaneous_FIN -964800517.704628 weird: spontaneous_FIN -964800517.704719 weird: spontaneous_FIN -964800517.704791 weird: spontaneous_FIN -964800517.704865 weird: spontaneous_FIN -964800517.704944 weird: spontaneous_FIN -964800517.705020 weird: spontaneous_FIN -964800517.705093 weird: spontaneous_FIN -964800517.705169 weird: spontaneous_FIN -964800517.705326 weird: spontaneous_FIN -964800517.705451 weird: spontaneous_FIN -964800517.705535 weird: spontaneous_FIN -964800517.705604 weird: spontaneous_FIN -964800517.705674 weird: spontaneous_FIN -964800517.705744 weird: spontaneous_FIN -964800517.705821 weird: spontaneous_FIN -964800517.705945 weird: spontaneous_FIN -964800517.706027 weird: spontaneous_FIN -964800517.784619 weird: spontaneous_FIN -964800517.784747 weird: spontaneous_FIN -964800517.784783 weird: spontaneous_FIN -964800517.784850 weird: spontaneous_FIN -964800517.784924 weird: spontaneous_FIN -964800517.784999 weird: spontaneous_FIN -964800517.785077 weird: spontaneous_FIN -964800517.785156 weird: spontaneous_FIN -964800517.785232 weird: spontaneous_FIN -964800517.785378 weird: spontaneous_FIN -964800517.785461 weird: spontaneous_FIN -964800517.785534 weird: spontaneous_FIN -964800517.785606 weird: spontaneous_FIN -964800517.785676 weird: spontaneous_FIN -964800517.785744 weird: spontaneous_FIN -964800517.785815 weird: spontaneous_FIN -964800517.785886 weird: spontaneous_FIN -964800517.864634 weird: spontaneous_FIN -964800517.864716 weird: spontaneous_FIN -964800517.864790 weird: spontaneous_FIN -964800517.864866 weird: spontaneous_FIN -964800517.864941 weird: spontaneous_FIN -964800517.865017 weird: spontaneous_FIN -964800517.865159 weird: spontaneous_FIN -964800517.865236 weird: spontaneous_FIN -964800517.865310 weird: spontaneous_FIN -964800517.865436 weird: spontaneous_FIN -964800517.865510 weird: spontaneous_FIN -964800517.865584 weird: spontaneous_FIN -964800517.865656 weird: spontaneous_FIN -964800517.865726 weird: spontaneous_FIN -964800517.865798 weird: spontaneous_FIN -964800517.866006 weird: spontaneous_FIN -964800517.866186 weird: spontaneous_FIN -964800517.866336 weird: spontaneous_FIN -964800517.866409 weird: spontaneous_FIN -964800517.866483 weird: spontaneous_FIN -964800517.944628 weird: spontaneous_FIN -964800517.944713 weird: spontaneous_FIN -964800517.944787 weird: spontaneous_FIN -964800517.944868 weird: spontaneous_FIN -964800517.944945 weird: spontaneous_FIN -964800517.945018 weird: spontaneous_FIN -964800517.945151 weird: spontaneous_FIN -964800517.945230 weird: spontaneous_FIN -964800517.945315 weird: spontaneous_FIN -964800517.945436 weird: spontaneous_FIN -964800517.945509 weird: spontaneous_FIN -964800517.945577 weird: spontaneous_FIN -964800517.945652 weird: spontaneous_FIN -964800517.945722 weird: spontaneous_FIN -964800517.945793 weird: spontaneous_FIN -964800517.945862 weird: spontaneous_FIN -964800517.945934 weird: spontaneous_FIN -964800517.946005 weird: spontaneous_FIN -964800517.946073 weird: spontaneous_FIN -964800517.946142 weird: spontaneous_FIN -964800517.946217 weird: spontaneous_FIN -964800517.946286 weird: spontaneous_FIN -964800517.946360 weird: spontaneous_FIN -964800517.946430 weird: spontaneous_FIN -964800518.044636 weird: spontaneous_FIN -964800518.044711 weird: spontaneous_FIN -964800518.044782 weird: spontaneous_FIN -964800518.044861 weird: spontaneous_FIN -964800518.044938 weird: spontaneous_FIN -964800518.045061 weird: spontaneous_FIN -964800518.045167 weird: spontaneous_FIN -964800518.045256 weird: spontaneous_FIN -964800518.045337 weird: spontaneous_FIN -964800518.295686 weird: spontaneous_FIN -964800518.375278 weird: spontaneous_FIN -964800518.375360 weird: spontaneous_FIN -964800518.375433 weird: spontaneous_FIN -964800518.375505 weird: spontaneous_FIN -964800518.375575 weird: spontaneous_FIN -964800518.375648 weird: spontaneous_FIN -964800518.464647 weird: spontaneous_FIN -964800518.464733 weird: spontaneous_FIN -964800518.464809 weird: spontaneous_FIN -964800518.464886 weird: spontaneous_FIN -964800518.464966 weird: spontaneous_FIN -964800518.465052 weird: spontaneous_FIN -964800518.465126 weird: spontaneous_FIN -964800518.465202 weird: spontaneous_FIN -964800518.465279 weird: spontaneous_FIN -964800518.465357 weird: spontaneous_FIN -964800518.465432 weird: spontaneous_FIN -964800518.465506 weird: spontaneous_FIN -964800518.465576 weird: spontaneous_FIN -964800518.465648 weird: spontaneous_FIN -964800518.522586 weird: spontaneous_FIN -964800518.544632 weird: spontaneous_FIN -964800518.544716 weird: spontaneous_FIN -964800518.544795 weird: spontaneous_FIN -964800518.544877 weird: spontaneous_FIN -964800518.544954 weird: spontaneous_FIN -964800518.545036 weird: spontaneous_FIN -964800518.545118 weird: spontaneous_FIN -964800518.545193 weird: spontaneous_FIN -964800518.545269 weird: spontaneous_FIN -964800518.545346 weird: spontaneous_FIN -964800518.545421 weird: spontaneous_FIN -964800518.545493 weird: spontaneous_FIN -964800518.545563 weird: spontaneous_FIN -964800518.545633 weird: spontaneous_FIN -964800518.545704 weird: spontaneous_FIN -964800518.549768 weird: bad_ICMP_checksum -964800518.624635 weird: spontaneous_FIN -964800518.624721 weird: spontaneous_FIN -964800518.704611 weird: spontaneous_FIN -964800519.024847 weird: spontaneous_FIN -964800519.024920 weird: spontaneous_FIN -964800519.104863 weird: spontaneous_FIN -964800519.104939 weird: spontaneous_FIN -964800519.499892 weird: bad_ICMP_checksum -964800520.459726 weird: bad_ICMP_checksum -964800521.739751 weird: bad_ICMP_checksum -964800522.699952 weird: bad_ICMP_checksum -964800523.659798 weird: bad_ICMP_checksum -964800523.742641 weird: spontaneous_FIN -964800524.619992 weird: bad_ICMP_checksum -964800524.699280 weird: spontaneous_FIN -964800525.579888 weird: bad_ICMP_checksum -964800526.540059 weird: bad_ICMP_checksum -964800527.033662 weird: spontaneous_RST -964800527.499887 weird: bad_ICMP_checksum -964800528.460140 weird: bad_ICMP_checksum -964800528.825170 weird: spontaneous_FIN -964800529.571208 weird: data_after_reset -964800529.740127 weird: bad_ICMP_checksum -964800529.764830 weird: data_after_reset -964800530.164785 weird: data_after_reset -964800530.699962 weird: bad_ICMP_checksum -964800530.964697 weird: data_after_reset -964800531.660170 weird: bad_ICMP_checksum -964800532.564519 weird: data_after_reset -964800532.620005 weird: bad_ICMP_checksum -964800533.580362 weird: bad_ICMP_checksum -964800533.982781 weird: spontaneous_FIN -964800534.540043 weird: bad_ICMP_checksum -964800535.500254 weird: bad_ICMP_checksum -964800536.264020 weird: spontaneous_FIN -964800536.460088 weird: bad_ICMP_checksum -964800537.740118 weird: bad_ICMP_checksum -964800538.700334 weird: bad_ICMP_checksum -964800539.053438 weird: spontaneous_FIN -964800539.660156 weird: bad_ICMP_checksum -964800540.224097 weird: data_after_reset -964800540.420703 weird: data_after_reset -964800540.620379 weird: bad_ICMP_checksum -964800540.820584 weird: data_after_reset -964800540.957711 weird: baroque_SYN -964800540.957832 weird: spontaneous_FIN -964800541.580250 weird: bad_ICMP_checksum -964800541.620592 weird: data_after_reset -964800541.671365 weird: spontaneous_FIN -964800542.540473 weird: bad_ICMP_checksum -964800543.500251 weird: bad_ICMP_checksum -964800544.068769 weird: spontaneous_FIN -964800544.460469 weird: bad_ICMP_checksum -964800545.440289 weird: bad_ICMP_checksum -964800546.720358 weird: bad_ICMP_checksum -964800547.680554 weird: bad_ICMP_checksum -964800547.754819 weird: baroque_SYN -964800547.754932 weird: spontaneous_FIN -964800548.640378 weird: bad_ICMP_checksum -964800549.143504 weird: spontaneous_FIN -964800549.600531 weird: bad_ICMP_checksum -964800550.560411 weird: bad_ICMP_checksum -964800551.510664 weird: bad_ICMP_checksum -964800551.731327 weird: baroque_SYN -964800551.732835 weird: spontaneous_FIN -964800552.470464 weird: bad_ICMP_checksum -964800553.004650 weird: baroque_SYN -964800553.004767 weird: spontaneous_FIN -964800553.143856 weird: baroque_SYN -964800553.143962 weird: spontaneous_FIN -964800553.720526 weird: bad_ICMP_checksum -964800554.203581 weird: spontaneous_FIN -964800554.660732 weird: bad_ICMP_checksum -964800555.620533 weird: bad_ICMP_checksum -964800556.290717 weird: bad_ICMP_checksum -964800556.290765 weird: bad_ICMP_checksum -964800556.290798 weird: bad_ICMP_checksum -964800556.290829 weird: bad_ICMP_checksum -964800556.291005 weird: bad_ICMP_checksum -964800556.291035 weird: bad_ICMP_checksum -964800556.580671 weird: bad_ICMP_checksum -964800556.605310 weird: connection_originator_SYN_ack -964800556.624866 weird: spontaneous_FIN -964800556.644927 weird: spontaneous_FIN -964800557.297929 weird: baroque_SYN -964800557.312496 weird: bad_ICMP_checksum -964800557.313133 weird: spontaneous_FIN -964800557.313649 weird: bad_ICMP_checksum -964800557.540568 weird: bad_ICMP_checksum -964800557.541769 weird: bad_ICMP_checksum -964800558.392719 weird: baroque_SYN -964800558.392822 weird: spontaneous_FIN -964800558.500712 weird: bad_ICMP_checksum -964800558.844585 weird: bad_ICMP_checksum -964800558.844939 weird: bad_ICMP_checksum -964800559.433397 weird: bad_ICMP_checksum -964800559.460653 weird: bad_ICMP_checksum -964800560.420906 weird: bad_ICMP_checksum -964800560.740639 weird: bad_ICMP_checksum -964800561.366471 weird: bad_ICMP_checksum -964800561.701105 weird: bad_ICMP_checksum -964800562.545617 weird: spontaneous_FIN -964800562.660728 weird: bad_ICMP_checksum -964800563.286658 weird: bad_ICMP_checksum -964800563.620888 weird: bad_ICMP_checksum -964800564.072812 weird: baroque_SYN -964800564.072916 weird: spontaneous_FIN -964800564.580737 weird: bad_ICMP_checksum -964800564.580842 weird: bad_ICMP_checksum -964800565.526321 weird: bad_ICMP_checksum -964800565.540875 weird: bad_ICMP_checksum -964800566.484104 weird: bad_ICMP_checksum -964800566.506274 weird: bad_ICMP_checksum -964800567.440964 weird: bad_ICMP_checksum -964800567.448914 weird: bad_ICMP_checksum -964800567.864249 weird: spontaneous_FIN -964800568.390956 weird: bad_ICMP_checksum -964800568.602706 weird: bad_ICMP_checksum -964800569.356524 weird: bad_ICMP_checksum -964800569.560982 weird: bad_ICMP_checksum -964800570.287366 weird: bad_ICMP_checksum -964800570.520859 weird: bad_ICMP_checksum -964800571.360661 weird: spontaneous_FIN -964800571.461071 weird: bad_ICMP_checksum -964800571.550624 weird: bad_ICMP_checksum -964800572.496064 weird: bad_ICMP_checksum -964800572.741056 weird: bad_ICMP_checksum -964800573.143829 weird: spontaneous_FIN -964800573.291815 weird: baroque_SYN -964800573.293891 weird: spontaneous_FIN -964800573.476638 weird: bad_ICMP_checksum -964800573.476781 weird: bad_ICMP_checksum -964800573.476932 weird: bad_ICMP_checksum -964800573.477180 weird: bad_ICMP_checksum -964800573.477411 weird: bad_ICMP_checksum -964800573.477648 weird: bad_ICMP_checksum -964800573.477884 weird: bad_ICMP_checksum -964800573.700930 weird: bad_ICMP_checksum -964800574.419018 weird: bad_ICMP_checksum -964800574.661104 weird: bad_ICMP_checksum -964800574.750114 weird: bad_ICMP_checksum -964800575.385981 weird: bad_ICMP_checksum -964800575.620975 weird: bad_ICMP_checksum -964800575.710093 weird: bad_ICMP_checksum -964800576.329429 weird: baroque_SYN -964800576.344096 weird: bad_ICMP_checksum -964800576.345573 weird: spontaneous_FIN -964800576.581216 weird: bad_ICMP_checksum -964800576.670041 weird: bad_ICMP_checksum -964800577.295913 weird: bad_ICMP_checksum -964800577.541017 weird: bad_ICMP_checksum -964800577.630051 weird: bad_ICMP_checksum -964800578.501184 weird: bad_ICMP_checksum -964800578.555516 weird: spontaneous_FIN -964800578.575875 weird: bad_ICMP_checksum -964800579.461049 weird: bad_ICMP_checksum -964800579.545843 weird: bad_ICMP_checksum -964800580.515833 weird: bad_ICMP_checksum -964800580.741099 weird: bad_ICMP_checksum -964800581.269812 weird: bad_ICMP_checksum -964800581.269910 weird: bad_ICMP_checksum -964800581.270092 weird: bad_ICMP_checksum -964800581.469089 weird: bad_ICMP_checksum -964800581.701262 weird: bad_ICMP_checksum -964800582.661127 weird: bad_ICMP_checksum -964800583.366294 weird: bad_ICMP_checksum -964800583.621351 weird: bad_ICMP_checksum -964800583.703924 weird: spontaneous_FIN -964800584.581226 weird: bad_ICMP_checksum -964800585.541356 weird: bad_ICMP_checksum -964800585.585629 weird: bad_ICMP_checksum -964800586.501211 weird: bad_ICMP_checksum -964800586.522091 weird: bad_ICMP_checksum -964800587.269645 weird: bad_ICMP_checksum -964800587.269741 weird: bad_ICMP_checksum -964800587.269996 weird: bad_ICMP_checksum -964800587.270091 weird: bad_ICMP_checksum -964800587.270345 weird: bad_ICMP_checksum -964800587.270440 weird: bad_ICMP_checksum -964800587.426354 weird: baroque_SYN -964800587.431182 weird: spontaneous_FIN -964800587.441999 weird: bad_ICMP_checksum -964800587.541379 weird: bad_ICMP_checksum -964800588.391106 weird: bad_ICMP_checksum -964800588.501272 weird: bad_ICMP_checksum -964800588.804089 weird: spontaneous_FIN -964800589.345467 weird: bad_ICMP_checksum -964800589.461496 weird: bad_ICMP_checksum -964800590.295471 weird: bad_ICMP_checksum -964800590.421669 weird: bad_ICMP_checksum -964800591.575425 weird: bad_ICMP_checksum -964800591.701386 weird: bad_ICMP_checksum -964800592.661525 weird: bad_ICMP_checksum -964800593.489858 weird: bad_ICMP_checksum -964800593.621398 weird: bad_ICMP_checksum -964800593.906118 weird: spontaneous_FIN -964800594.472035 weird: spontaneous_FIN -964800594.472132 weird: spontaneous_FIN -964800594.472209 weird: spontaneous_FIN -964800594.472501 weird: spontaneous_FIN -964800594.472586 weird: spontaneous_FIN -964800594.472699 weird: spontaneous_FIN -964800594.472912 weird: spontaneous_FIN -964800594.472997 weird: spontaneous_FIN -964800594.473081 weird: spontaneous_FIN -964800594.473294 weird: spontaneous_FIN -964800594.473381 weird: spontaneous_FIN -964800594.555131 weird: spontaneous_FIN -964800594.555223 weird: spontaneous_FIN -964800594.555304 weird: spontaneous_FIN -964800594.555382 weird: spontaneous_FIN -964800594.555567 weird: spontaneous_FIN -964800594.555821 weird: spontaneous_FIN -964800594.555905 weird: spontaneous_FIN -964800594.555988 weird: spontaneous_FIN -964800594.556205 weird: spontaneous_FIN -964800594.556288 weird: spontaneous_FIN -964800594.556371 weird: spontaneous_FIN -964800594.556587 weird: spontaneous_FIN -964800594.556668 weird: spontaneous_FIN -964800594.556757 weird: spontaneous_FIN -964800594.581659 weird: bad_ICMP_checksum -964800594.645231 weird: spontaneous_FIN -964800594.645327 weird: spontaneous_FIN -964800594.645405 weird: spontaneous_FIN -964800594.645670 weird: spontaneous_FIN -964800594.645760 weird: spontaneous_FIN -964800594.645938 weird: spontaneous_FIN -964800594.646047 weird: spontaneous_FIN -964800594.646178 weird: spontaneous_FIN -964800594.646305 weird: spontaneous_FIN -964800594.646445 weird: spontaneous_FIN -964800594.646569 weird: spontaneous_FIN -964800594.646694 weird: spontaneous_FIN -964800594.646820 weird: spontaneous_FIN -964800594.646944 weird: spontaneous_FIN -964800594.647069 weird: spontaneous_FIN -964800594.647193 weird: spontaneous_FIN -964800594.647310 weird: spontaneous_FIN -964800594.647433 weird: spontaneous_FIN -964800594.735300 weird: spontaneous_FIN -964800594.735397 weird: spontaneous_FIN -964800594.735516 weird: spontaneous_FIN -964800594.735727 weird: spontaneous_FIN -964800594.735813 weird: spontaneous_FIN -964800594.735953 weird: spontaneous_FIN -964800594.736068 weird: spontaneous_FIN -964800594.736192 weird: spontaneous_FIN -964800594.736322 weird: spontaneous_FIN -964800594.736462 weird: spontaneous_FIN -964800594.736573 weird: spontaneous_FIN -964800594.736699 weird: spontaneous_FIN -964800594.736840 weird: spontaneous_FIN -964800594.736964 weird: spontaneous_FIN -964800594.737087 weird: spontaneous_FIN -964800594.737227 weird: spontaneous_FIN -964800594.737352 weird: spontaneous_FIN -964800594.737490 weird: spontaneous_FIN -964800594.737611 weird: spontaneous_FIN -964800594.737737 weird: spontaneous_FIN -964800594.737861 weird: spontaneous_FIN -964800594.737983 weird: spontaneous_FIN -964800594.815153 weird: spontaneous_FIN -964800594.815247 weird: spontaneous_FIN -964800594.815436 weird: spontaneous_FIN -964800594.815541 weird: spontaneous_FIN -964800594.815775 weird: spontaneous_FIN -964800594.815860 weird: spontaneous_FIN -964800594.815999 weird: spontaneous_FIN -964800594.816108 weird: spontaneous_FIN -964800594.816235 weird: spontaneous_FIN -964800594.816362 weird: spontaneous_FIN -964800594.816500 weird: spontaneous_FIN -964800594.816623 weird: spontaneous_FIN -964800594.816744 weird: spontaneous_FIN -964800594.816869 weird: spontaneous_FIN -964800594.816995 weird: spontaneous_FIN -964800594.817121 weird: spontaneous_FIN -964800594.817248 weird: spontaneous_FIN -964800594.817373 weird: spontaneous_FIN -964800594.817511 weird: spontaneous_FIN -964800594.817627 weird: spontaneous_FIN -964800594.817750 weird: spontaneous_FIN -964800594.817874 weird: spontaneous_FIN -964800594.817996 weird: spontaneous_FIN -964800594.818117 weird: spontaneous_FIN -964800594.818241 weird: spontaneous_FIN -964800594.901870 weird: spontaneous_FIN -964800594.901955 weird: spontaneous_FIN -964800594.902041 weird: spontaneous_FIN -964800594.902273 weird: spontaneous_FIN -964800594.902358 weird: spontaneous_FIN -964800594.902444 weird: spontaneous_FIN -964800594.902661 weird: spontaneous_FIN -964800594.902743 weird: spontaneous_FIN -964800594.902931 weird: spontaneous_FIN -964800594.903030 weird: spontaneous_FIN -964800594.903154 weird: spontaneous_FIN -964800594.903277 weird: spontaneous_FIN -964800594.903400 weird: spontaneous_FIN -964800594.903540 weird: spontaneous_FIN -964800594.903660 weird: spontaneous_FIN -964800594.903786 weird: spontaneous_FIN -964800594.903912 weird: spontaneous_FIN -964800594.904135 weird: spontaneous_FIN -964800594.904228 weird: spontaneous_FIN -964800594.904366 weird: spontaneous_FIN -964800594.904482 weird: spontaneous_FIN -964800594.904607 weird: spontaneous_FIN -964800594.904726 weird: spontaneous_FIN -964800594.904861 weird: spontaneous_FIN -964800594.904978 weird: spontaneous_FIN -964800594.905162 weird: spontaneous_FIN -964800594.905270 weird: spontaneous_FIN -964800594.905408 weird: spontaneous_FIN -964800594.905519 weird: spontaneous_FIN -964800594.985326 weird: spontaneous_FIN -964800594.985420 weird: spontaneous_FIN -964800594.985544 weird: spontaneous_FIN -964800594.985741 weird: spontaneous_FIN -964800594.985828 weird: spontaneous_FIN -964800594.985960 weird: spontaneous_FIN -964800594.986079 weird: spontaneous_FIN -964800594.986192 weird: spontaneous_FIN -964800594.986319 weird: spontaneous_FIN -964800594.986443 weird: spontaneous_FIN -964800594.986567 weird: spontaneous_FIN -964800594.986690 weird: spontaneous_FIN -964800594.986817 weird: spontaneous_FIN -964800594.986942 weird: spontaneous_FIN -964800594.987084 weird: spontaneous_FIN -964800594.987207 weird: spontaneous_FIN -964800594.987332 weird: spontaneous_FIN -964800594.987459 weird: spontaneous_FIN -964800594.987581 weird: spontaneous_FIN -964800594.987705 weird: spontaneous_FIN -964800594.987827 weird: spontaneous_FIN -964800594.987943 weird: spontaneous_FIN -964800594.988069 weird: spontaneous_FIN -964800594.988193 weird: spontaneous_FIN -964800594.988315 weird: spontaneous_FIN -964800594.988440 weird: spontaneous_FIN -964800594.988563 weird: spontaneous_FIN -964800594.988685 weird: spontaneous_FIN -964800594.988825 weird: spontaneous_FIN -964800594.988993 weird: spontaneous_FIN -964800594.989109 weird: spontaneous_FIN -964800594.989285 weird: spontaneous_FIN -964800594.989412 weird: spontaneous_FIN -964800595.075234 weird: spontaneous_FIN -964800595.075332 weird: spontaneous_FIN -964800595.075409 weird: spontaneous_FIN -964800595.075637 weird: spontaneous_FIN -964800595.075752 weird: spontaneous_FIN -964800595.075878 weird: spontaneous_FIN -964800595.076005 weird: spontaneous_FIN -964800595.076134 weird: spontaneous_FIN -964800595.076276 weird: spontaneous_FIN -964800595.076411 weird: spontaneous_FIN -964800595.076506 weird: spontaneous_FIN -964800595.076673 weird: spontaneous_FIN -964800595.076780 weird: spontaneous_FIN -964800595.076909 weird: spontaneous_FIN -964800595.077032 weird: spontaneous_FIN -964800595.077198 weird: spontaneous_FIN -964800595.077317 weird: spontaneous_FIN -964800595.077439 weird: spontaneous_FIN -964800595.077584 weird: spontaneous_FIN -964800595.077676 weird: spontaneous_FIN -964800595.077848 weird: spontaneous_FIN -964800595.077969 weird: spontaneous_FIN -964800595.078092 weird: spontaneous_FIN -964800595.078220 weird: spontaneous_FIN -964800595.078358 weird: spontaneous_FIN -964800595.078480 weird: spontaneous_FIN -964800595.078601 weird: spontaneous_FIN -964800595.078723 weird: spontaneous_FIN -964800595.078845 weird: spontaneous_FIN -964800595.078970 weird: spontaneous_FIN -964800595.079092 weird: spontaneous_FIN -964800595.079214 weird: spontaneous_FIN -964800595.079331 weird: spontaneous_FIN -964800595.079451 weird: spontaneous_FIN -964800595.079576 weird: spontaneous_FIN -964800595.079700 weird: spontaneous_FIN -964800595.079842 weird: spontaneous_FIN -964800595.165160 weird: spontaneous_FIN -964800595.165251 weird: spontaneous_FIN -964800595.165365 weird: spontaneous_FIN -964800595.165572 weird: spontaneous_FIN -964800595.165660 weird: spontaneous_FIN -964800595.165787 weird: spontaneous_FIN -964800595.165914 weird: spontaneous_FIN -964800595.166043 weird: spontaneous_FIN -964800595.166174 weird: spontaneous_FIN -964800595.166315 weird: spontaneous_FIN -964800595.166438 weird: spontaneous_FIN -964800595.166869 weird: spontaneous_FIN -964800595.167041 weird: spontaneous_FIN -964800595.167374 weird: spontaneous_FIN -964800595.167721 weird: spontaneous_FIN -964800595.167891 weird: spontaneous_FIN -964800595.168224 weird: spontaneous_FIN -964800595.168555 weird: spontaneous_FIN -964800595.168891 weird: spontaneous_FIN -964800595.168902 weird: spontaneous_FIN -964800595.169073 weird: spontaneous_FIN -964800595.169405 weird: spontaneous_FIN -964800595.169905 weird: spontaneous_FIN -964800595.170237 weird: spontaneous_FIN -964800595.170404 weird: spontaneous_FIN -964800595.170739 weird: spontaneous_FIN -964800595.171064 weird: spontaneous_FIN -964800595.171391 weird: spontaneous_FIN -964800595.171558 weird: spontaneous_FIN -964800595.171885 weird: spontaneous_FIN -964800595.172210 weird: spontaneous_FIN -964800595.172536 weird: spontaneous_FIN -964800595.172863 weird: spontaneous_FIN -964800595.173189 weird: spontaneous_FIN -964800595.173357 weird: spontaneous_FIN -964800595.173700 weird: spontaneous_FIN -964800595.174025 weird: spontaneous_FIN -964800595.174192 weird: spontaneous_FIN -964800595.174518 weird: spontaneous_FIN -964800595.174844 weird: spontaneous_FIN -964800595.175011 weird: spontaneous_FIN -964800595.256567 weird: spontaneous_FIN -964800595.256655 weird: spontaneous_FIN -964800595.256727 weird: spontaneous_FIN -964800595.256959 weird: spontaneous_FIN -964800595.257059 weird: spontaneous_FIN -964800595.257207 weird: spontaneous_FIN -964800595.257322 weird: spontaneous_FIN -964800595.257452 weird: spontaneous_FIN -964800595.257580 weird: spontaneous_FIN -964800595.257691 weird: spontaneous_FIN -964800595.257819 weird: spontaneous_FIN -964800595.257943 weird: spontaneous_FIN -964800595.258083 weird: spontaneous_FIN -964800595.258207 weird: spontaneous_FIN -964800595.258331 weird: spontaneous_FIN -964800595.258471 weird: spontaneous_FIN -964800595.258600 weird: spontaneous_FIN -964800595.258725 weird: spontaneous_FIN -964800595.258849 weird: spontaneous_FIN -964800595.258978 weird: spontaneous_FIN -964800595.259101 weird: spontaneous_FIN -964800595.259225 weird: spontaneous_FIN -964800595.259348 weird: spontaneous_FIN -964800595.259474 weird: spontaneous_FIN -964800595.259600 weird: spontaneous_FIN -964800595.259724 weird: spontaneous_FIN -964800595.259851 weird: spontaneous_FIN -964800595.259992 weird: spontaneous_FIN -964800595.260119 weird: spontaneous_FIN -964800595.260342 weird: spontaneous_FIN -964800595.260436 weird: spontaneous_FIN -964800595.260692 weird: spontaneous_FIN -964800595.260786 weird: spontaneous_FIN -964800595.261023 weird: spontaneous_FIN -964800595.261115 weird: spontaneous_FIN -964800595.261372 weird: spontaneous_FIN -964800595.261468 weird: spontaneous_FIN -964800595.261731 weird: spontaneous_FIN -964800595.261824 weird: spontaneous_FIN -964800595.262062 weird: spontaneous_FIN -964800595.262156 weird: spontaneous_FIN -964800595.262418 weird: spontaneous_FIN -964800595.262514 weird: spontaneous_FIN -964800595.262754 weird: spontaneous_FIN -964800595.262869 weird: spontaneous_FIN -964800595.345259 weird: spontaneous_FIN -964800595.345355 weird: spontaneous_FIN -964800595.345565 weird: spontaneous_FIN -964800595.345653 weird: spontaneous_FIN -964800595.345785 weird: spontaneous_FIN -964800595.345910 weird: spontaneous_FIN -964800595.346035 weird: spontaneous_FIN -964800595.346176 weird: spontaneous_FIN -964800595.346299 weird: spontaneous_FIN -964800595.346422 weird: spontaneous_FIN -964800595.346546 weird: spontaneous_FIN -964800595.346624 weird: spontaneous_FIN -964800595.346759 weird: spontaneous_FIN -964800595.346879 weird: spontaneous_FIN -964800595.347002 weird: spontaneous_FIN -964800595.347124 weird: spontaneous_FIN -964800595.347251 weird: spontaneous_FIN -964800595.347375 weird: spontaneous_FIN -964800595.347500 weird: spontaneous_FIN -964800595.347624 weird: spontaneous_FIN -964800595.347746 weird: spontaneous_FIN -964800595.347887 weird: spontaneous_FIN -964800595.348017 weird: spontaneous_FIN -964800595.348147 weird: spontaneous_FIN -964800595.348276 weird: spontaneous_FIN -964800595.348420 weird: spontaneous_FIN -964800595.348545 weird: spontaneous_FIN -964800595.348670 weird: spontaneous_FIN -964800595.348797 weird: spontaneous_FIN -964800595.348923 weird: spontaneous_FIN -964800595.349065 weird: spontaneous_FIN -964800595.349192 weird: spontaneous_FIN -964800595.349312 weird: spontaneous_FIN -964800595.349453 weird: spontaneous_FIN -964800595.349570 weird: spontaneous_FIN -964800595.349695 weird: spontaneous_FIN -964800595.349817 weird: spontaneous_FIN -964800595.349940 weird: spontaneous_FIN -964800595.350064 weird: spontaneous_FIN -964800595.350207 weird: spontaneous_FIN -964800595.350331 weird: spontaneous_FIN -964800595.350456 weird: spontaneous_FIN -964800595.350584 weird: spontaneous_FIN -964800595.350709 weird: spontaneous_FIN -964800595.350854 weird: spontaneous_FIN -964800595.350981 weird: spontaneous_FIN -964800595.351109 weird: spontaneous_FIN -964800595.351253 weird: spontaneous_FIN -964800595.351377 weird: spontaneous_FIN -964800595.445255 weird: spontaneous_FIN -964800595.445361 weird: spontaneous_FIN -964800595.445442 weird: spontaneous_FIN -964800595.445652 weird: spontaneous_FIN -964800595.445739 weird: spontaneous_FIN -964800595.445900 weird: spontaneous_FIN -964800595.446008 weird: spontaneous_FIN -964800595.446138 weird: spontaneous_FIN -964800595.446282 weird: spontaneous_FIN -964800595.446407 weird: spontaneous_FIN -964800595.446534 weird: spontaneous_FIN -964800595.446664 weird: spontaneous_FIN -964800595.446791 weird: spontaneous_FIN -964800595.446931 weird: spontaneous_FIN -964800595.447052 weird: spontaneous_FIN -964800595.447178 weird: spontaneous_FIN -964800595.447321 weird: spontaneous_FIN -964800595.447429 weird: spontaneous_FIN -964800595.447595 weird: spontaneous_FIN -964800595.447708 weird: spontaneous_FIN -964800595.447832 weird: spontaneous_FIN -964800595.447955 weird: spontaneous_FIN -964800595.448081 weird: spontaneous_FIN -964800595.448220 weird: spontaneous_FIN -964800595.448344 weird: spontaneous_FIN -964800595.448484 weird: spontaneous_FIN -964800595.448608 weird: spontaneous_FIN -964800595.448733 weird: spontaneous_FIN -964800595.448859 weird: spontaneous_FIN -964800595.448987 weird: spontaneous_FIN -964800595.449112 weird: spontaneous_FIN -964800595.449255 weird: spontaneous_FIN -964800595.449380 weird: spontaneous_FIN -964800595.449506 weird: spontaneous_FIN -964800595.449632 weird: spontaneous_FIN -964800595.449763 weird: spontaneous_FIN -964800595.449908 weird: spontaneous_FIN -964800595.450034 weird: spontaneous_FIN -964800595.450162 weird: spontaneous_FIN -964800595.450300 weird: spontaneous_FIN -964800595.450423 weird: spontaneous_FIN -964800595.450566 weird: spontaneous_FIN -964800595.450690 weird: spontaneous_FIN -964800595.450819 weird: spontaneous_FIN -964800595.450959 weird: spontaneous_FIN -964800595.451070 weird: spontaneous_FIN -964800595.451196 weird: spontaneous_FIN -964800595.451318 weird: spontaneous_FIN -964800595.451442 weird: spontaneous_FIN -964800595.451566 weird: spontaneous_FIN -964800595.451704 weird: spontaneous_FIN -964800595.451827 weird: spontaneous_FIN -964800595.533346 weird: spontaneous_FIN -964800595.533436 weird: spontaneous_FIN -964800595.533522 weird: spontaneous_FIN -964800595.533687 weird: spontaneous_FIN -964800595.533867 weird: spontaneous_FIN -964800595.533994 weird: spontaneous_FIN -964800595.534126 weird: spontaneous_FIN -964800595.534249 weird: spontaneous_FIN -964800595.534382 weird: spontaneous_FIN -964800595.534515 weird: spontaneous_FIN -964800595.534633 weird: spontaneous_FIN -964800595.534758 weird: spontaneous_FIN -964800595.534892 weird: spontaneous_FIN -964800595.535070 weird: spontaneous_FIN -964800595.535185 weird: spontaneous_FIN -964800595.535321 weird: spontaneous_FIN -964800595.535446 weird: spontaneous_FIN -964800595.535571 weird: spontaneous_FIN -964800595.535696 weird: spontaneous_FIN -964800595.535826 weird: spontaneous_FIN -964800595.535951 weird: spontaneous_FIN -964800595.536087 weird: spontaneous_FIN -964800595.536212 weird: spontaneous_FIN -964800595.536333 weird: spontaneous_FIN -964800595.536470 weird: spontaneous_FIN -964800595.536592 weird: spontaneous_FIN -964800595.536723 weird: spontaneous_FIN -964800595.536870 weird: spontaneous_FIN -964800595.537007 weird: spontaneous_FIN -964800595.537127 weird: spontaneous_FIN -964800595.537255 weird: spontaneous_FIN -964800595.537383 weird: spontaneous_FIN -964800595.537518 weird: spontaneous_FIN -964800595.537641 weird: spontaneous_FIN -964800595.537761 weird: spontaneous_FIN -964800595.537886 weird: spontaneous_FIN -964800595.538020 weird: spontaneous_FIN -964800595.538148 weird: spontaneous_FIN -964800595.538272 weird: spontaneous_FIN -964800595.538398 weird: spontaneous_FIN -964800595.538528 weird: spontaneous_FIN -964800595.538640 weird: spontaneous_FIN -964800595.538770 weird: spontaneous_FIN -964800595.538911 weird: spontaneous_FIN -964800595.539036 weird: spontaneous_FIN -964800595.539165 weird: spontaneous_FIN -964800595.539309 weird: spontaneous_FIN -964800595.539425 weird: spontaneous_FIN -964800595.539554 weird: spontaneous_FIN -964800595.539698 weird: spontaneous_FIN -964800595.539824 weird: spontaneous_FIN -964800595.539970 weird: spontaneous_FIN -964800595.540092 weird: spontaneous_FIN -964800595.540213 weird: spontaneous_FIN -964800595.540290 weird: spontaneous_FIN -964800595.540454 weird: spontaneous_FIN -964800595.541427 weird: bad_ICMP_checksum -964800595.626008 weird: spontaneous_FIN -964800595.626107 weird: spontaneous_FIN -964800595.626187 weird: spontaneous_FIN -964800595.626273 weird: spontaneous_FIN -964800595.626512 weird: spontaneous_FIN -964800595.626592 weird: spontaneous_FIN -964800595.626754 weird: spontaneous_FIN -964800595.626862 weird: spontaneous_FIN -964800595.626989 weird: spontaneous_FIN -964800595.627117 weird: spontaneous_FIN -964800595.627244 weird: spontaneous_FIN -964800595.627388 weird: spontaneous_FIN -964800595.627505 weird: spontaneous_FIN -964800595.627630 weird: spontaneous_FIN -964800595.627759 weird: spontaneous_FIN -964800595.627901 weird: spontaneous_FIN -964800595.628024 weird: spontaneous_FIN -964800595.628147 weird: spontaneous_FIN -964800595.628289 weird: spontaneous_FIN -964800595.628507 weird: spontaneous_FIN -964800595.628593 weird: spontaneous_FIN -964800595.628729 weird: spontaneous_FIN -964800595.628855 weird: spontaneous_FIN -964800595.628977 weird: spontaneous_FIN -964800595.629114 weird: spontaneous_FIN -964800595.629223 weird: spontaneous_FIN -964800595.629348 weird: spontaneous_FIN -964800595.629476 weird: spontaneous_FIN -964800595.629604 weird: spontaneous_FIN -964800595.629730 weird: spontaneous_FIN -964800595.629861 weird: spontaneous_FIN -964800595.629987 weird: spontaneous_FIN -964800595.630113 weird: spontaneous_FIN -964800595.630233 weird: spontaneous_FIN -964800595.630359 weird: spontaneous_FIN -964800595.630542 weird: spontaneous_FIN -964800595.630661 weird: spontaneous_FIN -964800595.630792 weird: spontaneous_FIN -964800595.630920 weird: spontaneous_FIN -964800595.631043 weird: spontaneous_FIN -964800595.631167 weird: spontaneous_FIN -964800595.631311 weird: spontaneous_FIN -964800595.631433 weird: spontaneous_FIN -964800595.631556 weird: spontaneous_FIN -964800595.631680 weird: spontaneous_FIN -964800595.631804 weird: spontaneous_FIN -964800595.631930 weird: spontaneous_FIN -964800595.632055 weird: spontaneous_FIN -964800595.632183 weird: spontaneous_FIN -964800595.632312 weird: spontaneous_FIN -964800595.632442 weird: spontaneous_FIN -964800595.632572 weird: spontaneous_FIN -964800595.632699 weird: spontaneous_FIN -964800595.632827 weird: spontaneous_FIN -964800595.632952 weird: spontaneous_FIN -964800595.633077 weird: spontaneous_FIN -964800595.633203 weird: spontaneous_FIN -964800595.633322 weird: spontaneous_FIN -964800595.633448 weird: spontaneous_FIN -964800595.633569 weird: spontaneous_FIN -964800595.725241 weird: spontaneous_FIN -964800595.725339 weird: spontaneous_FIN -964800595.737019 weird: spontaneous_FIN -964800595.737122 weird: spontaneous_FIN -964800595.737303 weird: spontaneous_FIN -964800595.737419 weird: spontaneous_FIN -964800595.737542 weird: spontaneous_FIN -964800595.737669 weird: spontaneous_FIN -964800595.737798 weird: spontaneous_FIN -964800595.737924 weird: spontaneous_FIN -964800595.738052 weird: spontaneous_FIN -964800595.738194 weird: spontaneous_FIN -964800595.738319 weird: spontaneous_FIN -964800595.738442 weird: spontaneous_FIN -964800595.738566 weird: spontaneous_FIN -964800595.738705 weird: spontaneous_FIN -964800595.738828 weird: spontaneous_FIN -964800595.738952 weird: spontaneous_FIN -964800595.739081 weird: spontaneous_FIN -964800595.739223 weird: spontaneous_FIN -964800595.739349 weird: spontaneous_FIN -964800595.739457 weird: spontaneous_FIN -964800595.739584 weird: spontaneous_FIN -964800595.739706 weird: spontaneous_FIN -964800595.739829 weird: spontaneous_FIN -964800595.739954 weird: spontaneous_FIN -964800595.740077 weird: spontaneous_FIN -964800595.740244 weird: spontaneous_FIN -964800595.740366 weird: spontaneous_FIN -964800595.740489 weird: spontaneous_FIN -964800595.740618 weird: spontaneous_FIN -964800595.740746 weird: spontaneous_FIN -964800595.740882 weird: spontaneous_FIN -964800595.741005 weird: spontaneous_FIN -964800595.741131 weird: spontaneous_FIN -964800595.741258 weird: spontaneous_FIN -964800595.741386 weird: spontaneous_FIN -964800595.741514 weird: spontaneous_FIN -964800595.741642 weird: spontaneous_FIN -964800595.741828 weird: spontaneous_FIN -964800595.741952 weird: spontaneous_FIN -964800595.742095 weird: spontaneous_FIN -964800595.742218 weird: spontaneous_FIN -964800595.742361 weird: spontaneous_FIN -964800595.742484 weird: spontaneous_FIN -964800595.742682 weird: spontaneous_FIN -964800595.742779 weird: spontaneous_FIN -964800595.743031 weird: spontaneous_FIN -964800595.743122 weird: spontaneous_FIN -964800595.743371 weird: spontaneous_FIN -964800595.743520 weird: spontaneous_FIN -964800595.743571 weird: spontaneous_FIN -964800595.743821 weird: spontaneous_FIN -964800595.743906 weird: spontaneous_FIN -964800595.744075 weird: spontaneous_FIN -964800595.744183 weird: spontaneous_FIN -964800595.744313 weird: spontaneous_FIN -964800595.744441 weird: spontaneous_FIN -964800595.744569 weird: spontaneous_FIN -964800595.744779 weird: spontaneous_FIN -964800595.744877 weird: spontaneous_FIN -964800595.745153 weird: spontaneous_FIN -964800595.745244 weird: spontaneous_FIN -964800595.745498 weird: spontaneous_FIN -964800595.835321 weird: spontaneous_FIN -964800595.835417 weird: spontaneous_FIN -964800595.835531 weird: spontaneous_FIN -964800595.835735 weird: spontaneous_FIN -964800595.835819 weird: spontaneous_FIN -964800595.835976 weird: spontaneous_FIN -964800595.836080 weird: spontaneous_FIN -964800595.836207 weird: spontaneous_FIN -964800595.836334 weird: spontaneous_FIN -964800595.836458 weird: spontaneous_FIN -964800595.836575 weird: spontaneous_FIN -964800595.836702 weird: spontaneous_FIN -964800595.836830 weird: spontaneous_FIN -964800595.836958 weird: spontaneous_FIN -964800595.837101 weird: spontaneous_FIN -964800595.837226 weird: spontaneous_FIN -964800595.837394 weird: spontaneous_FIN -964800595.837509 weird: spontaneous_FIN -964800595.837668 weird: spontaneous_FIN -964800595.837792 weird: spontaneous_FIN -964800595.837931 weird: spontaneous_FIN -964800595.838051 weird: spontaneous_FIN -964800595.838178 weird: spontaneous_FIN -964800595.838319 weird: spontaneous_FIN -964800595.838441 weird: spontaneous_FIN -964800595.838568 weird: spontaneous_FIN -964800595.838682 weird: spontaneous_FIN -964800595.838821 weird: spontaneous_FIN -964800595.838947 weird: spontaneous_FIN -964800595.839057 weird: spontaneous_FIN -964800595.839183 weird: spontaneous_FIN -964800595.839308 weird: spontaneous_FIN -964800595.839433 weird: spontaneous_FIN -964800595.839557 weird: spontaneous_FIN -964800595.839681 weird: spontaneous_FIN -964800595.839808 weird: spontaneous_FIN -964800595.839938 weird: spontaneous_FIN -964800595.840064 weird: spontaneous_FIN -964800595.840196 weird: spontaneous_FIN -964800595.840340 weird: spontaneous_FIN -964800595.840456 weird: spontaneous_FIN -964800595.840578 weird: spontaneous_FIN -964800595.840701 weird: spontaneous_FIN -964800595.840825 weird: spontaneous_FIN -964800595.840949 weird: spontaneous_FIN -964800595.841073 weird: spontaneous_FIN -964800595.841213 weird: spontaneous_FIN -964800595.841331 weird: spontaneous_FIN -964800595.841456 weird: spontaneous_FIN -964800595.841580 weird: spontaneous_FIN -964800595.841710 weird: spontaneous_FIN -964800595.841912 weird: spontaneous_FIN -964800595.842006 weird: spontaneous_FIN -964800595.842238 weird: spontaneous_FIN -964800595.842333 weird: spontaneous_FIN -964800595.842554 weird: spontaneous_FIN -964800595.842649 weird: spontaneous_FIN -964800595.842879 weird: spontaneous_FIN -964800595.842969 weird: spontaneous_FIN -964800595.843200 weird: spontaneous_FIN -964800595.843294 weird: spontaneous_FIN -964800595.843538 weird: spontaneous_FIN -964800595.843631 weird: spontaneous_FIN -964800595.843868 weird: spontaneous_FIN -964800595.843962 weird: spontaneous_FIN -964800595.844209 weird: spontaneous_FIN -964800595.844304 weird: spontaneous_FIN -964800595.844536 weird: spontaneous_FIN -964800595.925253 weird: spontaneous_FIN -964800595.925350 weird: spontaneous_FIN -964800595.925424 weird: spontaneous_FIN -964800595.925681 weird: spontaneous_FIN -964800595.925763 weird: spontaneous_FIN -964800595.925931 weird: spontaneous_FIN -964800595.926038 weird: spontaneous_FIN -964800595.926268 weird: spontaneous_FIN -964800595.926285 weird: spontaneous_FIN -964800595.926334 weird: spontaneous_FIN -964800595.926520 weird: spontaneous_FIN -964800595.926707 weird: spontaneous_FIN -964800595.926818 weird: spontaneous_FIN -964800595.926945 weird: spontaneous_FIN -964800595.927087 weird: spontaneous_FIN -964800595.927202 weird: spontaneous_FIN -964800595.927323 weird: spontaneous_FIN -964800595.927447 weird: spontaneous_FIN -964800595.927569 weird: spontaneous_FIN -964800595.927693 weird: spontaneous_FIN -964800595.927816 weird: spontaneous_FIN -964800595.927938 weird: spontaneous_FIN -964800595.928062 weird: spontaneous_FIN -964800595.928186 weird: spontaneous_FIN -964800595.928310 weird: spontaneous_FIN -964800595.928437 weird: spontaneous_FIN -964800595.928595 weird: spontaneous_FIN -964800595.928701 weird: spontaneous_FIN -964800595.928874 weird: spontaneous_FIN -964800595.928988 weird: spontaneous_FIN -964800595.929113 weird: spontaneous_FIN -964800595.929238 weird: spontaneous_FIN -964800595.929367 weird: spontaneous_FIN -964800595.929566 weird: spontaneous_FIN -964800595.929674 weird: spontaneous_FIN -964800595.929852 weird: spontaneous_FIN -964800595.929978 weird: spontaneous_FIN -964800595.930101 weird: spontaneous_FIN -964800595.930227 weird: spontaneous_FIN -964800595.930368 weird: spontaneous_FIN -964800595.930493 weird: spontaneous_FIN -964800595.930637 weird: spontaneous_FIN -964800595.930759 weird: spontaneous_FIN -964800595.930901 weird: spontaneous_FIN -964800595.931026 weird: spontaneous_FIN -964800595.931150 weird: spontaneous_FIN -964800595.931293 weird: spontaneous_FIN -964800595.931437 weird: spontaneous_FIN -964800595.931561 weird: spontaneous_FIN -964800595.931706 weird: spontaneous_FIN -964800595.931827 weird: spontaneous_FIN -964800595.931950 weird: spontaneous_FIN -964800595.932074 weird: spontaneous_FIN -964800595.932201 weird: spontaneous_FIN -964800595.932327 weird: spontaneous_FIN -964800595.932764 weird: spontaneous_FIN -964800595.933098 weird: spontaneous_FIN -964800595.933430 weird: spontaneous_FIN -964800595.933760 weird: spontaneous_FIN -964800595.934093 weird: spontaneous_FIN -964800595.934425 weird: spontaneous_FIN -964800595.934757 weird: spontaneous_FIN -964800595.934926 weird: spontaneous_FIN -964800595.934936 weird: spontaneous_FIN -964800595.934946 weird: spontaneous_FIN -964800595.935272 weird: spontaneous_FIN -964800595.935597 weird: spontaneous_FIN -964800595.935923 weird: spontaneous_FIN -964800595.936090 weird: spontaneous_FIN -964800595.936416 weird: spontaneous_FIN -964800595.936742 weird: spontaneous_FIN -964800595.937067 weird: spontaneous_FIN -964800596.020982 weird: spontaneous_FIN -964800596.021078 weird: spontaneous_FIN -964800596.021154 weird: spontaneous_FIN -964800596.021390 weird: spontaneous_FIN -964800596.021474 weird: spontaneous_FIN -964800596.021636 weird: spontaneous_FIN -964800596.021743 weird: spontaneous_FIN -964800596.021874 weird: spontaneous_FIN -964800596.021996 weird: spontaneous_FIN -964800596.022118 weird: spontaneous_FIN -964800596.022246 weird: spontaneous_FIN -964800596.022387 weird: spontaneous_FIN -964800596.022510 weird: spontaneous_FIN -964800596.022634 weird: spontaneous_FIN -964800596.022774 weird: spontaneous_FIN -964800596.022902 weird: spontaneous_FIN -964800596.023043 weird: spontaneous_FIN -964800596.023187 weird: spontaneous_FIN -964800596.023275 weird: spontaneous_FIN -964800596.023445 weird: spontaneous_FIN -964800596.023555 weird: spontaneous_FIN -964800596.023685 weird: spontaneous_FIN -964800596.023810 weird: spontaneous_FIN -964800596.023957 weird: spontaneous_FIN -964800596.024074 weird: spontaneous_FIN -964800596.024199 weird: spontaneous_FIN -964800596.024326 weird: spontaneous_FIN -964800596.024454 weird: spontaneous_FIN -964800596.024587 weird: spontaneous_FIN -964800596.024707 weird: spontaneous_FIN -964800596.024839 weird: spontaneous_FIN -964800596.024956 weird: spontaneous_FIN -964800596.025140 weird: spontaneous_FIN -964800596.025251 weird: spontaneous_FIN -964800596.025377 weird: spontaneous_FIN -964800596.025501 weird: spontaneous_FIN -964800596.025642 weird: spontaneous_FIN -964800596.025761 weird: spontaneous_FIN -964800596.025846 weird: spontaneous_FIN -964800596.026016 weird: spontaneous_FIN -964800596.026130 weird: spontaneous_FIN -964800596.026254 weird: spontaneous_FIN -964800596.026393 weird: spontaneous_FIN -964800596.026509 weird: spontaneous_FIN -964800596.026632 weird: spontaneous_FIN -964800596.026756 weird: spontaneous_FIN -964800596.026884 weird: spontaneous_FIN -964800596.027028 weird: spontaneous_FIN -964800596.027149 weird: spontaneous_FIN -964800596.027274 weird: spontaneous_FIN -964800596.027418 weird: spontaneous_FIN -964800596.027541 weird: spontaneous_FIN -964800596.027678 weird: spontaneous_FIN -964800596.027800 weird: spontaneous_FIN -964800596.027922 weird: spontaneous_FIN -964800596.028064 weird: spontaneous_FIN -964800596.028188 weird: spontaneous_FIN -964800596.028297 weird: spontaneous_FIN -964800596.028425 weird: spontaneous_FIN -964800596.028554 weird: spontaneous_FIN -964800596.028729 weird: spontaneous_FIN -964800596.028910 weird: spontaneous_FIN -964800596.029031 weird: spontaneous_FIN -964800596.029252 weird: spontaneous_FIN -964800596.029360 weird: spontaneous_FIN -964800596.029571 weird: spontaneous_FIN -964800596.029678 weird: spontaneous_FIN -964800596.029901 weird: spontaneous_FIN -964800596.030007 weird: spontaneous_FIN -964800596.030231 weird: spontaneous_FIN -964800596.030347 weird: spontaneous_FIN -964800596.030602 weird: spontaneous_FIN -964800596.030699 weird: spontaneous_FIN -964800596.030936 weird: spontaneous_FIN -964800596.031030 weird: spontaneous_FIN -964800596.031291 weird: spontaneous_FIN -964800596.120457 weird: spontaneous_FIN -964800596.120556 weird: spontaneous_FIN -964800596.120637 weird: spontaneous_FIN -964800596.120760 weird: spontaneous_FIN -964800596.120969 weird: spontaneous_FIN -964800596.121056 weird: spontaneous_FIN -964800596.121202 weird: spontaneous_FIN -964800596.121313 weird: spontaneous_FIN -964800596.121441 weird: spontaneous_FIN -964800596.121564 weird: spontaneous_FIN -964800596.121708 weird: spontaneous_FIN -964800596.121827 weird: spontaneous_FIN -964800596.121951 weird: spontaneous_FIN -964800596.122127 weird: spontaneous_FIN -964800596.122235 weird: spontaneous_FIN -964800596.122360 weird: spontaneous_FIN -964800596.122487 weird: spontaneous_FIN -964800596.122608 weird: spontaneous_FIN -964800596.122729 weird: spontaneous_FIN -964800596.122853 weird: spontaneous_FIN -964800596.122981 weird: spontaneous_FIN -964800596.123102 weird: spontaneous_FIN -964800596.123339 weird: spontaneous_FIN -964800596.123420 weird: spontaneous_FIN -964800596.123581 weird: spontaneous_FIN -964800596.123676 weird: spontaneous_FIN -964800596.123817 weird: spontaneous_FIN -964800596.123925 weird: spontaneous_FIN -964800596.124050 weird: spontaneous_FIN -964800596.124165 weird: spontaneous_FIN -964800596.124292 weird: spontaneous_FIN -964800596.124414 weird: spontaneous_FIN -964800596.124535 weird: spontaneous_FIN -964800596.124660 weird: spontaneous_FIN -964800596.124785 weird: spontaneous_FIN -964800596.124910 weird: spontaneous_FIN -964800596.125123 weird: spontaneous_FIN -964800596.125205 weird: spontaneous_FIN -964800596.125368 weird: spontaneous_FIN -964800596.125478 weird: spontaneous_FIN -964800596.125605 weird: spontaneous_FIN -964800596.125734 weird: spontaneous_FIN -964800596.125872 weird: spontaneous_FIN -964800596.125993 weird: spontaneous_FIN -964800596.126114 weird: spontaneous_FIN -964800596.126235 weird: spontaneous_FIN -964800596.126357 weird: spontaneous_FIN -964800596.126480 weird: spontaneous_FIN -964800596.126647 weird: spontaneous_FIN -964800596.126761 weird: spontaneous_FIN -964800596.126899 weird: spontaneous_FIN -964800596.127024 weird: spontaneous_FIN -964800596.127205 weird: spontaneous_FIN -964800596.127318 weird: spontaneous_FIN -964800596.127457 weird: spontaneous_FIN -964800596.127578 weird: spontaneous_FIN -964800596.127700 weird: spontaneous_FIN -964800596.127827 weird: spontaneous_FIN -964800596.127993 weird: spontaneous_FIN -964800596.128116 weird: spontaneous_FIN -964800596.128244 weird: spontaneous_FIN -964800596.128372 weird: spontaneous_FIN -964800596.128512 weird: spontaneous_FIN -964800596.128633 weird: spontaneous_FIN -964800596.128754 weird: spontaneous_FIN -964800596.128877 weird: spontaneous_FIN -964800596.129001 weird: spontaneous_FIN -964800596.129124 weird: spontaneous_FIN -964800596.129292 weird: spontaneous_FIN -964800596.129409 weird: spontaneous_FIN -964800596.129544 weird: spontaneous_FIN -964800596.129664 weird: spontaneous_FIN -964800596.129789 weird: spontaneous_FIN -964800596.129913 weird: spontaneous_FIN -964800596.130037 weird: spontaneous_FIN -964800596.130181 weird: spontaneous_FIN -964800596.130302 weird: spontaneous_FIN -964800596.130422 weird: spontaneous_FIN -964800596.130563 weird: spontaneous_FIN -964800596.130680 weird: spontaneous_FIN -964800596.215247 weird: spontaneous_FIN -964800596.215341 weird: spontaneous_FIN -964800596.215464 weird: spontaneous_FIN -964800596.215639 weird: spontaneous_FIN -964800596.215750 weird: spontaneous_FIN -964800596.215873 weird: spontaneous_FIN -964800596.216013 weird: spontaneous_FIN -964800596.216140 weird: spontaneous_FIN -964800596.216250 weird: spontaneous_FIN -964800596.216378 weird: spontaneous_FIN -964800596.216458 weird: spontaneous_FIN -964800596.216614 weird: spontaneous_FIN -964800596.216720 weird: spontaneous_FIN -964800596.216851 weird: spontaneous_FIN -964800596.216976 weird: spontaneous_FIN -964800596.217103 weird: spontaneous_FIN -964800596.217244 weird: spontaneous_FIN -964800596.217361 weird: spontaneous_FIN -964800596.217485 weird: spontaneous_FIN -964800596.217610 weird: spontaneous_FIN -964800596.217739 weird: spontaneous_FIN -964800596.217881 weird: spontaneous_FIN -964800596.218007 weird: spontaneous_FIN -964800596.218123 weird: spontaneous_FIN -964800596.218248 weird: spontaneous_FIN -964800596.218374 weird: spontaneous_FIN -964800596.218515 weird: spontaneous_FIN -964800596.218701 weird: spontaneous_FIN -964800596.218823 weird: spontaneous_FIN -964800596.218967 weird: spontaneous_FIN -964800596.219111 weird: spontaneous_FIN -964800596.219200 weird: spontaneous_FIN -964800596.219381 weird: spontaneous_FIN -964800596.219490 weird: spontaneous_FIN -964800596.219615 weird: spontaneous_FIN -964800596.219743 weird: spontaneous_FIN -964800596.219884 weird: spontaneous_FIN -964800596.220006 weird: spontaneous_FIN -964800596.220129 weird: spontaneous_FIN -964800596.220272 weird: spontaneous_FIN -964800596.220407 weird: spontaneous_FIN -964800596.220521 weird: spontaneous_FIN -964800596.220688 weird: spontaneous_FIN -964800596.220804 weird: spontaneous_FIN -964800596.220946 weird: spontaneous_FIN -964800596.221074 weird: spontaneous_FIN -964800596.221204 weird: spontaneous_FIN -964800596.221333 weird: spontaneous_FIN -964800596.221458 weird: spontaneous_FIN -964800596.221582 weird: spontaneous_FIN -964800596.221709 weird: spontaneous_FIN -964800596.221834 weird: spontaneous_FIN -964800596.221971 weird: spontaneous_FIN -964800596.222093 weird: spontaneous_FIN -964800596.222219 weird: spontaneous_FIN -964800596.222346 weird: spontaneous_FIN -964800596.222468 weird: spontaneous_FIN -964800596.222606 weird: spontaneous_FIN -964800596.222732 weird: spontaneous_FIN -964800596.222876 weird: spontaneous_FIN -964800596.223001 weird: spontaneous_FIN -964800596.223125 weird: spontaneous_FIN -964800596.223268 weird: spontaneous_FIN -964800596.223392 weird: spontaneous_FIN -964800596.223533 weird: spontaneous_FIN -964800596.223658 weird: spontaneous_FIN -964800596.223782 weird: spontaneous_FIN -964800596.223909 weird: spontaneous_FIN -964800596.224037 weird: spontaneous_FIN -964800596.224253 weird: spontaneous_FIN -964800596.224343 weird: spontaneous_FIN -964800596.224465 weird: spontaneous_FIN -964800596.224652 weird: spontaneous_FIN -964800596.224768 weird: spontaneous_FIN -964800596.224970 weird: spontaneous_FIN -964800596.225103 weird: spontaneous_FIN -964800596.225233 weird: spontaneous_FIN -964800596.225378 weird: spontaneous_FIN -964800596.225520 weird: spontaneous_FIN -964800596.225650 weird: spontaneous_FIN -964800596.225781 weird: spontaneous_FIN -964800596.225909 weird: spontaneous_FIN -964800596.226048 weird: spontaneous_FIN -964800596.293525 weird: bad_ICMP_checksum -964800596.313467 weird: spontaneous_FIN -964800596.313575 weird: spontaneous_FIN -964800596.313666 weird: spontaneous_FIN -964800596.313876 weird: spontaneous_FIN -964800596.313969 weird: spontaneous_FIN -964800596.314171 weird: spontaneous_FIN -964800596.314269 weird: spontaneous_FIN -964800596.314458 weird: spontaneous_FIN -964800596.314559 weird: spontaneous_FIN -964800596.314740 weird: spontaneous_FIN -964800596.314852 weird: spontaneous_FIN -964800596.315093 weird: spontaneous_FIN -964800596.315189 weird: spontaneous_FIN -964800596.315358 weird: spontaneous_FIN -964800596.315478 weird: spontaneous_FIN -964800596.315607 weird: spontaneous_FIN -964800596.315739 weird: spontaneous_FIN -964800596.315868 weird: spontaneous_FIN -964800596.315995 weird: spontaneous_FIN -964800596.316128 weird: spontaneous_FIN -964800596.316251 weird: spontaneous_FIN -964800596.316384 weird: spontaneous_FIN -964800596.316505 weird: spontaneous_FIN -964800596.316635 weird: spontaneous_FIN -964800596.316780 weird: spontaneous_FIN -964800596.316906 weird: spontaneous_FIN -964800596.317032 weird: spontaneous_FIN -964800596.317147 weird: spontaneous_FIN -964800596.317272 weird: spontaneous_FIN -964800596.317396 weird: spontaneous_FIN -964800596.317516 weird: spontaneous_FIN -964800596.317895 weird: spontaneous_FIN -964800596.318067 weird: spontaneous_FIN -964800596.318400 weird: spontaneous_FIN -964800596.318734 weird: spontaneous_FIN -964800596.319064 weird: spontaneous_FIN -964800596.319396 weird: spontaneous_FIN -964800596.319727 weird: spontaneous_FIN -964800596.320062 weird: spontaneous_FIN -964800596.320391 weird: spontaneous_FIN -964800596.320726 weird: spontaneous_FIN -964800596.320896 weird: spontaneous_FIN -964800596.321062 weird: spontaneous_FIN -964800596.321231 weird: spontaneous_FIN -964800596.321567 weird: spontaneous_FIN -964800596.321919 weird: spontaneous_FIN -964800596.322250 weird: spontaneous_FIN -964800596.322583 weird: spontaneous_FIN -964800596.322914 weird: spontaneous_FIN -964800596.323247 weird: spontaneous_FIN -964800596.323417 weird: spontaneous_FIN -964800596.323749 weird: spontaneous_FIN -964800596.324080 weird: spontaneous_FIN -964800596.324250 weird: spontaneous_FIN -964800596.324584 weird: spontaneous_FIN -964800596.324915 weird: spontaneous_FIN -964800596.325242 weird: spontaneous_FIN -964800596.325567 weird: spontaneous_FIN -964800596.325893 weird: spontaneous_FIN -964800596.326060 weird: spontaneous_FIN -964800596.326227 weird: spontaneous_FIN -964800596.326236 weird: spontaneous_FIN -964800596.326563 weird: spontaneous_FIN -964800596.326890 weird: spontaneous_FIN -964800596.327057 weird: spontaneous_FIN -964800596.327382 weird: spontaneous_FIN -964800596.327560 weird: spontaneous_FIN -964800596.327886 weird: spontaneous_FIN -964800596.328212 weird: spontaneous_FIN -964800596.328379 weird: spontaneous_FIN -964800596.328706 weird: spontaneous_FIN -964800596.328875 weird: spontaneous_FIN -964800596.329201 weird: spontaneous_FIN -964800596.329525 weird: spontaneous_FIN -964800596.329865 weird: spontaneous_FIN -964800596.330190 weird: spontaneous_FIN -964800596.330357 weird: spontaneous_FIN -964800596.330682 weird: spontaneous_FIN -964800596.331007 weird: spontaneous_FIN -964800596.331174 weird: spontaneous_FIN -964800596.331340 weird: spontaneous_FIN -964800596.331666 weird: spontaneous_FIN -964800596.331991 weird: spontaneous_FIN -964800596.332157 weird: spontaneous_FIN -964800596.332482 weird: spontaneous_FIN -964800596.332807 weird: spontaneous_FIN -964800596.332975 weird: spontaneous_FIN -964800596.413143 weird: spontaneous_FIN -964800596.413237 weird: spontaneous_FIN -964800596.413314 weird: spontaneous_FIN -964800596.413521 weird: spontaneous_FIN -964800596.413609 weird: spontaneous_FIN -964800596.413753 weird: spontaneous_FIN -964800596.413876 weird: spontaneous_FIN -964800596.413999 weird: spontaneous_FIN -964800596.414124 weird: spontaneous_FIN -964800596.414256 weird: spontaneous_FIN -964800596.414384 weird: spontaneous_FIN -964800596.414509 weird: spontaneous_FIN -964800596.414637 weird: spontaneous_FIN -964800596.414766 weird: spontaneous_FIN -964800596.414914 weird: spontaneous_FIN -964800596.415115 weird: spontaneous_FIN -964800596.415198 weird: spontaneous_FIN -964800596.415430 weird: spontaneous_FIN -964800596.415525 weird: spontaneous_FIN -964800596.415692 weird: spontaneous_FIN -964800596.415798 weird: spontaneous_FIN -964800596.415921 weird: spontaneous_FIN -964800596.416046 weird: spontaneous_FIN -964800596.416172 weird: spontaneous_FIN -964800596.416313 weird: spontaneous_FIN -964800596.416435 weird: spontaneous_FIN -964800596.416609 weird: spontaneous_FIN -964800596.416717 weird: spontaneous_FIN -964800596.416846 weird: spontaneous_FIN -964800596.416976 weird: spontaneous_FIN -964800596.417116 weird: spontaneous_FIN -964800596.417242 weird: spontaneous_FIN -964800596.417359 weird: spontaneous_FIN -964800596.417481 weird: spontaneous_FIN -964800596.417650 weird: spontaneous_FIN -964800596.417833 weird: spontaneous_FIN -964800596.417947 weird: spontaneous_FIN -964800596.418080 weird: spontaneous_FIN -964800596.418199 weird: spontaneous_FIN -964800596.418328 weird: spontaneous_FIN -964800596.418471 weird: spontaneous_FIN -964800596.418594 weird: spontaneous_FIN -964800596.418719 weird: spontaneous_FIN -964800596.418901 weird: spontaneous_FIN -964800596.419015 weird: spontaneous_FIN -964800596.419193 weird: spontaneous_FIN -964800596.419301 weird: spontaneous_FIN -964800596.419443 weird: spontaneous_FIN -964800596.419566 weird: spontaneous_FIN -964800596.419695 weird: spontaneous_FIN -964800596.419821 weird: spontaneous_FIN -964800596.419953 weird: spontaneous_FIN -964800596.420098 weird: spontaneous_FIN -964800596.420224 weird: spontaneous_FIN -964800596.420369 weird: spontaneous_FIN -964800596.420492 weird: spontaneous_FIN -964800596.420635 weird: spontaneous_FIN -964800596.420756 weird: spontaneous_FIN -964800596.420897 weird: spontaneous_FIN -964800596.421020 weird: spontaneous_FIN -964800596.421186 weird: spontaneous_FIN -964800596.421308 weird: spontaneous_FIN -964800596.421435 weird: spontaneous_FIN -964800596.421561 weird: spontaneous_FIN -964800596.421704 weird: spontaneous_FIN -964800596.421825 weird: spontaneous_FIN -964800596.421952 weird: spontaneous_FIN -964800596.422076 weird: spontaneous_FIN -964800596.422206 weird: spontaneous_FIN -964800596.422386 weird: spontaneous_FIN -964800596.422495 weird: spontaneous_FIN -964800596.422620 weird: spontaneous_FIN -964800596.422746 weird: spontaneous_FIN -964800596.422875 weird: spontaneous_FIN -964800596.423018 weird: spontaneous_FIN -964800596.423141 weird: spontaneous_FIN -964800596.423267 weird: spontaneous_FIN -964800596.423352 weird: spontaneous_FIN -964800596.423527 weird: spontaneous_FIN -964800596.423636 weird: spontaneous_FIN -964800596.423774 weird: spontaneous_FIN -964800596.423898 weird: spontaneous_FIN -964800596.424020 weird: spontaneous_FIN -964800596.424143 weird: spontaneous_FIN -964800596.424271 weird: spontaneous_FIN -964800596.424406 weird: spontaneous_FIN -964800596.424538 weird: spontaneous_FIN -964800596.424659 weird: spontaneous_FIN -964800596.424840 weird: spontaneous_FIN -964800596.424976 weird: spontaneous_FIN -964800596.425150 weird: spontaneous_FIN -964800596.501612 weird: bad_ICMP_checksum -964800596.515437 weird: spontaneous_FIN -964800596.515543 weird: spontaneous_FIN -964800596.515621 weird: spontaneous_FIN -964800596.515743 weird: spontaneous_FIN -964800596.515953 weird: spontaneous_FIN -964800596.516157 weird: spontaneous_FIN -964800596.516266 weird: spontaneous_FIN -964800596.516393 weird: spontaneous_FIN -964800596.516520 weird: spontaneous_FIN -964800596.516684 weird: spontaneous_FIN -964800596.516794 weird: spontaneous_FIN -964800596.516940 weird: spontaneous_FIN -964800596.517057 weird: spontaneous_FIN -964800596.517200 weird: spontaneous_FIN -964800596.517312 weird: spontaneous_FIN -964800596.517459 weird: spontaneous_FIN -964800596.517583 weird: spontaneous_FIN -964800596.517726 weird: spontaneous_FIN -964800596.517850 weird: spontaneous_FIN -964800596.517974 weird: spontaneous_FIN -964800596.518117 weird: spontaneous_FIN -964800596.518242 weird: spontaneous_FIN -964800596.518366 weird: spontaneous_FIN -964800596.518496 weird: spontaneous_FIN -964800596.518624 weird: spontaneous_FIN -964800596.518753 weird: spontaneous_FIN -964800596.518868 weird: spontaneous_FIN -964800596.518997 weird: spontaneous_FIN -964800596.519119 weird: spontaneous_FIN -964800596.519241 weird: spontaneous_FIN -964800596.519363 weird: spontaneous_FIN -964800596.519486 weird: spontaneous_FIN -964800596.519608 weird: spontaneous_FIN -964800596.519729 weird: spontaneous_FIN -964800596.519853 weird: spontaneous_FIN -964800596.519992 weird: spontaneous_FIN -964800596.520114 weird: spontaneous_FIN -964800596.520258 weird: spontaneous_FIN -964800596.520379 weird: spontaneous_FIN -964800596.520506 weird: spontaneous_FIN -964800596.520630 weird: spontaneous_FIN -964800596.520757 weird: spontaneous_FIN -964800596.520885 weird: spontaneous_FIN -964800596.521016 weird: spontaneous_FIN -964800596.521096 weird: spontaneous_FIN -964800596.521265 weird: spontaneous_FIN -964800596.521378 weird: spontaneous_FIN -964800596.521520 weird: spontaneous_FIN -964800596.521700 weird: spontaneous_FIN -964800596.521823 weird: spontaneous_FIN -964800596.521963 weird: spontaneous_FIN -964800596.522085 weird: spontaneous_FIN -964800596.522210 weird: spontaneous_FIN -964800596.522353 weird: spontaneous_FIN -964800596.522477 weird: spontaneous_FIN -964800596.522601 weird: spontaneous_FIN -964800596.522723 weird: spontaneous_FIN -964800596.522847 weird: spontaneous_FIN -964800596.522970 weird: spontaneous_FIN -964800596.523092 weird: spontaneous_FIN -964800596.523216 weird: spontaneous_FIN -964800596.523340 weird: spontaneous_FIN -964800596.523480 weird: spontaneous_FIN -964800596.523604 weird: spontaneous_FIN -964800596.523771 weird: spontaneous_FIN -964800596.523884 weird: spontaneous_FIN -964800596.524025 weird: spontaneous_FIN -964800596.524149 weird: spontaneous_FIN -964800596.524283 weird: spontaneous_FIN -964800596.524368 weird: spontaneous_FIN -964800596.524539 weird: spontaneous_FIN -964800596.524718 weird: spontaneous_FIN -964800596.524844 weird: spontaneous_FIN -964800596.524975 weird: spontaneous_FIN -964800596.525192 weird: spontaneous_FIN -964800596.525278 weird: spontaneous_FIN -964800596.525391 weird: spontaneous_FIN -964800596.525579 weird: spontaneous_FIN -964800596.525690 weird: spontaneous_FIN -964800596.525852 weird: spontaneous_FIN -964800596.525966 weird: spontaneous_FIN -964800596.526110 weird: spontaneous_FIN -964800596.526223 weird: spontaneous_FIN -964800596.526370 weird: spontaneous_FIN -964800596.526493 weird: spontaneous_FIN -964800596.526620 weird: spontaneous_FIN -964800596.526746 weird: spontaneous_FIN -964800596.526871 weird: spontaneous_FIN -964800596.526996 weird: spontaneous_FIN -964800596.527136 weird: spontaneous_FIN -964800596.527264 weird: spontaneous_FIN -964800596.527375 weird: spontaneous_FIN -964800596.527513 weird: spontaneous_FIN -964800596.527629 weird: spontaneous_FIN -964800596.527771 weird: spontaneous_FIN -964800596.615252 weird: spontaneous_FIN -964800596.615357 weird: spontaneous_FIN -964800596.615437 weird: spontaneous_FIN -964800596.615527 weird: spontaneous_FIN -964800596.615763 weird: spontaneous_FIN -964800596.615843 weird: spontaneous_FIN -964800596.615980 weird: spontaneous_FIN -964800596.616093 weird: spontaneous_FIN -964800596.616221 weird: spontaneous_FIN -964800596.616349 weird: spontaneous_FIN -964800596.616475 weird: spontaneous_FIN -964800596.616604 weird: spontaneous_FIN -964800596.616731 weird: spontaneous_FIN -964800596.616857 weird: spontaneous_FIN -964800596.616985 weird: spontaneous_FIN -964800596.617099 weird: spontaneous_FIN -964800596.617227 weird: spontaneous_FIN -964800596.617349 weird: spontaneous_FIN -964800596.617478 weird: spontaneous_FIN -964800596.617604 weird: spontaneous_FIN -964800596.617732 weird: spontaneous_FIN -964800596.617859 weird: spontaneous_FIN -964800596.617991 weird: spontaneous_FIN -964800596.618116 weird: spontaneous_FIN -964800596.618247 weird: spontaneous_FIN -964800596.618387 weird: spontaneous_FIN -964800596.618511 weird: spontaneous_FIN -964800596.618636 weird: spontaneous_FIN -964800596.618762 weird: spontaneous_FIN -964800596.618889 weird: spontaneous_FIN -964800596.619029 weird: spontaneous_FIN -964800596.619145 weird: spontaneous_FIN -964800596.619275 weird: spontaneous_FIN -964800596.619412 weird: spontaneous_FIN -964800596.619544 weird: spontaneous_FIN -964800596.619975 weird: spontaneous_FIN -964800596.620308 weird: spontaneous_FIN -964800596.620477 weird: spontaneous_FIN -964800596.620810 weird: spontaneous_FIN -964800596.621140 weird: spontaneous_FIN -964800596.621312 weird: spontaneous_FIN -964800596.621645 weird: spontaneous_FIN -964800596.621815 weird: spontaneous_FIN -964800596.622145 weird: spontaneous_FIN -964800596.622477 weird: spontaneous_FIN -964800596.622648 weird: spontaneous_FIN -964800596.622981 weird: spontaneous_FIN -964800596.623311 weird: spontaneous_FIN -964800596.623644 weird: spontaneous_FIN -964800596.623976 weird: spontaneous_FIN -964800596.624149 weird: spontaneous_FIN -964800596.624478 weird: spontaneous_FIN -964800596.624813 weird: spontaneous_FIN -964800596.624984 weird: spontaneous_FIN -964800596.625314 weird: spontaneous_FIN -964800596.625648 weird: spontaneous_FIN -964800596.625980 weird: spontaneous_FIN -964800596.626149 weird: spontaneous_FIN -964800596.626484 weird: spontaneous_FIN -964800596.626671 weird: spontaneous_FIN -964800596.627004 weird: spontaneous_FIN -964800596.627334 weird: spontaneous_FIN -964800596.627504 weird: spontaneous_FIN -964800596.627852 weird: spontaneous_FIN -964800596.628182 weird: spontaneous_FIN -964800596.628345 weird: spontaneous_FIN -964800596.628676 weird: spontaneous_FIN -964800596.628838 weird: spontaneous_FIN -964800596.629170 weird: spontaneous_FIN -964800596.629495 weird: spontaneous_FIN -964800596.629506 weird: spontaneous_FIN -964800596.629673 weird: spontaneous_FIN -964800596.629998 weird: spontaneous_FIN -964800596.630324 weird: spontaneous_FIN -964800596.630649 weird: spontaneous_FIN -964800596.630816 weird: spontaneous_FIN -964800596.631142 weird: spontaneous_FIN -964800596.631304 weird: spontaneous_FIN -964800596.631635 weird: spontaneous_FIN -964800596.631798 weird: spontaneous_FIN -964800596.632128 weird: spontaneous_FIN -964800596.632452 weird: spontaneous_FIN -964800596.632620 weird: spontaneous_FIN -964800596.632945 weird: spontaneous_FIN -964800596.633270 weird: spontaneous_FIN -964800596.633436 weird: spontaneous_FIN -964800596.633761 weird: spontaneous_FIN -964800596.634086 weird: spontaneous_FIN -964800596.634426 weird: spontaneous_FIN -964800596.634594 weird: spontaneous_FIN -964800596.634761 weird: spontaneous_FIN -964800596.635086 weird: spontaneous_FIN -964800596.635410 weird: spontaneous_FIN -964800596.635737 weird: spontaneous_FIN -964800596.635904 weird: spontaneous_FIN -964800596.636228 weird: spontaneous_FIN -964800596.636395 weird: spontaneous_FIN -964800596.636720 weird: spontaneous_FIN -964800596.637044 weird: spontaneous_FIN -964800596.716116 weird: spontaneous_FIN -964800596.716121 weird: spontaneous_FIN -964800596.716162 weird: spontaneous_FIN -964800596.716414 weird: spontaneous_FIN -964800596.716497 weird: spontaneous_FIN -964800596.716665 weird: spontaneous_FIN -964800596.716767 weird: spontaneous_FIN -964800596.716895 weird: spontaneous_FIN -964800596.717023 weird: spontaneous_FIN -964800596.717165 weird: spontaneous_FIN -964800596.717286 weird: spontaneous_FIN -964800596.717455 weird: spontaneous_FIN -964800596.717567 weird: spontaneous_FIN -964800596.717707 weird: spontaneous_FIN -964800596.717831 weird: spontaneous_FIN -964800596.717957 weird: spontaneous_FIN -964800596.718099 weird: spontaneous_FIN -964800596.718220 weird: spontaneous_FIN -964800596.718353 weird: spontaneous_FIN -964800596.718496 weird: spontaneous_FIN -964800596.718619 weird: spontaneous_FIN -964800596.718762 weird: spontaneous_FIN -964800596.718886 weird: spontaneous_FIN -964800596.719009 weird: spontaneous_FIN -964800596.719132 weird: spontaneous_FIN -964800596.719258 weird: spontaneous_FIN -964800596.719387 weird: spontaneous_FIN -964800596.719528 weird: spontaneous_FIN -964800596.719645 weird: spontaneous_FIN -964800596.719772 weird: spontaneous_FIN -964800596.719902 weird: spontaneous_FIN -964800596.720010 weird: spontaneous_FIN -964800596.720176 weird: spontaneous_FIN -964800596.720288 weird: spontaneous_FIN -964800596.720407 weird: spontaneous_FIN -964800596.720529 weird: spontaneous_FIN -964800596.720655 weird: spontaneous_FIN -964800596.720778 weird: spontaneous_FIN -964800596.720904 weird: spontaneous_FIN -964800596.721032 weird: spontaneous_FIN -964800596.721171 weird: spontaneous_FIN -964800596.721293 weird: spontaneous_FIN -964800596.721416 weird: spontaneous_FIN -964800596.721540 weird: spontaneous_FIN -964800596.721666 weird: spontaneous_FIN -964800596.721810 weird: spontaneous_FIN -964800596.721934 weird: spontaneous_FIN -964800596.722075 weird: spontaneous_FIN -964800596.722200 weird: spontaneous_FIN -964800596.722369 weird: spontaneous_FIN -964800596.722510 weird: spontaneous_FIN -964800596.722637 weird: spontaneous_FIN -964800596.722805 weird: spontaneous_FIN -964800596.722934 weird: spontaneous_FIN -964800596.723043 weird: spontaneous_FIN -964800596.723185 weird: spontaneous_FIN -964800596.723308 weird: spontaneous_FIN -964800596.723433 weird: spontaneous_FIN -964800596.723574 weird: spontaneous_FIN -964800596.723698 weird: spontaneous_FIN -964800596.723825 weird: spontaneous_FIN -964800596.723970 weird: spontaneous_FIN -964800596.724096 weird: spontaneous_FIN -964800596.724244 weird: spontaneous_FIN -964800596.724374 weird: spontaneous_FIN -964800596.724516 weird: spontaneous_FIN -964800596.724638 weird: spontaneous_FIN -964800596.724762 weird: spontaneous_FIN -964800596.725008 weird: spontaneous_FIN -964800596.725112 weird: spontaneous_FIN -964800596.725277 weird: spontaneous_FIN -964800596.725399 weird: spontaneous_FIN -964800596.725523 weird: spontaneous_FIN -964800596.725664 weird: spontaneous_FIN -964800596.725787 weird: spontaneous_FIN -964800596.725929 weird: spontaneous_FIN -964800596.726052 weird: spontaneous_FIN -964800596.726176 weird: spontaneous_FIN -964800596.726304 weird: spontaneous_FIN -964800596.726446 weird: spontaneous_FIN -964800596.726571 weird: spontaneous_FIN -964800596.726692 weird: spontaneous_FIN -964800596.726820 weird: spontaneous_FIN -964800596.726961 weird: spontaneous_FIN -964800596.727086 weird: spontaneous_FIN -964800596.727213 weird: spontaneous_FIN -964800596.727355 weird: spontaneous_FIN -964800596.727482 weird: spontaneous_FIN -964800596.727610 weird: spontaneous_FIN -964800596.727754 weird: spontaneous_FIN -964800596.727895 weird: spontaneous_FIN -964800596.728033 weird: spontaneous_FIN -964800596.728177 weird: spontaneous_FIN -964800596.728314 weird: spontaneous_FIN -964800596.728455 weird: spontaneous_FIN -964800596.728582 weird: spontaneous_FIN -964800596.728710 weird: spontaneous_FIN -964800596.728836 weird: spontaneous_FIN -964800596.729008 weird: spontaneous_FIN -964800596.729121 weird: spontaneous_FIN -964800596.729244 weird: spontaneous_FIN -964800596.729367 weird: spontaneous_FIN -964800596.729507 weird: spontaneous_FIN -964800596.818974 weird: spontaneous_FIN -964800596.819065 weird: spontaneous_FIN -964800596.819282 weird: spontaneous_FIN -964800596.819371 weird: spontaneous_FIN -964800596.819550 weird: spontaneous_FIN -964800596.819664 weird: spontaneous_FIN -964800596.819788 weird: spontaneous_FIN -964800596.819926 weird: spontaneous_FIN -964800596.820049 weird: spontaneous_FIN -964800596.820178 weird: spontaneous_FIN -964800596.820320 weird: spontaneous_FIN -964800596.820443 weird: spontaneous_FIN -964800596.820570 weird: spontaneous_FIN -964800596.820695 weird: spontaneous_FIN -964800596.820819 weird: spontaneous_FIN -964800596.820943 weird: spontaneous_FIN -964800596.821063 weird: spontaneous_FIN -964800596.821302 weird: spontaneous_FIN -964800596.821381 weird: spontaneous_FIN -964800596.821539 weird: spontaneous_FIN -964800596.821645 weird: spontaneous_FIN -964800596.821774 weird: spontaneous_FIN -964800596.821898 weird: spontaneous_FIN -964800596.822025 weird: spontaneous_FIN -964800596.822155 weird: spontaneous_FIN -964800596.822284 weird: spontaneous_FIN -964800596.822408 weird: spontaneous_FIN -964800596.822551 weird: spontaneous_FIN -964800596.822675 weird: spontaneous_FIN -964800596.822807 weird: spontaneous_FIN -964800596.822951 weird: spontaneous_FIN -964800596.823075 weird: spontaneous_FIN -964800596.823201 weird: spontaneous_FIN -964800596.823330 weird: spontaneous_FIN -964800596.823459 weird: spontaneous_FIN -964800596.823600 weird: spontaneous_FIN -964800596.823723 weird: spontaneous_FIN -964800596.823847 weird: spontaneous_FIN -964800596.823971 weird: spontaneous_FIN -964800596.824096 weird: spontaneous_FIN -964800596.824246 weird: spontaneous_FIN -964800596.824367 weird: spontaneous_FIN -964800596.824517 weird: spontaneous_FIN -964800596.824638 weird: spontaneous_FIN -964800596.824776 weird: spontaneous_FIN -964800596.824895 weird: spontaneous_FIN -964800596.825114 weird: spontaneous_FIN -964800596.825199 weird: spontaneous_FIN -964800596.825304 weird: spontaneous_FIN -964800596.825508 weird: spontaneous_FIN -964800596.825595 weird: spontaneous_FIN -964800596.825766 weird: spontaneous_FIN -964800596.825889 weird: spontaneous_FIN -964800596.826012 weird: spontaneous_FIN -964800596.826136 weird: spontaneous_FIN -964800596.826279 weird: spontaneous_FIN -964800596.826404 weird: spontaneous_FIN -964800596.826527 weird: spontaneous_FIN -964800596.826649 weird: spontaneous_FIN -964800596.826772 weird: spontaneous_FIN -964800596.826899 weird: spontaneous_FIN -964800596.827038 weird: spontaneous_FIN -964800596.827160 weird: spontaneous_FIN -964800596.827283 weird: spontaneous_FIN -964800596.827412 weird: spontaneous_FIN -964800596.827548 weird: spontaneous_FIN -964800596.827670 weird: spontaneous_FIN -964800596.827850 weird: spontaneous_FIN -964800596.827964 weird: spontaneous_FIN -964800596.828102 weird: spontaneous_FIN -964800596.828224 weird: spontaneous_FIN -964800596.828348 weird: spontaneous_FIN -964800596.828479 weird: spontaneous_FIN -964800596.828619 weird: spontaneous_FIN -964800596.828725 weird: spontaneous_FIN -964800596.828850 weird: spontaneous_FIN -964800596.828978 weird: spontaneous_FIN -964800596.829106 weird: spontaneous_FIN -964800596.829272 weird: spontaneous_FIN -964800596.829389 weird: spontaneous_FIN -964800597.461476 weird: bad_ICMP_checksum -964800597.531033 weird: bad_ICMP_checksum -964800598.421656 weird: bad_ICMP_checksum -964800598.449518 weird: spontaneous_FIN -964800598.483465 weird: bad_ICMP_checksum -964800598.994113 weird: spontaneous_FIN -964800599.270322 weird: spontaneous_FIN -964800604.074186 weird: spontaneous_FIN -964800604.181874 weird: bad_ICMP_checksum -964800604.182079 weird: bad_ICMP_checksum -964800604.182225 weird: bad_ICMP_checksum -964800604.182414 weird: bad_ICMP_checksum -964800604.182567 weird: bad_ICMP_checksum -964800604.344975 weird: bad_ICMP_checksum -964800604.345015 weird: bad_ICMP_checksum -964800604.345048 weird: bad_ICMP_checksum -964800604.345075 weird: bad_ICMP_checksum -964800604.345128 weird: bad_ICMP_checksum -964800604.345374 weird: bad_ICMP_checksum -964800604.501637 weird: bad_ICMP_checksum -964800605.561799 weird: bad_ICMP_checksum -964800605.612716 weird: bad_ICMP_checksum -964800606.521683 weird: bad_ICMP_checksum -964800606.545722 weird: bad_ICMP_checksum -964800607.481964 weird: bad_ICMP_checksum -964800607.482115 weird: bad_ICMP_checksum -964800608.406331 weird: bad_ICMP_checksum -964800608.441725 weird: bad_ICMP_checksum -964800609.106153 weird: spontaneous_FIN -964800609.642920 weird: bad_ICMP_checksum -964800609.722008 weird: bad_ICMP_checksum -964800610.582014 weird: bad_ICMP_checksum -964800610.682038 weird: bad_ICMP_checksum -964800611.510967 weird: bad_ICMP_checksum -964800611.641801 weird: bad_ICMP_checksum -964800612.441355 weird: bad_ICMP_checksum -964800612.601999 weird: bad_ICMP_checksum -964800613.366240 weird: bad_ICMP_checksum -964800613.561936 weird: bad_ICMP_checksum -964800614.234326 weird: spontaneous_FIN -964800614.312815 weird: bad_ICMP_checksum -964800614.318648 weird: bad_ICMP_checksum -964800614.327987 weird: bad_ICMP_checksum -964800614.338017 weird: bad_ICMP_checksum -964800614.348402 weird: bad_ICMP_checksum -964800614.359341 weird: bad_ICMP_checksum -964800614.522053 weird: bad_ICMP_checksum -964800614.622452 weird: bad_ICMP_checksum -964800615.481909 weird: bad_ICMP_checksum -964800615.582247 weird: bad_ICMP_checksum -964800615.874413 weird: bad_ICMP_checksum -964800616.442169 weird: bad_ICMP_checksum -964800616.531160 weird: bad_ICMP_checksum -964800617.466281 weird: bad_ICMP_checksum -964800617.722277 weird: bad_ICMP_checksum -964800618.414576 weird: bad_ICMP_checksum -964800618.666650 weird: bad_ICMP_checksum -964800619.304700 weird: spontaneous_FIN -964800619.367057 weird: bad_ICMP_checksum -964800619.622229 weird: bad_ICMP_checksum -964800620.582076 weird: bad_ICMP_checksum -964800620.624553 weird: bad_ICMP_checksum -964800620.964612 weird: spontaneous_FIN -964800621.547606 weird: bad_ICMP_checksum -964800621.574413 weird: bad_ICMP_checksum -964800622.492100 weird: bad_ICMP_checksum -964800622.537098 weird: bad_ICMP_checksum -964800622.591301 weird: spontaneous_RST -964800623.268602 weird: bad_ICMP_checksum -964800623.268692 weird: bad_ICMP_checksum -964800623.268874 weird: bad_ICMP_checksum -964800623.268970 weird: bad_ICMP_checksum -964800623.269065 weird: bad_ICMP_checksum -964800623.269540 weird: bad_ICMP_checksum -964800623.452427 weird: bad_ICMP_checksum -964800623.514395 weird: bad_ICMP_checksum -964800624.396321 weird: spontaneous_FIN -964800624.504311 weird: bad_ICMP_checksum -964800624.732337 weird: bad_ICMP_checksum -964800625.464298 weird: bad_ICMP_checksum -964800625.692125 weird: bad_ICMP_checksum -964800626.424242 weird: bad_ICMP_checksum -964800626.652340 weird: bad_ICMP_checksum -964800627.354213 weird: bad_ICMP_checksum -964800627.466174 weird: spontaneous_FIN -964800627.466314 weird: spontaneous_FIN -964800627.466443 weird: spontaneous_FIN -964800627.599975 weird: bad_ICMP_checksum -964800628.584177 weird: bad_ICMP_checksum -964800628.635752 weird: baroque_SYN -964800628.640612 weird: bad_ICMP_checksum -964800628.644546 weird: spontaneous_FIN -964800629.544643 weird: bad_ICMP_checksum -964800629.605533 weird: spontaneous_FIN -964800630.369868 weird: bad_ICMP_checksum -964800630.485261 weird: bad_ICMP_checksum -964800631.353056 weird: spontaneous_FIN -964800631.464109 weird: bad_ICMP_checksum -964800632.404814 weird: bad_ICMP_checksum -964800633.007882 weird: spontaneous_FIN -964800633.007955 weird: spontaneous_FIN -964800633.334016 weird: bad_ICMP_checksum -964800633.481613 weird: SYN_after_reset -964800634.017231 weird: data_after_reset -964800634.193335 weird: baroque_SYN -964800634.194232 weird: spontaneous_FIN -964800634.795607 weird: spontaneous_FIN -964800634.957935 weird: spontaneous_FIN -964800635.391456 weird: spontaneous_RST -964800635.533950 weird: bad_ICMP_checksum -964800636.492559 weird: bad_ICMP_checksum -964800637.463897 weird: bad_ICMP_checksum -964800638.423843 weird: bad_ICMP_checksum -964800638.928189 weird: spontaneous_FIN -964800638.928655 weird: spontaneous_FIN -964800639.375043 weird: bad_ICMP_checksum -964800639.997906 weird: spontaneous_FIN -964800640.333750 weird: bad_ICMP_checksum -964800641.592758 weird: bad_ICMP_checksum -964800642.958184 weird: spontaneous_FIN -964800643.502672 weird: bad_ICMP_checksum -964800645.135741 weird: spontaneous_FIN -964800645.391497 weird: bad_ICMP_checksum -964800645.698637 weird: window_recision -964800645.740880 weird: bad_ICMP_checksum -964800645.750682 weird: bad_ICMP_checksum -964800645.760682 weird: bad_ICMP_checksum -964800645.770716 weird: bad_ICMP_checksum -964800645.780716 weird: bad_ICMP_checksum -964800645.790742 weird: bad_ICMP_checksum -964800646.632887 weird: bad_ICMP_checksum -964800647.574391 weird: bad_ICMP_checksum -964800648.136574 weird: bad_ICMP_checksum -964800648.144057 weird: bad_ICMP_checksum -964800648.537554 weird: bad_ICMP_checksum -964800648.737355 weird: bad_ICMP_checksum -964800648.766079 weird: data_after_reset -964800648.961656 weird: data_after_reset -964800649.502831 weird: bad_ICMP_checksum -964800650.016529 weird: bad_ICMP_checksum -964800650.235800 weird: spontaneous_FIN -964800650.463466 weird: bad_ICMP_checksum -964800650.742504 weird: bad_ICMP_checksum -964800650.768445 weird: spontaneous_FIN -964800650.768544 weird: spontaneous_FIN -964800651.420658 weird: bad_ICMP_checksum -964800652.373355 weird: bad_ICMP_checksum -964800652.700136 weird: bad_ICMP_checksum -964800653.222991 weird: bad_ICMP_checksum -964800653.331139 weird: bad_ICMP_checksum -964800653.731753 weird: bad_ICMP_checksum -964800654.564513 weird: bad_ICMP_checksum -964800655.093447 weird: bad_ICMP_checksum -964800655.487939 weird: spontaneous_FIN -964800655.523270 weird: bad_ICMP_checksum -964800655.734286 weird: bad_ICMP_checksum -964800656.483224 weird: bad_ICMP_checksum -964800657.423198 weird: bad_ICMP_checksum -964800657.736978 weird: bad_ICMP_checksum -964800657.749621 weird: bad_ICMP_checksum -964800658.376401 weird: bad_ICMP_checksum -964800658.758389 weird: bad_ICMP_checksum -964800658.958711 weird: spontaneous_FIN -964800659.430082 weird: data_after_reset -964800659.620459 weird: data_after_reset -964800659.621558 weird: bad_ICMP_checksum -964800660.020414 weird: data_after_reset -964800660.130278 weird: bad_ICMP_checksum -964800660.573095 weird: bad_ICMP_checksum -964800660.655908 weird: spontaneous_FIN -964800660.731001 weird: bad_ICMP_checksum -964800660.991652 weird: spontaneous_RST -964800661.275279 weird: data_after_reset -964800661.440262 weird: data_after_reset -964800661.503055 weird: bad_ICMP_checksum -964800661.667896 weird: spontaneous_FIN -964800661.732414 weird: bad_ICMP_checksum -964800662.460049 weird: bad_ICMP_checksum -964800662.948422 weird: FIN_after_reset -964800663.044194 weird: bad_ICMP_checksum -964800663.389125 weird: bad_ICMP_checksum -964800663.735100 weird: bad_ICMP_checksum -964800665.167270 weird: bad_ICMP_checksum -964800665.584196 weird: bad_ICMP_checksum -964800665.737816 weird: bad_ICMP_checksum -964800665.756012 weird: spontaneous_FIN -964800666.512880 weird: bad_ICMP_checksum -964800666.729203 weird: bad_ICMP_checksum -964800667.466368 weird: bad_ICMP_checksum -964800668.081037 weird: bad_ICMP_checksum -964800668.422816 weird: bad_ICMP_checksum -964800668.594418 weird: baroque_SYN -964800668.595697 weird: spontaneous_FIN -964800668.731920 weird: bad_ICMP_checksum -964800669.362829 weird: bad_ICMP_checksum -964800670.203985 weird: bad_ICMP_checksum -964800670.593374 weird: bad_ICMP_checksum -964800670.734603 weird: bad_ICMP_checksum -964800670.771572 weird: spontaneous_FIN -964800671.267206 weird: bad_ICMP_checksum -964800671.267299 weird: bad_ICMP_checksum -964800671.267581 weird: bad_ICMP_checksum -964800671.267678 weird: bad_ICMP_checksum -964800671.267774 weird: bad_ICMP_checksum -964800671.267869 weird: bad_ICMP_checksum -964800671.512899 weird: bad_ICMP_checksum -964800671.736043 weird: bad_ICMP_checksum -964800672.222756 weird: spontaneous_FIN -964800672.222773 weird: spontaneous_FIN -964800672.222790 weird: spontaneous_FIN -964800672.222880 weird: spontaneous_FIN -964800672.222950 weird: spontaneous_FIN -964800672.223019 weird: spontaneous_FIN -964800672.223093 weird: spontaneous_FIN -964800672.223164 weird: spontaneous_FIN -964800672.223236 weird: spontaneous_FIN -964800672.223303 weird: spontaneous_FIN -964800672.223373 weird: spontaneous_FIN -964800672.305587 weird: spontaneous_FIN -964800672.305670 weird: spontaneous_FIN -964800672.305741 weird: spontaneous_FIN -964800672.317264 weird: spontaneous_FIN -964800672.317352 weird: spontaneous_FIN -964800672.317422 weird: spontaneous_FIN -964800672.317493 weird: spontaneous_FIN -964800672.317564 weird: spontaneous_FIN -964800672.317636 weird: spontaneous_FIN -964800672.317708 weird: spontaneous_FIN -964800672.317775 weird: spontaneous_FIN -964800672.395581 weird: spontaneous_FIN -964800672.395656 weird: spontaneous_FIN -964800672.395723 weird: spontaneous_FIN -964800672.395788 weird: spontaneous_FIN -964800672.395852 weird: spontaneous_FIN -964800672.395919 weird: spontaneous_FIN -964800672.395987 weird: spontaneous_FIN -964800672.396057 weird: spontaneous_FIN -964800672.396128 weird: spontaneous_FIN -964800672.396197 weird: spontaneous_FIN -964800672.396265 weird: spontaneous_FIN -964800672.450493 weird: bad_ICMP_checksum -964800672.475577 weird: spontaneous_FIN -964800672.475653 weird: spontaneous_FIN -964800672.475724 weird: spontaneous_FIN -964800672.475794 weird: spontaneous_FIN -964800672.475863 weird: spontaneous_FIN -964800672.475933 weird: spontaneous_FIN -964800672.476004 weird: spontaneous_FIN -964800672.476074 weird: spontaneous_FIN -964800672.476144 weird: spontaneous_FIN -964800672.476212 weird: spontaneous_FIN -964800672.476281 weird: spontaneous_FIN -964800672.555584 weird: spontaneous_FIN -964800672.555657 weird: spontaneous_FIN -964800672.555723 weird: spontaneous_FIN -964800672.555787 weird: spontaneous_FIN -964800672.555852 weird: spontaneous_FIN -964800672.555916 weird: spontaneous_FIN -964800672.555983 weird: spontaneous_FIN -964800672.556051 weird: spontaneous_FIN -964800672.556120 weird: spontaneous_FIN -964800672.556185 weird: spontaneous_FIN -964800672.556254 weird: spontaneous_FIN -964800672.632033 weird: spontaneous_FIN -964800672.632111 weird: spontaneous_FIN -964800672.632178 weird: spontaneous_FIN -964800672.632244 weird: spontaneous_FIN -964800672.632310 weird: spontaneous_FIN -964800672.632379 weird: spontaneous_FIN -964800672.632449 weird: spontaneous_FIN -964800672.632519 weird: spontaneous_FIN -964800672.632587 weird: spontaneous_FIN -964800672.632652 weird: spontaneous_FIN -964800672.632722 weird: spontaneous_FIN -964800672.725588 weird: spontaneous_FIN -964800672.725665 weird: spontaneous_FIN -964800672.725734 weird: spontaneous_FIN -964800672.725804 weird: spontaneous_FIN -964800672.725869 weird: spontaneous_FIN -964800672.725935 weird: spontaneous_FIN -964800672.726005 weird: spontaneous_FIN -964800672.726075 weird: spontaneous_FIN -964800672.726143 weird: spontaneous_FIN -964800672.726211 weird: spontaneous_FIN -964800672.726278 weird: spontaneous_FIN -964800672.805589 weird: spontaneous_FIN -964800672.805666 weird: spontaneous_FIN -964800672.805735 weird: spontaneous_FIN -964800672.805806 weird: spontaneous_FIN -964800672.805873 weird: spontaneous_FIN -964800672.805944 weird: spontaneous_FIN -964800672.806013 weird: spontaneous_FIN -964800672.806084 weird: spontaneous_FIN -964800672.806155 weird: spontaneous_FIN -964800672.806223 weird: spontaneous_FIN -964800672.806290 weird: spontaneous_FIN -964800672.885576 weird: spontaneous_FIN -964800672.885651 weird: spontaneous_FIN -964800672.885715 weird: spontaneous_FIN -964800672.885782 weird: spontaneous_FIN -964800672.885847 weird: spontaneous_FIN -964800672.885913 weird: spontaneous_FIN -964800672.885982 weird: spontaneous_FIN -964800672.886052 weird: spontaneous_FIN -964800672.886123 weird: spontaneous_FIN -964800672.886190 weird: spontaneous_FIN -964800672.886258 weird: spontaneous_FIN -964800672.975612 weird: spontaneous_FIN -964800672.975698 weird: spontaneous_FIN -964800672.975772 weird: spontaneous_FIN -964800672.975843 weird: spontaneous_FIN -964800672.975914 weird: spontaneous_FIN -964800672.975986 weird: spontaneous_FIN -964800672.976058 weird: spontaneous_FIN -964800672.976129 weird: spontaneous_FIN -964800672.976199 weird: spontaneous_FIN -964800672.976268 weird: spontaneous_FIN -964800672.976337 weird: spontaneous_FIN -964800673.055591 weird: spontaneous_FIN -964800673.055664 weird: spontaneous_FIN -964800673.055728 weird: spontaneous_FIN -964800673.055795 weird: spontaneous_FIN -964800673.055861 weird: spontaneous_FIN -964800673.055930 weird: spontaneous_FIN -964800673.056001 weird: spontaneous_FIN -964800673.056072 weird: spontaneous_FIN -964800673.056144 weird: spontaneous_FIN -964800673.056216 weird: spontaneous_FIN -964800673.056290 weird: spontaneous_FIN -964800673.117908 weird: bad_ICMP_checksum -964800673.136721 weird: spontaneous_FIN -964800673.136795 weird: spontaneous_FIN -964800673.136865 weird: spontaneous_FIN -964800673.136935 weird: spontaneous_FIN -964800673.137002 weird: spontaneous_FIN -964800673.137073 weird: spontaneous_FIN -964800673.137142 weird: spontaneous_FIN -964800673.137212 weird: spontaneous_FIN -964800673.137282 weird: spontaneous_FIN -964800673.137354 weird: spontaneous_FIN -964800673.137439 weird: spontaneous_FIN -964800673.225622 weird: spontaneous_FIN -964800673.225703 weird: spontaneous_FIN -964800673.225772 weird: spontaneous_FIN -964800673.225838 weird: spontaneous_FIN -964800673.225901 weird: spontaneous_FIN -964800673.225968 weird: spontaneous_FIN -964800673.226035 weird: spontaneous_FIN -964800673.226104 weird: spontaneous_FIN -964800673.226176 weird: spontaneous_FIN -964800673.226243 weird: spontaneous_FIN -964800673.226311 weird: spontaneous_FIN -964800673.305595 weird: spontaneous_FIN -964800673.305674 weird: spontaneous_FIN -964800673.305742 weird: spontaneous_FIN -964800673.305810 weird: spontaneous_FIN -964800673.305880 weird: spontaneous_FIN -964800673.305951 weird: spontaneous_FIN -964800673.306026 weird: spontaneous_FIN -964800673.306095 weird: spontaneous_FIN -964800673.306166 weird: spontaneous_FIN -964800673.306236 weird: spontaneous_FIN -964800673.306304 weird: spontaneous_FIN -964800673.395618 weird: spontaneous_FIN -964800673.395698 weird: spontaneous_FIN -964800673.395766 weird: spontaneous_FIN -964800673.395832 weird: spontaneous_FIN -964800673.395896 weird: spontaneous_FIN -964800673.395961 weird: spontaneous_FIN -964800673.396030 weird: spontaneous_FIN -964800673.396101 weird: spontaneous_FIN -964800673.396170 weird: spontaneous_FIN -964800673.396236 weird: spontaneous_FIN -964800673.396307 weird: spontaneous_FIN -964800673.412699 weird: bad_ICMP_checksum -964800673.475641 weird: spontaneous_FIN -964800673.475730 weird: spontaneous_FIN -964800673.475804 weird: spontaneous_FIN -964800673.475878 weird: spontaneous_FIN -964800673.475946 weird: spontaneous_FIN -964800673.476014 weird: spontaneous_FIN -964800673.476083 weird: spontaneous_FIN -964800673.476152 weird: spontaneous_FIN -964800673.476220 weird: spontaneous_FIN -964800673.476292 weird: spontaneous_FIN -964800673.476363 weird: spontaneous_FIN -964800673.565597 weird: spontaneous_FIN -964800673.565670 weird: spontaneous_FIN -964800673.565734 weird: spontaneous_FIN -964800673.565799 weird: spontaneous_FIN -964800673.565863 weird: spontaneous_FIN -964800673.565930 weird: spontaneous_FIN -964800673.565995 weird: spontaneous_FIN -964800673.566065 weird: spontaneous_FIN -964800673.566134 weird: spontaneous_FIN -964800673.566201 weird: spontaneous_FIN -964800673.566265 weird: spontaneous_FIN -964800673.655606 weird: spontaneous_FIN -964800673.655688 weird: spontaneous_FIN -964800673.655755 weird: spontaneous_FIN -964800673.655827 weird: spontaneous_FIN -964800673.655896 weird: spontaneous_FIN -964800673.655963 weird: spontaneous_FIN -964800673.656032 weird: spontaneous_FIN -964800673.656101 weird: spontaneous_FIN -964800673.656171 weird: spontaneous_FIN -964800673.656241 weird: spontaneous_FIN -964800673.656311 weird: spontaneous_FIN -964800673.728665 weird: bad_ICMP_checksum -964800673.735599 weird: spontaneous_FIN -964800673.735678 weird: spontaneous_FIN -964800673.735744 weird: spontaneous_FIN -964800673.735815 weird: spontaneous_FIN -964800673.735879 weird: spontaneous_FIN -964800673.735946 weird: spontaneous_FIN -964800673.736012 weird: spontaneous_FIN -964800673.736085 weird: spontaneous_FIN -964800673.736156 weird: spontaneous_FIN -964800673.736222 weird: spontaneous_FIN -964800673.736290 weird: spontaneous_FIN -964800673.825583 weird: spontaneous_FIN -964800673.825657 weird: spontaneous_FIN -964800673.825726 weird: spontaneous_FIN -964800673.825793 weird: spontaneous_FIN -964800673.825861 weird: spontaneous_FIN -964800673.825930 weird: spontaneous_FIN -964800673.826002 weird: spontaneous_FIN -964800673.826070 weird: spontaneous_FIN -964800673.826143 weird: spontaneous_FIN -964800673.826209 weird: spontaneous_FIN -964800673.826277 weird: spontaneous_FIN -964800673.905599 weird: spontaneous_FIN -964800673.905670 weird: spontaneous_FIN -964800673.905735 weird: spontaneous_FIN -964800673.905799 weird: spontaneous_FIN -964800673.905866 weird: spontaneous_FIN -964800673.905934 weird: spontaneous_FIN -964800673.906007 weird: spontaneous_FIN -964800673.906077 weird: spontaneous_FIN -964800673.906148 weird: spontaneous_FIN -964800673.906218 weird: spontaneous_FIN -964800673.906286 weird: spontaneous_FIN -964800673.985586 weird: spontaneous_FIN -964800673.985660 weird: spontaneous_FIN -964800673.985733 weird: spontaneous_FIN -964800673.985801 weird: spontaneous_FIN -964800673.985871 weird: spontaneous_FIN -964800673.985945 weird: spontaneous_FIN -964800673.986016 weird: spontaneous_FIN -964800673.986085 weird: spontaneous_FIN -964800673.986157 weird: spontaneous_FIN -964800673.986228 weird: spontaneous_FIN -964800673.986294 weird: spontaneous_FIN -964800674.075600 weird: spontaneous_FIN -964800674.075674 weird: spontaneous_FIN -964800674.075741 weird: spontaneous_FIN -964800674.075807 weird: spontaneous_FIN -964800674.075875 weird: spontaneous_FIN -964800674.075943 weird: spontaneous_FIN -964800674.076012 weird: spontaneous_FIN -964800674.076083 weird: spontaneous_FIN -964800674.076150 weird: spontaneous_FIN -964800674.076218 weird: spontaneous_FIN -964800674.076285 weird: spontaneous_FIN -964800674.165588 weird: spontaneous_FIN -964800674.165667 weird: spontaneous_FIN -964800674.165734 weird: spontaneous_FIN -964800674.165803 weird: spontaneous_FIN -964800674.165869 weird: spontaneous_FIN -964800674.165938 weird: spontaneous_FIN -964800674.166008 weird: spontaneous_FIN -964800674.166081 weird: spontaneous_FIN -964800674.166149 weird: spontaneous_FIN -964800674.166223 weird: spontaneous_FIN -964800674.166293 weird: spontaneous_FIN -964800674.245590 weird: spontaneous_FIN -964800674.245663 weird: spontaneous_FIN -964800674.245727 weird: spontaneous_FIN -964800674.245793 weird: spontaneous_FIN -964800674.245861 weird: spontaneous_FIN -964800674.245923 weird: spontaneous_FIN -964800674.245990 weird: spontaneous_FIN -964800674.246059 weird: spontaneous_FIN -964800674.246128 weird: spontaneous_FIN -964800674.246193 weird: spontaneous_FIN -964800674.246258 weird: spontaneous_FIN -964800674.274952 weird: baroque_SYN -964800674.276723 weird: spontaneous_FIN -964800674.325589 weird: spontaneous_FIN -964800674.325667 weird: spontaneous_FIN -964800674.325738 weird: spontaneous_FIN -964800674.325807 weird: spontaneous_FIN -964800674.325876 weird: spontaneous_FIN -964800674.325948 weird: spontaneous_FIN -964800674.326019 weird: spontaneous_FIN -964800674.326088 weird: spontaneous_FIN -964800674.326159 weird: spontaneous_FIN -964800674.326227 weird: spontaneous_FIN -964800674.326293 weird: spontaneous_FIN -964800674.355345 weird: bad_ICMP_checksum -964800674.405597 weird: spontaneous_FIN -964800674.405669 weird: spontaneous_FIN -964800674.405735 weird: spontaneous_FIN -964800674.405803 weird: spontaneous_FIN -964800674.405868 weird: spontaneous_FIN -964800674.405933 weird: spontaneous_FIN -964800674.406003 weird: spontaneous_FIN -964800674.406075 weird: spontaneous_FIN -964800674.406146 weird: spontaneous_FIN -964800674.406212 weird: spontaneous_FIN -964800674.406278 weird: spontaneous_FIN -964800674.449198 weird: spontaneous_FIN -964800674.449298 weird: spontaneous_FIN -964800674.485588 weird: spontaneous_FIN -964800674.485663 weird: spontaneous_FIN -964800674.485732 weird: spontaneous_FIN -964800674.485800 weird: spontaneous_FIN -964800674.485867 weird: spontaneous_FIN -964800674.485935 weird: spontaneous_FIN -964800674.486005 weird: spontaneous_FIN -964800674.486074 weird: spontaneous_FIN -964800674.486146 weird: spontaneous_FIN -964800674.486214 weird: spontaneous_FIN -964800674.486283 weird: spontaneous_FIN -964800674.565605 weird: spontaneous_FIN -964800674.565673 weird: spontaneous_FIN -964800674.565743 weird: spontaneous_FIN -964800674.565808 weird: spontaneous_FIN -964800674.565871 weird: spontaneous_FIN -964800674.565935 weird: spontaneous_FIN -964800674.566002 weird: spontaneous_FIN -964800674.566072 weird: spontaneous_FIN -964800674.566141 weird: spontaneous_FIN -964800674.566206 weird: spontaneous_FIN -964800674.566271 weird: spontaneous_FIN -964800674.645588 weird: spontaneous_FIN -964800674.645664 weird: spontaneous_FIN -964800674.645731 weird: spontaneous_FIN -964800674.645798 weird: spontaneous_FIN -964800674.645866 weird: spontaneous_FIN -964800674.645936 weird: spontaneous_FIN -964800674.646005 weird: spontaneous_FIN -964800674.646076 weird: spontaneous_FIN -964800674.646144 weird: spontaneous_FIN -964800674.646211 weird: spontaneous_FIN -964800674.646278 weird: spontaneous_FIN -964800674.725600 weird: spontaneous_FIN -964800674.725676 weird: spontaneous_FIN -964800674.725744 weird: spontaneous_FIN -964800674.725808 weird: spontaneous_FIN -964800674.725871 weird: spontaneous_FIN -964800674.725937 weird: spontaneous_FIN -964800674.726006 weird: spontaneous_FIN -964800674.726077 weird: spontaneous_FIN -964800674.726146 weird: spontaneous_FIN -964800674.726213 weird: spontaneous_FIN -964800674.726280 weird: spontaneous_FIN -964800674.811956 weird: spontaneous_FIN -964800674.812032 weird: spontaneous_FIN -964800674.812102 weird: spontaneous_FIN -964800674.812171 weird: spontaneous_FIN -964800674.812239 weird: spontaneous_FIN -964800674.812309 weird: spontaneous_FIN -964800674.812382 weird: spontaneous_FIN -964800674.812456 weird: spontaneous_FIN -964800674.812529 weird: spontaneous_FIN -964800674.812606 weird: spontaneous_FIN -964800674.812668 weird: spontaneous_FIN -964800674.895600 weird: spontaneous_FIN -964800674.895674 weird: spontaneous_FIN -964800674.895745 weird: spontaneous_FIN -964800674.895813 weird: spontaneous_FIN -964800674.895876 weird: spontaneous_FIN -964800674.895942 weird: spontaneous_FIN -964800674.896009 weird: spontaneous_FIN -964800674.896078 weird: spontaneous_FIN -964800674.896148 weird: spontaneous_FIN -964800674.896212 weird: spontaneous_FIN -964800674.896277 weird: spontaneous_FIN -964800674.975591 weird: spontaneous_FIN -964800674.975670 weird: spontaneous_FIN -964800674.975739 weird: spontaneous_FIN -964800674.975805 weird: spontaneous_FIN -964800674.975872 weird: spontaneous_FIN -964800674.975941 weird: spontaneous_FIN -964800674.976010 weird: spontaneous_FIN -964800674.976080 weird: spontaneous_FIN -964800674.976150 weird: spontaneous_FIN -964800674.976217 weird: spontaneous_FIN -964800674.976289 weird: spontaneous_FIN -964800675.065605 weird: spontaneous_FIN -964800675.065678 weird: spontaneous_FIN -964800675.065750 weird: spontaneous_FIN -964800675.065813 weird: spontaneous_FIN -964800675.065879 weird: spontaneous_FIN -964800675.065943 weird: spontaneous_FIN -964800675.066014 weird: spontaneous_FIN -964800675.066081 weird: spontaneous_FIN -964800675.066150 weird: spontaneous_FIN -964800675.066216 weird: spontaneous_FIN -964800675.066281 weird: spontaneous_FIN -964800675.145585 weird: spontaneous_FIN -964800675.145658 weird: spontaneous_FIN -964800675.145730 weird: spontaneous_FIN -964800675.145799 weird: spontaneous_FIN -964800675.145871 weird: spontaneous_FIN -964800675.145942 weird: spontaneous_FIN -964800675.146015 weird: spontaneous_FIN -964800675.146086 weird: spontaneous_FIN -964800675.146163 weird: spontaneous_FIN -964800675.146226 weird: spontaneous_FIN -964800675.146294 weird: spontaneous_FIN -964800675.225606 weird: spontaneous_FIN -964800675.225683 weird: spontaneous_FIN -964800675.225750 weird: spontaneous_FIN -964800675.225815 weird: spontaneous_FIN -964800675.225878 weird: spontaneous_FIN -964800675.225942 weird: spontaneous_FIN -964800675.226008 weird: spontaneous_FIN -964800675.226078 weird: spontaneous_FIN -964800675.226145 weird: spontaneous_FIN -964800675.226215 weird: spontaneous_FIN -964800675.226281 weird: spontaneous_FIN -964800675.240808 weird: bad_ICMP_checksum -964800675.306698 weird: spontaneous_FIN -964800675.306702 weird: spontaneous_FIN -964800675.306870 weird: spontaneous_FIN -964800675.307034 weird: spontaneous_FIN -964800675.307196 weird: spontaneous_FIN -964800675.307376 weird: spontaneous_FIN -964800675.307538 weird: spontaneous_FIN -964800675.307701 weird: spontaneous_FIN -964800675.307864 weird: spontaneous_FIN -964800675.308026 weird: spontaneous_FIN -964800675.308195 weird: spontaneous_FIN -964800675.381871 weird: spontaneous_FIN -964800675.381946 weird: spontaneous_FIN -964800675.382012 weird: spontaneous_FIN -964800675.382076 weird: spontaneous_FIN -964800675.382139 weird: spontaneous_FIN -964800675.382203 weird: spontaneous_FIN -964800675.382269 weird: spontaneous_FIN -964800675.382340 weird: spontaneous_FIN -964800675.382408 weird: spontaneous_FIN -964800675.382473 weird: spontaneous_FIN -964800675.382539 weird: spontaneous_FIN -964800675.475592 weird: spontaneous_FIN -964800675.475669 weird: spontaneous_FIN -964800675.475735 weird: spontaneous_FIN -964800675.475803 weird: spontaneous_FIN -964800675.475870 weird: spontaneous_FIN -964800675.475939 weird: spontaneous_FIN -964800675.476010 weird: spontaneous_FIN -964800675.476080 weird: spontaneous_FIN -964800675.476152 weird: spontaneous_FIN -964800675.476219 weird: spontaneous_FIN -964800675.476288 weird: spontaneous_FIN -964800675.555624 weird: spontaneous_FIN -964800675.555705 weird: spontaneous_FIN -964800675.555773 weird: spontaneous_FIN -964800675.555838 weird: spontaneous_FIN -964800675.555903 weird: spontaneous_FIN -964800675.555968 weird: spontaneous_FIN -964800675.556038 weird: spontaneous_FIN -964800675.556108 weird: spontaneous_FIN -964800675.556176 weird: spontaneous_FIN -964800675.556244 weird: spontaneous_FIN -964800675.556311 weird: spontaneous_FIN -964800675.602553 weird: bad_ICMP_checksum -964800675.645602 weird: spontaneous_FIN -964800675.645840 weird: spontaneous_FIN -964800675.646004 weird: spontaneous_FIN -964800675.646172 weird: spontaneous_FIN -964800675.646338 weird: spontaneous_FIN -964800675.646500 weird: spontaneous_FIN -964800675.646663 weird: spontaneous_FIN -964800675.646825 weird: spontaneous_FIN -964800675.646988 weird: spontaneous_FIN -964800675.646993 weird: spontaneous_FIN -964800675.647156 weird: spontaneous_FIN -964800675.725632 weird: spontaneous_FIN -964800675.725713 weird: spontaneous_FIN -964800675.725781 weird: spontaneous_FIN -964800675.725848 weird: spontaneous_FIN -964800675.725912 weird: spontaneous_FIN -964800675.725978 weird: spontaneous_FIN -964800675.726048 weird: spontaneous_FIN -964800675.726120 weird: spontaneous_FIN -964800675.726192 weird: spontaneous_FIN -964800675.726262 weird: spontaneous_FIN -964800675.726327 weird: spontaneous_FIN -964800675.761460 weird: bad_ICMP_checksum -964800675.805603 weird: spontaneous_FIN -964800675.805679 weird: spontaneous_FIN -964800675.805750 weird: spontaneous_FIN -964800675.805820 weird: spontaneous_FIN -964800675.805888 weird: spontaneous_FIN -964800675.805959 weird: spontaneous_FIN -964800675.806028 weird: spontaneous_FIN -964800675.806098 weird: spontaneous_FIN -964800675.806168 weird: spontaneous_FIN -964800675.806235 weird: spontaneous_FIN -964800675.806303 weird: spontaneous_FIN -964800675.844740 weird: spontaneous_FIN -964800675.895626 weird: spontaneous_FIN -964800675.895708 weird: spontaneous_FIN -964800675.895776 weird: spontaneous_FIN -964800675.895843 weird: spontaneous_FIN -964800675.895908 weird: spontaneous_FIN -964800675.895973 weird: spontaneous_FIN -964800675.896040 weird: spontaneous_FIN -964800675.896112 weird: spontaneous_FIN -964800675.896183 weird: spontaneous_FIN -964800675.896251 weird: spontaneous_FIN -964800675.896317 weird: spontaneous_FIN -964800675.985620 weird: spontaneous_FIN -964800675.985704 weird: spontaneous_FIN -964800675.985774 weird: spontaneous_FIN -964800675.985845 weird: spontaneous_FIN -964800675.985915 weird: spontaneous_FIN -964800675.985984 weird: spontaneous_FIN -964800675.986056 weird: spontaneous_FIN -964800675.986125 weird: spontaneous_FIN -964800675.986198 weird: spontaneous_FIN -964800675.986269 weird: spontaneous_FIN -964800675.986338 weird: spontaneous_FIN -964800676.065608 weird: spontaneous_FIN -964800676.065681 weird: spontaneous_FIN -964800676.065749 weird: spontaneous_FIN -964800676.065814 weird: spontaneous_FIN -964800676.065879 weird: spontaneous_FIN -964800676.065942 weird: spontaneous_FIN -964800676.066008 weird: spontaneous_FIN -964800676.066079 weird: spontaneous_FIN -964800676.066148 weird: spontaneous_FIN -964800676.066214 weird: spontaneous_FIN -964800676.066279 weird: spontaneous_FIN -964800676.145598 weird: spontaneous_FIN -964800676.145676 weird: spontaneous_FIN -964800676.145746 weird: spontaneous_FIN -964800676.145815 weird: spontaneous_FIN -964800676.145884 weird: spontaneous_FIN -964800676.145953 weird: spontaneous_FIN -964800676.146024 weird: spontaneous_FIN -964800676.146093 weird: spontaneous_FIN -964800676.146161 weird: spontaneous_FIN -964800676.146225 weird: spontaneous_FIN -964800676.146292 weird: spontaneous_FIN -964800676.235629 weird: spontaneous_FIN -964800676.235710 weird: spontaneous_FIN -964800676.235775 weird: spontaneous_FIN -964800676.235841 weird: spontaneous_FIN -964800676.235906 weird: spontaneous_FIN -964800676.235969 weird: spontaneous_FIN -964800676.236039 weird: spontaneous_FIN -964800676.236112 weird: spontaneous_FIN -964800676.236183 weird: spontaneous_FIN -964800676.236250 weird: spontaneous_FIN -964800676.236317 weird: spontaneous_FIN -964800676.325603 weird: spontaneous_FIN -964800676.325683 weird: spontaneous_FIN -964800676.325750 weird: spontaneous_FIN -964800676.325819 weird: spontaneous_FIN -964800676.325888 weird: spontaneous_FIN -964800676.325958 weird: spontaneous_FIN -964800676.326030 weird: spontaneous_FIN -964800676.326099 weird: spontaneous_FIN -964800676.326170 weird: spontaneous_FIN -964800676.326237 weird: spontaneous_FIN -964800676.326306 weird: spontaneous_FIN -964800676.415629 weird: spontaneous_FIN -964800676.415709 weird: spontaneous_FIN -964800676.415779 weird: spontaneous_FIN -964800676.415845 weird: spontaneous_FIN -964800676.415908 weird: spontaneous_FIN -964800676.415974 weird: spontaneous_FIN -964800676.416042 weird: spontaneous_FIN -964800676.416115 weird: spontaneous_FIN -964800676.416183 weird: spontaneous_FIN -964800676.416249 weird: spontaneous_FIN -964800676.416317 weird: spontaneous_FIN -964800676.474792 weird: baroque_SYN -964800676.475402 weird: spontaneous_FIN -964800676.505624 weird: spontaneous_FIN -964800676.505707 weird: spontaneous_FIN -964800676.505774 weird: spontaneous_FIN -964800676.505844 weird: spontaneous_FIN -964800676.505913 weird: spontaneous_FIN -964800676.505981 weird: spontaneous_FIN -964800676.506052 weird: spontaneous_FIN -964800676.506121 weird: spontaneous_FIN -964800676.506192 weird: spontaneous_FIN -964800676.506259 weird: spontaneous_FIN -964800676.506327 weird: spontaneous_FIN -964800676.585614 weird: spontaneous_FIN -964800676.585689 weird: spontaneous_FIN -964800676.585755 weird: spontaneous_FIN -964800676.585821 weird: spontaneous_FIN -964800676.585885 weird: spontaneous_FIN -964800676.585951 weird: spontaneous_FIN -964800676.586018 weird: spontaneous_FIN -964800676.586093 weird: spontaneous_FIN -964800676.586164 weird: spontaneous_FIN -964800676.586233 weird: spontaneous_FIN -964800676.586300 weird: spontaneous_FIN -964800676.665638 weird: spontaneous_FIN -964800676.665721 weird: spontaneous_FIN -964800676.665793 weird: spontaneous_FIN -964800676.665860 weird: spontaneous_FIN -964800676.665928 weird: spontaneous_FIN -964800676.665999 weird: spontaneous_FIN -964800676.666067 weird: spontaneous_FIN -964800676.666139 weird: spontaneous_FIN -964800676.666208 weird: spontaneous_FIN -964800676.666275 weird: spontaneous_FIN -964800676.666344 weird: spontaneous_FIN -964800676.755618 weird: spontaneous_FIN -964800676.755694 weird: spontaneous_FIN -964800676.755760 weird: spontaneous_FIN -964800676.755829 weird: spontaneous_FIN -964800676.755895 weird: spontaneous_FIN -964800676.755960 weird: spontaneous_FIN -964800676.756029 weird: spontaneous_FIN -964800676.756104 weird: spontaneous_FIN -964800676.756173 weird: spontaneous_FIN -964800676.756239 weird: spontaneous_FIN -964800676.756306 weird: spontaneous_FIN -964800676.775468 weird: bad_ICMP_checksum -964800676.845623 weird: spontaneous_FIN -964800676.845707 weird: spontaneous_FIN -964800676.845779 weird: spontaneous_FIN -964800676.845849 weird: spontaneous_FIN -964800676.845918 weird: spontaneous_FIN -964800676.845986 weird: spontaneous_FIN -964800676.846059 weird: spontaneous_FIN -964800676.846127 weird: spontaneous_FIN -964800676.846201 weird: spontaneous_FIN -964800676.846266 weird: spontaneous_FIN -964800676.846335 weird: spontaneous_FIN -964800676.935620 weird: spontaneous_FIN -964800676.935699 weird: spontaneous_FIN -964800676.935768 weird: spontaneous_FIN -964800676.935834 weird: spontaneous_FIN -964800676.935900 weird: spontaneous_FIN -964800676.935968 weird: spontaneous_FIN -964800676.936039 weird: spontaneous_FIN -964800676.936113 weird: spontaneous_FIN -964800676.936186 weird: spontaneous_FIN -964800676.936254 weird: spontaneous_FIN -964800676.936321 weird: spontaneous_FIN -964800677.015595 weird: spontaneous_FIN -964800677.015669 weird: spontaneous_FIN -964800677.015743 weird: spontaneous_FIN -964800677.015811 weird: spontaneous_FIN -964800677.015878 weird: spontaneous_FIN -964800677.015948 weird: spontaneous_FIN -964800677.016019 weird: spontaneous_FIN -964800677.016093 weird: spontaneous_FIN -964800677.016163 weird: spontaneous_FIN -964800677.016228 weird: spontaneous_FIN -964800677.016296 weird: spontaneous_FIN -964800677.097164 weird: spontaneous_FIN -964800677.097243 weird: spontaneous_FIN -964800677.097313 weird: spontaneous_FIN -964800677.097382 weird: spontaneous_FIN -964800677.097446 weird: spontaneous_FIN -964800677.097512 weird: spontaneous_FIN -964800677.097579 weird: spontaneous_FIN -964800677.097652 weird: spontaneous_FIN -964800677.097722 weird: spontaneous_FIN -964800677.097789 weird: spontaneous_FIN -964800677.097856 weird: spontaneous_FIN -964800677.173246 weird: spontaneous_FIN -964800677.173328 weird: spontaneous_FIN -964800677.173398 weird: spontaneous_FIN -964800677.173471 weird: spontaneous_FIN -964800677.173541 weird: spontaneous_FIN -964800677.173610 weird: spontaneous_FIN -964800677.173681 weird: spontaneous_FIN -964800677.173750 weird: spontaneous_FIN -964800677.173818 weird: spontaneous_FIN -964800677.173885 weird: spontaneous_FIN -964800677.173954 weird: spontaneous_FIN -964800677.255618 weird: spontaneous_FIN -964800677.255697 weird: spontaneous_FIN -964800677.255764 weird: spontaneous_FIN -964800677.255832 weird: spontaneous_FIN -964800677.255894 weird: spontaneous_FIN -964800677.255961 weird: spontaneous_FIN -964800677.256028 weird: spontaneous_FIN -964800677.256099 weird: spontaneous_FIN -964800677.256170 weird: spontaneous_FIN -964800677.256235 weird: spontaneous_FIN -964800677.256302 weird: spontaneous_FIN -964800677.335626 weird: spontaneous_FIN -964800677.335708 weird: spontaneous_FIN -964800677.335779 weird: spontaneous_FIN -964800677.335848 weird: spontaneous_FIN -964800677.335916 weird: spontaneous_FIN -964800677.335987 weird: spontaneous_FIN -964800677.336057 weird: spontaneous_FIN -964800677.336126 weird: spontaneous_FIN -964800677.336194 weird: spontaneous_FIN -964800677.336262 weird: spontaneous_FIN -964800677.336330 weird: spontaneous_FIN -964800677.415618 weird: spontaneous_FIN -964800677.415691 weird: spontaneous_FIN -964800677.415758 weird: spontaneous_FIN -964800677.415827 weird: spontaneous_FIN -964800677.415891 weird: spontaneous_FIN -964800677.415959 weird: spontaneous_FIN -964800677.416027 weird: spontaneous_FIN -964800677.416103 weird: spontaneous_FIN -964800677.416171 weird: spontaneous_FIN -964800677.416237 weird: spontaneous_FIN -964800677.416305 weird: spontaneous_FIN -964800677.462542 weird: bad_ICMP_checksum -964800677.495624 weird: spontaneous_FIN -964800677.495704 weird: spontaneous_FIN -964800677.495774 weird: spontaneous_FIN -964800677.495844 weird: spontaneous_FIN -964800677.495914 weird: spontaneous_FIN -964800677.495984 weird: spontaneous_FIN -964800677.496056 weird: spontaneous_FIN -964800677.496128 weird: spontaneous_FIN -964800677.496198 weird: spontaneous_FIN -964800677.496268 weird: spontaneous_FIN -964800677.496337 weird: spontaneous_FIN -964800677.585630 weird: spontaneous_FIN -964800677.585703 weird: spontaneous_FIN -964800677.585773 weird: spontaneous_FIN -964800677.585837 weird: spontaneous_FIN -964800677.585902 weird: spontaneous_FIN -964800677.585967 weird: spontaneous_FIN -964800677.586036 weird: spontaneous_FIN -964800677.586106 weird: spontaneous_FIN -964800677.586176 weird: spontaneous_FIN -964800677.586241 weird: spontaneous_FIN -964800677.586307 weird: spontaneous_FIN -964800677.675607 weird: spontaneous_FIN -964800677.675686 weird: spontaneous_FIN -964800677.675754 weird: spontaneous_FIN -964800677.675822 weird: spontaneous_FIN -964800677.675890 weird: spontaneous_FIN -964800677.675958 weird: spontaneous_FIN -964800677.676027 weird: spontaneous_FIN -964800677.676096 weird: spontaneous_FIN -964800677.676165 weird: spontaneous_FIN -964800677.676234 weird: spontaneous_FIN -964800677.676302 weird: spontaneous_FIN -964800677.765770 weird: spontaneous_FIN -964800677.765860 weird: spontaneous_FIN -964800677.765931 weird: spontaneous_FIN -964800677.766002 weird: spontaneous_FIN -964800677.766069 weird: spontaneous_FIN -964800677.766135 weird: spontaneous_FIN -964800677.766205 weird: spontaneous_FIN -964800677.766275 weird: spontaneous_FIN -964800677.766343 weird: spontaneous_FIN -964800677.766409 weird: spontaneous_FIN -964800677.766478 weird: spontaneous_FIN -964800677.855646 weird: spontaneous_FIN -964800677.855736 weird: spontaneous_FIN -964800677.855807 weird: spontaneous_FIN -964800677.855882 weird: spontaneous_FIN -964800677.855955 weird: spontaneous_FIN -964800677.856029 weird: spontaneous_FIN -964800677.856101 weird: spontaneous_FIN -964800677.856172 weird: spontaneous_FIN -964800677.856245 weird: spontaneous_FIN -964800677.856317 weird: spontaneous_FIN -964800677.856387 weird: spontaneous_FIN -964800677.935612 weird: spontaneous_FIN -964800677.935686 weird: spontaneous_FIN -964800677.935751 weird: spontaneous_FIN -964800677.935815 weird: spontaneous_FIN -964800677.935879 weird: spontaneous_FIN -964800677.935947 weird: spontaneous_FIN -964800677.936023 weird: spontaneous_FIN -964800677.936095 weird: spontaneous_FIN -964800677.936163 weird: spontaneous_FIN -964800677.936230 weird: spontaneous_FIN -964800677.936295 weird: spontaneous_FIN -964800678.025611 weird: spontaneous_FIN -964800678.025693 weird: spontaneous_FIN -964800678.025759 weird: spontaneous_FIN -964800678.025828 weird: spontaneous_FIN -964800678.025901 weird: spontaneous_FIN -964800678.025980 weird: spontaneous_FIN -964800678.026058 weird: spontaneous_FIN -964800678.026139 weird: spontaneous_FIN -964800678.026210 weird: spontaneous_FIN -964800678.026280 weird: spontaneous_FIN -964800678.026347 weird: spontaneous_FIN -964800678.105628 weird: spontaneous_FIN -964800678.105701 weird: spontaneous_FIN -964800678.105768 weird: spontaneous_FIN -964800678.105834 weird: spontaneous_FIN -964800678.105900 weird: spontaneous_FIN -964800678.105963 weird: spontaneous_FIN -964800678.106033 weird: spontaneous_FIN -964800678.106104 weird: spontaneous_FIN -964800678.106173 weird: spontaneous_FIN -964800678.106243 weird: spontaneous_FIN -964800678.106308 weird: spontaneous_FIN -964800678.154715 weird: bad_ICMP_checksum -964800678.184247 weird: spontaneous_FIN -964800678.184325 weird: spontaneous_FIN -964800678.184396 weird: spontaneous_FIN -964800678.184464 weird: spontaneous_FIN -964800678.184536 weird: spontaneous_FIN -964800678.184607 weird: spontaneous_FIN -964800678.184676 weird: spontaneous_FIN -964800678.184747 weird: spontaneous_FIN -964800678.184816 weird: spontaneous_FIN -964800678.184886 weird: spontaneous_FIN -964800678.184953 weird: spontaneous_FIN -964800678.265622 weird: spontaneous_FIN -964800678.265692 weird: spontaneous_FIN -964800678.265755 weird: spontaneous_FIN -964800678.265821 weird: spontaneous_FIN -964800678.265885 weird: spontaneous_FIN -964800678.265951 weird: spontaneous_FIN -964800678.266021 weird: spontaneous_FIN -964800678.266094 weird: spontaneous_FIN -964800678.266162 weird: spontaneous_FIN -964800678.266230 weird: spontaneous_FIN -964800678.266295 weird: spontaneous_FIN -964800678.345607 weird: spontaneous_FIN -964800678.345686 weird: spontaneous_FIN -964800678.345755 weird: spontaneous_FIN -964800678.345826 weird: spontaneous_FIN -964800678.345900 weird: spontaneous_FIN -964800678.345973 weird: spontaneous_FIN -964800678.346046 weird: spontaneous_FIN -964800678.346116 weird: spontaneous_FIN -964800678.346186 weird: spontaneous_FIN -964800678.346257 weird: spontaneous_FIN -964800678.346325 weird: spontaneous_FIN -964800678.412506 weird: bad_ICMP_checksum -964800678.425643 weird: spontaneous_FIN -964800678.425726 weird: spontaneous_FIN -964800678.425795 weird: spontaneous_FIN -964800678.425865 weird: spontaneous_FIN -964800678.425934 weird: spontaneous_FIN -964800678.426003 weird: spontaneous_FIN -964800678.426073 weird: spontaneous_FIN -964800678.426143 weird: spontaneous_FIN -964800678.426215 weird: spontaneous_FIN -964800678.426285 weird: spontaneous_FIN -964800678.426353 weird: spontaneous_FIN -964800678.515618 weird: spontaneous_FIN -964800678.515696 weird: spontaneous_FIN -964800678.515770 weird: spontaneous_FIN -964800678.515842 weird: spontaneous_FIN -964800678.515916 weird: spontaneous_FIN -964800678.515987 weird: spontaneous_FIN -964800678.516055 weird: spontaneous_FIN -964800678.516125 weird: spontaneous_FIN -964800678.516197 weird: spontaneous_FIN -964800678.516268 weird: spontaneous_FIN -964800678.516339 weird: spontaneous_FIN -964800678.595624 weird: spontaneous_FIN -964800678.595699 weird: spontaneous_FIN -964800678.595763 weird: spontaneous_FIN -964800678.595831 weird: spontaneous_FIN -964800678.595894 weird: spontaneous_FIN -964800678.595958 weird: spontaneous_FIN -964800678.596027 weird: spontaneous_FIN -964800678.596096 weird: spontaneous_FIN -964800678.596168 weird: spontaneous_FIN -964800678.596236 weird: spontaneous_FIN -964800678.596303 weird: spontaneous_FIN -964800678.623896 weird: baroque_SYN -964800678.685653 weird: spontaneous_FIN -964800678.685736 weird: spontaneous_FIN -964800678.685803 weird: spontaneous_FIN -964800678.685875 weird: spontaneous_FIN -964800678.685948 weird: spontaneous_FIN -964800678.686019 weird: spontaneous_FIN -964800678.686091 weird: spontaneous_FIN -964800678.686162 weird: spontaneous_FIN -964800678.686235 weird: spontaneous_FIN -964800678.686307 weird: spontaneous_FIN -964800678.686377 weird: spontaneous_FIN -964800678.735446 weird: bad_ICMP_checksum -964800678.765630 weird: spontaneous_FIN -964800678.765704 weird: spontaneous_FIN -964800678.765840 weird: spontaneous_FIN -964800678.765845 weird: spontaneous_FIN -964800678.765897 weird: spontaneous_FIN -964800678.765964 weird: spontaneous_FIN -964800678.766034 weird: spontaneous_FIN -964800678.766103 weird: spontaneous_FIN -964800678.766172 weird: spontaneous_FIN -964800678.766238 weird: spontaneous_FIN -964800678.766303 weird: spontaneous_FIN -964800678.845623 weird: spontaneous_FIN -964800678.845707 weird: spontaneous_FIN -964800678.845783 weird: spontaneous_FIN -964800678.845855 weird: spontaneous_FIN -964800678.845924 weird: spontaneous_FIN -964800678.845994 weird: spontaneous_FIN -964800678.846063 weird: spontaneous_FIN -964800678.846134 weird: spontaneous_FIN -964800678.846208 weird: spontaneous_FIN -964800678.846284 weird: spontaneous_FIN -964800678.846352 weird: spontaneous_FIN -964800678.935630 weird: spontaneous_FIN -964800678.935701 weird: spontaneous_FIN -964800678.935772 weird: spontaneous_FIN -964800678.935838 weird: spontaneous_FIN -964800678.935907 weird: spontaneous_FIN -964800678.935977 weird: spontaneous_FIN -964800678.936044 weird: spontaneous_FIN -964800678.936116 weird: spontaneous_FIN -964800678.936185 weird: spontaneous_FIN -964800678.936249 weird: spontaneous_FIN -964800678.936314 weird: spontaneous_FIN -964800679.025621 weird: spontaneous_FIN -964800679.025698 weird: spontaneous_FIN -964800679.025765 weird: spontaneous_FIN -964800679.025834 weird: spontaneous_FIN -964800679.025906 weird: spontaneous_FIN -964800679.025975 weird: spontaneous_FIN -964800679.026042 weird: spontaneous_FIN -964800679.026114 weird: spontaneous_FIN -964800679.026188 weird: spontaneous_FIN -964800679.026260 weird: spontaneous_FIN -964800679.026328 weird: spontaneous_FIN -964800679.115627 weird: spontaneous_FIN -964800679.115701 weird: spontaneous_FIN -964800679.115767 weird: spontaneous_FIN -964800679.115831 weird: spontaneous_FIN -964800679.115894 weird: spontaneous_FIN -964800679.115958 weird: spontaneous_FIN -964800679.116025 weird: spontaneous_FIN -964800679.116094 weird: spontaneous_FIN -964800679.116164 weird: spontaneous_FIN -964800679.116231 weird: spontaneous_FIN -964800679.116297 weird: spontaneous_FIN -964800679.205619 weird: spontaneous_FIN -964800679.205698 weird: spontaneous_FIN -964800679.205769 weird: spontaneous_FIN -964800679.205839 weird: spontaneous_FIN -964800679.205911 weird: spontaneous_FIN -964800679.205982 weird: spontaneous_FIN -964800679.206053 weird: spontaneous_FIN -964800679.206126 weird: spontaneous_FIN -964800679.206197 weird: spontaneous_FIN -964800679.206270 weird: spontaneous_FIN -964800679.206337 weird: spontaneous_FIN -964800679.285619 weird: spontaneous_FIN -964800679.285688 weird: spontaneous_FIN -964800679.285754 weird: spontaneous_FIN -964800679.285816 weird: spontaneous_FIN -964800679.285879 weird: spontaneous_FIN -964800679.285942 weird: spontaneous_FIN -964800679.286011 weird: spontaneous_FIN -964800679.286081 weird: spontaneous_FIN -964800679.286148 weird: spontaneous_FIN -964800679.286215 weird: spontaneous_FIN -964800679.286277 weird: spontaneous_FIN -964800679.352432 weird: bad_ICMP_checksum -964800679.375618 weird: spontaneous_FIN -964800679.375698 weird: spontaneous_FIN -964800679.375765 weird: spontaneous_FIN -964800679.375833 weird: spontaneous_FIN -964800679.375903 weird: spontaneous_FIN -964800679.375971 weird: spontaneous_FIN -964800679.376040 weird: spontaneous_FIN -964800679.376110 weird: spontaneous_FIN -964800679.376178 weird: spontaneous_FIN -964800679.376247 weird: spontaneous_FIN -964800679.376313 weird: spontaneous_FIN -964800679.455628 weird: spontaneous_FIN -964800679.455703 weird: spontaneous_FIN -964800679.455766 weird: spontaneous_FIN -964800679.455830 weird: spontaneous_FIN -964800679.455894 weird: spontaneous_FIN -964800679.455957 weird: spontaneous_FIN -964800679.456025 weird: spontaneous_FIN -964800679.456093 weird: spontaneous_FIN -964800679.456160 weird: spontaneous_FIN -964800679.456225 weird: spontaneous_FIN -964800679.456291 weird: spontaneous_FIN -964800679.545623 weird: spontaneous_FIN -964800679.545699 weird: spontaneous_FIN -964800679.545768 weird: spontaneous_FIN -964800679.545838 weird: spontaneous_FIN -964800679.545906 weird: spontaneous_FIN -964800679.545976 weird: spontaneous_FIN -964800679.546048 weird: spontaneous_FIN -964800679.546115 weird: spontaneous_FIN -964800679.546187 weird: spontaneous_FIN -964800679.546259 weird: spontaneous_FIN -964800679.546326 weird: spontaneous_FIN -964800679.635630 weird: spontaneous_FIN -964800679.635701 weird: spontaneous_FIN -964800679.635767 weird: spontaneous_FIN -964800679.635835 weird: spontaneous_FIN -964800679.635898 weird: spontaneous_FIN -964800679.635965 weird: spontaneous_FIN -964800679.636033 weird: spontaneous_FIN -964800679.636104 weird: spontaneous_FIN -964800679.636173 weird: spontaneous_FIN -964800679.636239 weird: spontaneous_FIN -964800679.636303 weird: spontaneous_FIN -964800679.715621 weird: spontaneous_FIN -964800679.715702 weird: spontaneous_FIN -964800679.715773 weird: spontaneous_FIN -964800679.715846 weird: spontaneous_FIN -964800679.715919 weird: spontaneous_FIN -964800679.715989 weird: spontaneous_FIN -964800679.716057 weird: spontaneous_FIN -964800679.716128 weird: spontaneous_FIN -964800679.716197 weird: spontaneous_FIN -964800679.716267 weird: spontaneous_FIN -964800679.716334 weird: spontaneous_FIN -964800679.795641 weird: spontaneous_FIN -964800679.795721 weird: spontaneous_FIN -964800679.795785 weird: spontaneous_FIN -964800679.795851 weird: spontaneous_FIN -964800679.795917 weird: spontaneous_FIN -964800679.795980 weird: spontaneous_FIN -964800679.796053 weird: spontaneous_FIN -964800679.796124 weird: spontaneous_FIN -964800679.796193 weird: spontaneous_FIN -964800679.796264 weird: spontaneous_FIN -964800679.796333 weird: spontaneous_FIN -964800679.875619 weird: spontaneous_FIN -964800679.875698 weird: spontaneous_FIN -964800679.875770 weird: spontaneous_FIN -964800679.875838 weird: spontaneous_FIN -964800679.875909 weird: spontaneous_FIN -964800679.875978 weird: spontaneous_FIN -964800679.876046 weird: spontaneous_FIN -964800679.876117 weird: spontaneous_FIN -964800679.876188 weird: spontaneous_FIN -964800679.876257 weird: spontaneous_FIN -964800679.876324 weird: spontaneous_FIN -964800679.955629 weird: spontaneous_FIN -964800679.955703 weird: spontaneous_FIN -964800679.955768 weird: spontaneous_FIN -964800679.955832 weird: spontaneous_FIN -964800679.955895 weird: spontaneous_FIN -964800679.955958 weird: spontaneous_FIN -964800679.956029 weird: spontaneous_FIN -964800679.956098 weird: spontaneous_FIN -964800679.956164 weird: spontaneous_FIN -964800679.956230 weird: spontaneous_FIN -964800679.956293 weird: spontaneous_FIN -964800680.035623 weird: spontaneous_FIN -964800680.035702 weird: spontaneous_FIN -964800680.035770 weird: spontaneous_FIN -964800680.035841 weird: spontaneous_FIN -964800680.035915 weird: spontaneous_FIN -964800680.035985 weird: spontaneous_FIN -964800680.036058 weird: spontaneous_FIN -964800680.036131 weird: spontaneous_FIN -964800680.036201 weird: spontaneous_FIN -964800680.036272 weird: spontaneous_FIN -964800680.036340 weird: spontaneous_FIN -964800680.125641 weird: spontaneous_FIN -964800680.125716 weird: spontaneous_FIN -964800680.125783 weird: spontaneous_FIN -964800680.125848 weird: spontaneous_FIN -964800680.137407 weird: spontaneous_FIN -964800680.137496 weird: spontaneous_FIN -964800680.137564 weird: spontaneous_FIN -964800680.137631 weird: spontaneous_FIN -964800680.137698 weird: spontaneous_FIN -964800680.137762 weird: spontaneous_FIN -964800680.137829 weird: spontaneous_FIN -964800680.218929 weird: spontaneous_FIN -964800680.219009 weird: spontaneous_FIN -964800680.219080 weird: spontaneous_FIN -964800680.219148 weird: spontaneous_FIN -964800680.219215 weird: spontaneous_FIN -964800680.219287 weird: spontaneous_FIN -964800680.219356 weird: spontaneous_FIN -964800680.219427 weird: spontaneous_FIN -964800680.219499 weird: spontaneous_FIN -964800680.219570 weird: spontaneous_FIN -964800680.219639 weird: spontaneous_FIN -964800680.280296 weird: bad_ICMP_checksum -964800680.295637 weird: spontaneous_FIN -964800680.295713 weird: spontaneous_FIN -964800680.295783 weird: spontaneous_FIN -964800680.295847 weird: spontaneous_FIN -964800680.295911 weird: spontaneous_FIN -964800680.295981 weird: spontaneous_FIN -964800680.296054 weird: spontaneous_FIN -964800680.296123 weird: spontaneous_FIN -964800680.296188 weird: spontaneous_FIN -964800680.296256 weird: spontaneous_FIN -964800680.296323 weird: spontaneous_FIN -964800680.375626 weird: spontaneous_FIN -964800680.375706 weird: spontaneous_FIN -964800680.375776 weird: spontaneous_FIN -964800680.375845 weird: spontaneous_FIN -964800680.375911 weird: spontaneous_FIN -964800680.375982 weird: spontaneous_FIN -964800680.376050 weird: spontaneous_FIN -964800680.376122 weird: spontaneous_FIN -964800680.376193 weird: spontaneous_FIN -964800680.376263 weird: spontaneous_FIN -964800680.376330 weird: spontaneous_FIN -964800680.465634 weird: spontaneous_FIN -964800680.465713 weird: spontaneous_FIN -964800680.465780 weird: spontaneous_FIN -964800680.465843 weird: spontaneous_FIN -964800680.465905 weird: spontaneous_FIN -964800680.465974 weird: spontaneous_FIN -964800680.466044 weird: spontaneous_FIN -964800680.466112 weird: spontaneous_FIN -964800680.466178 weird: spontaneous_FIN -964800680.466242 weird: spontaneous_FIN -964800680.466308 weird: spontaneous_FIN -964800680.545635 weird: spontaneous_FIN -964800680.545719 weird: spontaneous_FIN -964800680.545791 weird: spontaneous_FIN -964800680.545861 weird: spontaneous_FIN -964800680.545926 weird: spontaneous_FIN -964800680.546000 weird: spontaneous_FIN -964800680.546069 weird: spontaneous_FIN -964800680.546142 weird: spontaneous_FIN -964800680.546213 weird: spontaneous_FIN -964800680.546283 weird: spontaneous_FIN -964800680.546356 weird: spontaneous_FIN -964800680.608181 weird: bad_ICMP_checksum -964800680.625645 weird: spontaneous_FIN -964800680.625723 weird: spontaneous_FIN -964800680.625785 weird: spontaneous_FIN -964800680.625849 weird: spontaneous_FIN -964800680.625914 weird: spontaneous_FIN -964800680.625981 weird: spontaneous_FIN -964800680.626054 weird: spontaneous_FIN -964800680.626121 weird: spontaneous_FIN -964800680.626187 weird: spontaneous_FIN -964800680.626252 weird: spontaneous_FIN -964800680.626318 weird: spontaneous_FIN -964800680.705643 weird: spontaneous_FIN -964800680.705724 weird: spontaneous_FIN -964800680.705793 weird: spontaneous_FIN -964800680.705862 weird: spontaneous_FIN -964800680.705931 weird: spontaneous_FIN -964800680.706003 weird: spontaneous_FIN -964800680.706070 weird: spontaneous_FIN -964800680.706144 weird: spontaneous_FIN -964800680.706215 weird: spontaneous_FIN -964800680.706289 weird: spontaneous_FIN -964800680.706361 weird: spontaneous_FIN -964800680.728208 weird: bad_ICMP_checksum -964800680.795660 weird: spontaneous_FIN -964800680.795742 weird: spontaneous_FIN -964800680.795810 weird: spontaneous_FIN -964800680.795878 weird: spontaneous_FIN -964800680.795947 weird: spontaneous_FIN -964800680.796020 weird: spontaneous_FIN -964800680.796088 weird: spontaneous_FIN -964800680.796156 weird: spontaneous_FIN -964800680.796222 weird: spontaneous_FIN -964800680.796290 weird: spontaneous_FIN -964800680.796357 weird: spontaneous_FIN -964800680.885635 weird: spontaneous_FIN -964800680.885716 weird: spontaneous_FIN -964800680.885788 weird: spontaneous_FIN -964800680.885859 weird: spontaneous_FIN -964800680.885928 weird: spontaneous_FIN -964800680.886002 weird: spontaneous_FIN -964800680.886072 weird: spontaneous_FIN -964800680.886146 weird: spontaneous_FIN -964800680.886218 weird: spontaneous_FIN -964800680.886290 weird: spontaneous_FIN -964800680.886360 weird: spontaneous_FIN -964800680.914649 weird: spontaneous_FIN -964800680.975438 weird: spontaneous_FIN -964800680.975511 weird: spontaneous_FIN -964800680.975602 weird: spontaneous_FIN -964800680.975671 weird: spontaneous_FIN -964800680.975737 weird: spontaneous_FIN -964800680.975805 weird: spontaneous_FIN -964800680.975877 weird: spontaneous_FIN -964800680.975945 weird: spontaneous_FIN -964800680.976012 weird: spontaneous_FIN -964800680.976075 weird: spontaneous_FIN -964800680.976140 weird: spontaneous_FIN -964800681.065637 weird: spontaneous_FIN -964800681.065719 weird: spontaneous_FIN -964800681.065789 weird: spontaneous_FIN -964800681.065860 weird: spontaneous_FIN -964800681.065928 weird: spontaneous_FIN -964800681.066000 weird: spontaneous_FIN -964800681.066067 weird: spontaneous_FIN -964800681.066138 weird: spontaneous_FIN -964800681.066209 weird: spontaneous_FIN -964800681.066278 weird: spontaneous_FIN -964800681.066347 weird: spontaneous_FIN -964800681.155651 weird: spontaneous_FIN -964800681.155725 weird: spontaneous_FIN -964800681.155790 weird: spontaneous_FIN -964800681.155857 weird: spontaneous_FIN -964800681.155923 weird: spontaneous_FIN -964800681.155991 weird: spontaneous_FIN -964800681.156062 weird: spontaneous_FIN -964800681.156131 weird: spontaneous_FIN -964800681.156196 weird: spontaneous_FIN -964800681.156261 weird: spontaneous_FIN -964800681.156325 weird: spontaneous_FIN -964800681.235644 weird: spontaneous_FIN -964800681.235724 weird: spontaneous_FIN -964800681.235795 weird: spontaneous_FIN -964800681.235863 weird: spontaneous_FIN -964800681.235930 weird: spontaneous_FIN -964800681.236000 weird: spontaneous_FIN -964800681.236072 weird: spontaneous_FIN -964800681.236141 weird: spontaneous_FIN -964800681.236211 weird: spontaneous_FIN -964800681.236287 weird: spontaneous_FIN -964800681.236356 weird: spontaneous_FIN -964800681.325649 weird: spontaneous_FIN -964800681.325725 weird: spontaneous_FIN -964800681.325790 weird: spontaneous_FIN -964800681.325857 weird: spontaneous_FIN -964800681.325921 weird: spontaneous_FIN -964800681.325988 weird: spontaneous_FIN -964800681.326063 weird: spontaneous_FIN -964800681.326132 weird: spontaneous_FIN -964800681.326198 weird: spontaneous_FIN -964800681.326264 weird: spontaneous_FIN -964800681.326329 weird: spontaneous_FIN -964800681.415638 weird: spontaneous_FIN -964800681.415714 weird: spontaneous_FIN -964800681.415785 weird: spontaneous_FIN -964800681.415853 weird: spontaneous_FIN -964800681.415921 weird: spontaneous_FIN -964800681.415992 weird: spontaneous_FIN -964800681.416060 weird: spontaneous_FIN -964800681.416133 weird: spontaneous_FIN -964800681.416202 weird: spontaneous_FIN -964800681.416273 weird: spontaneous_FIN -964800681.416340 weird: spontaneous_FIN -964800681.495272 weird: spontaneous_FIN -964800681.495346 weird: spontaneous_FIN -964800681.495413 weird: spontaneous_FIN -964800681.495479 weird: spontaneous_FIN -964800681.495570 weird: spontaneous_FIN -964800681.495637 weird: spontaneous_FIN -964800681.495709 weird: spontaneous_FIN -964800681.495780 weird: spontaneous_FIN -964800681.495848 weird: spontaneous_FIN -964800681.495912 weird: spontaneous_FIN -964800681.495979 weird: spontaneous_FIN -964800681.572388 weird: spontaneous_FIN -964800681.572464 weird: spontaneous_FIN -964800681.572536 weird: spontaneous_FIN -964800681.572605 weird: spontaneous_FIN -964800681.572675 weird: spontaneous_FIN -964800681.572743 weird: spontaneous_FIN -964800681.572814 weird: spontaneous_FIN -964800681.572886 weird: spontaneous_FIN -964800681.572958 weird: spontaneous_FIN -964800681.573029 weird: spontaneous_FIN -964800681.573096 weird: spontaneous_FIN -964800681.655650 weird: spontaneous_FIN -964800681.655723 weird: spontaneous_FIN -964800681.655791 weird: spontaneous_FIN -964800681.655855 weird: spontaneous_FIN -964800681.655920 weird: spontaneous_FIN -964800681.655988 weird: spontaneous_FIN -964800681.656060 weird: spontaneous_FIN -964800681.656127 weird: spontaneous_FIN -964800681.656195 weird: spontaneous_FIN -964800681.656261 weird: spontaneous_FIN -964800681.656329 weird: spontaneous_FIN -964800681.735646 weird: spontaneous_FIN -964800681.735727 weird: spontaneous_FIN -964800681.735796 weird: spontaneous_FIN -964800681.735864 weird: spontaneous_FIN -964800681.735933 weird: spontaneous_FIN -964800681.736003 weird: spontaneous_FIN -964800681.736073 weird: spontaneous_FIN -964800681.736143 weird: spontaneous_FIN -964800681.736216 weird: spontaneous_FIN -964800681.736293 weird: spontaneous_FIN -964800681.736364 weird: spontaneous_FIN -964800681.825666 weird: spontaneous_FIN -964800681.825744 weird: spontaneous_FIN -964800681.825813 weird: spontaneous_FIN -964800681.825882 weird: spontaneous_FIN -964800681.825950 weird: spontaneous_FIN -964800681.826021 weird: spontaneous_FIN -964800681.826090 weird: spontaneous_FIN -964800681.826158 weird: spontaneous_FIN -964800681.826225 weird: spontaneous_FIN -964800681.826293 weird: spontaneous_FIN -964800681.826360 weird: spontaneous_FIN -964800681.905639 weird: spontaneous_FIN -964800681.905717 weird: spontaneous_FIN -964800681.905790 weird: spontaneous_FIN -964800681.905864 weird: spontaneous_FIN -964800681.905937 weird: spontaneous_FIN -964800681.906005 weird: spontaneous_FIN -964800681.906075 weird: spontaneous_FIN -964800681.906145 weird: spontaneous_FIN -964800681.906217 weird: spontaneous_FIN -964800681.906289 weird: spontaneous_FIN -964800681.906358 weird: spontaneous_FIN -964800681.985655 weird: spontaneous_FIN -964800681.985729 weird: spontaneous_FIN -964800681.985800 weird: spontaneous_FIN -964800681.985865 weird: spontaneous_FIN -964800681.985931 weird: spontaneous_FIN -964800681.985998 weird: spontaneous_FIN -964800681.986071 weird: spontaneous_FIN -964800681.986140 weird: spontaneous_FIN -964800681.986211 weird: spontaneous_FIN -964800681.986277 weird: spontaneous_FIN -964800681.986343 weird: spontaneous_FIN -964800682.075646 weird: spontaneous_FIN -964800682.075724 weird: spontaneous_FIN -964800682.075794 weird: spontaneous_FIN -964800682.075861 weird: spontaneous_FIN -964800682.075931 weird: spontaneous_FIN -964800682.075999 weird: spontaneous_FIN -964800682.076068 weird: spontaneous_FIN -964800682.076138 weird: spontaneous_FIN -964800682.076208 weird: spontaneous_FIN -964800682.076279 weird: spontaneous_FIN -964800682.076349 weird: spontaneous_FIN -964800682.165653 weird: spontaneous_FIN -964800682.165730 weird: spontaneous_FIN -964800682.165797 weird: spontaneous_FIN -964800682.165861 weird: spontaneous_FIN -964800682.165925 weird: spontaneous_FIN -964800682.165990 weird: spontaneous_FIN -964800682.166064 weird: spontaneous_FIN -964800682.166131 weird: spontaneous_FIN -964800682.166196 weird: spontaneous_FIN -964800682.166259 weird: spontaneous_FIN -964800682.166325 weird: spontaneous_FIN -964800682.245642 weird: spontaneous_FIN -964800682.245721 weird: spontaneous_FIN -964800682.245790 weird: spontaneous_FIN -964800682.245858 weird: spontaneous_FIN -964800682.245926 weird: spontaneous_FIN -964800682.245995 weird: spontaneous_FIN -964800682.246064 weird: spontaneous_FIN -964800682.246135 weird: spontaneous_FIN -964800682.246205 weird: spontaneous_FIN -964800682.246275 weird: spontaneous_FIN -964800682.246343 weird: spontaneous_FIN -964800682.335686 weird: spontaneous_FIN -964800682.335766 weird: spontaneous_FIN -964800682.335836 weird: spontaneous_FIN -964800682.335905 weird: spontaneous_FIN -964800682.335974 weird: spontaneous_FIN -964800682.336041 weird: spontaneous_FIN -964800682.336113 weird: spontaneous_FIN -964800682.336182 weird: spontaneous_FIN -964800682.336250 weird: spontaneous_FIN -964800682.336318 weird: spontaneous_FIN -964800682.336384 weird: spontaneous_FIN -964800682.415650 weird: spontaneous_FIN -964800682.415727 weird: spontaneous_FIN -964800682.415801 weird: spontaneous_FIN -964800682.415874 weird: spontaneous_FIN -964800682.415946 weird: spontaneous_FIN -964800682.416015 weird: spontaneous_FIN -964800682.416084 weird: spontaneous_FIN -964800682.416154 weird: spontaneous_FIN -964800682.416225 weird: spontaneous_FIN -964800682.416295 weird: spontaneous_FIN -964800682.416364 weird: spontaneous_FIN -964800682.463998 weird: baroque_SYN -964800682.465262 weird: spontaneous_FIN -964800682.483541 weird: bad_ICMP_checksum -964800682.505657 weird: spontaneous_FIN -964800682.505732 weird: spontaneous_FIN -964800682.505796 weird: spontaneous_FIN -964800682.505859 weird: spontaneous_FIN -964800682.505923 weird: spontaneous_FIN -964800682.505989 weird: spontaneous_FIN -964800682.506062 weird: spontaneous_FIN -964800682.506131 weird: spontaneous_FIN -964800682.506198 weird: spontaneous_FIN -964800682.506262 weird: spontaneous_FIN -964800682.506326 weird: spontaneous_FIN -964800682.585646 weird: spontaneous_FIN -964800682.585726 weird: spontaneous_FIN -964800682.585795 weird: spontaneous_FIN -964800682.585862 weird: spontaneous_FIN -964800682.585933 weird: spontaneous_FIN -964800682.586001 weird: spontaneous_FIN -964800682.586068 weird: spontaneous_FIN -964800682.586141 weird: spontaneous_FIN -964800682.586213 weird: spontaneous_FIN -964800682.586283 weird: spontaneous_FIN -964800682.586351 weird: spontaneous_FIN -964800682.670909 weird: bad_ICMP_checksum -964800682.675683 weird: spontaneous_FIN -964800682.675758 weird: spontaneous_FIN -964800682.675826 weird: spontaneous_FIN -964800682.675893 weird: spontaneous_FIN -964800682.675957 weird: spontaneous_FIN -964800682.676023 weird: spontaneous_FIN -964800682.676094 weird: spontaneous_FIN -964800682.676162 weird: spontaneous_FIN -964800682.676227 weird: spontaneous_FIN -964800682.676294 weird: spontaneous_FIN -964800682.676359 weird: spontaneous_FIN -964800682.755655 weird: spontaneous_FIN -964800682.755735 weird: spontaneous_FIN -964800682.755804 weird: spontaneous_FIN -964800682.755873 weird: spontaneous_FIN -964800682.755942 weird: spontaneous_FIN -964800682.756010 weird: spontaneous_FIN -964800682.756080 weird: spontaneous_FIN -964800682.756151 weird: spontaneous_FIN -964800682.756222 weird: spontaneous_FIN -964800682.756294 weird: spontaneous_FIN -964800682.756365 weird: spontaneous_FIN -964800682.835688 weird: spontaneous_FIN -964800682.835774 weird: spontaneous_FIN -964800682.835848 weird: spontaneous_FIN -964800682.835920 weird: spontaneous_FIN -964800682.836012 weird: spontaneous_FIN -964800682.836094 weird: spontaneous_FIN -964800682.836164 weird: spontaneous_FIN -964800682.836235 weird: spontaneous_FIN -964800682.836303 weird: spontaneous_FIN -964800682.836372 weird: spontaneous_FIN -964800682.836439 weird: spontaneous_FIN -964800682.915653 weird: spontaneous_FIN -964800682.915741 weird: spontaneous_FIN -964800682.915825 weird: spontaneous_FIN -964800682.915903 weird: spontaneous_FIN -964800682.915971 weird: spontaneous_FIN -964800682.916041 weird: spontaneous_FIN -964800682.916110 weird: spontaneous_FIN -964800682.916182 weird: spontaneous_FIN -964800682.916253 weird: spontaneous_FIN -964800682.916324 weird: spontaneous_FIN -964800682.916392 weird: spontaneous_FIN -964800683.005668 weird: spontaneous_FIN -964800683.005745 weird: spontaneous_FIN -964800683.005811 weird: spontaneous_FIN -964800683.005879 weird: spontaneous_FIN -964800683.005945 weird: spontaneous_FIN -964800683.006012 weird: spontaneous_FIN -964800683.006084 weird: spontaneous_FIN -964800683.006154 weird: spontaneous_FIN -964800683.006221 weird: spontaneous_FIN -964800683.006285 weird: spontaneous_FIN -964800683.006352 weird: spontaneous_FIN -964800683.085650 weird: spontaneous_FIN -964800683.085732 weird: spontaneous_FIN -964800683.085803 weird: spontaneous_FIN -964800683.085870 weird: spontaneous_FIN -964800683.085941 weird: spontaneous_FIN -964800683.086008 weird: spontaneous_FIN -964800683.086077 weird: spontaneous_FIN -964800683.086146 weird: spontaneous_FIN -964800683.086218 weird: spontaneous_FIN -964800683.086289 weird: spontaneous_FIN -964800683.086357 weird: spontaneous_FIN -964800683.175662 weird: spontaneous_FIN -964800683.175739 weird: spontaneous_FIN -964800683.175810 weird: spontaneous_FIN -964800683.175872 weird: spontaneous_FIN -964800683.175938 weird: spontaneous_FIN -964800683.176003 weird: spontaneous_FIN -964800683.176076 weird: spontaneous_FIN -964800683.176144 weird: spontaneous_FIN -964800683.176210 weird: spontaneous_FIN -964800683.176274 weird: spontaneous_FIN -964800683.176341 weird: spontaneous_FIN -964800683.191565 weird: bad_ICMP_checksum -964800683.265658 weird: spontaneous_FIN -964800683.265742 weird: spontaneous_FIN -964800683.265814 weird: spontaneous_FIN -964800683.265886 weird: spontaneous_FIN -964800683.265954 weird: spontaneous_FIN -964800683.266025 weird: spontaneous_FIN -964800683.266098 weird: spontaneous_FIN -964800683.266166 weird: spontaneous_FIN -964800683.266233 weird: spontaneous_FIN -964800683.266306 weird: spontaneous_FIN -964800683.266376 weird: spontaneous_FIN -964800683.345666 weird: spontaneous_FIN -964800683.345740 weird: spontaneous_FIN -964800683.345807 weird: spontaneous_FIN -964800683.345873 weird: spontaneous_FIN -964800683.345941 weird: spontaneous_FIN -964800683.346008 weird: spontaneous_FIN -964800683.346081 weird: spontaneous_FIN -964800683.346153 weird: spontaneous_FIN -964800683.346220 weird: spontaneous_FIN -964800683.346286 weird: spontaneous_FIN -964800683.346355 weird: spontaneous_FIN -964800683.425181 weird: spontaneous_FIN -964800683.425262 weird: spontaneous_FIN -964800683.425334 weird: spontaneous_FIN -964800683.425402 weird: spontaneous_FIN -964800683.425473 weird: spontaneous_FIN -964800683.425569 weird: spontaneous_FIN -964800683.425641 weird: spontaneous_FIN -964800683.425712 weird: spontaneous_FIN -964800683.425783 weird: spontaneous_FIN -964800683.425856 weird: spontaneous_FIN -964800683.425926 weird: spontaneous_FIN -964800683.442278 weird: bad_ICMP_checksum -964800683.515664 weird: spontaneous_FIN -964800683.515743 weird: spontaneous_FIN -964800683.515813 weird: spontaneous_FIN -964800683.515877 weird: spontaneous_FIN -964800683.515946 weird: spontaneous_FIN -964800683.516015 weird: spontaneous_FIN -964800683.516088 weird: spontaneous_FIN -964800683.516159 weird: spontaneous_FIN -964800683.516226 weird: spontaneous_FIN -964800683.516295 weird: spontaneous_FIN -964800683.516362 weird: spontaneous_FIN -964800683.595654 weird: spontaneous_FIN -964800683.595733 weird: spontaneous_FIN -964800683.595804 weird: spontaneous_FIN -964800683.595874 weird: spontaneous_FIN -964800683.595947 weird: spontaneous_FIN -964800683.596016 weird: spontaneous_FIN -964800683.596089 weird: spontaneous_FIN -964800683.596162 weird: spontaneous_FIN -964800683.596234 weird: spontaneous_FIN -964800683.596313 weird: spontaneous_FIN -964800683.596387 weird: spontaneous_FIN -964800683.675672 weird: spontaneous_FIN -964800683.675749 weird: spontaneous_FIN -964800683.675814 weird: spontaneous_FIN -964800683.675879 weird: spontaneous_FIN -964800683.675949 weird: spontaneous_FIN -964800683.676016 weird: spontaneous_FIN -964800683.676089 weird: spontaneous_FIN -964800683.676158 weird: spontaneous_FIN -964800683.676224 weird: spontaneous_FIN -964800683.676290 weird: spontaneous_FIN -964800683.676354 weird: spontaneous_FIN -964800683.732317 weird: bad_ICMP_checksum -964800683.765658 weird: spontaneous_FIN -964800683.765738 weird: spontaneous_FIN -964800683.765809 weird: spontaneous_FIN -964800683.765879 weird: spontaneous_FIN -964800683.765949 weird: spontaneous_FIN -964800683.766017 weird: spontaneous_FIN -964800683.766089 weird: spontaneous_FIN -964800683.766160 weird: spontaneous_FIN -964800683.766232 weird: spontaneous_FIN -964800683.766304 weird: spontaneous_FIN -964800683.766378 weird: spontaneous_FIN -964800683.845675 weird: spontaneous_FIN -964800683.845754 weird: spontaneous_FIN -964800683.845818 weird: spontaneous_FIN -964800683.845885 weird: spontaneous_FIN -964800683.845950 weird: spontaneous_FIN -964800683.846019 weird: spontaneous_FIN -964800683.846089 weird: spontaneous_FIN -964800683.846156 weird: spontaneous_FIN -964800683.846225 weird: spontaneous_FIN -964800683.846292 weird: spontaneous_FIN -964800683.846356 weird: spontaneous_FIN -964800683.925659 weird: spontaneous_FIN -964800683.925742 weird: spontaneous_FIN -964800683.925810 weird: spontaneous_FIN -964800683.925879 weird: spontaneous_FIN -964800683.925947 weird: spontaneous_FIN -964800683.926017 weird: spontaneous_FIN -964800683.926088 weird: spontaneous_FIN -964800683.926158 weird: spontaneous_FIN -964800683.926230 weird: spontaneous_FIN -964800683.926304 weird: spontaneous_FIN -964800683.926376 weird: spontaneous_FIN -964800684.005664 weird: spontaneous_FIN -964800684.005740 weird: spontaneous_FIN -964800684.005808 weird: spontaneous_FIN -964800684.005876 weird: spontaneous_FIN -964800684.005941 weird: spontaneous_FIN -964800684.006008 weird: spontaneous_FIN -964800684.006083 weird: spontaneous_FIN -964800684.006150 weird: spontaneous_FIN -964800684.006216 weird: spontaneous_FIN -964800684.006284 weird: spontaneous_FIN -964800684.006349 weird: spontaneous_FIN -964800684.085658 weird: spontaneous_FIN -964800684.085736 weird: spontaneous_FIN -964800684.085815 weird: spontaneous_FIN -964800684.085878 weird: spontaneous_FIN -964800684.085950 weird: spontaneous_FIN -964800684.086060 weird: spontaneous_FIN -964800684.086118 weird: spontaneous_FIN -964800684.086167 weird: spontaneous_FIN -964800684.086239 weird: spontaneous_FIN -964800684.086309 weird: spontaneous_FIN -964800684.086380 weird: spontaneous_FIN -964800684.165670 weird: spontaneous_FIN -964800684.165745 weird: spontaneous_FIN -964800684.165810 weird: spontaneous_FIN -964800684.165878 weird: spontaneous_FIN -964800684.165941 weird: spontaneous_FIN -964800684.166008 weird: spontaneous_FIN -964800684.166079 weird: spontaneous_FIN -964800684.166147 weird: spontaneous_FIN -964800684.166213 weird: spontaneous_FIN -964800684.166280 weird: spontaneous_FIN -964800684.166345 weird: spontaneous_FIN -964800684.245659 weird: spontaneous_FIN -964800684.245740 weird: spontaneous_FIN -964800684.245809 weird: spontaneous_FIN -964800684.245874 weird: spontaneous_FIN -964800684.245943 weird: spontaneous_FIN -964800684.246011 weird: spontaneous_FIN -964800684.246081 weird: spontaneous_FIN -964800684.246151 weird: spontaneous_FIN -964800684.246223 weird: spontaneous_FIN -964800684.246292 weird: spontaneous_FIN -964800684.246361 weird: spontaneous_FIN -964800684.326954 weird: spontaneous_FIN -964800684.327027 weird: spontaneous_FIN -964800684.327093 weird: spontaneous_FIN -964800684.327160 weird: spontaneous_FIN -964800684.327225 weird: spontaneous_FIN -964800684.327290 weird: spontaneous_FIN -964800684.327363 weird: spontaneous_FIN -964800684.327432 weird: spontaneous_FIN -964800684.327499 weird: spontaneous_FIN -964800684.327564 weird: spontaneous_FIN -964800684.327630 weird: spontaneous_FIN -964800684.415660 weird: spontaneous_FIN -964800684.415741 weird: spontaneous_FIN -964800684.415809 weird: spontaneous_FIN -964800684.415878 weird: spontaneous_FIN -964800684.415947 weird: spontaneous_FIN -964800684.416014 weird: spontaneous_FIN -964800684.416083 weird: spontaneous_FIN -964800684.416158 weird: spontaneous_FIN -964800684.416231 weird: spontaneous_FIN -964800684.416305 weird: spontaneous_FIN -964800684.416375 weird: spontaneous_FIN -964800684.495361 weird: spontaneous_FIN -964800684.495444 weird: spontaneous_FIN -964800684.495511 weird: spontaneous_FIN -964800684.495814 weird: spontaneous_FIN -964800684.495819 weird: spontaneous_FIN -964800684.495848 weird: spontaneous_FIN -964800684.495913 weird: spontaneous_FIN -964800684.495978 weird: spontaneous_FIN -964800684.496046 weird: spontaneous_FIN -964800684.496110 weird: spontaneous_FIN -964800684.496174 weird: spontaneous_FIN -964800684.575667 weird: spontaneous_FIN -964800684.575750 weird: spontaneous_FIN -964800684.575819 weird: spontaneous_FIN -964800684.575890 weird: spontaneous_FIN -964800684.575960 weird: spontaneous_FIN -964800684.576031 weird: spontaneous_FIN -964800684.576100 weird: spontaneous_FIN -964800684.576168 weird: spontaneous_FIN -964800684.576238 weird: spontaneous_FIN -964800684.576309 weird: spontaneous_FIN -964800684.576379 weird: spontaneous_FIN -964800684.655670 weird: spontaneous_FIN -964800684.655748 weird: spontaneous_FIN -964800684.655813 weird: spontaneous_FIN -964800684.655878 weird: spontaneous_FIN -964800684.655945 weird: spontaneous_FIN -964800684.656013 weird: spontaneous_FIN -964800684.656081 weird: spontaneous_FIN -964800684.656149 weird: spontaneous_FIN -964800684.656214 weird: spontaneous_FIN -964800684.656280 weird: spontaneous_FIN -964800684.656344 weird: spontaneous_FIN -964800684.745663 weird: spontaneous_FIN -964800684.745743 weird: spontaneous_FIN -964800684.745815 weird: spontaneous_FIN -964800684.745887 weird: spontaneous_FIN -964800684.745958 weird: spontaneous_FIN -964800684.746028 weird: spontaneous_FIN -964800684.746100 weird: spontaneous_FIN -964800684.746169 weird: spontaneous_FIN -964800684.746237 weird: spontaneous_FIN -964800684.746311 weird: spontaneous_FIN -964800684.746385 weird: spontaneous_FIN -964800684.825677 weird: spontaneous_FIN -964800684.825755 weird: spontaneous_FIN -964800684.825825 weird: spontaneous_FIN -964800684.825891 weird: spontaneous_FIN -964800684.825960 weird: spontaneous_FIN -964800684.826026 weird: spontaneous_FIN -964800684.826096 weird: spontaneous_FIN -964800684.826164 weird: spontaneous_FIN -964800684.826229 weird: spontaneous_FIN -964800684.826294 weird: spontaneous_FIN -964800684.826360 weird: spontaneous_FIN -964800684.905656 weird: spontaneous_FIN -964800684.905736 weird: spontaneous_FIN -964800684.905807 weird: spontaneous_FIN -964800684.905877 weird: spontaneous_FIN -964800684.905948 weird: spontaneous_FIN -964800684.906018 weird: spontaneous_FIN -964800684.906091 weird: spontaneous_FIN -964800684.906161 weird: spontaneous_FIN -964800684.906230 weird: spontaneous_FIN -964800684.906301 weird: spontaneous_FIN -964800684.906372 weird: spontaneous_FIN -964800684.985670 weird: spontaneous_FIN -964800684.985744 weird: spontaneous_FIN -964800684.985813 weird: spontaneous_FIN -964800684.985877 weird: spontaneous_FIN -964800684.985946 weird: spontaneous_FIN -964800684.986011 weird: spontaneous_FIN -964800684.986083 weird: spontaneous_FIN -964800684.986149 weird: spontaneous_FIN -964800684.986214 weird: spontaneous_FIN -964800684.986280 weird: spontaneous_FIN -964800684.986346 weird: spontaneous_FIN -964800685.065665 weird: spontaneous_FIN -964800685.065743 weird: spontaneous_FIN -964800685.065816 weird: spontaneous_FIN -964800685.065888 weird: spontaneous_FIN -964800685.065958 weird: spontaneous_FIN -964800685.066024 weird: spontaneous_FIN -964800685.066095 weird: spontaneous_FIN -964800685.066162 weird: spontaneous_FIN -964800685.066231 weird: spontaneous_FIN -964800685.066303 weird: spontaneous_FIN -964800685.066373 weird: spontaneous_FIN -964800685.155672 weird: spontaneous_FIN -964800685.155747 weird: spontaneous_FIN -964800685.155813 weird: spontaneous_FIN -964800685.155880 weird: spontaneous_FIN -964800685.155948 weird: spontaneous_FIN -964800685.156013 weird: spontaneous_FIN -964800685.156082 weird: spontaneous_FIN -964800685.156150 weird: spontaneous_FIN -964800685.156216 weird: spontaneous_FIN -964800685.156278 weird: spontaneous_FIN -964800685.156341 weird: spontaneous_FIN -964800685.235665 weird: spontaneous_FIN -964800685.235744 weird: spontaneous_FIN -964800685.235817 weird: spontaneous_FIN -964800685.235888 weird: spontaneous_FIN -964800685.235958 weird: spontaneous_FIN -964800685.236026 weird: spontaneous_FIN -964800685.236100 weird: spontaneous_FIN -964800685.236165 weird: spontaneous_FIN -964800685.236237 weird: spontaneous_FIN -964800685.236311 weird: spontaneous_FIN -964800685.236384 weird: spontaneous_FIN -964800685.325677 weird: spontaneous_FIN -964800685.325752 weird: spontaneous_FIN -964800685.325821 weird: spontaneous_FIN -964800685.325886 weird: spontaneous_FIN -964800685.325954 weird: spontaneous_FIN -964800685.326020 weird: spontaneous_FIN -964800685.326088 weird: spontaneous_FIN -964800685.326155 weird: spontaneous_FIN -964800685.326220 weird: spontaneous_FIN -964800685.326285 weird: spontaneous_FIN -964800685.326349 weird: spontaneous_FIN -964800685.405671 weird: spontaneous_FIN -964800685.405778 weird: spontaneous_FIN -964800685.405848 weird: spontaneous_FIN -964800685.405920 weird: spontaneous_FIN -964800685.405991 weird: spontaneous_FIN -964800685.406059 weird: spontaneous_FIN -964800685.406131 weird: spontaneous_FIN -964800685.406201 weird: spontaneous_FIN -964800685.406271 weird: spontaneous_FIN -964800685.406342 weird: spontaneous_FIN -964800685.406415 weird: spontaneous_FIN -964800685.485669 weird: spontaneous_FIN -964800685.485749 weird: spontaneous_FIN -964800685.485812 weird: spontaneous_FIN -964800685.485877 weird: spontaneous_FIN -964800685.485945 weird: spontaneous_FIN -964800685.486011 weird: spontaneous_FIN -964800685.486084 weird: spontaneous_FIN -964800685.486147 weird: spontaneous_FIN -964800685.486214 weird: spontaneous_FIN -964800685.486277 weird: spontaneous_FIN -964800685.486344 weird: spontaneous_FIN -964800685.565668 weird: spontaneous_FIN -964800685.565747 weird: spontaneous_FIN -964800685.565820 weird: spontaneous_FIN -964800685.565890 weird: spontaneous_FIN -964800685.565962 weird: spontaneous_FIN -964800685.566029 weird: spontaneous_FIN -964800685.566100 weird: spontaneous_FIN -964800685.566169 weird: spontaneous_FIN -964800685.566236 weird: spontaneous_FIN -964800685.566310 weird: spontaneous_FIN -964800685.566381 weird: spontaneous_FIN -964800685.645676 weird: spontaneous_FIN -964800685.645756 weird: spontaneous_FIN -964800685.645824 weird: spontaneous_FIN -964800685.645889 weird: spontaneous_FIN -964800685.645957 weird: spontaneous_FIN -964800685.646023 weird: spontaneous_FIN -964800685.646091 weird: spontaneous_FIN -964800685.646157 weird: spontaneous_FIN -964800685.646223 weird: spontaneous_FIN -964800685.646287 weird: spontaneous_FIN -964800685.646352 weird: spontaneous_FIN -964800685.723114 weird: spontaneous_FIN -964800685.723195 weird: spontaneous_FIN -964800685.723262 weird: spontaneous_FIN -964800685.723366 weird: spontaneous_FIN -964800685.723441 weird: spontaneous_FIN -964800685.723508 weird: spontaneous_FIN -964800685.723579 weird: spontaneous_FIN -964800685.723648 weird: spontaneous_FIN -964800685.723717 weird: spontaneous_FIN -964800685.723790 weird: spontaneous_FIN -964800685.723863 weird: spontaneous_FIN -964800685.815687 weird: spontaneous_FIN -964800685.815762 weird: spontaneous_FIN -964800685.815829 weird: spontaneous_FIN -964800685.815895 weird: spontaneous_FIN -964800685.815964 weird: spontaneous_FIN -964800685.816031 weird: spontaneous_FIN -964800685.816102 weird: spontaneous_FIN -964800685.816169 weird: spontaneous_FIN -964800685.816235 weird: spontaneous_FIN -964800685.816302 weird: spontaneous_FIN -964800685.816367 weird: spontaneous_FIN -964800685.895661 weird: spontaneous_FIN -964800685.895739 weird: spontaneous_FIN -964800685.895812 weird: spontaneous_FIN -964800685.895882 weird: spontaneous_FIN -964800685.895952 weird: spontaneous_FIN -964800685.896020 weird: spontaneous_FIN -964800685.896091 weird: spontaneous_FIN -964800685.896160 weird: spontaneous_FIN -964800685.896230 weird: spontaneous_FIN -964800685.896303 weird: spontaneous_FIN -964800685.896375 weird: spontaneous_FIN -964800685.899223 weird: spontaneous_FIN -964800685.975675 weird: spontaneous_FIN -964800685.975748 weird: spontaneous_FIN -964800685.975815 weird: spontaneous_FIN -964800685.975880 weird: spontaneous_FIN -964800685.975948 weird: spontaneous_FIN -964800685.976014 weird: spontaneous_FIN -964800685.976083 weird: spontaneous_FIN -964800685.976151 weird: spontaneous_FIN -964800685.976216 weird: spontaneous_FIN -964800685.976280 weird: spontaneous_FIN -964800685.976346 weird: spontaneous_FIN -964800686.055670 weird: spontaneous_FIN -964800686.055749 weird: spontaneous_FIN -964800686.055819 weird: spontaneous_FIN -964800686.055887 weird: spontaneous_FIN -964800686.055957 weird: spontaneous_FIN -964800686.056023 weird: spontaneous_FIN -964800686.056094 weird: spontaneous_FIN -964800686.056161 weird: spontaneous_FIN -964800686.056230 weird: spontaneous_FIN -964800686.056304 weird: spontaneous_FIN -964800686.056377 weird: spontaneous_FIN -964800686.135680 weird: spontaneous_FIN -964800686.135758 weird: spontaneous_FIN -964800686.135824 weird: spontaneous_FIN -964800686.135891 weird: spontaneous_FIN -964800686.135960 weird: spontaneous_FIN -964800686.136027 weird: spontaneous_FIN -964800686.136095 weird: spontaneous_FIN -964800686.136164 weird: spontaneous_FIN -964800686.136230 weird: spontaneous_FIN -964800686.136297 weird: spontaneous_FIN -964800686.136365 weird: spontaneous_FIN -964800686.225673 weird: spontaneous_FIN -964800686.225753 weird: spontaneous_FIN -964800686.225826 weird: spontaneous_FIN -964800686.225897 weird: spontaneous_FIN -964800686.225968 weird: spontaneous_FIN -964800686.226040 weird: spontaneous_FIN -964800686.226113 weird: spontaneous_FIN -964800686.226182 weird: spontaneous_FIN -964800686.226253 weird: spontaneous_FIN -964800686.226327 weird: spontaneous_FIN -964800686.226401 weird: spontaneous_FIN -964800686.305684 weird: spontaneous_FIN -964800686.305757 weird: spontaneous_FIN -964800686.305824 weird: spontaneous_FIN -964800686.305891 weird: spontaneous_FIN -964800686.305962 weird: spontaneous_FIN -964800686.306031 weird: spontaneous_FIN -964800686.306101 weird: spontaneous_FIN -964800686.306168 weird: spontaneous_FIN -964800686.306232 weird: spontaneous_FIN -964800686.306298 weird: spontaneous_FIN -964800686.306365 weird: spontaneous_FIN -964800686.385672 weird: spontaneous_FIN -964800686.385755 weird: spontaneous_FIN -964800686.385827 weird: spontaneous_FIN -964800686.385901 weird: spontaneous_FIN -964800686.385970 weird: spontaneous_FIN -964800686.386037 weird: spontaneous_FIN -964800686.386107 weird: spontaneous_FIN -964800686.386174 weird: spontaneous_FIN -964800686.386241 weird: spontaneous_FIN -964800686.386314 weird: spontaneous_FIN -964800686.386385 weird: spontaneous_FIN -964800686.465684 weird: spontaneous_FIN -964800686.465759 weird: spontaneous_FIN -964800686.465826 weird: spontaneous_FIN -964800686.465893 weird: spontaneous_FIN -964800686.465964 weird: spontaneous_FIN -964800686.466033 weird: spontaneous_FIN -964800686.466106 weird: spontaneous_FIN -964800686.466174 weird: spontaneous_FIN -964800686.466243 weird: spontaneous_FIN -964800686.466308 weird: spontaneous_FIN -964800686.466379 weird: spontaneous_FIN -964800686.545675 weird: spontaneous_FIN -964800686.545755 weird: spontaneous_FIN -964800686.545829 weird: spontaneous_FIN -964800686.545901 weird: spontaneous_FIN -964800686.545974 weird: spontaneous_FIN -964800686.546047 weird: spontaneous_FIN -964800686.546120 weird: spontaneous_FIN -964800686.546189 weird: spontaneous_FIN -964800686.546259 weird: spontaneous_FIN -964800686.546337 weird: spontaneous_FIN -964800686.546417 weird: spontaneous_FIN -964800686.635695 weird: spontaneous_FIN -964800686.635771 weird: spontaneous_FIN -964800686.635839 weird: spontaneous_FIN -964800686.635906 weird: spontaneous_FIN -964800686.635975 weird: spontaneous_FIN -964800686.636044 weird: spontaneous_FIN -964800686.636114 weird: spontaneous_FIN -964800686.636183 weird: spontaneous_FIN -964800686.636249 weird: spontaneous_FIN -964800686.636316 weird: spontaneous_FIN -964800686.636383 weird: spontaneous_FIN -964800686.725682 weird: spontaneous_FIN -964800686.725764 weird: spontaneous_FIN -964800686.725835 weird: spontaneous_FIN -964800686.725909 weird: spontaneous_FIN -964800686.725983 weird: spontaneous_FIN -964800686.726053 weird: spontaneous_FIN -964800686.726127 weird: spontaneous_FIN -964800686.726197 weird: spontaneous_FIN -964800686.726266 weird: spontaneous_FIN -964800686.726338 weird: spontaneous_FIN -964800686.726412 weird: spontaneous_FIN -964800686.805705 weird: spontaneous_FIN -964800686.805785 weird: spontaneous_FIN -964800686.805852 weird: spontaneous_FIN -964800686.805917 weird: spontaneous_FIN -964800686.805986 weird: spontaneous_FIN -964800686.806054 weird: spontaneous_FIN -964800686.806122 weird: spontaneous_FIN -964800686.806191 weird: spontaneous_FIN -964800686.806258 weird: spontaneous_FIN -964800686.806325 weird: spontaneous_FIN -964800686.806392 weird: spontaneous_FIN -964800686.895674 weird: spontaneous_FIN -964800686.895755 weird: spontaneous_FIN -964800686.895828 weird: spontaneous_FIN -964800686.895899 weird: spontaneous_FIN -964800686.895970 weird: spontaneous_FIN -964800686.896039 weird: spontaneous_FIN -964800686.896112 weird: spontaneous_FIN -964800686.896182 weird: spontaneous_FIN -964800686.896252 weird: spontaneous_FIN -964800686.896326 weird: spontaneous_FIN -964800686.896398 weird: spontaneous_FIN -964800686.975687 weird: spontaneous_FIN -964800686.975762 weird: spontaneous_FIN -964800686.975833 weird: spontaneous_FIN -964800686.975899 weird: spontaneous_FIN -964800686.975969 weird: spontaneous_FIN -964800686.976038 weird: spontaneous_FIN -964800686.976108 weird: spontaneous_FIN -964800686.976175 weird: spontaneous_FIN -964800686.976243 weird: spontaneous_FIN -964800686.976310 weird: spontaneous_FIN -964800686.976379 weird: spontaneous_FIN -964800687.065676 weird: spontaneous_FIN -964800687.065757 weird: spontaneous_FIN -964800687.065826 weird: spontaneous_FIN -964800687.065897 weird: spontaneous_FIN -964800687.065967 weird: spontaneous_FIN -964800687.066037 weird: spontaneous_FIN -964800687.066111 weird: spontaneous_FIN -964800687.066181 weird: spontaneous_FIN -964800687.066250 weird: spontaneous_FIN -964800687.066327 weird: spontaneous_FIN -964800687.066404 weird: spontaneous_FIN -964800687.145702 weird: spontaneous_FIN -964800687.145784 weird: spontaneous_FIN -964800687.145851 weird: spontaneous_FIN -964800687.145919 weird: spontaneous_FIN -964800687.145990 weird: spontaneous_FIN -964800687.146063 weird: spontaneous_FIN -964800687.146131 weird: spontaneous_FIN -964800687.146200 weird: spontaneous_FIN -964800687.146270 weird: spontaneous_FIN -964800687.146336 weird: spontaneous_FIN -964800687.146402 weird: spontaneous_FIN -964800687.225680 weird: spontaneous_FIN -964800687.225763 weird: spontaneous_FIN -964800687.225841 weird: spontaneous_FIN -964800687.225915 weird: spontaneous_FIN -964800687.225986 weird: spontaneous_FIN -964800687.226057 weird: spontaneous_FIN -964800687.226129 weird: spontaneous_FIN -964800687.226200 weird: spontaneous_FIN -964800687.226275 weird: spontaneous_FIN -964800687.226347 weird: spontaneous_FIN -964800687.226422 weird: spontaneous_FIN -964800687.305699 weird: spontaneous_FIN -964800687.305777 weird: spontaneous_FIN -964800687.305847 weird: spontaneous_FIN -964800687.305914 weird: spontaneous_FIN -964800687.305983 weird: spontaneous_FIN -964800687.306055 weird: spontaneous_FIN -964800687.306124 weird: spontaneous_FIN -964800687.306194 weird: spontaneous_FIN -964800687.306264 weird: spontaneous_FIN -964800687.306331 weird: spontaneous_FIN -964800687.306398 weird: spontaneous_FIN -964800687.395719 weird: spontaneous_FIN -964800687.395809 weird: spontaneous_FIN -964800687.395881 weird: spontaneous_FIN -964800687.395954 weird: spontaneous_FIN -964800687.396027 weird: spontaneous_FIN -964800687.396100 weird: spontaneous_FIN -964800687.396173 weird: spontaneous_FIN -964800687.396246 weird: spontaneous_FIN -964800687.396320 weird: spontaneous_FIN -964800687.396397 weird: spontaneous_FIN -964800687.396477 weird: spontaneous_FIN -964800687.475729 weird: spontaneous_FIN -964800687.475814 weird: spontaneous_FIN -964800687.475884 weird: spontaneous_FIN -964800687.475956 weird: spontaneous_FIN -964800687.476024 weird: spontaneous_FIN -964800687.476094 weird: spontaneous_FIN -964800687.476167 weird: spontaneous_FIN -964800687.476237 weird: spontaneous_FIN -964800687.476312 weird: spontaneous_FIN -964800687.476384 weird: spontaneous_FIN -964800687.476460 weird: spontaneous_FIN -964800687.555699 weird: spontaneous_FIN -964800687.555789 weird: spontaneous_FIN -964800687.555867 weird: spontaneous_FIN -964800687.555946 weird: spontaneous_FIN -964800687.556019 weird: spontaneous_FIN -964800687.556094 weird: spontaneous_FIN -964800687.556169 weird: spontaneous_FIN -964800687.556246 weird: spontaneous_FIN -964800687.556327 weird: spontaneous_FIN -964800687.556407 weird: spontaneous_FIN -964800687.556490 weird: spontaneous_FIN -964800687.635701 weird: spontaneous_FIN -964800687.635775 weird: spontaneous_FIN -964800687.635841 weird: spontaneous_FIN -964800687.635909 weird: spontaneous_FIN -964800687.635978 weird: spontaneous_FIN -964800687.636046 weird: spontaneous_FIN -964800687.636114 weird: spontaneous_FIN -964800687.636182 weird: spontaneous_FIN -964800687.636250 weird: spontaneous_FIN -964800687.636315 weird: spontaneous_FIN -964800687.636378 weird: spontaneous_FIN -964800687.715704 weird: spontaneous_FIN -964800687.715786 weird: spontaneous_FIN -964800687.715858 weird: spontaneous_FIN -964800687.715932 weird: spontaneous_FIN -964800687.716001 weird: spontaneous_FIN -964800687.716070 weird: spontaneous_FIN -964800687.716142 weird: spontaneous_FIN -964800687.716212 weird: spontaneous_FIN -964800687.716283 weird: spontaneous_FIN -964800687.716357 weird: spontaneous_FIN -964800687.716429 weird: spontaneous_FIN -964800687.795699 weird: spontaneous_FIN -964800687.795778 weird: spontaneous_FIN -964800687.795843 weird: spontaneous_FIN -964800687.795913 weird: spontaneous_FIN -964800687.795978 weird: spontaneous_FIN -964800687.796050 weird: spontaneous_FIN -964800687.796118 weird: spontaneous_FIN -964800687.796188 weird: spontaneous_FIN -964800687.796256 weird: spontaneous_FIN -964800687.796327 weird: spontaneous_FIN -964800687.796392 weird: spontaneous_FIN -964800687.875673 weird: spontaneous_FIN -964800687.875750 weird: spontaneous_FIN -964800687.875823 weird: spontaneous_FIN -964800687.875894 weird: spontaneous_FIN -964800687.875961 weird: spontaneous_FIN -964800687.887466 weird: spontaneous_FIN -964800687.887549 weird: spontaneous_FIN -964800687.887622 weird: spontaneous_FIN -964800687.887696 weird: spontaneous_FIN -964800687.887770 weird: spontaneous_FIN -964800687.887844 weird: spontaneous_FIN -964800687.965694 weird: spontaneous_FIN -964800687.965772 weird: spontaneous_FIN -964800687.965838 weird: spontaneous_FIN -964800687.965904 weird: spontaneous_FIN -964800687.965968 weird: spontaneous_FIN -964800687.966037 weird: spontaneous_FIN -964800687.966107 weird: spontaneous_FIN -964800687.966175 weird: spontaneous_FIN -964800687.966242 weird: spontaneous_FIN -964800687.966310 weird: spontaneous_FIN -964800687.966378 weird: spontaneous_FIN -964800688.055683 weird: spontaneous_FIN -964800688.055769 weird: spontaneous_FIN -964800688.055844 weird: spontaneous_FIN -964800688.055915 weird: spontaneous_FIN -964800688.055987 weird: spontaneous_FIN -964800688.056059 weird: spontaneous_FIN -964800688.056130 weird: spontaneous_FIN -964800688.056201 weird: spontaneous_FIN -964800688.056273 weird: spontaneous_FIN -964800688.056344 weird: spontaneous_FIN -964800688.056416 weird: spontaneous_FIN -964800688.135694 weird: spontaneous_FIN -964800688.135770 weird: spontaneous_FIN -964800688.135840 weird: spontaneous_FIN -964800688.135906 weird: spontaneous_FIN -964800688.135974 weird: spontaneous_FIN -964800688.136044 weird: spontaneous_FIN -964800688.136113 weird: spontaneous_FIN -964800688.136186 weird: spontaneous_FIN -964800688.136250 weird: spontaneous_FIN -964800688.136317 weird: spontaneous_FIN -964800688.136384 weird: spontaneous_FIN -964800688.225684 weird: spontaneous_FIN -964800688.225765 weird: spontaneous_FIN -964800688.225837 weird: spontaneous_FIN -964800688.225907 weird: spontaneous_FIN -964800688.225976 weird: spontaneous_FIN -964800688.226045 weird: spontaneous_FIN -964800688.226115 weird: spontaneous_FIN -964800688.226185 weird: spontaneous_FIN -964800688.226257 weird: spontaneous_FIN -964800688.226332 weird: spontaneous_FIN -964800688.226404 weird: spontaneous_FIN -964800688.315692 weird: spontaneous_FIN -964800688.315771 weird: spontaneous_FIN -964800688.315841 weird: spontaneous_FIN -964800688.315907 weird: spontaneous_FIN -964800688.315973 weird: spontaneous_FIN -964800688.316047 weird: spontaneous_FIN -964800688.316116 weird: spontaneous_FIN -964800688.316182 weird: spontaneous_FIN -964800688.316250 weird: spontaneous_FIN -964800688.316315 weird: spontaneous_FIN -964800688.316382 weird: spontaneous_FIN -964800688.395678 weird: spontaneous_FIN -964800688.395757 weird: spontaneous_FIN -964800688.395830 weird: spontaneous_FIN -964800688.395901 weird: spontaneous_FIN -964800688.395967 weird: spontaneous_FIN -964800688.396039 weird: spontaneous_FIN -964800688.396109 weird: spontaneous_FIN -964800688.396182 weird: spontaneous_FIN -964800688.396259 weird: spontaneous_FIN -964800688.396332 weird: spontaneous_FIN -964800688.396406 weird: spontaneous_FIN -964800688.485713 weird: spontaneous_FIN -964800688.485795 weird: spontaneous_FIN -964800688.485861 weird: spontaneous_FIN -964800688.485929 weird: spontaneous_FIN -964800688.485997 weird: spontaneous_FIN -964800688.486069 weird: spontaneous_FIN -964800688.486139 weird: spontaneous_FIN -964800688.486207 weird: spontaneous_FIN -964800688.486276 weird: spontaneous_FIN -964800688.486342 weird: spontaneous_FIN -964800688.486409 weird: spontaneous_FIN -964800688.565688 weird: spontaneous_FIN -964800688.565771 weird: spontaneous_FIN -964800688.565845 weird: spontaneous_FIN -964800688.565918 weird: spontaneous_FIN -964800688.565986 weird: spontaneous_FIN -964800688.566056 weird: spontaneous_FIN -964800688.566127 weird: spontaneous_FIN -964800688.566199 weird: spontaneous_FIN -964800688.566269 weird: spontaneous_FIN -964800688.566342 weird: spontaneous_FIN -964800688.566417 weird: spontaneous_FIN -964800688.645702 weird: spontaneous_FIN -964800688.645779 weird: spontaneous_FIN -964800688.645845 weird: spontaneous_FIN -964800688.645916 weird: spontaneous_FIN -964800688.645983 weird: spontaneous_FIN -964800688.646056 weird: spontaneous_FIN -964800688.646124 weird: spontaneous_FIN -964800688.646195 weird: spontaneous_FIN -964800688.646261 weird: spontaneous_FIN -964800688.646330 weird: spontaneous_FIN -964800688.646396 weird: spontaneous_FIN -964800688.735691 weird: spontaneous_FIN -964800688.735771 weird: spontaneous_FIN -964800688.735844 weird: spontaneous_FIN -964800688.735916 weird: spontaneous_FIN -964800688.735985 weird: spontaneous_FIN -964800688.736056 weird: spontaneous_FIN -964800688.736126 weird: spontaneous_FIN -964800688.736196 weird: spontaneous_FIN -964800688.736266 weird: spontaneous_FIN -964800688.736340 weird: spontaneous_FIN -964800688.736412 weird: spontaneous_FIN -964800688.815702 weird: spontaneous_FIN -964800688.815782 weird: spontaneous_FIN -964800688.815846 weird: spontaneous_FIN -964800688.815914 weird: spontaneous_FIN -964800688.815983 weird: spontaneous_FIN -964800688.816051 weird: spontaneous_FIN -964800688.816121 weird: spontaneous_FIN -964800688.816188 weird: spontaneous_FIN -964800688.816254 weird: spontaneous_FIN -964800688.816321 weird: spontaneous_FIN -964800688.816386 weird: spontaneous_FIN -964800688.895682 weird: spontaneous_FIN -964800688.895761 weird: spontaneous_FIN -964800688.895833 weird: spontaneous_FIN -964800688.895904 weird: spontaneous_FIN -964800688.895971 weird: spontaneous_FIN -964800688.896040 weird: spontaneous_FIN -964800688.896111 weird: spontaneous_FIN -964800688.896181 weird: spontaneous_FIN -964800688.896250 weird: spontaneous_FIN -964800688.896320 weird: spontaneous_FIN -964800688.896392 weird: spontaneous_FIN -964800688.975697 weird: spontaneous_FIN -964800688.975774 weird: spontaneous_FIN -964800688.975837 weird: spontaneous_FIN -964800688.975905 weird: spontaneous_FIN -964800688.975974 weird: spontaneous_FIN -964800688.976045 weird: spontaneous_FIN -964800688.976114 weird: spontaneous_FIN -964800688.976182 weird: spontaneous_FIN -964800688.976247 weird: spontaneous_FIN -964800688.976314 weird: spontaneous_FIN -964800688.976379 weird: spontaneous_FIN -964800689.055692 weird: spontaneous_FIN -964800689.055773 weird: spontaneous_FIN -964800689.055845 weird: spontaneous_FIN -964800689.055918 weird: spontaneous_FIN -964800689.055985 weird: spontaneous_FIN -964800689.056056 weird: spontaneous_FIN -964800689.056125 weird: spontaneous_FIN -964800689.056195 weird: spontaneous_FIN -964800689.056265 weird: spontaneous_FIN -964800689.056337 weird: spontaneous_FIN -964800689.056410 weird: spontaneous_FIN -964800689.135692 weird: spontaneous_FIN -964800689.135763 weird: spontaneous_FIN -964800689.135829 weird: spontaneous_FIN -964800689.135895 weird: spontaneous_FIN -964800689.135964 weird: spontaneous_FIN -964800689.136033 weird: spontaneous_FIN -964800689.136103 weird: spontaneous_FIN -964800689.136169 weird: spontaneous_FIN -964800689.136236 weird: spontaneous_FIN -964800689.136301 weird: spontaneous_FIN -964800689.136364 weird: spontaneous_FIN -964800689.225696 weird: spontaneous_FIN -964800689.225780 weird: spontaneous_FIN -964800689.225850 weird: spontaneous_FIN -964800689.225922 weird: spontaneous_FIN -964800689.225992 weird: spontaneous_FIN -964800689.226064 weird: spontaneous_FIN -964800689.226135 weird: spontaneous_FIN -964800689.226204 weird: spontaneous_FIN -964800689.226278 weird: spontaneous_FIN -964800689.226353 weird: spontaneous_FIN -964800689.226425 weird: spontaneous_FIN -964800689.305698 weird: spontaneous_FIN -964800689.305774 weird: spontaneous_FIN -964800689.305844 weird: spontaneous_FIN -964800689.305911 weird: spontaneous_FIN -964800689.305980 weird: spontaneous_FIN -964800689.306050 weird: spontaneous_FIN -964800689.306120 weird: spontaneous_FIN -964800689.306185 weird: spontaneous_FIN -964800689.306252 weird: spontaneous_FIN -964800689.306318 weird: spontaneous_FIN -964800689.306385 weird: spontaneous_FIN -964800689.385678 weird: spontaneous_FIN -964800689.385758 weird: spontaneous_FIN -964800689.385831 weird: spontaneous_FIN -964800689.385904 weird: spontaneous_FIN -964800689.385973 weird: spontaneous_FIN -964800689.386041 weird: spontaneous_FIN -964800689.386112 weird: spontaneous_FIN -964800689.386180 weird: spontaneous_FIN -964800689.386251 weird: spontaneous_FIN -964800689.386322 weird: spontaneous_FIN -964800689.386395 weird: spontaneous_FIN -964800689.465698 weird: spontaneous_FIN -964800689.465762 weird: spontaneous_FIN -964800689.465829 weird: spontaneous_FIN -964800689.465894 weird: spontaneous_FIN -964800689.465964 weird: spontaneous_FIN -964800689.466031 weird: spontaneous_FIN -964800689.466100 weird: spontaneous_FIN -964800689.466169 weird: spontaneous_FIN -964800689.466237 weird: spontaneous_FIN -964800689.466305 weird: spontaneous_FIN -964800689.466368 weird: spontaneous_FIN -964800689.555696 weird: spontaneous_FIN -964800689.555780 weird: spontaneous_FIN -964800689.555849 weird: spontaneous_FIN -964800689.555922 weird: spontaneous_FIN -964800689.555990 weird: spontaneous_FIN -964800689.556059 weird: spontaneous_FIN -964800689.556131 weird: spontaneous_FIN -964800689.556201 weird: spontaneous_FIN -964800689.556272 weird: spontaneous_FIN -964800689.556346 weird: spontaneous_FIN -964800689.556418 weird: spontaneous_FIN -964800689.635706 weird: spontaneous_FIN -964800689.635782 weird: spontaneous_FIN -964800689.635851 weird: spontaneous_FIN -964800689.635919 weird: spontaneous_FIN -964800689.635985 weird: spontaneous_FIN -964800689.636056 weird: spontaneous_FIN -964800689.636125 weird: spontaneous_FIN -964800689.636193 weird: spontaneous_FIN -964800689.636261 weird: spontaneous_FIN -964800689.636327 weird: spontaneous_FIN -964800689.636393 weird: spontaneous_FIN -964800689.725696 weird: spontaneous_FIN -964800689.725778 weird: spontaneous_FIN -964800689.725853 weird: spontaneous_FIN -964800689.725927 weird: spontaneous_FIN -964800689.725996 weird: spontaneous_FIN -964800689.726067 weird: spontaneous_FIN -964800689.726137 weird: spontaneous_FIN -964800689.726208 weird: spontaneous_FIN -964800689.726279 weird: spontaneous_FIN -964800689.726353 weird: spontaneous_FIN -964800689.726425 weird: spontaneous_FIN -964800689.805716 weird: spontaneous_FIN -964800689.805791 weird: spontaneous_FIN -964800689.805860 weird: spontaneous_FIN -964800689.805923 weird: spontaneous_FIN -964800689.805992 weird: spontaneous_FIN -964800689.806062 weird: spontaneous_FIN -964800689.806131 weird: spontaneous_FIN -964800689.806199 weird: spontaneous_FIN -964800689.806265 weird: spontaneous_FIN -964800689.806331 weird: spontaneous_FIN -964800689.806397 weird: spontaneous_FIN -964800689.885686 weird: spontaneous_FIN -964800689.885767 weird: spontaneous_FIN -964800689.885840 weird: spontaneous_FIN -964800689.885910 weird: spontaneous_FIN -964800689.885980 weird: spontaneous_FIN -964800689.886049 weird: spontaneous_FIN -964800689.886120 weird: spontaneous_FIN -964800689.886187 weird: spontaneous_FIN -964800689.886256 weird: spontaneous_FIN -964800689.886328 weird: spontaneous_FIN -964800689.886401 weird: spontaneous_FIN -964800689.965703 weird: spontaneous_FIN -964800689.965778 weird: spontaneous_FIN -964800689.965842 weird: spontaneous_FIN -964800689.965910 weird: spontaneous_FIN -964800689.965980 weird: spontaneous_FIN -964800689.966050 weird: spontaneous_FIN -964800689.966115 weird: spontaneous_FIN -964800689.966181 weird: spontaneous_FIN -964800689.966252 weird: spontaneous_FIN -964800689.966317 weird: spontaneous_FIN -964800689.966382 weird: spontaneous_FIN -964800690.045698 weird: spontaneous_FIN -964800690.045775 weird: spontaneous_FIN -964800690.045848 weird: spontaneous_FIN -964800690.045918 weird: spontaneous_FIN -964800690.045986 weird: spontaneous_FIN -964800690.046056 weird: spontaneous_FIN -964800690.046125 weird: spontaneous_FIN -964800690.046194 weird: spontaneous_FIN -964800690.046263 weird: spontaneous_FIN -964800690.046335 weird: spontaneous_FIN -964800690.046408 weird: spontaneous_FIN -964800690.135710 weird: spontaneous_FIN -964800690.135785 weird: spontaneous_FIN -964800690.135852 weird: spontaneous_FIN -964800690.135921 weird: spontaneous_FIN -964800690.135989 weird: spontaneous_FIN -964800690.136058 weird: spontaneous_FIN -964800690.136125 weird: spontaneous_FIN -964800690.136192 weird: spontaneous_FIN -964800690.136257 weird: spontaneous_FIN -964800690.136323 weird: spontaneous_FIN -964800690.136389 weird: spontaneous_FIN -964800690.225697 weird: spontaneous_FIN -964800690.225778 weird: spontaneous_FIN -964800690.225851 weird: spontaneous_FIN -964800690.225919 weird: spontaneous_FIN -964800690.225988 weird: spontaneous_FIN -964800690.226059 weird: spontaneous_FIN -964800690.226130 weird: spontaneous_FIN -964800690.226200 weird: spontaneous_FIN -964800690.226271 weird: spontaneous_FIN -964800690.226344 weird: spontaneous_FIN -964800690.226415 weird: spontaneous_FIN -964800690.305703 weird: spontaneous_FIN -964800690.305775 weird: spontaneous_FIN -964800690.305842 weird: spontaneous_FIN -964800690.305910 weird: spontaneous_FIN -964800690.305982 weird: spontaneous_FIN -964800690.306048 weird: spontaneous_FIN -964800690.306113 weird: spontaneous_FIN -964800690.306183 weird: spontaneous_FIN -964800690.306250 weird: spontaneous_FIN -964800690.306314 weird: spontaneous_FIN -964800690.306381 weird: spontaneous_FIN -964800690.385689 weird: spontaneous_FIN -964800690.385768 weird: spontaneous_FIN -964800690.385842 weird: spontaneous_FIN -964800690.385911 weird: spontaneous_FIN -964800690.385978 weird: spontaneous_FIN -964800690.386045 weird: spontaneous_FIN -964800690.386114 weird: spontaneous_FIN -964800690.386185 weird: spontaneous_FIN -964800690.386258 weird: spontaneous_FIN -964800690.386327 weird: spontaneous_FIN -964800690.386397 weird: spontaneous_FIN -964800690.465703 weird: spontaneous_FIN -964800690.465777 weird: spontaneous_FIN -964800690.465840 weird: spontaneous_FIN -964800690.465909 weird: spontaneous_FIN -964800690.465980 weird: spontaneous_FIN -964800690.466049 weird: spontaneous_FIN -964800690.466115 weird: spontaneous_FIN -964800690.466180 weird: spontaneous_FIN -964800690.466247 weird: spontaneous_FIN -964800690.466311 weird: spontaneous_FIN -964800690.466375 weird: spontaneous_FIN -964800690.545700 weird: spontaneous_FIN -964800690.545777 weird: spontaneous_FIN -964800690.545849 weird: spontaneous_FIN -964800690.545919 weird: spontaneous_FIN -964800690.545989 weird: spontaneous_FIN -964800690.546057 weird: spontaneous_FIN -964800690.546126 weird: spontaneous_FIN -964800690.546196 weird: spontaneous_FIN -964800690.546266 weird: spontaneous_FIN -964800690.546339 weird: spontaneous_FIN -964800690.546412 weird: spontaneous_FIN -964800690.635709 weird: spontaneous_FIN -964800690.635784 weird: spontaneous_FIN -964800690.635850 weird: spontaneous_FIN -964800690.635919 weird: spontaneous_FIN -964800690.635987 weird: spontaneous_FIN -964800690.636059 weird: spontaneous_FIN -964800690.636124 weird: spontaneous_FIN -964800690.636192 weird: spontaneous_FIN -964800690.636261 weird: spontaneous_FIN -964800690.636326 weird: spontaneous_FIN -964800690.636396 weird: spontaneous_FIN -964800690.725700 weird: spontaneous_FIN -964800690.725780 weird: spontaneous_FIN -964800690.725854 weird: spontaneous_FIN -964800690.725927 weird: spontaneous_FIN -964800690.725999 weird: spontaneous_FIN -964800690.726071 weird: spontaneous_FIN -964800690.726143 weird: spontaneous_FIN -964800690.726214 weird: spontaneous_FIN -964800690.726284 weird: spontaneous_FIN -964800690.726356 weird: spontaneous_FIN -964800690.726428 weird: spontaneous_FIN -964800690.805719 weird: spontaneous_FIN -964800690.805797 weird: spontaneous_FIN -964800690.805861 weird: spontaneous_FIN -964800690.805933 weird: spontaneous_FIN -964800690.805999 weird: spontaneous_FIN -964800690.806068 weird: spontaneous_FIN -964800690.806133 weird: spontaneous_FIN -964800690.806199 weird: spontaneous_FIN -964800690.806267 weird: spontaneous_FIN -964800690.806332 weird: spontaneous_FIN -964800690.806399 weird: spontaneous_FIN -964800690.885692 weird: spontaneous_FIN -964800690.885770 weird: spontaneous_FIN -964800690.885841 weird: spontaneous_FIN -964800690.885911 weird: spontaneous_FIN -964800690.885978 weird: spontaneous_FIN -964800690.886048 weird: spontaneous_FIN -964800690.886118 weird: spontaneous_FIN -964800690.886188 weird: spontaneous_FIN -964800690.886258 weird: spontaneous_FIN -964800690.886330 weird: spontaneous_FIN -964800690.886401 weird: spontaneous_FIN -964800690.959715 weird: spontaneous_FIN -964800690.965699 weird: spontaneous_FIN -964800690.965775 weird: spontaneous_FIN -964800690.965838 weird: spontaneous_FIN -964800690.965905 weird: spontaneous_FIN -964800690.965974 weird: spontaneous_FIN -964800690.966043 weird: spontaneous_FIN -964800690.966108 weird: spontaneous_FIN -964800690.966173 weird: spontaneous_FIN -964800690.966240 weird: spontaneous_FIN -964800690.966304 weird: spontaneous_FIN -964800690.966372 weird: spontaneous_FIN -964800691.015249 weird: spontaneous_FIN -964800691.045704 weird: spontaneous_FIN -964800691.045783 weird: spontaneous_FIN -964800691.045856 weird: spontaneous_FIN -964800691.045926 weird: spontaneous_FIN -964800691.045993 weird: spontaneous_FIN -964800691.046062 weird: spontaneous_FIN -964800691.046135 weird: spontaneous_FIN -964800691.046206 weird: spontaneous_FIN -964800691.046277 weird: spontaneous_FIN -964800691.046350 weird: spontaneous_FIN -964800691.046425 weird: spontaneous_FIN -964800691.135715 weird: spontaneous_FIN -964800691.135788 weird: spontaneous_FIN -964800691.135852 weird: spontaneous_FIN -964800691.135918 weird: spontaneous_FIN -964800691.135989 weird: spontaneous_FIN -964800691.136059 weird: spontaneous_FIN -964800691.136125 weird: spontaneous_FIN -964800691.136191 weird: spontaneous_FIN -964800691.136259 weird: spontaneous_FIN -964800691.136322 weird: spontaneous_FIN -964800691.136390 weird: spontaneous_FIN -964800691.215707 weird: spontaneous_FIN -964800691.215790 weird: spontaneous_FIN -964800691.215862 weird: spontaneous_FIN -964800691.215932 weird: spontaneous_FIN -964800691.216001 weird: spontaneous_FIN -964800691.216071 weird: spontaneous_FIN -964800691.216141 weird: spontaneous_FIN -964800691.216211 weird: spontaneous_FIN -964800691.216281 weird: spontaneous_FIN -964800691.216354 weird: spontaneous_FIN -964800691.216429 weird: spontaneous_FIN -964800691.295706 weird: spontaneous_FIN -964800691.295782 weird: spontaneous_FIN -964800691.295849 weird: spontaneous_FIN -964800691.295946 weird: spontaneous_FIN -964800691.296018 weird: spontaneous_FIN -964800691.296090 weird: spontaneous_FIN -964800691.296161 weird: spontaneous_FIN -964800691.296231 weird: spontaneous_FIN -964800691.296300 weird: spontaneous_FIN -964800691.296366 weird: spontaneous_FIN -964800691.296433 weird: spontaneous_FIN -964800691.375698 weird: spontaneous_FIN -964800691.375776 weird: spontaneous_FIN -964800691.375848 weird: spontaneous_FIN -964800691.375916 weird: spontaneous_FIN -964800691.375984 weird: spontaneous_FIN -964800691.376056 weird: spontaneous_FIN -964800691.376131 weird: spontaneous_FIN -964800691.376207 weird: spontaneous_FIN -964800691.376274 weird: spontaneous_FIN -964800691.376346 weird: spontaneous_FIN -964800691.376417 weird: spontaneous_FIN -964800691.465715 weird: spontaneous_FIN -964800691.465793 weird: spontaneous_FIN -964800691.465860 weird: spontaneous_FIN -964800691.465927 weird: spontaneous_FIN -964800691.465995 weird: spontaneous_FIN -964800691.466064 weird: spontaneous_FIN -964800691.466131 weird: spontaneous_FIN -964800691.466197 weird: spontaneous_FIN -964800691.466264 weird: spontaneous_FIN -964800691.466329 weird: spontaneous_FIN -964800691.466396 weird: spontaneous_FIN -964800691.555704 weird: spontaneous_FIN -964800691.555815 weird: spontaneous_FIN -964800691.555890 weird: spontaneous_FIN -964800691.555958 weird: spontaneous_FIN -964800691.556028 weird: spontaneous_FIN -964800691.556098 weird: spontaneous_FIN -964800691.556169 weird: spontaneous_FIN -964800691.556239 weird: spontaneous_FIN -964800691.556310 weird: spontaneous_FIN -964800691.556381 weird: spontaneous_FIN -964800691.556453 weird: spontaneous_FIN -964800691.645711 weird: spontaneous_FIN -964800691.645789 weird: spontaneous_FIN -964800691.645853 weird: spontaneous_FIN -964800691.645924 weird: spontaneous_FIN -964800691.645993 weird: spontaneous_FIN -964800691.646064 weird: spontaneous_FIN -964800691.646132 weird: spontaneous_FIN -964800691.646198 weird: spontaneous_FIN -964800691.646264 weird: spontaneous_FIN -964800691.646330 weird: spontaneous_FIN -964800691.646397 weird: spontaneous_FIN -964800691.725709 weird: spontaneous_FIN -964800691.725792 weird: spontaneous_FIN -964800691.725865 weird: spontaneous_FIN -964800691.725936 weird: spontaneous_FIN -964800691.726005 weird: spontaneous_FIN -964800691.726075 weird: spontaneous_FIN -964800691.726144 weird: spontaneous_FIN -964800691.726213 weird: spontaneous_FIN -964800691.726283 weird: spontaneous_FIN -964800691.726355 weird: spontaneous_FIN -964800691.726426 weird: spontaneous_FIN -964800691.805721 weird: spontaneous_FIN -964800691.805798 weird: spontaneous_FIN -964800691.805861 weird: spontaneous_FIN -964800691.805930 weird: spontaneous_FIN -964800691.806000 weird: spontaneous_FIN -964800691.806072 weird: spontaneous_FIN -964800691.806139 weird: spontaneous_FIN -964800691.806202 weird: spontaneous_FIN -964800691.806271 weird: spontaneous_FIN -964800691.806337 weird: spontaneous_FIN -964800691.806403 weird: spontaneous_FIN -964800691.885696 weird: spontaneous_FIN -964800691.885773 weird: spontaneous_FIN -964800691.885847 weird: spontaneous_FIN -964800691.885914 weird: spontaneous_FIN -964800691.885984 weird: spontaneous_FIN -964800691.886053 weird: spontaneous_FIN -964800691.886124 weird: spontaneous_FIN -964800691.886194 weird: spontaneous_FIN -964800691.886265 weird: spontaneous_FIN -964800691.886337 weird: spontaneous_FIN -964800691.886408 weird: spontaneous_FIN -964800691.965706 weird: spontaneous_FIN -964800691.965778 weird: spontaneous_FIN -964800691.965842 weird: spontaneous_FIN -964800691.965912 weird: spontaneous_FIN -964800691.965980 weird: spontaneous_FIN -964800691.966049 weird: spontaneous_FIN -964800691.966112 weird: spontaneous_FIN -964800691.966178 weird: spontaneous_FIN -964800691.966245 weird: spontaneous_FIN -964800691.966311 weird: spontaneous_FIN -964800691.966379 weird: spontaneous_FIN -964800692.055706 weird: spontaneous_FIN -964800692.055786 weird: spontaneous_FIN -964800692.055859 weird: spontaneous_FIN -964800692.055930 weird: spontaneous_FIN -964800692.055998 weird: spontaneous_FIN -964800692.056067 weird: spontaneous_FIN -964800692.056140 weird: spontaneous_FIN -964800692.056210 weird: spontaneous_FIN -964800692.056280 weird: spontaneous_FIN -964800692.056353 weird: spontaneous_FIN -964800692.056427 weird: spontaneous_FIN -964800692.145826 weird: spontaneous_FIN -964800692.145900 weird: spontaneous_FIN -964800692.145966 weird: spontaneous_FIN -964800692.146036 weird: spontaneous_FIN -964800692.146104 weird: spontaneous_FIN -964800692.146172 weird: spontaneous_FIN -964800692.146239 weird: spontaneous_FIN -964800692.146306 weird: spontaneous_FIN -964800692.146373 weird: spontaneous_FIN -964800692.146442 weird: spontaneous_FIN -964800692.146510 weird: spontaneous_FIN -964800692.225714 weird: spontaneous_FIN -964800692.225792 weird: spontaneous_FIN -964800692.225859 weird: spontaneous_FIN -964800692.225932 weird: spontaneous_FIN -964800692.226001 weird: spontaneous_FIN -964800692.226068 weird: spontaneous_FIN -964800692.226135 weird: spontaneous_FIN -964800692.226204 weird: spontaneous_FIN -964800692.226271 weird: spontaneous_FIN -964800692.226340 weird: spontaneous_FIN -964800692.226410 weird: spontaneous_FIN -964800692.305717 weird: spontaneous_FIN -964800692.305790 weird: spontaneous_FIN -964800692.305861 weird: spontaneous_FIN -964800692.305932 weird: spontaneous_FIN -964800692.306007 weird: spontaneous_FIN -964800692.306078 weird: spontaneous_FIN -964800692.306149 weird: spontaneous_FIN -964800692.306215 weird: spontaneous_FIN -964800692.306281 weird: spontaneous_FIN -964800692.306346 weird: spontaneous_FIN -964800692.306412 weird: spontaneous_FIN -964800692.391778 weird: spontaneous_FIN -964800692.391857 weird: spontaneous_FIN -964800692.391934 weird: spontaneous_FIN -964800692.392008 weird: spontaneous_FIN -964800692.392085 weird: spontaneous_FIN -964800692.392160 weird: spontaneous_FIN -964800692.392235 weird: spontaneous_FIN -964800692.392307 weird: spontaneous_FIN -964800692.392376 weird: spontaneous_FIN -964800692.392447 weird: spontaneous_FIN -964800692.392519 weird: spontaneous_FIN -964800692.485724 weird: spontaneous_FIN -964800692.485798 weird: spontaneous_FIN -964800692.485867 weird: spontaneous_FIN -964800692.485937 weird: spontaneous_FIN -964800692.486006 weird: spontaneous_FIN -964800692.486073 weird: spontaneous_FIN -964800692.486142 weird: spontaneous_FIN -964800692.486208 weird: spontaneous_FIN -964800692.486274 weird: spontaneous_FIN -964800692.486343 weird: spontaneous_FIN -964800692.486412 weird: spontaneous_FIN -964800692.565709 weird: spontaneous_FIN -964800692.565791 weird: spontaneous_FIN -964800692.565862 weird: spontaneous_FIN -964800692.565935 weird: spontaneous_FIN -964800692.566009 weird: spontaneous_FIN -964800692.566076 weird: spontaneous_FIN -964800692.566142 weird: spontaneous_FIN -964800692.566214 weird: spontaneous_FIN -964800692.566281 weird: spontaneous_FIN -964800692.566381 weird: spontaneous_FIN -964800692.566453 weird: spontaneous_FIN -964800692.655720 weird: spontaneous_FIN -964800692.655792 weird: spontaneous_FIN -964800692.655882 weird: spontaneous_FIN -964800692.655929 weird: spontaneous_FIN -964800692.655998 weird: spontaneous_FIN -964800692.656069 weird: spontaneous_FIN -964800692.656137 weird: spontaneous_FIN -964800692.656205 weird: spontaneous_FIN -964800692.656270 weird: spontaneous_FIN -964800692.656336 weird: spontaneous_FIN -964800692.656404 weird: spontaneous_FIN -964800692.745714 weird: spontaneous_FIN -964800692.745792 weird: spontaneous_FIN -964800692.745861 weird: spontaneous_FIN -964800692.745936 weird: spontaneous_FIN -964800692.746008 weird: spontaneous_FIN -964800692.746080 weird: spontaneous_FIN -964800692.746150 weird: spontaneous_FIN -964800692.746220 weird: spontaneous_FIN -964800692.746289 weird: spontaneous_FIN -964800692.746361 weird: spontaneous_FIN -964800692.746433 weird: spontaneous_FIN -964800692.825732 weird: spontaneous_FIN -964800692.825813 weird: spontaneous_FIN -964800692.825881 weird: spontaneous_FIN -964800692.825951 weird: spontaneous_FIN -964800692.826018 weird: spontaneous_FIN -964800692.826081 weird: spontaneous_FIN -964800692.826146 weird: spontaneous_FIN -964800692.826253 weird: spontaneous_FIN -964800692.826322 weird: spontaneous_FIN -964800692.826388 weird: spontaneous_FIN -964800692.826455 weird: spontaneous_FIN -964800692.905701 weird: spontaneous_FIN -964800692.905780 weird: spontaneous_FIN -964800692.905851 weird: spontaneous_FIN -964800692.905926 weird: spontaneous_FIN -964800692.905998 weird: spontaneous_FIN -964800692.906066 weird: spontaneous_FIN -964800692.906137 weird: spontaneous_FIN -964800692.906207 weird: spontaneous_FIN -964800692.906276 weird: spontaneous_FIN -964800692.906346 weird: spontaneous_FIN -964800692.906416 weird: spontaneous_FIN -964800692.985723 weird: spontaneous_FIN -964800692.985795 weird: spontaneous_FIN -964800692.985863 weird: spontaneous_FIN -964800692.985933 weird: spontaneous_FIN -964800692.986003 weird: spontaneous_FIN -964800692.986067 weird: spontaneous_FIN -964800692.986136 weird: spontaneous_FIN -964800692.986207 weird: spontaneous_FIN -964800692.986275 weird: spontaneous_FIN -964800692.986343 weird: spontaneous_FIN -964800692.986410 weird: spontaneous_FIN -964800693.065716 weird: spontaneous_FIN -964800693.065796 weird: spontaneous_FIN -964800693.065864 weird: spontaneous_FIN -964800693.065935 weird: spontaneous_FIN -964800693.066004 weird: spontaneous_FIN -964800693.066072 weird: spontaneous_FIN -964800693.066140 weird: spontaneous_FIN -964800693.066210 weird: spontaneous_FIN -964800693.066281 weird: spontaneous_FIN -964800693.066356 weird: spontaneous_FIN -964800693.066426 weird: spontaneous_FIN -964800693.145726 weird: spontaneous_FIN -964800693.145804 weird: spontaneous_FIN -964800693.145873 weird: spontaneous_FIN -964800693.145945 weird: spontaneous_FIN -964800693.146015 weird: spontaneous_FIN -964800693.146079 weird: spontaneous_FIN -964800693.146146 weird: spontaneous_FIN -964800693.146214 weird: spontaneous_FIN -964800693.146279 weird: spontaneous_FIN -964800693.146349 weird: spontaneous_FIN -964800693.146410 weird: spontaneous_FIN -964800693.225704 weird: spontaneous_FIN -964800693.225783 weird: spontaneous_FIN -964800693.225852 weird: spontaneous_FIN -964800693.225926 weird: spontaneous_FIN -964800693.225994 weird: spontaneous_FIN -964800693.226062 weird: spontaneous_FIN -964800693.226130 weird: spontaneous_FIN -964800693.226198 weird: spontaneous_FIN -964800693.226266 weird: spontaneous_FIN -964800693.226339 weird: spontaneous_FIN -964800693.226413 weird: spontaneous_FIN -964800693.305723 weird: spontaneous_FIN -964800693.305792 weird: spontaneous_FIN -964800693.305860 weird: spontaneous_FIN -964800693.305930 weird: spontaneous_FIN -964800693.305999 weird: spontaneous_FIN -964800693.306064 weird: spontaneous_FIN -964800693.306131 weird: spontaneous_FIN -964800693.306199 weird: spontaneous_FIN -964800693.306266 weird: spontaneous_FIN -964800693.306337 weird: spontaneous_FIN -964800693.306402 weird: spontaneous_FIN -964800693.386446 weird: spontaneous_FIN -964800693.386527 weird: spontaneous_FIN -964800693.386599 weird: spontaneous_FIN -964800693.386672 weird: spontaneous_FIN -964800693.386741 weird: spontaneous_FIN -964800693.386808 weird: spontaneous_FIN -964800693.386877 weird: spontaneous_FIN -964800693.386946 weird: spontaneous_FIN -964800693.387013 weird: spontaneous_FIN -964800693.387081 weird: spontaneous_FIN -964800693.387152 weird: spontaneous_FIN -964800693.475739 weird: spontaneous_FIN -964800693.475818 weird: spontaneous_FIN -964800693.475888 weird: spontaneous_FIN -964800693.475959 weird: spontaneous_FIN -964800693.476029 weird: spontaneous_FIN -964800693.476097 weird: spontaneous_FIN -964800693.476165 weird: spontaneous_FIN -964800693.476235 weird: spontaneous_FIN -964800693.476304 weird: spontaneous_FIN -964800693.476369 weird: spontaneous_FIN -964800693.476436 weird: spontaneous_FIN -964800693.555715 weird: spontaneous_FIN -964800693.555795 weird: spontaneous_FIN -964800693.555863 weird: spontaneous_FIN -964800693.555937 weird: spontaneous_FIN -964800693.556004 weird: spontaneous_FIN -964800693.556070 weird: spontaneous_FIN -964800693.556136 weird: spontaneous_FIN -964800693.556209 weird: spontaneous_FIN -964800693.556281 weird: spontaneous_FIN -964800693.556349 weird: spontaneous_FIN -964800693.556422 weird: spontaneous_FIN -964800693.645724 weird: spontaneous_FIN -964800693.645797 weird: spontaneous_FIN -964800693.645866 weird: spontaneous_FIN -964800693.645934 weird: spontaneous_FIN -964800693.646004 weird: spontaneous_FIN -964800693.646068 weird: spontaneous_FIN -964800693.646133 weird: spontaneous_FIN -964800693.646200 weird: spontaneous_FIN -964800693.646264 weird: spontaneous_FIN -964800693.646329 weird: spontaneous_FIN -964800693.646393 weird: spontaneous_FIN -964800693.725716 weird: spontaneous_FIN -964800693.725792 weird: spontaneous_FIN -964800693.725862 weird: spontaneous_FIN -964800693.725936 weird: spontaneous_FIN -964800693.726006 weird: spontaneous_FIN -964800693.726076 weird: spontaneous_FIN -964800693.726146 weird: spontaneous_FIN -964800693.726219 weird: spontaneous_FIN -964800693.726288 weird: spontaneous_FIN -964800693.726356 weird: spontaneous_FIN -964800693.726427 weird: spontaneous_FIN -964800693.805737 weird: spontaneous_FIN -964800693.805812 weird: spontaneous_FIN -964800693.805880 weird: spontaneous_FIN -964800693.805949 weird: spontaneous_FIN -964800693.806018 weird: spontaneous_FIN -964800693.806082 weird: spontaneous_FIN -964800693.806150 weird: spontaneous_FIN -964800693.806216 weird: spontaneous_FIN -964800693.806282 weird: spontaneous_FIN -964800693.806351 weird: spontaneous_FIN -964800693.806418 weird: spontaneous_FIN -964800693.895726 weird: spontaneous_FIN -964800693.895807 weird: spontaneous_FIN -964800693.895878 weird: spontaneous_FIN -964800693.895953 weird: spontaneous_FIN -964800693.896024 weird: spontaneous_FIN -964800693.896093 weird: spontaneous_FIN -964800693.896161 weird: spontaneous_FIN -964800693.896232 weird: spontaneous_FIN -964800693.896302 weird: spontaneous_FIN -964800693.896371 weird: spontaneous_FIN -964800693.896442 weird: spontaneous_FIN -964800693.985729 weird: spontaneous_FIN -964800693.985804 weird: spontaneous_FIN -964800693.985873 weird: spontaneous_FIN -964800693.985943 weird: spontaneous_FIN -964800693.986017 weird: spontaneous_FIN -964800693.986086 weird: spontaneous_FIN -964800693.986154 weird: spontaneous_FIN -964800693.986222 weird: spontaneous_FIN -964800693.986289 weird: spontaneous_FIN -964800693.986359 weird: spontaneous_FIN -964800693.986426 weird: spontaneous_FIN -964800694.075721 weird: spontaneous_FIN -964800694.075804 weird: spontaneous_FIN -964800694.075873 weird: spontaneous_FIN -964800694.075946 weird: spontaneous_FIN -964800694.076015 weird: spontaneous_FIN -964800694.076084 weird: spontaneous_FIN -964800694.076153 weird: spontaneous_FIN -964800694.076224 weird: spontaneous_FIN -964800694.076292 weird: spontaneous_FIN -964800694.076364 weird: spontaneous_FIN -964800694.076438 weird: spontaneous_FIN -964800694.155724 weird: spontaneous_FIN -964800694.155799 weird: spontaneous_FIN -964800694.155868 weird: spontaneous_FIN -964800694.155937 weird: spontaneous_FIN -964800694.156007 weird: spontaneous_FIN -964800694.156074 weird: spontaneous_FIN -964800694.156141 weird: spontaneous_FIN -964800694.156211 weird: spontaneous_FIN -964800694.156278 weird: spontaneous_FIN -964800694.156348 weird: spontaneous_FIN -964800694.156414 weird: spontaneous_FIN -964800694.235712 weird: spontaneous_FIN -964800694.235792 weird: spontaneous_FIN -964800694.235859 weird: spontaneous_FIN -964800694.235932 weird: spontaneous_FIN -964800694.236003 weird: spontaneous_FIN -964800694.236070 weird: spontaneous_FIN -964800694.236138 weird: spontaneous_FIN -964800694.236207 weird: spontaneous_FIN -964800694.236275 weird: spontaneous_FIN -964800694.236342 weird: spontaneous_FIN -964800694.236414 weird: spontaneous_FIN -964800694.315722 weird: spontaneous_FIN -964800694.315795 weird: spontaneous_FIN -964800694.315860 weird: spontaneous_FIN -964800694.315929 weird: spontaneous_FIN -964800694.316000 weird: spontaneous_FIN -964800694.316065 weird: spontaneous_FIN -964800694.316132 weird: spontaneous_FIN -964800694.316200 weird: spontaneous_FIN -964800694.316266 weird: spontaneous_FIN -964800694.316337 weird: spontaneous_FIN -964800694.316402 weird: spontaneous_FIN -964800694.391904 weird: spontaneous_FIN -964800694.391984 weird: spontaneous_FIN -964800694.392053 weird: spontaneous_FIN -964800694.392127 weird: spontaneous_FIN -964800694.392196 weird: spontaneous_FIN -964800694.392263 weird: spontaneous_FIN -964800694.392332 weird: spontaneous_FIN -964800694.392401 weird: spontaneous_FIN -964800694.392468 weird: spontaneous_FIN -964800694.392541 weird: spontaneous_FIN -964800694.392613 weird: spontaneous_FIN -964800694.485735 weird: spontaneous_FIN -964800694.485810 weird: spontaneous_FIN -964800694.485880 weird: spontaneous_FIN -964800694.485950 weird: spontaneous_FIN -964800694.486020 weird: spontaneous_FIN -964800694.486086 weird: spontaneous_FIN -964800694.486152 weird: spontaneous_FIN -964800694.486217 weird: spontaneous_FIN -964800694.486282 weird: spontaneous_FIN -964800694.486351 weird: spontaneous_FIN -964800694.486418 weird: spontaneous_FIN -964800694.565715 weird: spontaneous_FIN -964800694.565794 weird: spontaneous_FIN -964800694.565862 weird: spontaneous_FIN -964800694.565932 weird: spontaneous_FIN -964800694.565999 weird: spontaneous_FIN -964800694.566069 weird: spontaneous_FIN -964800694.566139 weird: spontaneous_FIN -964800694.566209 weird: spontaneous_FIN -964800694.566279 weird: spontaneous_FIN -964800694.566349 weird: spontaneous_FIN -964800694.566420 weird: spontaneous_FIN -964800694.645717 weird: spontaneous_FIN -964800694.645788 weird: spontaneous_FIN -964800694.645854 weird: spontaneous_FIN -964800694.645924 weird: spontaneous_FIN -964800694.645994 weird: spontaneous_FIN -964800694.646059 weird: spontaneous_FIN -964800694.646126 weird: spontaneous_FIN -964800694.646190 weird: spontaneous_FIN -964800694.646255 weird: spontaneous_FIN -964800694.725711 weird: spontaneous_FIN -964800694.725792 weird: spontaneous_FIN -964800694.725861 weird: spontaneous_FIN -964800694.725932 weird: spontaneous_FIN -964800694.726002 weird: spontaneous_FIN -964800694.726073 weird: spontaneous_FIN -964800694.726141 weird: spontaneous_FIN -964800694.726209 weird: spontaneous_FIN -964800694.726282 weird: spontaneous_FIN -964800696.215354 weird: spontaneous_FIN -964800701.449317 weird: spontaneous_FIN -964800706.645456 weird: spontaneous_FIN -964800709.120433 weird: spontaneous_RST -964800711.765516 weird: spontaneous_FIN -964800716.768236 weird: spontaneous_FIN -964800718.458372 weird: spontaneous_FIN -964800722.016159 weird: spontaneous_FIN -964800727.186323 weird: spontaneous_FIN -964800727.753871 weird: baroque_SYN -964800729.393724 weird: spontaneous_FIN -964800732.457668 weird: spontaneous_FIN -964800734.714117 weird: baroque_SYN -964800734.714235 weird: spontaneous_FIN -964800740.962042 weird: spontaneous_FIN -964800741.639518 weird: baroque_SYN -964800741.639647 weird: spontaneous_FIN -964800743.952472 weird: baroque_SYN -964800745.592245 weird: spontaneous_FIN -964800748.689325 weird: baroque_SYN -964800748.689444 weird: spontaneous_FIN -964800760.010936 weird: baroque_SYN -964800761.650789 weird: spontaneous_FIN -964800770.043302 weird: spontaneous_FIN -964800770.043319 weird: spontaneous_FIN -964800770.043337 weird: spontaneous_FIN -964800770.043407 weird: spontaneous_FIN -964800770.043477 weird: spontaneous_FIN -964800770.043546 weird: spontaneous_FIN -964800770.043618 weird: spontaneous_FIN -964800770.043687 weird: spontaneous_FIN -964800770.043756 weird: spontaneous_FIN -964800770.043826 weird: spontaneous_FIN -964800770.043896 weird: spontaneous_FIN -964800770.126205 weird: spontaneous_FIN -964800770.126285 weird: spontaneous_FIN -964800770.126353 weird: spontaneous_FIN -964800770.126420 weird: spontaneous_FIN -964800770.126492 weird: spontaneous_FIN -964800770.126563 weird: spontaneous_FIN -964800770.126634 weird: spontaneous_FIN -964800770.126705 weird: spontaneous_FIN -964800770.126777 weird: spontaneous_FIN -964800770.126847 weird: spontaneous_FIN -964800770.126916 weird: spontaneous_FIN -964800770.206211 weird: spontaneous_FIN -964800770.206284 weird: spontaneous_FIN -964800770.206350 weird: spontaneous_FIN -964800770.206414 weird: spontaneous_FIN -964800770.206479 weird: spontaneous_FIN -964800770.206549 weird: spontaneous_FIN -964800770.206622 weird: spontaneous_FIN -964800770.206685 weird: spontaneous_FIN -964800770.206749 weird: spontaneous_FIN -964800770.206814 weird: spontaneous_FIN -964800770.206878 weird: spontaneous_FIN -964800770.296196 weird: spontaneous_FIN -964800770.296268 weird: spontaneous_FIN -964800770.296335 weird: spontaneous_FIN -964800770.296403 weird: spontaneous_FIN -964800770.296471 weird: spontaneous_FIN -964800770.296539 weird: spontaneous_FIN -964800770.296609 weird: spontaneous_FIN -964800770.296678 weird: spontaneous_FIN -964800770.296750 weird: spontaneous_FIN -964800770.296819 weird: spontaneous_FIN -964800770.296889 weird: spontaneous_FIN -964800770.386220 weird: spontaneous_FIN -964800770.386292 weird: spontaneous_FIN -964800770.386359 weird: spontaneous_FIN -964800770.386429 weird: spontaneous_FIN -964800770.386494 weird: spontaneous_FIN -964800770.386564 weird: spontaneous_FIN -964800770.386631 weird: spontaneous_FIN -964800770.386695 weird: spontaneous_FIN -964800770.386763 weird: spontaneous_FIN -964800770.386829 weird: spontaneous_FIN -964800770.386896 weird: spontaneous_FIN -964800770.466206 weird: spontaneous_FIN -964800770.466278 weird: spontaneous_FIN -964800770.466345 weird: spontaneous_FIN -964800770.466413 weird: spontaneous_FIN -964800770.466479 weird: spontaneous_FIN -964800770.466549 weird: spontaneous_FIN -964800770.466617 weird: spontaneous_FIN -964800770.466685 weird: spontaneous_FIN -964800770.466758 weird: spontaneous_FIN -964800770.466827 weird: spontaneous_FIN -964800770.466896 weird: spontaneous_FIN -964800770.556206 weird: spontaneous_FIN -964800770.556276 weird: spontaneous_FIN -964800770.556343 weird: spontaneous_FIN -964800770.556408 weird: spontaneous_FIN -964800770.556478 weird: spontaneous_FIN -964800770.556546 weird: spontaneous_FIN -964800770.556613 weird: spontaneous_FIN -964800770.556681 weird: spontaneous_FIN -964800770.556745 weird: spontaneous_FIN -964800770.556810 weird: spontaneous_FIN -964800770.556876 weird: spontaneous_FIN -964800770.646202 weird: spontaneous_FIN -964800770.646275 weird: spontaneous_FIN -964800770.646342 weird: spontaneous_FIN -964800770.646410 weird: spontaneous_FIN -964800770.646479 weird: spontaneous_FIN -964800770.646549 weird: spontaneous_FIN -964800770.646618 weird: spontaneous_FIN -964800770.646687 weird: spontaneous_FIN -964800770.646759 weird: spontaneous_FIN -964800770.646827 weird: spontaneous_FIN -964800770.646895 weird: spontaneous_FIN -964800770.723029 weird: spontaneous_FIN -964800770.723100 weird: spontaneous_FIN -964800770.723165 weird: spontaneous_FIN -964800770.723231 weird: spontaneous_FIN -964800770.723301 weird: spontaneous_FIN -964800770.723370 weird: spontaneous_FIN -964800770.723436 weird: spontaneous_FIN -964800770.723500 weird: spontaneous_FIN -964800770.723565 weird: spontaneous_FIN -964800770.723631 weird: spontaneous_FIN -964800770.723696 weird: spontaneous_FIN -964800770.816203 weird: spontaneous_FIN -964800770.816279 weird: spontaneous_FIN -964800770.816346 weird: spontaneous_FIN -964800770.816416 weird: spontaneous_FIN -964800770.816484 weird: spontaneous_FIN -964800770.816554 weird: spontaneous_FIN -964800770.816623 weird: spontaneous_FIN -964800770.816690 weird: spontaneous_FIN -964800770.816758 weird: spontaneous_FIN -964800770.816829 weird: spontaneous_FIN -964800770.816900 weird: spontaneous_FIN -964800770.896212 weird: spontaneous_FIN -964800770.896282 weird: spontaneous_FIN -964800770.896349 weird: spontaneous_FIN -964800770.896415 weird: spontaneous_FIN -964800770.896479 weird: spontaneous_FIN -964800770.896550 weird: spontaneous_FIN -964800770.896622 weird: spontaneous_FIN -964800770.896688 weird: spontaneous_FIN -964800770.896754 weird: spontaneous_FIN -964800770.896822 weird: spontaneous_FIN -964800770.908337 weird: spontaneous_FIN -964800770.996205 weird: spontaneous_FIN -964800770.996276 weird: spontaneous_FIN -964800770.996342 weird: spontaneous_FIN -964800770.996412 weird: spontaneous_FIN -964800770.996480 weird: spontaneous_FIN -964800770.996548 weird: spontaneous_FIN -964800770.996619 weird: spontaneous_FIN -964800770.996689 weird: spontaneous_FIN -964800770.996759 weird: spontaneous_FIN -964800770.996835 weird: spontaneous_FIN -964800770.996914 weird: spontaneous_FIN -964800771.076225 weird: spontaneous_FIN -964800771.076296 weird: spontaneous_FIN -964800771.076357 weird: spontaneous_FIN -964800771.076426 weird: spontaneous_FIN -964800771.076495 weird: spontaneous_FIN -964800771.076564 weird: spontaneous_FIN -964800771.076631 weird: spontaneous_FIN -964800771.076694 weird: spontaneous_FIN -964800771.076761 weird: spontaneous_FIN -964800771.076829 weird: spontaneous_FIN -964800771.076896 weird: spontaneous_FIN -964800771.166218 weird: spontaneous_FIN -964800771.166290 weird: spontaneous_FIN -964800771.166358 weird: spontaneous_FIN -964800771.166426 weird: spontaneous_FIN -964800771.166497 weird: spontaneous_FIN -964800771.166570 weird: spontaneous_FIN -964800771.166641 weird: spontaneous_FIN -964800771.166712 weird: spontaneous_FIN -964800771.166786 weird: spontaneous_FIN -964800771.166855 weird: spontaneous_FIN -964800771.166926 weird: spontaneous_FIN -964800771.246221 weird: spontaneous_FIN -964800771.246291 weird: spontaneous_FIN -964800771.246358 weird: spontaneous_FIN -964800771.246425 weird: spontaneous_FIN -964800771.246492 weird: spontaneous_FIN -964800771.246561 weird: spontaneous_FIN -964800771.246629 weird: spontaneous_FIN -964800771.246694 weird: spontaneous_FIN -964800771.246759 weird: spontaneous_FIN -964800771.246825 weird: spontaneous_FIN -964800771.246894 weird: spontaneous_FIN -964800771.326195 weird: spontaneous_FIN -964800771.326271 weird: spontaneous_FIN -964800771.326336 weird: spontaneous_FIN -964800771.326406 weird: spontaneous_FIN -964800771.326476 weird: spontaneous_FIN -964800771.326548 weird: spontaneous_FIN -964800771.326618 weird: spontaneous_FIN -964800771.326690 weird: spontaneous_FIN -964800771.326762 weird: spontaneous_FIN -964800771.326832 weird: spontaneous_FIN -964800771.326905 weird: spontaneous_FIN -964800771.406226 weird: spontaneous_FIN -964800771.406295 weird: spontaneous_FIN -964800771.406364 weird: spontaneous_FIN -964800771.406433 weird: spontaneous_FIN -964800771.406501 weird: spontaneous_FIN -964800771.406569 weird: spontaneous_FIN -964800771.406637 weird: spontaneous_FIN -964800771.406703 weird: spontaneous_FIN -964800771.406772 weird: spontaneous_FIN -964800771.406839 weird: spontaneous_FIN -964800771.406908 weird: spontaneous_FIN -964800771.496204 weird: spontaneous_FIN -964800771.496279 weird: spontaneous_FIN -964800771.496345 weird: spontaneous_FIN -964800771.496413 weird: spontaneous_FIN -964800771.496483 weird: spontaneous_FIN -964800771.496553 weird: spontaneous_FIN -964800771.496621 weird: spontaneous_FIN -964800771.496691 weird: spontaneous_FIN -964800771.496763 weird: spontaneous_FIN -964800771.496834 weird: spontaneous_FIN -964800771.496904 weird: spontaneous_FIN -964800771.585007 weird: spontaneous_FIN -964800771.585079 weird: spontaneous_FIN -964800771.585148 weird: spontaneous_FIN -964800771.585218 weird: spontaneous_FIN -964800771.585290 weird: spontaneous_FIN -964800771.585360 weird: spontaneous_FIN -964800771.585427 weird: spontaneous_FIN -964800771.585497 weird: spontaneous_FIN -964800771.585564 weird: spontaneous_FIN -964800771.585633 weird: spontaneous_FIN -964800771.585700 weird: spontaneous_FIN -964800771.676209 weird: spontaneous_FIN -964800771.676285 weird: spontaneous_FIN -964800771.676354 weird: spontaneous_FIN -964800771.676425 weird: spontaneous_FIN -964800771.676496 weird: spontaneous_FIN -964800771.676567 weird: spontaneous_FIN -964800771.676634 weird: spontaneous_FIN -964800771.676708 weird: spontaneous_FIN -964800771.676784 weird: spontaneous_FIN -964800771.676856 weird: spontaneous_FIN -964800771.676931 weird: spontaneous_FIN -964800771.756226 weird: spontaneous_FIN -964800771.756302 weird: spontaneous_FIN -964800771.756373 weird: spontaneous_FIN -964800771.756442 weird: spontaneous_FIN -964800771.756513 weird: spontaneous_FIN -964800771.756582 weird: spontaneous_FIN -964800771.756652 weird: spontaneous_FIN -964800771.756720 weird: spontaneous_FIN -964800771.756789 weird: spontaneous_FIN -964800771.756858 weird: spontaneous_FIN -964800771.756923 weird: spontaneous_FIN -964800771.836209 weird: spontaneous_FIN -964800771.836287 weird: spontaneous_FIN -964800771.836358 weird: spontaneous_FIN -964800771.836425 weird: spontaneous_FIN -964800771.836496 weird: spontaneous_FIN -964800771.836569 weird: spontaneous_FIN -964800771.836639 weird: spontaneous_FIN -964800771.836711 weird: spontaneous_FIN -964800771.836781 weird: spontaneous_FIN -964800771.836850 weird: spontaneous_FIN -964800771.836920 weird: spontaneous_FIN -964800771.926222 weird: spontaneous_FIN -964800771.926293 weird: spontaneous_FIN -964800771.926361 weird: spontaneous_FIN -964800771.926432 weird: spontaneous_FIN -964800771.926498 weird: spontaneous_FIN -964800771.926563 weird: spontaneous_FIN -964800771.926633 weird: spontaneous_FIN -964800771.926701 weird: spontaneous_FIN -964800771.926766 weird: spontaneous_FIN -964800771.926833 weird: spontaneous_FIN -964800771.926897 weird: spontaneous_FIN -964800772.007838 weird: spontaneous_FIN -964800772.007994 weird: spontaneous_FIN -964800772.008166 weird: spontaneous_FIN -964800772.008370 weird: spontaneous_FIN -964800772.008541 weird: spontaneous_FIN -964800772.008689 weird: spontaneous_FIN -964800772.008760 weird: spontaneous_FIN -964800772.008835 weird: spontaneous_FIN -964800772.008908 weird: spontaneous_FIN -964800772.008977 weird: spontaneous_FIN -964800772.009048 weird: spontaneous_FIN -964800772.086231 weird: spontaneous_FIN -964800772.086300 weird: spontaneous_FIN -964800772.086365 weird: spontaneous_FIN -964800772.086431 weird: spontaneous_FIN -964800772.086498 weird: spontaneous_FIN -964800772.086565 weird: spontaneous_FIN -964800772.086629 weird: spontaneous_FIN -964800772.086700 weird: spontaneous_FIN -964800772.086768 weird: spontaneous_FIN -964800772.086835 weird: spontaneous_FIN -964800772.086901 weird: spontaneous_FIN -964800772.162719 weird: spontaneous_FIN -964800772.162795 weird: spontaneous_FIN -964800772.162860 weird: spontaneous_FIN -964800772.162932 weird: spontaneous_FIN -964800772.163000 weird: spontaneous_FIN -964800772.163069 weird: spontaneous_FIN -964800772.163138 weird: spontaneous_FIN -964800772.163205 weird: spontaneous_FIN -964800772.163274 weird: spontaneous_FIN -964800772.163343 weird: spontaneous_FIN -964800772.163413 weird: spontaneous_FIN -964800772.246220 weird: spontaneous_FIN -964800772.246292 weird: spontaneous_FIN -964800772.246359 weird: spontaneous_FIN -964800772.246426 weird: spontaneous_FIN -964800772.246490 weird: spontaneous_FIN -964800772.246557 weird: spontaneous_FIN -964800772.246622 weird: spontaneous_FIN -964800772.246693 weird: spontaneous_FIN -964800772.246758 weird: spontaneous_FIN -964800772.246825 weird: spontaneous_FIN -964800772.246892 weird: spontaneous_FIN -964800772.326242 weird: spontaneous_FIN -964800772.326318 weird: spontaneous_FIN -964800772.326386 weird: spontaneous_FIN -964800772.326456 weird: spontaneous_FIN -964800772.326523 weird: spontaneous_FIN -964800772.326592 weird: spontaneous_FIN -964800772.326662 weird: spontaneous_FIN -964800772.326730 weird: spontaneous_FIN -964800772.326798 weird: spontaneous_FIN -964800772.326866 weird: spontaneous_FIN -964800772.326936 weird: spontaneous_FIN -964800772.416231 weird: spontaneous_FIN -964800772.416303 weird: spontaneous_FIN -964800772.416368 weird: spontaneous_FIN -964800772.416436 weird: spontaneous_FIN -964800772.416502 weird: spontaneous_FIN -964800772.416570 weird: spontaneous_FIN -964800772.416635 weird: spontaneous_FIN -964800772.416702 weird: spontaneous_FIN -964800772.416768 weird: spontaneous_FIN -964800772.416836 weird: spontaneous_FIN -964800772.416902 weird: spontaneous_FIN -964800772.506208 weird: spontaneous_FIN -964800772.506283 weird: spontaneous_FIN -964800772.506352 weird: spontaneous_FIN -964800772.506419 weird: spontaneous_FIN -964800772.506485 weird: spontaneous_FIN -964800772.506554 weird: spontaneous_FIN -964800772.506621 weird: spontaneous_FIN -964800772.506688 weird: spontaneous_FIN -964800772.506756 weird: spontaneous_FIN -964800772.506824 weird: spontaneous_FIN -964800772.506894 weird: spontaneous_FIN -964800772.594262 weird: spontaneous_FIN -964800772.594331 weird: spontaneous_FIN -964800772.594397 weird: spontaneous_FIN -964800772.594464 weird: spontaneous_FIN -964800772.594526 weird: spontaneous_FIN -964800772.594594 weird: spontaneous_FIN -964800772.594659 weird: spontaneous_FIN -964800772.594728 weird: spontaneous_FIN -964800772.594795 weird: spontaneous_FIN -964800772.594861 weird: spontaneous_FIN -964800772.594929 weird: spontaneous_FIN -964800772.677873 weird: spontaneous_FIN -964800772.678025 weird: spontaneous_FIN -964800772.678196 weird: spontaneous_FIN -964800772.678352 weird: spontaneous_FIN -964800772.678538 weird: spontaneous_FIN -964800772.678706 weird: spontaneous_FIN -964800772.678876 weird: spontaneous_FIN -964800772.679081 weird: spontaneous_FIN -964800772.679178 weird: spontaneous_FIN -964800772.679254 weird: spontaneous_FIN -964800772.679327 weird: spontaneous_FIN -964800772.756235 weird: spontaneous_FIN -964800772.756307 weird: spontaneous_FIN -964800772.756372 weird: spontaneous_FIN -964800772.756440 weird: spontaneous_FIN -964800772.756506 weird: spontaneous_FIN -964800772.756576 weird: spontaneous_FIN -964800772.756641 weird: spontaneous_FIN -964800772.756706 weird: spontaneous_FIN -964800772.756776 weird: spontaneous_FIN -964800772.756840 weird: spontaneous_FIN -964800772.756908 weird: spontaneous_FIN -964800772.836205 weird: spontaneous_FIN -964800772.836277 weird: spontaneous_FIN -964800772.836346 weird: spontaneous_FIN -964800772.836423 weird: spontaneous_FIN -964800772.836484 weird: spontaneous_FIN -964800772.836553 weird: spontaneous_FIN -964800772.836620 weird: spontaneous_FIN -964800772.836687 weird: spontaneous_FIN -964800772.836778 weird: spontaneous_FIN -964800772.836822 weird: spontaneous_FIN -964800772.836888 weird: spontaneous_FIN -964800772.916219 weird: spontaneous_FIN -964800772.916287 weird: spontaneous_FIN -964800772.916353 weird: spontaneous_FIN -964800772.916417 weird: spontaneous_FIN -964800772.916483 weird: spontaneous_FIN -964800772.916547 weird: spontaneous_FIN -964800772.916613 weird: spontaneous_FIN -964800772.916680 weird: spontaneous_FIN -964800772.916744 weird: spontaneous_FIN -964800772.916809 weird: spontaneous_FIN -964800772.916877 weird: spontaneous_FIN -964800773.006215 weird: spontaneous_FIN -964800773.006284 weird: spontaneous_FIN -964800773.006351 weird: spontaneous_FIN -964800773.006420 weird: spontaneous_FIN -964800773.006488 weird: spontaneous_FIN -964800773.006554 weird: spontaneous_FIN -964800773.006622 weird: spontaneous_FIN -964800773.006690 weird: spontaneous_FIN -964800773.006760 weird: spontaneous_FIN -964800773.006825 weird: spontaneous_FIN -964800773.006892 weird: spontaneous_FIN -964800773.086229 weird: spontaneous_FIN -964800773.086298 weird: spontaneous_FIN -964800773.086363 weird: spontaneous_FIN -964800773.086429 weird: spontaneous_FIN -964800773.086496 weird: spontaneous_FIN -964800773.086563 weird: spontaneous_FIN -964800773.086626 weird: spontaneous_FIN -964800773.086693 weird: spontaneous_FIN -964800773.086760 weird: spontaneous_FIN -964800773.086823 weird: spontaneous_FIN -964800773.086892 weird: spontaneous_FIN -964800773.169963 weird: spontaneous_FIN -964800773.170034 weird: spontaneous_FIN -964800773.170102 weird: spontaneous_FIN -964800773.170178 weird: spontaneous_FIN -964800773.170238 weird: spontaneous_FIN -964800773.170306 weird: spontaneous_FIN -964800773.170374 weird: spontaneous_FIN -964800773.170443 weird: spontaneous_FIN -964800773.170510 weird: spontaneous_FIN -964800773.170577 weird: spontaneous_FIN -964800773.170646 weird: spontaneous_FIN -964800773.256224 weird: spontaneous_FIN -964800773.256292 weird: spontaneous_FIN -964800773.256356 weird: spontaneous_FIN -964800773.256421 weird: spontaneous_FIN -964800773.256488 weird: spontaneous_FIN -964800773.256552 weird: spontaneous_FIN -964800773.256617 weird: spontaneous_FIN -964800773.256684 weird: spontaneous_FIN -964800773.256745 weird: spontaneous_FIN -964800773.256810 weird: spontaneous_FIN -964800773.256880 weird: spontaneous_FIN -964800773.336211 weird: spontaneous_FIN -964800773.336283 weird: spontaneous_FIN -964800773.336351 weird: spontaneous_FIN -964800773.336417 weird: spontaneous_FIN -964800773.336485 weird: spontaneous_FIN -964800773.336552 weird: spontaneous_FIN -964800773.336619 weird: spontaneous_FIN -964800773.336689 weird: spontaneous_FIN -964800773.336759 weird: spontaneous_FIN -964800773.336824 weird: spontaneous_FIN -964800773.336890 weird: spontaneous_FIN -964800773.412854 weird: spontaneous_FIN -964800773.412924 weird: spontaneous_FIN -964800773.412989 weird: spontaneous_FIN -964800773.413055 weird: spontaneous_FIN -964800773.413120 weird: spontaneous_FIN -964800773.413187 weird: spontaneous_FIN -964800773.413251 weird: spontaneous_FIN -964800773.413319 weird: spontaneous_FIN -964800773.413381 weird: spontaneous_FIN -964800773.413448 weird: spontaneous_FIN -964800773.413520 weird: spontaneous_FIN -964800773.496215 weird: spontaneous_FIN -964800773.496288 weird: spontaneous_FIN -964800773.496354 weird: spontaneous_FIN -964800773.496420 weird: spontaneous_FIN -964800773.496489 weird: spontaneous_FIN -964800773.496558 weird: spontaneous_FIN -964800773.496626 weird: spontaneous_FIN -964800773.496694 weird: spontaneous_FIN -964800773.496761 weird: spontaneous_FIN -964800773.496828 weird: spontaneous_FIN -964800773.496897 weird: spontaneous_FIN -964800773.586226 weird: spontaneous_FIN -964800773.586296 weird: spontaneous_FIN -964800773.586359 weird: spontaneous_FIN -964800773.586430 weird: spontaneous_FIN -964800773.586489 weird: spontaneous_FIN -964800773.586554 weird: spontaneous_FIN -964800773.586620 weird: spontaneous_FIN -964800773.586684 weird: spontaneous_FIN -964800773.586749 weird: spontaneous_FIN -964800773.586814 weird: spontaneous_FIN -964800773.586885 weird: spontaneous_FIN -964800773.674582 weird: spontaneous_FIN -964800773.674653 weird: spontaneous_FIN -964800773.674719 weird: spontaneous_FIN -964800773.674788 weird: spontaneous_FIN -964800773.674854 weird: spontaneous_FIN -964800773.674922 weird: spontaneous_FIN -964800773.674991 weird: spontaneous_FIN -964800773.675060 weird: spontaneous_FIN -964800773.675132 weird: spontaneous_FIN -964800773.675199 weird: spontaneous_FIN -964800773.675266 weird: spontaneous_FIN -964800773.750857 weird: spontaneous_FIN -964800773.750926 weird: spontaneous_FIN -964800773.751000 weird: spontaneous_FIN -964800773.751097 weird: spontaneous_FIN -964800773.751167 weird: spontaneous_FIN -964800773.751233 weird: spontaneous_FIN -964800773.751307 weird: spontaneous_FIN -964800773.751402 weird: spontaneous_FIN -964800773.751472 weird: spontaneous_FIN -964800773.751542 weird: spontaneous_FIN -964800773.751652 weird: spontaneous_FIN -964800773.846224 weird: spontaneous_FIN -964800773.846299 weird: spontaneous_FIN -964800773.846367 weird: spontaneous_FIN -964800773.846437 weird: spontaneous_FIN -964800773.846508 weird: spontaneous_FIN -964800773.846579 weird: spontaneous_FIN -964800773.846651 weird: spontaneous_FIN -964800773.846723 weird: spontaneous_FIN -964800773.846792 weird: spontaneous_FIN -964800773.846859 weird: spontaneous_FIN -964800773.846931 weird: spontaneous_FIN -964800773.926228 weird: spontaneous_FIN -964800773.926297 weird: spontaneous_FIN -964800773.926363 weird: spontaneous_FIN -964800773.926429 weird: spontaneous_FIN -964800773.926493 weird: spontaneous_FIN -964800773.926560 weird: spontaneous_FIN -964800773.926628 weird: spontaneous_FIN -964800773.926695 weird: spontaneous_FIN -964800773.926761 weird: spontaneous_FIN -964800773.926826 weird: spontaneous_FIN -964800773.926894 weird: spontaneous_FIN -964800774.016219 weird: spontaneous_FIN -964800774.016289 weird: spontaneous_FIN -964800774.016357 weird: spontaneous_FIN -964800774.016426 weird: spontaneous_FIN -964800774.016495 weird: spontaneous_FIN -964800774.016564 weird: spontaneous_FIN -964800774.016634 weird: spontaneous_FIN -964800774.016705 weird: spontaneous_FIN -964800774.016772 weird: spontaneous_FIN -964800774.016837 weird: spontaneous_FIN -964800774.016907 weird: spontaneous_FIN -964800774.106095 weird: spontaneous_FIN -964800774.106191 weird: spontaneous_FIN -964800774.106259 weird: spontaneous_FIN -964800774.106326 weird: spontaneous_FIN -964800774.106394 weird: spontaneous_FIN -964800774.106461 weird: spontaneous_FIN -964800774.106530 weird: spontaneous_FIN -964800774.106596 weird: spontaneous_FIN -964800774.106665 weird: spontaneous_FIN -964800774.106732 weird: spontaneous_FIN -964800774.106801 weird: spontaneous_FIN -964800774.196221 weird: spontaneous_FIN -964800774.196294 weird: spontaneous_FIN -964800774.196363 weird: spontaneous_FIN -964800774.196431 weird: spontaneous_FIN -964800774.196501 weird: spontaneous_FIN -964800774.196572 weird: spontaneous_FIN -964800774.196643 weird: spontaneous_FIN -964800774.196711 weird: spontaneous_FIN -964800774.196782 weird: spontaneous_FIN -964800774.196850 weird: spontaneous_FIN -964800774.196921 weird: spontaneous_FIN -964800774.286230 weird: spontaneous_FIN -964800774.286299 weird: spontaneous_FIN -964800774.286364 weird: spontaneous_FIN -964800774.286430 weird: spontaneous_FIN -964800774.286496 weird: spontaneous_FIN -964800774.286562 weird: spontaneous_FIN -964800774.286631 weird: spontaneous_FIN -964800774.286697 weird: spontaneous_FIN -964800774.286764 weird: spontaneous_FIN -964800774.286831 weird: spontaneous_FIN -964800774.286897 weird: spontaneous_FIN -964800774.376227 weird: spontaneous_FIN -964800774.376301 weird: spontaneous_FIN -964800774.376371 weird: spontaneous_FIN -964800774.376440 weird: spontaneous_FIN -964800774.376510 weird: spontaneous_FIN -964800774.376578 weird: spontaneous_FIN -964800774.376648 weird: spontaneous_FIN -964800774.376719 weird: spontaneous_FIN -964800774.376786 weird: spontaneous_FIN -964800774.376855 weird: spontaneous_FIN -964800774.376923 weird: spontaneous_FIN -964800774.465520 weird: spontaneous_FIN -964800774.465589 weird: spontaneous_FIN -964800774.465654 weird: spontaneous_FIN -964800774.465720 weird: spontaneous_FIN -964800774.465786 weird: spontaneous_FIN -964800774.465855 weird: spontaneous_FIN -964800774.465921 weird: spontaneous_FIN -964800774.465988 weird: spontaneous_FIN -964800774.466054 weird: spontaneous_FIN -964800774.466144 weird: spontaneous_FIN -964800774.466214 weird: spontaneous_FIN -964800774.556235 weird: spontaneous_FIN -964800774.556316 weird: spontaneous_FIN -964800774.556386 weird: spontaneous_FIN -964800774.556457 weird: spontaneous_FIN -964800774.556526 weird: spontaneous_FIN -964800774.556597 weird: spontaneous_FIN -964800774.556668 weird: spontaneous_FIN -964800774.556738 weird: spontaneous_FIN -964800774.556806 weird: spontaneous_FIN -964800774.556875 weird: spontaneous_FIN -964800774.556944 weird: spontaneous_FIN -964800774.646229 weird: spontaneous_FIN -964800774.646298 weird: spontaneous_FIN -964800774.646364 weird: spontaneous_FIN -964800774.646429 weird: spontaneous_FIN -964800774.646493 weird: spontaneous_FIN -964800774.646561 weird: spontaneous_FIN -964800774.646629 weird: spontaneous_FIN -964800774.646697 weird: spontaneous_FIN -964800774.646761 weird: spontaneous_FIN -964800774.646828 weird: spontaneous_FIN -964800774.646894 weird: spontaneous_FIN -964800774.729139 weird: spontaneous_FIN -964800774.729311 weird: spontaneous_FIN -964800774.729478 weird: spontaneous_FIN -964800774.729556 weird: spontaneous_FIN -964800774.729627 weird: spontaneous_FIN -964800774.729734 weird: spontaneous_FIN -964800774.729810 weird: spontaneous_FIN -964800774.729881 weird: spontaneous_FIN -964800774.730000 weird: spontaneous_FIN -964800774.730081 weird: spontaneous_FIN -964800774.730153 weird: spontaneous_FIN -964800774.806254 weird: spontaneous_FIN -964800774.806327 weird: spontaneous_FIN -964800774.806394 weird: spontaneous_FIN -964800774.806462 weird: spontaneous_FIN -964800774.806533 weird: spontaneous_FIN -964800774.806599 weird: spontaneous_FIN -964800774.806671 weird: spontaneous_FIN -964800774.806739 weird: spontaneous_FIN -964800774.806803 weird: spontaneous_FIN -964800774.806870 weird: spontaneous_FIN -964800774.806935 weird: spontaneous_FIN -964800774.896239 weird: spontaneous_FIN -964800774.896324 weird: spontaneous_FIN -964800774.896391 weird: spontaneous_FIN -964800774.896463 weird: spontaneous_FIN -964800774.896528 weird: spontaneous_FIN -964800774.896599 weird: spontaneous_FIN -964800774.896673 weird: spontaneous_FIN -964800774.896737 weird: spontaneous_FIN -964800774.896806 weird: spontaneous_FIN -964800774.896873 weird: spontaneous_FIN -964800774.897001 weird: spontaneous_FIN -964800774.986240 weird: spontaneous_FIN -964800774.986308 weird: spontaneous_FIN -964800774.986376 weird: spontaneous_FIN -964800774.986444 weird: spontaneous_FIN -964800774.986510 weird: spontaneous_FIN -964800774.986575 weird: spontaneous_FIN -964800774.986646 weird: spontaneous_FIN -964800774.986714 weird: spontaneous_FIN -964800774.986779 weird: spontaneous_FIN -964800774.986843 weird: spontaneous_FIN -964800774.986907 weird: spontaneous_FIN -964800775.067972 weird: spontaneous_FIN -964800775.068114 weird: spontaneous_FIN -964800775.068265 weird: spontaneous_FIN -964800775.068437 weird: spontaneous_FIN -964800775.068600 weird: spontaneous_FIN -964800775.068674 weird: spontaneous_FIN -964800775.068742 weird: spontaneous_FIN -964800775.068815 weird: spontaneous_FIN -964800775.068885 weird: spontaneous_FIN -964800775.068959 weird: spontaneous_FIN -964800775.069027 weird: spontaneous_FIN -964800775.146242 weird: spontaneous_FIN -964800775.146318 weird: spontaneous_FIN -964800775.146383 weird: spontaneous_FIN -964800775.146449 weird: spontaneous_FIN -964800775.146517 weird: spontaneous_FIN -964800775.146584 weird: spontaneous_FIN -964800775.146652 weird: spontaneous_FIN -964800775.146719 weird: spontaneous_FIN -964800775.146787 weird: spontaneous_FIN -964800775.146851 weird: spontaneous_FIN -964800775.146918 weird: spontaneous_FIN -964800775.236226 weird: spontaneous_FIN -964800775.236300 weird: spontaneous_FIN -964800775.236369 weird: spontaneous_FIN -964800775.236440 weird: spontaneous_FIN -964800775.236510 weird: spontaneous_FIN -964800775.236580 weird: spontaneous_FIN -964800775.236647 weird: spontaneous_FIN -964800775.236716 weird: spontaneous_FIN -964800775.236783 weird: spontaneous_FIN -964800775.236855 weird: spontaneous_FIN -964800775.236922 weird: spontaneous_FIN -964800775.326237 weird: spontaneous_FIN -964800775.326308 weird: spontaneous_FIN -964800775.326375 weird: spontaneous_FIN -964800775.326442 weird: spontaneous_FIN -964800775.326508 weird: spontaneous_FIN -964800775.326576 weird: spontaneous_FIN -964800775.326642 weird: spontaneous_FIN -964800775.326711 weird: spontaneous_FIN -964800775.326779 weird: spontaneous_FIN -964800775.326845 weird: spontaneous_FIN -964800775.326912 weird: spontaneous_FIN -964800775.412598 weird: spontaneous_FIN -964800775.412670 weird: spontaneous_FIN -964800775.412742 weird: spontaneous_FIN -964800775.412810 weird: spontaneous_FIN -964800775.412880 weird: spontaneous_FIN -964800775.412949 weird: spontaneous_FIN -964800775.413017 weird: spontaneous_FIN -964800775.413086 weird: spontaneous_FIN -964800775.413156 weird: spontaneous_FIN -964800775.413228 weird: spontaneous_FIN -964800775.413297 weird: spontaneous_FIN -964800775.506236 weird: spontaneous_FIN -964800775.506307 weird: spontaneous_FIN -964800775.506374 weird: spontaneous_FIN -964800775.506441 weird: spontaneous_FIN -964800775.506505 weird: spontaneous_FIN -964800775.506573 weird: spontaneous_FIN -964800775.506637 weird: spontaneous_FIN -964800775.506704 weird: spontaneous_FIN -964800775.506773 weird: spontaneous_FIN -964800775.506837 weird: spontaneous_FIN -964800775.506903 weird: spontaneous_FIN -964800775.596231 weird: spontaneous_FIN -964800775.596306 weird: spontaneous_FIN -964800775.596376 weird: spontaneous_FIN -964800775.596446 weird: spontaneous_FIN -964800775.596515 weird: spontaneous_FIN -964800775.596584 weird: spontaneous_FIN -964800775.596651 weird: spontaneous_FIN -964800775.596720 weird: spontaneous_FIN -964800775.596791 weird: spontaneous_FIN -964800775.596860 weird: spontaneous_FIN -964800775.596929 weird: spontaneous_FIN -964800775.676240 weird: spontaneous_FIN -964800775.676312 weird: spontaneous_FIN -964800775.676380 weird: spontaneous_FIN -964800775.676443 weird: spontaneous_FIN -964800775.676509 weird: spontaneous_FIN -964800775.676580 weird: spontaneous_FIN -964800775.676646 weird: spontaneous_FIN -964800775.676716 weird: spontaneous_FIN -964800775.676785 weird: spontaneous_FIN -964800775.676849 weird: spontaneous_FIN -964800775.676917 weird: spontaneous_FIN -964800775.766255 weird: spontaneous_FIN -964800775.766335 weird: spontaneous_FIN -964800775.766407 weird: spontaneous_FIN -964800775.766478 weird: spontaneous_FIN -964800775.766548 weird: spontaneous_FIN -964800775.766621 weird: spontaneous_FIN -964800775.766693 weird: spontaneous_FIN -964800775.766764 weird: spontaneous_FIN -964800775.766834 weird: spontaneous_FIN -964800775.766905 weird: spontaneous_FIN -964800775.766977 weird: spontaneous_FIN -964800775.856245 weird: spontaneous_FIN -964800775.856316 weird: spontaneous_FIN -964800775.856384 weird: spontaneous_FIN -964800775.856450 weird: spontaneous_FIN -964800775.856517 weird: spontaneous_FIN -964800775.856589 weird: spontaneous_FIN -964800775.856656 weird: spontaneous_FIN -964800775.856728 weird: spontaneous_FIN -964800775.856793 weird: spontaneous_FIN -964800775.856859 weird: spontaneous_FIN -964800775.856924 weird: spontaneous_FIN -964800775.936230 weird: spontaneous_FIN -964800775.936303 weird: spontaneous_FIN -964800775.936374 weird: spontaneous_FIN -964800775.936445 weird: spontaneous_FIN -964800775.936515 weird: spontaneous_FIN -964800775.936592 weird: spontaneous_FIN -964800775.936667 weird: spontaneous_FIN -964800775.936743 weird: spontaneous_FIN -964800775.936812 weird: spontaneous_FIN -964800775.936881 weird: spontaneous_FIN -964800775.936948 weird: spontaneous_FIN -964800776.016246 weird: spontaneous_FIN -964800776.016318 weird: spontaneous_FIN -964800776.016387 weird: spontaneous_FIN -964800776.016451 weird: spontaneous_FIN -964800776.016517 weird: spontaneous_FIN -964800776.016583 weird: spontaneous_FIN -964800776.016649 weird: spontaneous_FIN -964800776.016716 weird: spontaneous_FIN -964800776.016783 weird: spontaneous_FIN -964800776.016849 weird: spontaneous_FIN -964800776.016916 weird: spontaneous_FIN -964800776.106240 weird: spontaneous_FIN -964800776.106314 weird: spontaneous_FIN -964800776.106382 weird: spontaneous_FIN -964800776.106455 weird: spontaneous_FIN -964800776.106525 weird: spontaneous_FIN -964800776.106596 weird: spontaneous_FIN -964800776.106670 weird: spontaneous_FIN -964800776.106741 weird: spontaneous_FIN -964800776.106808 weird: spontaneous_FIN -964800776.106878 weird: spontaneous_FIN -964800776.106946 weird: spontaneous_FIN -964800776.196251 weird: spontaneous_FIN -964800776.196326 weird: spontaneous_FIN -964800776.196393 weird: spontaneous_FIN -964800776.196460 weird: spontaneous_FIN -964800776.196528 weird: spontaneous_FIN -964800776.196596 weird: spontaneous_FIN -964800776.196665 weird: spontaneous_FIN -964800776.196734 weird: spontaneous_FIN -964800776.196801 weird: spontaneous_FIN -964800776.196868 weird: spontaneous_FIN -964800776.196935 weird: spontaneous_FIN -964800776.282677 weird: spontaneous_FIN -964800776.282753 weird: spontaneous_FIN -964800776.282822 weird: spontaneous_FIN -964800776.282892 weird: spontaneous_FIN -964800776.282965 weird: spontaneous_FIN -964800776.283035 weird: spontaneous_FIN -964800776.283104 weird: spontaneous_FIN -964800776.283172 weird: spontaneous_FIN -964800776.283241 weird: spontaneous_FIN -964800776.283313 weird: spontaneous_FIN -964800776.283381 weird: spontaneous_FIN -964800776.376263 weird: spontaneous_FIN -964800776.376339 weird: spontaneous_FIN -964800776.376405 weird: spontaneous_FIN -964800776.376472 weird: spontaneous_FIN -964800776.376538 weird: spontaneous_FIN -964800776.376609 weird: spontaneous_FIN -964800776.376677 weird: spontaneous_FIN -964800776.376742 weird: spontaneous_FIN -964800776.376811 weird: spontaneous_FIN -964800776.376880 weird: spontaneous_FIN -964800776.376950 weird: spontaneous_FIN -964800776.466238 weird: spontaneous_FIN -964800776.466312 weird: spontaneous_FIN -964800776.466381 weird: spontaneous_FIN -964800776.466450 weird: spontaneous_FIN -964800776.466521 weird: spontaneous_FIN -964800776.466590 weird: spontaneous_FIN -964800776.466659 weird: spontaneous_FIN -964800776.466728 weird: spontaneous_FIN -964800776.466796 weird: spontaneous_FIN -964800776.466867 weird: spontaneous_FIN -964800776.466940 weird: spontaneous_FIN -964800776.552161 weird: spontaneous_FIN -964800776.552231 weird: spontaneous_FIN -964800776.552296 weird: spontaneous_FIN -964800776.552362 weird: spontaneous_FIN -964800776.552429 weird: spontaneous_FIN -964800776.552495 weird: spontaneous_FIN -964800776.552561 weird: spontaneous_FIN -964800776.552628 weird: spontaneous_FIN -964800776.552697 weird: spontaneous_FIN -964800776.552764 weird: spontaneous_FIN -964800776.552834 weird: spontaneous_FIN -964800776.644263 weird: spontaneous_FIN -964800776.644339 weird: spontaneous_FIN -964800776.644407 weird: spontaneous_FIN -964800776.644476 weird: spontaneous_FIN -964800776.644545 weird: spontaneous_FIN -964800776.644615 weird: spontaneous_FIN -964800776.644682 weird: spontaneous_FIN -964800776.644750 weird: spontaneous_FIN -964800776.644819 weird: spontaneous_FIN -964800776.644892 weird: spontaneous_FIN -964800776.644960 weird: spontaneous_FIN -964800776.728086 weird: spontaneous_FIN -964800776.728241 weird: spontaneous_FIN -964800776.728391 weird: spontaneous_FIN -964800776.728563 weird: spontaneous_FIN -964800776.728716 weird: spontaneous_FIN -964800776.728870 weird: spontaneous_FIN -964800776.729043 weird: spontaneous_FIN -964800776.729215 weird: spontaneous_FIN -964800776.729353 weird: spontaneous_FIN -964800776.729426 weird: spontaneous_FIN -964800776.729495 weird: spontaneous_FIN -964800776.806256 weird: spontaneous_FIN -964800776.806333 weird: spontaneous_FIN -964800776.806399 weird: spontaneous_FIN -964800776.806465 weird: spontaneous_FIN -964800776.806534 weird: spontaneous_FIN -964800776.806604 weird: spontaneous_FIN -964800776.806675 weird: spontaneous_FIN -964800776.806744 weird: spontaneous_FIN -964800776.806814 weird: spontaneous_FIN -964800776.806880 weird: spontaneous_FIN -964800776.806950 weird: spontaneous_FIN -964800776.886239 weird: spontaneous_FIN -964800776.886306 weird: spontaneous_FIN -964800776.886371 weird: spontaneous_FIN -964800776.886435 weird: spontaneous_FIN -964800776.886505 weird: spontaneous_FIN -964800776.886569 weird: spontaneous_FIN -964800776.886635 weird: spontaneous_FIN -964800776.886703 weird: spontaneous_FIN -964800776.886770 weird: spontaneous_FIN -964800776.886834 weird: spontaneous_FIN -964800776.886899 weird: spontaneous_FIN -964800776.966235 weird: spontaneous_FIN -964800776.966310 weird: spontaneous_FIN -964800776.966376 weird: spontaneous_FIN -964800776.966443 weird: spontaneous_FIN -964800776.966511 weird: spontaneous_FIN -964800776.966579 weird: spontaneous_FIN -964800776.966648 weird: spontaneous_FIN -964800776.966716 weird: spontaneous_FIN -964800776.966786 weird: spontaneous_FIN -964800776.966853 weird: spontaneous_FIN -964800776.966917 weird: spontaneous_FIN -964800777.056249 weird: spontaneous_FIN -964800777.056317 weird: spontaneous_FIN -964800777.056383 weird: spontaneous_FIN -964800777.056448 weird: spontaneous_FIN -964800777.056515 weird: spontaneous_FIN -964800777.056580 weird: spontaneous_FIN -964800777.056646 weird: spontaneous_FIN -964800777.056713 weird: spontaneous_FIN -964800777.056780 weird: spontaneous_FIN -964800777.056846 weird: spontaneous_FIN -964800777.056914 weird: spontaneous_FIN -964800777.144875 weird: spontaneous_FIN -964800777.144952 weird: spontaneous_FIN -964800777.145024 weird: spontaneous_FIN -964800777.145092 weird: spontaneous_FIN -964800777.145163 weird: spontaneous_FIN -964800777.145234 weird: spontaneous_FIN -964800777.145306 weird: spontaneous_FIN -964800777.145376 weird: spontaneous_FIN -964800777.145445 weird: spontaneous_FIN -964800777.145516 weird: spontaneous_FIN -964800777.145585 weird: spontaneous_FIN -964800777.236248 weird: spontaneous_FIN -964800777.236320 weird: spontaneous_FIN -964800777.236387 weird: spontaneous_FIN -964800777.236451 weird: spontaneous_FIN -964800777.236520 weird: spontaneous_FIN -964800777.236584 weird: spontaneous_FIN -964800777.236651 weird: spontaneous_FIN -964800777.236718 weird: spontaneous_FIN -964800777.236781 weird: spontaneous_FIN -964800777.236848 weird: spontaneous_FIN -964800777.236917 weird: spontaneous_FIN -964800777.327083 weird: spontaneous_FIN -964800777.327168 weird: spontaneous_FIN -964800777.327239 weird: spontaneous_FIN -964800777.327307 weird: spontaneous_FIN -964800777.327378 weird: spontaneous_FIN -964800777.327447 weird: spontaneous_FIN -964800777.327520 weird: spontaneous_FIN -964800777.327589 weird: spontaneous_FIN -964800777.327658 weird: spontaneous_FIN -964800777.327725 weird: spontaneous_FIN -964800777.327797 weird: spontaneous_FIN -964800777.412617 weird: spontaneous_FIN -964800777.412689 weird: spontaneous_FIN -964800777.412756 weird: spontaneous_FIN -964800777.412820 weird: spontaneous_FIN -964800777.412889 weird: spontaneous_FIN -964800777.412954 weird: spontaneous_FIN -964800777.413022 weird: spontaneous_FIN -964800777.413089 weird: spontaneous_FIN -964800777.413152 weird: spontaneous_FIN -964800777.413217 weird: spontaneous_FIN -964800777.413285 weird: spontaneous_FIN -964800777.506249 weird: spontaneous_FIN -964800777.506325 weird: spontaneous_FIN -964800777.506392 weird: spontaneous_FIN -964800777.506459 weird: spontaneous_FIN -964800777.506527 weird: spontaneous_FIN -964800777.506596 weird: spontaneous_FIN -964800777.506670 weird: spontaneous_FIN -964800777.506737 weird: spontaneous_FIN -964800777.506807 weird: spontaneous_FIN -964800777.506876 weird: spontaneous_FIN -964800777.506946 weird: spontaneous_FIN -964800777.596254 weird: spontaneous_FIN -964800777.596322 weird: spontaneous_FIN -964800777.596388 weird: spontaneous_FIN -964800777.596456 weird: spontaneous_FIN -964800777.596527 weird: spontaneous_FIN -964800777.596589 weird: spontaneous_FIN -964800777.596656 weird: spontaneous_FIN -964800777.596724 weird: spontaneous_FIN -964800777.596787 weird: spontaneous_FIN -964800777.596854 weird: spontaneous_FIN -964800777.596922 weird: spontaneous_FIN -964800777.686291 weird: spontaneous_FIN -964800777.686368 weird: spontaneous_FIN -964800777.686436 weird: spontaneous_FIN -964800777.686503 weird: spontaneous_FIN -964800777.686573 weird: spontaneous_FIN -964800777.686641 weird: spontaneous_FIN -964800777.686713 weird: spontaneous_FIN -964800777.686781 weird: spontaneous_FIN -964800777.686850 weird: spontaneous_FIN -964800777.686920 weird: spontaneous_FIN -964800777.686989 weird: spontaneous_FIN -964800777.776265 weird: spontaneous_FIN -964800777.776337 weird: spontaneous_FIN -964800777.776404 weird: spontaneous_FIN -964800777.776468 weird: spontaneous_FIN -964800777.776538 weird: spontaneous_FIN -964800777.776604 weird: spontaneous_FIN -964800777.776671 weird: spontaneous_FIN -964800777.776741 weird: spontaneous_FIN -964800777.776804 weird: spontaneous_FIN -964800777.776873 weird: spontaneous_FIN -964800777.776943 weird: spontaneous_FIN -964800777.866250 weird: spontaneous_FIN -964800777.866324 weird: spontaneous_FIN -964800777.866392 weird: spontaneous_FIN -964800777.866459 weird: spontaneous_FIN -964800777.866526 weird: spontaneous_FIN -964800777.866594 weird: spontaneous_FIN -964800777.866667 weird: spontaneous_FIN -964800777.866736 weird: spontaneous_FIN -964800777.866806 weird: spontaneous_FIN -964800777.866872 weird: spontaneous_FIN -964800777.866939 weird: spontaneous_FIN -964800777.956255 weird: spontaneous_FIN -964800777.956326 weird: spontaneous_FIN -964800777.956393 weird: spontaneous_FIN -964800777.956458 weird: spontaneous_FIN -964800777.956527 weird: spontaneous_FIN -964800777.956590 weird: spontaneous_FIN -964800777.956657 weird: spontaneous_FIN -964800777.956724 weird: spontaneous_FIN -964800777.956789 weird: spontaneous_FIN -964800777.956855 weird: spontaneous_FIN -964800777.956922 weird: spontaneous_FIN -964800778.046249 weird: spontaneous_FIN -964800778.046324 weird: spontaneous_FIN -964800778.046390 weird: spontaneous_FIN -964800778.046458 weird: spontaneous_FIN -964800778.046527 weird: spontaneous_FIN -964800778.046595 weird: spontaneous_FIN -964800778.046668 weird: spontaneous_FIN -964800778.046737 weird: spontaneous_FIN -964800778.046807 weird: spontaneous_FIN -964800778.046876 weird: spontaneous_FIN -964800778.046944 weird: spontaneous_FIN -964800778.136284 weird: spontaneous_FIN -964800778.136360 weird: spontaneous_FIN -964800778.136427 weird: spontaneous_FIN -964800778.136493 weird: spontaneous_FIN -964800778.136561 weird: spontaneous_FIN -964800778.136626 weird: spontaneous_FIN -964800778.136693 weird: spontaneous_FIN -964800778.136762 weird: spontaneous_FIN -964800778.136830 weird: spontaneous_FIN -964800778.136897 weird: spontaneous_FIN -964800778.136965 weird: spontaneous_FIN -964800778.226219 weird: spontaneous_FIN -964800778.226294 weird: spontaneous_FIN -964800778.226362 weird: spontaneous_FIN -964800778.226428 weird: spontaneous_FIN -964800778.226495 weird: spontaneous_FIN -964800778.226563 weird: spontaneous_FIN -964800778.226635 weird: spontaneous_FIN -964800778.226703 weird: spontaneous_FIN -964800778.226773 weird: spontaneous_FIN -964800778.226840 weird: spontaneous_FIN -964800778.226907 weird: spontaneous_FIN -964800778.316282 weird: spontaneous_FIN -964800778.316358 weird: spontaneous_FIN -964800778.316426 weird: spontaneous_FIN -964800778.316491 weird: spontaneous_FIN -964800778.316559 weird: spontaneous_FIN -964800778.316623 weird: spontaneous_FIN -964800778.316690 weird: spontaneous_FIN -964800778.316758 weird: spontaneous_FIN -964800778.316824 weird: spontaneous_FIN -964800778.316890 weird: spontaneous_FIN -964800778.316956 weird: spontaneous_FIN -964800778.400021 weird: spontaneous_FIN -964800778.400197 weird: spontaneous_FIN -964800778.400362 weird: spontaneous_FIN -964800778.400467 weird: spontaneous_FIN -964800778.400540 weird: spontaneous_FIN -964800778.400616 weird: spontaneous_FIN -964800778.400679 weird: spontaneous_FIN -964800778.400749 weird: spontaneous_FIN -964800778.400822 weird: spontaneous_FIN -964800778.400890 weird: spontaneous_FIN -964800778.400962 weird: spontaneous_FIN -964800778.476292 weird: spontaneous_FIN -964800778.476368 weird: spontaneous_FIN -964800778.476437 weird: spontaneous_FIN -964800778.476504 weird: spontaneous_FIN -964800778.476572 weird: spontaneous_FIN -964800778.476639 weird: spontaneous_FIN -964800778.476710 weird: spontaneous_FIN -964800778.476774 weird: spontaneous_FIN -964800778.476842 weird: spontaneous_FIN -964800778.476906 weird: spontaneous_FIN -964800778.476973 weird: spontaneous_FIN -964800778.566327 weird: spontaneous_FIN -964800778.566419 weird: spontaneous_FIN -964800778.566491 weird: spontaneous_FIN -964800778.566566 weird: spontaneous_FIN -964800778.566638 weird: spontaneous_FIN -964800778.566711 weird: spontaneous_FIN -964800778.566782 weird: spontaneous_FIN -964800778.566855 weird: spontaneous_FIN -964800778.566925 weird: spontaneous_FIN -964800778.566997 weird: spontaneous_FIN -964800778.567071 weird: spontaneous_FIN -964800778.656266 weird: spontaneous_FIN -964800778.656341 weird: spontaneous_FIN -964800778.656410 weird: spontaneous_FIN -964800778.656475 weird: spontaneous_FIN -964800778.656544 weird: spontaneous_FIN -964800778.656611 weird: spontaneous_FIN -964800778.656675 weird: spontaneous_FIN -964800778.656745 weird: spontaneous_FIN -964800778.656810 weird: spontaneous_FIN -964800778.656876 weird: spontaneous_FIN -964800778.656943 weird: spontaneous_FIN -964800778.746263 weird: spontaneous_FIN -964800778.746339 weird: spontaneous_FIN -964800778.746407 weird: spontaneous_FIN -964800778.746478 weird: spontaneous_FIN -964800778.746550 weird: spontaneous_FIN -964800778.746620 weird: spontaneous_FIN -964800778.746691 weird: spontaneous_FIN -964800778.746762 weird: spontaneous_FIN -964800778.746832 weird: spontaneous_FIN -964800778.746901 weird: spontaneous_FIN -964800778.746974 weird: spontaneous_FIN -964800778.836269 weird: spontaneous_FIN -964800778.836342 weird: spontaneous_FIN -964800778.836410 weird: spontaneous_FIN -964800778.836479 weird: spontaneous_FIN -964800778.836547 weird: spontaneous_FIN -964800778.836616 weird: spontaneous_FIN -964800778.836681 weird: spontaneous_FIN -964800778.836749 weird: spontaneous_FIN -964800778.836815 weird: spontaneous_FIN -964800778.836883 weird: spontaneous_FIN -964800778.836950 weird: spontaneous_FIN -964800778.916245 weird: spontaneous_FIN -964800778.916318 weird: spontaneous_FIN -964800778.916387 weird: spontaneous_FIN -964800778.916459 weird: spontaneous_FIN -964800778.916529 weird: spontaneous_FIN -964800778.916600 weird: spontaneous_FIN -964800778.916670 weird: spontaneous_FIN -964800778.916738 weird: spontaneous_FIN -964800778.916807 weird: spontaneous_FIN -964800778.916877 weird: spontaneous_FIN -964800778.916945 weird: spontaneous_FIN -964800779.017839 weird: spontaneous_FIN -964800779.017930 weird: spontaneous_FIN -964800779.017998 weird: spontaneous_FIN -964800779.018066 weird: spontaneous_FIN -964800779.018135 weird: spontaneous_FIN -964800779.018205 weird: spontaneous_FIN -964800779.018275 weird: spontaneous_FIN -964800779.018343 weird: spontaneous_FIN -964800779.018412 weird: spontaneous_FIN -964800779.018481 weird: spontaneous_FIN -964800779.018552 weird: spontaneous_FIN -964800779.096262 weird: spontaneous_FIN -964800779.096337 weird: spontaneous_FIN -964800779.096406 weird: spontaneous_FIN -964800779.096475 weird: spontaneous_FIN -964800779.096545 weird: spontaneous_FIN -964800779.096613 weird: spontaneous_FIN -964800779.096682 weird: spontaneous_FIN -964800779.096753 weird: spontaneous_FIN -964800779.096820 weird: spontaneous_FIN -964800779.096893 weird: spontaneous_FIN -964800779.096963 weird: spontaneous_FIN -964800779.186271 weird: spontaneous_FIN -964800779.186345 weird: spontaneous_FIN -964800779.186415 weird: spontaneous_FIN -964800779.186483 weird: spontaneous_FIN -964800779.186550 weird: spontaneous_FIN -964800779.186620 weird: spontaneous_FIN -964800779.186685 weird: spontaneous_FIN -964800779.186753 weird: spontaneous_FIN -964800779.186820 weird: spontaneous_FIN -964800779.186888 weird: spontaneous_FIN -964800779.186957 weird: spontaneous_FIN -964800779.266257 weird: spontaneous_FIN -964800779.266330 weird: spontaneous_FIN -964800779.266400 weird: spontaneous_FIN -964800779.266470 weird: spontaneous_FIN -964800779.266539 weird: spontaneous_FIN -964800779.266611 weird: spontaneous_FIN -964800779.266682 weird: spontaneous_FIN -964800779.266751 weird: spontaneous_FIN -964800779.266819 weird: spontaneous_FIN -964800779.266890 weird: spontaneous_FIN -964800779.266958 weird: spontaneous_FIN -964800779.346268 weird: spontaneous_FIN -964800779.346342 weird: spontaneous_FIN -964800779.346407 weird: spontaneous_FIN -964800779.346475 weird: spontaneous_FIN -964800779.346544 weird: spontaneous_FIN -964800779.346612 weird: spontaneous_FIN -964800779.346677 weird: spontaneous_FIN -964800779.346741 weird: spontaneous_FIN -964800779.346810 weird: spontaneous_FIN -964800779.346877 weird: spontaneous_FIN -964800779.346943 weird: spontaneous_FIN -964800779.426258 weird: spontaneous_FIN -964800779.426333 weird: spontaneous_FIN -964800779.426400 weird: spontaneous_FIN -964800779.426467 weird: spontaneous_FIN -964800779.426537 weird: spontaneous_FIN -964800779.426605 weird: spontaneous_FIN -964800779.426674 weird: spontaneous_FIN -964800779.426743 weird: spontaneous_FIN -964800779.426812 weird: spontaneous_FIN -964800779.426884 weird: spontaneous_FIN -964800779.426950 weird: spontaneous_FIN -964800779.516265 weird: spontaneous_FIN -964800779.516338 weird: spontaneous_FIN -964800779.516405 weird: spontaneous_FIN -964800779.516473 weird: spontaneous_FIN -964800779.516541 weird: spontaneous_FIN -964800779.516609 weird: spontaneous_FIN -964800779.516675 weird: spontaneous_FIN -964800779.516743 weird: spontaneous_FIN -964800779.516810 weird: spontaneous_FIN -964800779.516878 weird: spontaneous_FIN -964800779.516946 weird: spontaneous_FIN -964800779.593921 weird: spontaneous_FIN -964800779.593994 weird: spontaneous_FIN -964800779.594061 weird: spontaneous_FIN -964800779.594132 weird: spontaneous_FIN -964800779.594200 weird: spontaneous_FIN -964800779.594270 weird: spontaneous_FIN -964800779.594340 weird: spontaneous_FIN -964800779.594410 weird: spontaneous_FIN -964800779.594479 weird: spontaneous_FIN -964800779.594551 weird: spontaneous_FIN -964800779.594620 weird: spontaneous_FIN -964800779.676266 weird: spontaneous_FIN -964800779.676340 weird: spontaneous_FIN -964800779.676407 weird: spontaneous_FIN -964800779.676476 weird: spontaneous_FIN -964800779.676544 weird: spontaneous_FIN -964800779.676613 weird: spontaneous_FIN -964800779.676678 weird: spontaneous_FIN -964800779.676744 weird: spontaneous_FIN -964800779.676814 weird: spontaneous_FIN -964800779.676883 weird: spontaneous_FIN -964800779.676950 weird: spontaneous_FIN -964800779.756262 weird: spontaneous_FIN -964800779.756338 weird: spontaneous_FIN -964800779.756406 weird: spontaneous_FIN -964800779.756475 weird: spontaneous_FIN -964800779.756546 weird: spontaneous_FIN -964800779.756616 weird: spontaneous_FIN -964800779.756685 weird: spontaneous_FIN -964800779.756757 weird: spontaneous_FIN -964800779.756828 weird: spontaneous_FIN -964800779.756901 weird: spontaneous_FIN -964800779.756971 weird: spontaneous_FIN -964800779.836563 weird: spontaneous_FIN -964800779.836643 weird: spontaneous_FIN -964800779.836717 weird: spontaneous_FIN -964800779.836826 weird: spontaneous_FIN -964800779.836900 weird: spontaneous_FIN -964800779.836967 weird: spontaneous_FIN -964800779.837081 weird: spontaneous_FIN -964800779.837157 weird: spontaneous_FIN -964800779.837226 weird: spontaneous_FIN -964800779.837350 weird: spontaneous_FIN -964800779.837428 weird: spontaneous_FIN -964800779.916268 weird: spontaneous_FIN -964800779.916345 weird: spontaneous_FIN -964800779.916418 weird: spontaneous_FIN -964800779.916490 weird: spontaneous_FIN -964800779.916557 weird: spontaneous_FIN -964800779.916627 weird: spontaneous_FIN -964800779.916697 weird: spontaneous_FIN -964800779.916765 weird: spontaneous_FIN -964800779.916835 weird: spontaneous_FIN -964800779.916905 weird: spontaneous_FIN -964800779.916978 weird: spontaneous_FIN -964800780.006279 weird: spontaneous_FIN -964800780.006352 weird: spontaneous_FIN -964800780.006419 weird: spontaneous_FIN -964800780.006486 weird: spontaneous_FIN -964800780.006554 weird: spontaneous_FIN -964800780.006620 weird: spontaneous_FIN -964800780.006684 weird: spontaneous_FIN -964800780.006755 weird: spontaneous_FIN -964800780.006822 weird: spontaneous_FIN -964800780.006891 weird: spontaneous_FIN -964800780.006959 weird: spontaneous_FIN -964800780.096268 weird: spontaneous_FIN -964800780.096348 weird: spontaneous_FIN -964800780.096414 weird: spontaneous_FIN -964800780.096483 weird: spontaneous_FIN -964800780.096550 weird: spontaneous_FIN -964800780.096622 weird: spontaneous_FIN -964800780.096690 weird: spontaneous_FIN -964800780.096758 weird: spontaneous_FIN -964800780.096828 weird: spontaneous_FIN -964800780.096897 weird: spontaneous_FIN -964800780.096966 weird: spontaneous_FIN -964800780.186274 weird: spontaneous_FIN -964800780.186347 weird: spontaneous_FIN -964800780.186414 weird: spontaneous_FIN -964800780.186481 weird: spontaneous_FIN -964800780.186550 weird: spontaneous_FIN -964800780.186614 weird: spontaneous_FIN -964800780.186681 weird: spontaneous_FIN -964800780.186750 weird: spontaneous_FIN -964800780.186815 weird: spontaneous_FIN -964800780.186883 weird: spontaneous_FIN -964800780.186952 weird: spontaneous_FIN -964800780.276287 weird: spontaneous_FIN -964800780.276371 weird: spontaneous_FIN -964800780.276443 weird: spontaneous_FIN -964800780.276514 weird: spontaneous_FIN -964800780.276580 weird: spontaneous_FIN -964800780.276650 weird: spontaneous_FIN -964800780.276723 weird: spontaneous_FIN -964800780.276791 weird: spontaneous_FIN -964800780.276860 weird: spontaneous_FIN -964800780.276929 weird: spontaneous_FIN -964800780.276998 weird: spontaneous_FIN -964800780.366321 weird: spontaneous_FIN -964800780.366405 weird: spontaneous_FIN -964800780.366475 weird: spontaneous_FIN -964800780.366544 weird: spontaneous_FIN -964800780.366612 weird: spontaneous_FIN -964800780.366680 weird: spontaneous_FIN -964800780.366751 weird: spontaneous_FIN -964800780.366819 weird: spontaneous_FIN -964800780.366892 weird: spontaneous_FIN -964800780.366959 weird: spontaneous_FIN -964800780.367029 weird: spontaneous_FIN -964800780.446265 weird: spontaneous_FIN -964800780.446344 weird: spontaneous_FIN -964800780.446412 weird: spontaneous_FIN -964800780.446483 weird: spontaneous_FIN -964800780.446551 weird: spontaneous_FIN -964800780.446623 weird: spontaneous_FIN -964800780.446692 weird: spontaneous_FIN -964800780.446760 weird: spontaneous_FIN -964800780.446829 weird: spontaneous_FIN -964800780.446897 weird: spontaneous_FIN -964800780.446965 weird: spontaneous_FIN -964800780.529062 weird: spontaneous_FIN -964800780.529134 weird: spontaneous_FIN -964800780.529199 weird: spontaneous_FIN -964800780.529264 weird: spontaneous_FIN -964800780.529330 weird: spontaneous_FIN -964800780.529397 weird: spontaneous_FIN -964800780.529462 weird: spontaneous_FIN -964800780.529530 weird: spontaneous_FIN -964800780.529597 weird: spontaneous_FIN -964800780.529664 weird: spontaneous_FIN -964800780.529733 weird: spontaneous_FIN -964800780.616266 weird: spontaneous_FIN -964800780.616345 weird: spontaneous_FIN -964800780.616413 weird: spontaneous_FIN -964800780.616484 weird: spontaneous_FIN -964800780.616552 weird: spontaneous_FIN -964800780.616622 weird: spontaneous_FIN -964800780.616693 weird: spontaneous_FIN -964800780.616762 weird: spontaneous_FIN -964800780.616831 weird: spontaneous_FIN -964800780.616899 weird: spontaneous_FIN -964800780.616968 weird: spontaneous_FIN -964800780.706280 weird: spontaneous_FIN -964800780.706356 weird: spontaneous_FIN -964800780.706425 weird: spontaneous_FIN -964800780.706492 weird: spontaneous_FIN -964800780.706557 weird: spontaneous_FIN -964800780.706624 weird: spontaneous_FIN -964800780.706689 weird: spontaneous_FIN -964800780.706758 weird: spontaneous_FIN -964800780.706826 weird: spontaneous_FIN -964800780.706895 weird: spontaneous_FIN -964800780.706962 weird: spontaneous_FIN -964800780.796266 weird: spontaneous_FIN -964800780.796343 weird: spontaneous_FIN -964800780.796410 weird: spontaneous_FIN -964800780.796478 weird: spontaneous_FIN -964800780.796546 weird: spontaneous_FIN -964800780.796615 weird: spontaneous_FIN -964800780.796684 weird: spontaneous_FIN -964800780.796752 weird: spontaneous_FIN -964800780.796819 weird: spontaneous_FIN -964800780.796888 weird: spontaneous_FIN -964800780.796958 weird: spontaneous_FIN -964800780.876276 weird: spontaneous_FIN -964800780.876354 weird: spontaneous_FIN -964800780.876427 weird: spontaneous_FIN -964800780.876496 weird: spontaneous_FIN -964800780.876562 weird: spontaneous_FIN -964800780.876629 weird: spontaneous_FIN -964800780.876694 weird: spontaneous_FIN -964800780.876763 weird: spontaneous_FIN -964800780.876830 weird: spontaneous_FIN -964800780.876901 weird: spontaneous_FIN -964800780.876968 weird: spontaneous_FIN -964800780.956262 weird: spontaneous_FIN -964800780.956345 weird: spontaneous_FIN -964800780.956421 weird: spontaneous_FIN -964800780.956496 weird: spontaneous_FIN -964800780.956563 weird: spontaneous_FIN -964800780.956632 weird: spontaneous_FIN -964800780.956699 weird: spontaneous_FIN -964800780.956770 weird: spontaneous_FIN -964800780.956839 weird: spontaneous_FIN -964800780.956910 weird: spontaneous_FIN -964800780.956980 weird: spontaneous_FIN -964800781.032655 weird: spontaneous_FIN -964800781.032724 weird: spontaneous_FIN -964800781.032791 weird: spontaneous_FIN -964800781.032858 weird: spontaneous_FIN -964800781.032925 weird: spontaneous_FIN -964800781.032992 weird: spontaneous_FIN -964800781.033057 weird: spontaneous_FIN -964800781.033128 weird: spontaneous_FIN -964800781.033195 weird: spontaneous_FIN -964800781.033263 weird: spontaneous_FIN -964800781.033330 weird: spontaneous_FIN -964800781.116270 weird: spontaneous_FIN -964800781.116348 weird: spontaneous_FIN -964800781.116414 weird: spontaneous_FIN -964800781.116483 weird: spontaneous_FIN -964800781.116551 weird: spontaneous_FIN -964800781.116619 weird: spontaneous_FIN -964800781.116687 weird: spontaneous_FIN -964800781.116756 weird: spontaneous_FIN -964800781.116824 weird: spontaneous_FIN -964800781.116893 weird: spontaneous_FIN -964800781.116964 weird: spontaneous_FIN -964800781.196282 weird: spontaneous_FIN -964800781.196354 weird: spontaneous_FIN -964800781.196421 weird: spontaneous_FIN -964800781.196485 weird: spontaneous_FIN -964800781.196552 weird: spontaneous_FIN -964800781.196622 weird: spontaneous_FIN -964800781.196687 weird: spontaneous_FIN -964800781.196758 weird: spontaneous_FIN -964800781.196826 weird: spontaneous_FIN -964800781.196894 weird: spontaneous_FIN -964800781.196961 weird: spontaneous_FIN -964800781.286274 weird: spontaneous_FIN -964800781.286351 weird: spontaneous_FIN -964800781.286419 weird: spontaneous_FIN -964800781.286490 weird: spontaneous_FIN -964800781.286557 weird: spontaneous_FIN -964800781.286627 weird: spontaneous_FIN -964800781.286698 weird: spontaneous_FIN -964800781.286766 weird: spontaneous_FIN -964800781.286835 weird: spontaneous_FIN -964800781.286903 weird: spontaneous_FIN -964800781.286977 weird: spontaneous_FIN -964800781.376286 weird: spontaneous_FIN -964800781.376357 weird: spontaneous_FIN -964800781.376423 weird: spontaneous_FIN -964800781.376493 weird: spontaneous_FIN -964800781.376555 weird: spontaneous_FIN -964800781.376622 weird: spontaneous_FIN -964800781.376688 weird: spontaneous_FIN -964800781.376759 weird: spontaneous_FIN -964800781.376826 weird: spontaneous_FIN -964800781.376896 weird: spontaneous_FIN -964800781.376963 weird: spontaneous_FIN -964800781.458157 weird: spontaneous_FIN -964800781.458254 weird: spontaneous_FIN -964800781.458324 weird: spontaneous_FIN -964800781.458391 weird: spontaneous_FIN -964800781.458460 weird: spontaneous_FIN -964800781.458531 weird: spontaneous_FIN -964800781.458600 weird: spontaneous_FIN -964800781.458670 weird: spontaneous_FIN -964800781.458740 weird: spontaneous_FIN -964800781.458813 weird: spontaneous_FIN -964800781.458885 weird: spontaneous_FIN -964800781.537218 weird: spontaneous_FIN -964800781.537291 weird: spontaneous_FIN -964800781.537357 weird: spontaneous_FIN -964800781.537422 weird: spontaneous_FIN -964800781.537494 weird: spontaneous_FIN -964800781.537564 weird: spontaneous_FIN -964800781.537634 weird: spontaneous_FIN -964800781.537705 weird: spontaneous_FIN -964800781.537769 weird: spontaneous_FIN -964800781.537841 weird: spontaneous_FIN -964800781.537906 weird: spontaneous_FIN -964800781.626271 weird: spontaneous_FIN -964800781.626346 weird: spontaneous_FIN -964800781.626416 weird: spontaneous_FIN -964800781.626484 weird: spontaneous_FIN -964800781.626553 weird: spontaneous_FIN -964800781.626620 weird: spontaneous_FIN -964800781.626693 weird: spontaneous_FIN -964800781.626762 weird: spontaneous_FIN -964800781.626832 weird: spontaneous_FIN -964800781.626901 weird: spontaneous_FIN -964800781.626969 weird: spontaneous_FIN -964800781.664431 weird: spontaneous_FIN -964800781.716288 weird: spontaneous_FIN -964800781.716360 weird: spontaneous_FIN -964800781.716423 weird: spontaneous_FIN -964800781.716491 weird: spontaneous_FIN -964800781.716560 weird: spontaneous_FIN -964800781.716626 weird: spontaneous_FIN -964800781.716693 weird: spontaneous_FIN -964800781.716761 weird: spontaneous_FIN -964800781.716829 weird: spontaneous_FIN -964800781.716898 weird: spontaneous_FIN -964800781.716964 weird: spontaneous_FIN -964800781.798103 weird: spontaneous_FIN -964800781.798174 weird: spontaneous_FIN -964800781.798242 weird: spontaneous_FIN -964800781.798310 weird: spontaneous_FIN -964800781.798379 weird: spontaneous_FIN -964800781.798448 weird: spontaneous_FIN -964800781.798518 weird: spontaneous_FIN -964800781.798586 weird: spontaneous_FIN -964800781.798654 weird: spontaneous_FIN -964800781.798727 weird: spontaneous_FIN -964800781.798802 weird: spontaneous_FIN -964800781.886287 weird: spontaneous_FIN -964800781.886359 weird: spontaneous_FIN -964800781.886423 weird: spontaneous_FIN -964800781.886491 weird: spontaneous_FIN -964800781.886557 weird: spontaneous_FIN -964800781.886629 weird: spontaneous_FIN -964800781.886702 weird: spontaneous_FIN -964800781.886770 weird: spontaneous_FIN -964800781.886839 weird: spontaneous_FIN -964800781.886904 weird: spontaneous_FIN -964800781.886973 weird: spontaneous_FIN -964800781.966261 weird: spontaneous_FIN -964800781.966333 weird: spontaneous_FIN -964800781.966402 weird: spontaneous_FIN -964800781.966471 weird: spontaneous_FIN -964800781.966543 weird: spontaneous_FIN -964800781.966668 weird: spontaneous_FIN -964800781.966750 weird: spontaneous_FIN -964800781.966818 weird: spontaneous_FIN -964800781.966889 weird: spontaneous_FIN -964800781.966958 weird: spontaneous_FIN -964800781.967030 weird: spontaneous_FIN -964800782.056284 weird: spontaneous_FIN -964800782.056355 weird: spontaneous_FIN -964800782.056421 weird: spontaneous_FIN -964800782.056487 weird: spontaneous_FIN -964800782.056558 weird: spontaneous_FIN -964800782.056627 weird: spontaneous_FIN -964800782.056694 weird: spontaneous_FIN -964800782.056761 weird: spontaneous_FIN -964800782.056830 weird: spontaneous_FIN -964800782.056896 weird: spontaneous_FIN -964800782.056962 weird: spontaneous_FIN -964800782.136373 weird: spontaneous_FIN -964800782.136448 weird: spontaneous_FIN -964800782.136516 weird: spontaneous_FIN -964800782.136586 weird: spontaneous_FIN -964800782.136658 weird: spontaneous_FIN -964800782.136728 weird: spontaneous_FIN -964800782.136796 weird: spontaneous_FIN -964800782.136866 weird: spontaneous_FIN -964800782.136935 weird: spontaneous_FIN -964800782.137002 weird: spontaneous_FIN -964800782.137070 weird: spontaneous_FIN -964800782.226290 weird: spontaneous_FIN -964800782.226365 weird: spontaneous_FIN -964800782.226432 weird: spontaneous_FIN -964800782.226500 weird: spontaneous_FIN -964800782.226567 weird: spontaneous_FIN -964800782.226633 weird: spontaneous_FIN -964800782.226701 weird: spontaneous_FIN -964800782.226765 weird: spontaneous_FIN -964800782.226833 weird: spontaneous_FIN -964800782.226902 weird: spontaneous_FIN -964800782.226966 weird: spontaneous_FIN -964800782.316272 weird: spontaneous_FIN -964800782.316345 weird: spontaneous_FIN -964800782.316412 weird: spontaneous_FIN -964800782.316481 weird: spontaneous_FIN -964800782.316550 weird: spontaneous_FIN -964800782.316619 weird: spontaneous_FIN -964800782.316685 weird: spontaneous_FIN -964800782.316758 weird: spontaneous_FIN -964800782.316825 weird: spontaneous_FIN -964800782.316895 weird: spontaneous_FIN -964800782.316962 weird: spontaneous_FIN -964800782.406302 weird: spontaneous_FIN -964800782.406377 weird: spontaneous_FIN -964800782.406444 weird: spontaneous_FIN -964800782.406512 weird: spontaneous_FIN -964800782.406579 weird: spontaneous_FIN -964800782.406647 weird: spontaneous_FIN -964800782.406714 weird: spontaneous_FIN -964800782.406781 weird: spontaneous_FIN -964800782.406850 weird: spontaneous_FIN -964800782.406920 weird: spontaneous_FIN -964800782.406987 weird: spontaneous_FIN -964800782.496281 weird: spontaneous_FIN -964800782.496354 weird: spontaneous_FIN -964800782.496422 weird: spontaneous_FIN -964800782.496493 weird: spontaneous_FIN -964800782.496560 weird: spontaneous_FIN -964800782.496628 weird: spontaneous_FIN -964800782.496695 weird: spontaneous_FIN -964800782.496766 weird: spontaneous_FIN -964800782.496835 weird: spontaneous_FIN -964800782.496904 weird: spontaneous_FIN -964800782.496972 weird: spontaneous_FIN -964800782.576291 weird: spontaneous_FIN -964800782.576360 weird: spontaneous_FIN -964800782.576427 weird: spontaneous_FIN -964800782.576494 weird: spontaneous_FIN -964800782.576561 weird: spontaneous_FIN -964800782.576628 weird: spontaneous_FIN -964800782.576695 weird: spontaneous_FIN -964800782.576762 weird: spontaneous_FIN -964800782.576829 weird: spontaneous_FIN -964800782.576898 weird: spontaneous_FIN -964800782.576961 weird: spontaneous_FIN -964800782.666279 weird: spontaneous_FIN -964800782.666354 weird: spontaneous_FIN -964800782.666422 weird: spontaneous_FIN -964800782.666491 weird: spontaneous_FIN -964800782.666561 weird: spontaneous_FIN -964800782.666629 weird: spontaneous_FIN -964800782.666699 weird: spontaneous_FIN -964800782.666771 weird: spontaneous_FIN -964800782.666839 weird: spontaneous_FIN -964800782.666908 weird: spontaneous_FIN -964800782.666977 weird: spontaneous_FIN -964800782.746286 weird: spontaneous_FIN -964800782.746361 weird: spontaneous_FIN -964800782.746424 weird: spontaneous_FIN -964800782.746493 weird: spontaneous_FIN -964800782.746559 weird: spontaneous_FIN -964800782.746626 weird: spontaneous_FIN -964800782.746693 weird: spontaneous_FIN -964800782.746759 weird: spontaneous_FIN -964800782.746824 weird: spontaneous_FIN -964800782.746894 weird: spontaneous_FIN -964800782.746956 weird: spontaneous_FIN -964800782.828989 weird: spontaneous_FIN -964800782.829149 weird: spontaneous_FIN -964800782.829299 weird: spontaneous_FIN -964800782.829465 weird: spontaneous_FIN -964800782.829635 weird: spontaneous_FIN -964800782.829843 weird: spontaneous_FIN -964800782.829997 weird: spontaneous_FIN -964800782.830222 weird: spontaneous_FIN -964800782.830406 weird: spontaneous_FIN -964800782.830538 weird: spontaneous_FIN -964800782.830657 weird: spontaneous_FIN -964800782.906302 weird: spontaneous_FIN -964800782.906375 weird: spontaneous_FIN -964800782.906442 weird: spontaneous_FIN -964800782.906510 weird: spontaneous_FIN -964800782.906577 weird: spontaneous_FIN -964800782.906646 weird: spontaneous_FIN -964800782.906717 weird: spontaneous_FIN -964800782.906783 weird: spontaneous_FIN -964800782.906849 weird: spontaneous_FIN -964800782.906915 weird: spontaneous_FIN -964800782.906981 weird: spontaneous_FIN -964800782.986277 weird: spontaneous_FIN -964800782.986351 weird: spontaneous_FIN -964800782.986419 weird: spontaneous_FIN -964800782.986487 weird: spontaneous_FIN -964800782.986558 weird: spontaneous_FIN -964800782.986627 weird: spontaneous_FIN -964800782.986700 weird: spontaneous_FIN -964800782.986770 weird: spontaneous_FIN -964800782.986837 weird: spontaneous_FIN -964800782.986907 weird: spontaneous_FIN -964800782.986973 weird: spontaneous_FIN -964800783.066284 weird: spontaneous_FIN -964800783.066357 weird: spontaneous_FIN -964800783.066423 weird: spontaneous_FIN -964800783.066490 weird: spontaneous_FIN -964800783.066555 weird: spontaneous_FIN -964800783.066624 weird: spontaneous_FIN -964800783.066692 weird: spontaneous_FIN -964800783.066758 weird: spontaneous_FIN -964800783.066824 weird: spontaneous_FIN -964800783.066889 weird: spontaneous_FIN -964800783.066952 weird: spontaneous_FIN -964800783.156274 weird: spontaneous_FIN -964800783.156348 weird: spontaneous_FIN -964800783.156416 weird: spontaneous_FIN -964800783.156482 weird: spontaneous_FIN -964800783.156551 weird: spontaneous_FIN -964800783.156619 weird: spontaneous_FIN -964800783.156690 weird: spontaneous_FIN -964800783.156761 weird: spontaneous_FIN -964800783.156829 weird: spontaneous_FIN -964800783.156897 weird: spontaneous_FIN -964800783.156965 weird: spontaneous_FIN -964800783.233842 weird: spontaneous_FIN -964800783.233912 weird: spontaneous_FIN -964800783.233978 weird: spontaneous_FIN -964800783.234045 weird: spontaneous_FIN -964800783.234112 weird: spontaneous_FIN -964800783.234211 weird: spontaneous_FIN -964800783.234311 weird: spontaneous_FIN -964800783.234377 weird: spontaneous_FIN -964800783.234444 weird: spontaneous_FIN -964800783.234547 weird: spontaneous_FIN -964800783.234620 weird: spontaneous_FIN -964800783.316281 weird: spontaneous_FIN -964800783.316358 weird: spontaneous_FIN -964800783.316426 weird: spontaneous_FIN -964800783.316495 weird: spontaneous_FIN -964800783.316564 weird: spontaneous_FIN -964800783.316634 weird: spontaneous_FIN -964800783.316702 weird: spontaneous_FIN -964800783.316774 weird: spontaneous_FIN -964800783.316845 weird: spontaneous_FIN -964800783.316919 weird: spontaneous_FIN -964800783.316988 weird: spontaneous_FIN -964800783.396289 weird: spontaneous_FIN -964800783.396361 weird: spontaneous_FIN -964800783.396430 weird: spontaneous_FIN -964800783.396495 weird: spontaneous_FIN -964800783.396559 weird: spontaneous_FIN -964800783.396628 weird: spontaneous_FIN -964800783.396696 weird: spontaneous_FIN -964800783.396763 weird: spontaneous_FIN -964800783.396825 weird: spontaneous_FIN -964800783.396892 weird: spontaneous_FIN -964800783.396959 weird: spontaneous_FIN -964800783.479586 weird: spontaneous_FIN -964800783.479661 weird: spontaneous_FIN -964800783.479730 weird: spontaneous_FIN -964800783.479799 weird: spontaneous_FIN -964800783.479868 weird: spontaneous_FIN -964800783.479938 weird: spontaneous_FIN -964800783.480007 weird: spontaneous_FIN -964800783.480076 weird: spontaneous_FIN -964800783.480147 weird: spontaneous_FIN -964800783.480220 weird: spontaneous_FIN -964800783.480290 weird: spontaneous_FIN -964800783.556335 weird: spontaneous_FIN -964800783.556410 weird: spontaneous_FIN -964800783.556478 weird: spontaneous_FIN -964800783.556588 weird: spontaneous_FIN -964800783.556657 weird: spontaneous_FIN -964800783.556721 weird: spontaneous_FIN -964800783.556832 weird: spontaneous_FIN -964800783.556907 weird: spontaneous_FIN -964800783.556970 weird: spontaneous_FIN -964800783.557034 weird: spontaneous_FIN -964800783.557141 weird: spontaneous_FIN -964800783.636282 weird: spontaneous_FIN -964800783.636355 weird: spontaneous_FIN -964800783.636423 weird: spontaneous_FIN -964800783.636495 weird: spontaneous_FIN -964800783.636564 weird: spontaneous_FIN -964800783.636634 weird: spontaneous_FIN -964800783.636705 weird: spontaneous_FIN -964800783.636773 weird: spontaneous_FIN -964800783.636840 weird: spontaneous_FIN -964800783.636909 weird: spontaneous_FIN -964800783.636980 weird: spontaneous_FIN -964800783.716293 weird: spontaneous_FIN -964800783.716369 weird: spontaneous_FIN -964800783.716434 weird: spontaneous_FIN -964800783.716499 weird: spontaneous_FIN -964800783.716563 weird: spontaneous_FIN -964800783.716630 weird: spontaneous_FIN -964800783.716697 weird: spontaneous_FIN -964800783.716764 weird: spontaneous_FIN -964800783.716827 weird: spontaneous_FIN -964800783.716889 weird: spontaneous_FIN -964800783.716954 weird: spontaneous_FIN -964800783.806284 weird: spontaneous_FIN -964800783.806359 weird: spontaneous_FIN -964800783.806427 weird: spontaneous_FIN -964800783.806498 weird: spontaneous_FIN -964800783.806566 weird: spontaneous_FIN -964800783.806634 weird: spontaneous_FIN -964800783.806705 weird: spontaneous_FIN -964800783.806772 weird: spontaneous_FIN -964800783.806840 weird: spontaneous_FIN -964800783.806908 weird: spontaneous_FIN -964800783.806977 weird: spontaneous_FIN -964800783.886342 weird: spontaneous_FIN -964800783.886424 weird: spontaneous_FIN -964800783.886525 weird: spontaneous_FIN -964800783.886598 weird: spontaneous_FIN -964800783.886667 weird: spontaneous_FIN -964800783.886732 weird: spontaneous_FIN -964800783.886834 weird: spontaneous_FIN -964800783.886902 weird: spontaneous_FIN -964800783.886967 weird: spontaneous_FIN -964800783.887044 weird: spontaneous_FIN -964800783.887145 weird: spontaneous_FIN -964800783.966284 weird: spontaneous_FIN -964800783.966357 weird: spontaneous_FIN -964800783.966432 weird: spontaneous_FIN -964800783.966503 weird: spontaneous_FIN -964800783.966572 weird: spontaneous_FIN -964800783.966639 weird: spontaneous_FIN -964800783.966707 weird: spontaneous_FIN -964800783.966778 weird: spontaneous_FIN -964800783.966846 weird: spontaneous_FIN -964800783.966919 weird: spontaneous_FIN -964800783.966990 weird: spontaneous_FIN -964800784.055283 weird: spontaneous_FIN -964800784.055356 weird: spontaneous_FIN -964800784.055421 weird: spontaneous_FIN -964800784.055486 weird: spontaneous_FIN -964800784.055550 weird: spontaneous_FIN -964800784.055613 weird: spontaneous_FIN -964800784.055678 weird: spontaneous_FIN -964800784.055746 weird: spontaneous_FIN -964800784.055809 weird: spontaneous_FIN -964800784.055877 weird: spontaneous_FIN -964800784.055945 weird: spontaneous_FIN -964800784.146283 weird: spontaneous_FIN -964800784.146357 weird: spontaneous_FIN -964800784.146430 weird: spontaneous_FIN -964800784.146500 weird: spontaneous_FIN -964800784.146570 weird: spontaneous_FIN -964800784.146637 weird: spontaneous_FIN -964800784.146704 weird: spontaneous_FIN -964800784.146771 weird: spontaneous_FIN -964800784.146838 weird: spontaneous_FIN -964800784.146906 weird: spontaneous_FIN -964800784.146975 weird: spontaneous_FIN -964800784.228270 weird: spontaneous_FIN -964800784.228434 weird: spontaneous_FIN -964800784.228573 weird: spontaneous_FIN -964800784.228710 weird: spontaneous_FIN -964800784.228851 weird: spontaneous_FIN -964800784.229035 weird: spontaneous_FIN -964800784.229241 weird: spontaneous_FIN -964800784.229395 weird: spontaneous_FIN -964800784.229546 weird: spontaneous_FIN -964800784.229619 weird: spontaneous_FIN -964800784.229687 weird: spontaneous_FIN -964800784.306298 weird: spontaneous_FIN -964800784.306373 weird: spontaneous_FIN -964800784.306443 weird: spontaneous_FIN -964800784.306511 weird: spontaneous_FIN -964800784.306578 weird: spontaneous_FIN -964800784.306644 weird: spontaneous_FIN -964800784.306715 weird: spontaneous_FIN -964800784.306788 weird: spontaneous_FIN -964800784.306851 weird: spontaneous_FIN -964800784.306918 weird: spontaneous_FIN -964800784.306991 weird: spontaneous_FIN -964800784.396293 weird: spontaneous_FIN -964800784.396364 weird: spontaneous_FIN -964800784.396429 weird: spontaneous_FIN -964800784.396493 weird: spontaneous_FIN -964800784.396557 weird: spontaneous_FIN -964800784.396623 weird: spontaneous_FIN -964800784.396687 weird: spontaneous_FIN -964800784.396753 weird: spontaneous_FIN -964800784.396817 weird: spontaneous_FIN -964800784.396883 weird: spontaneous_FIN -964800784.396949 weird: spontaneous_FIN -964800784.486286 weird: spontaneous_FIN -964800784.486360 weird: spontaneous_FIN -964800784.486430 weird: spontaneous_FIN -964800784.486497 weird: spontaneous_FIN -964800784.486565 weird: spontaneous_FIN -964800784.486634 weird: spontaneous_FIN -964800784.486746 weird: spontaneous_FIN -964800784.486816 weird: spontaneous_FIN -964800784.486886 weird: spontaneous_FIN -964800784.486957 weird: spontaneous_FIN -964800784.487027 weird: spontaneous_FIN -964800784.576301 weird: spontaneous_FIN -964800784.576374 weird: spontaneous_FIN -964800784.576442 weird: spontaneous_FIN -964800784.576513 weird: spontaneous_FIN -964800784.576578 weird: spontaneous_FIN -964800784.576646 weird: spontaneous_FIN -964800784.576714 weird: spontaneous_FIN -964800784.576780 weird: spontaneous_FIN -964800784.576851 weird: spontaneous_FIN -964800784.576919 weird: spontaneous_FIN -964800784.576987 weird: spontaneous_FIN -964800784.666291 weird: spontaneous_FIN -964800784.666367 weird: spontaneous_FIN -964800784.666438 weird: spontaneous_FIN -964800784.666508 weird: spontaneous_FIN -964800784.666578 weird: spontaneous_FIN -964800784.666650 weird: spontaneous_FIN -964800784.666720 weird: spontaneous_FIN -964800784.666790 weird: spontaneous_FIN -964800784.666863 weird: spontaneous_FIN -964800784.666934 weird: spontaneous_FIN -964800784.667010 weird: spontaneous_FIN -964800784.756307 weird: spontaneous_FIN -964800784.756381 weird: spontaneous_FIN -964800784.756448 weird: spontaneous_FIN -964800784.756517 weird: spontaneous_FIN -964800784.756584 weird: spontaneous_FIN -964800784.756651 weird: spontaneous_FIN -964800784.756717 weird: spontaneous_FIN -964800784.756781 weird: spontaneous_FIN -964800784.756850 weird: spontaneous_FIN -964800784.756916 weird: spontaneous_FIN -964800784.756983 weird: spontaneous_FIN -964800784.836465 weird: spontaneous_FIN -964800784.836548 weird: spontaneous_FIN -964800784.836619 weird: spontaneous_FIN -964800784.836689 weird: spontaneous_FIN -964800784.836758 weird: spontaneous_FIN -964800784.836828 weird: spontaneous_FIN -964800784.836898 weird: spontaneous_FIN -964800784.836968 weird: spontaneous_FIN -964800784.837040 weird: spontaneous_FIN -964800784.837111 weird: spontaneous_FIN -964800784.837184 weird: spontaneous_FIN -964800784.916361 weird: spontaneous_FIN -964800784.916431 weird: spontaneous_FIN -964800784.916556 weird: spontaneous_FIN -964800784.916627 weird: spontaneous_FIN -964800784.916692 weird: spontaneous_FIN -964800784.916759 weird: spontaneous_FIN -964800784.916866 weird: spontaneous_FIN -964800784.916935 weird: spontaneous_FIN -964800784.917001 weird: spontaneous_FIN -964800784.917099 weird: spontaneous_FIN -964800784.917192 weird: spontaneous_FIN -964800785.006289 weird: spontaneous_FIN -964800785.006363 weird: spontaneous_FIN -964800785.006431 weird: spontaneous_FIN -964800785.006501 weird: spontaneous_FIN -964800785.006571 weird: spontaneous_FIN -964800785.006642 weird: spontaneous_FIN -964800785.006713 weird: spontaneous_FIN -964800785.006783 weird: spontaneous_FIN -964800785.006853 weird: spontaneous_FIN -964800785.006922 weird: spontaneous_FIN -964800785.006993 weird: spontaneous_FIN -964800785.096299 weird: spontaneous_FIN -964800785.096368 weird: spontaneous_FIN -964800785.096435 weird: spontaneous_FIN -964800785.096502 weird: spontaneous_FIN -964800785.096569 weird: spontaneous_FIN -964800785.096633 weird: spontaneous_FIN -964800785.096698 weird: spontaneous_FIN -964800785.096765 weird: spontaneous_FIN -964800785.096831 weird: spontaneous_FIN -964800785.096896 weird: spontaneous_FIN -964800785.096967 weird: spontaneous_FIN -964800785.186289 weird: spontaneous_FIN -964800785.186362 weird: spontaneous_FIN -964800785.186430 weird: spontaneous_FIN -964800785.186500 weird: spontaneous_FIN -964800785.186570 weird: spontaneous_FIN -964800785.186640 weird: spontaneous_FIN -964800785.186711 weird: spontaneous_FIN -964800785.186781 weird: spontaneous_FIN -964800785.186849 weird: spontaneous_FIN -964800785.186919 weird: spontaneous_FIN -964800785.186990 weird: spontaneous_FIN -964800785.266309 weird: spontaneous_FIN -964800785.266380 weird: spontaneous_FIN -964800785.266447 weird: spontaneous_FIN -964800785.266515 weird: spontaneous_FIN -964800785.266585 weird: spontaneous_FIN -964800785.266654 weird: spontaneous_FIN -964800785.266720 weird: spontaneous_FIN -964800785.266789 weird: spontaneous_FIN -964800785.266856 weird: spontaneous_FIN -964800785.266921 weird: spontaneous_FIN -964800785.266986 weird: spontaneous_FIN -964800785.356289 weird: spontaneous_FIN -964800785.356363 weird: spontaneous_FIN -964800785.356433 weird: spontaneous_FIN -964800785.356503 weird: spontaneous_FIN -964800785.356572 weird: spontaneous_FIN -964800785.356644 weird: spontaneous_FIN -964800785.356715 weird: spontaneous_FIN -964800785.356785 weird: spontaneous_FIN -964800785.356853 weird: spontaneous_FIN -964800785.356924 weird: spontaneous_FIN -964800785.356993 weird: spontaneous_FIN -964800785.446305 weird: spontaneous_FIN -964800785.446377 weird: spontaneous_FIN -964800785.446443 weird: spontaneous_FIN -964800785.446510 weird: spontaneous_FIN -964800785.446574 weird: spontaneous_FIN -964800785.446641 weird: spontaneous_FIN -964800785.446707 weird: spontaneous_FIN -964800785.446774 weird: spontaneous_FIN -964800785.446841 weird: spontaneous_FIN -964800785.446911 weird: spontaneous_FIN -964800785.446976 weird: spontaneous_FIN -964800785.536292 weird: spontaneous_FIN -964800785.536368 weird: spontaneous_FIN -964800785.536437 weird: spontaneous_FIN -964800785.536508 weird: spontaneous_FIN -964800785.536578 weird: spontaneous_FIN -964800785.536649 weird: spontaneous_FIN -964800785.536720 weird: spontaneous_FIN -964800785.536791 weird: spontaneous_FIN -964800785.536861 weird: spontaneous_FIN -964800785.536929 weird: spontaneous_FIN -964800785.536999 weird: spontaneous_FIN -964800785.616421 weird: spontaneous_FIN -964800785.616491 weird: spontaneous_FIN -964800785.616587 weird: spontaneous_FIN -964800785.616680 weird: spontaneous_FIN -964800785.616746 weird: spontaneous_FIN -964800785.616811 weird: spontaneous_FIN -964800785.616928 weird: spontaneous_FIN -964800785.617001 weird: spontaneous_FIN -964800785.617070 weird: spontaneous_FIN -964800785.617148 weird: spontaneous_FIN -964800785.617254 weird: spontaneous_FIN -964800785.706299 weird: spontaneous_FIN -964800785.706378 weird: spontaneous_FIN -964800785.706448 weird: spontaneous_FIN -964800785.706520 weird: spontaneous_FIN -964800785.706590 weird: spontaneous_FIN -964800785.706660 weird: spontaneous_FIN -964800785.706728 weird: spontaneous_FIN -964800785.706800 weird: spontaneous_FIN -964800785.706878 weird: spontaneous_FIN -964800785.706955 weird: spontaneous_FIN -964800785.707035 weird: spontaneous_FIN -964800785.786314 weird: spontaneous_FIN -964800785.786386 weird: spontaneous_FIN -964800785.786451 weird: spontaneous_FIN -964800785.786517 weird: spontaneous_FIN -964800785.786584 weird: spontaneous_FIN -964800785.786647 weird: spontaneous_FIN -964800785.786713 weird: spontaneous_FIN -964800785.786780 weird: spontaneous_FIN -964800785.786844 weird: spontaneous_FIN -964800785.786909 weird: spontaneous_FIN -964800785.786973 weird: spontaneous_FIN -964800785.871860 weird: spontaneous_FIN -964800785.871933 weird: spontaneous_FIN -964800785.872003 weird: spontaneous_FIN -964800785.872070 weird: spontaneous_FIN -964800785.872137 weird: spontaneous_FIN -964800785.872203 weird: spontaneous_FIN -964800785.872272 weird: spontaneous_FIN -964800785.872340 weird: spontaneous_FIN -964800785.872408 weird: spontaneous_FIN -964800785.872479 weird: spontaneous_FIN -964800785.872548 weird: spontaneous_FIN -964800785.966307 weird: spontaneous_FIN -964800785.966378 weird: spontaneous_FIN -964800785.966442 weird: spontaneous_FIN -964800785.966511 weird: spontaneous_FIN -964800785.966577 weird: spontaneous_FIN -964800785.966639 weird: spontaneous_FIN -964800785.966705 weird: spontaneous_FIN -964800785.966772 weird: spontaneous_FIN -964800785.966835 weird: spontaneous_FIN -964800785.966903 weird: spontaneous_FIN -964800785.966971 weird: spontaneous_FIN -964800786.056298 weird: spontaneous_FIN -964800786.056372 weird: spontaneous_FIN -964800786.056442 weird: spontaneous_FIN -964800786.056511 weird: spontaneous_FIN -964800786.056580 weird: spontaneous_FIN -964800786.056646 weird: spontaneous_FIN -964800786.056713 weird: spontaneous_FIN -964800786.056781 weird: spontaneous_FIN -964800786.056851 weird: spontaneous_FIN -964800786.056920 weird: spontaneous_FIN -964800786.056989 weird: spontaneous_FIN -964800786.143796 weird: spontaneous_FIN -964800786.143867 weird: spontaneous_FIN -964800786.143930 weird: spontaneous_FIN -964800786.144001 weird: spontaneous_FIN -964800786.144068 weird: spontaneous_FIN -964800786.144131 weird: spontaneous_FIN -964800786.144198 weird: spontaneous_FIN -964800786.144262 weird: spontaneous_FIN -964800786.144327 weird: spontaneous_FIN -964800786.144394 weird: spontaneous_FIN -964800786.144457 weird: spontaneous_FIN -964800786.226297 weird: spontaneous_FIN -964800786.226369 weird: spontaneous_FIN -964800786.226438 weird: spontaneous_FIN -964800786.226508 weird: spontaneous_FIN -964800786.226576 weird: spontaneous_FIN -964800786.226643 weird: spontaneous_FIN -964800786.226709 weird: spontaneous_FIN -964800786.226778 weird: spontaneous_FIN -964800786.226846 weird: spontaneous_FIN -964800786.226917 weird: spontaneous_FIN -964800786.226991 weird: spontaneous_FIN -964800786.306516 weird: spontaneous_FIN -964800786.306586 weird: spontaneous_FIN -964800786.306684 weird: spontaneous_FIN -964800786.306777 weird: spontaneous_FIN -964800786.306840 weird: spontaneous_FIN -964800786.306912 weird: spontaneous_FIN -964800786.307015 weird: spontaneous_FIN -964800786.307083 weird: spontaneous_FIN -964800786.307150 weird: spontaneous_FIN -964800786.307212 weird: spontaneous_FIN -964800786.307316 weird: spontaneous_FIN -964800786.386297 weird: spontaneous_FIN -964800786.386371 weird: spontaneous_FIN -964800786.386439 weird: spontaneous_FIN -964800786.386508 weird: spontaneous_FIN -964800786.386575 weird: spontaneous_FIN -964800786.386645 weird: spontaneous_FIN -964800786.386713 weird: spontaneous_FIN -964800786.386786 weird: spontaneous_FIN -964800786.386855 weird: spontaneous_FIN -964800786.386922 weird: spontaneous_FIN -964800786.386990 weird: spontaneous_FIN -964800786.466309 weird: spontaneous_FIN -964800786.466378 weird: spontaneous_FIN -964800786.466443 weird: spontaneous_FIN -964800786.466512 weird: spontaneous_FIN -964800786.466576 weird: spontaneous_FIN -964800786.466642 weird: spontaneous_FIN -964800786.466710 weird: spontaneous_FIN -964800786.466776 weird: spontaneous_FIN -964800786.466840 weird: spontaneous_FIN -964800786.466905 weird: spontaneous_FIN -964800786.466970 weird: spontaneous_FIN -964800786.549056 weird: spontaneous_FIN -964800786.549174 weird: spontaneous_FIN -964800786.549191 weird: spontaneous_FIN -964800786.549252 weird: spontaneous_FIN -964800786.549318 weird: spontaneous_FIN -964800786.549387 weird: spontaneous_FIN -964800786.549455 weird: spontaneous_FIN -964800786.549521 weird: spontaneous_FIN -964800786.549590 weird: spontaneous_FIN -964800786.549658 weird: spontaneous_FIN -964800786.549729 weird: spontaneous_FIN -964800786.636315 weird: spontaneous_FIN -964800786.636385 weird: spontaneous_FIN -964800786.636452 weird: spontaneous_FIN -964800786.636519 weird: spontaneous_FIN -964800786.636584 weird: spontaneous_FIN -964800786.636650 weird: spontaneous_FIN -964800786.636716 weird: spontaneous_FIN -964800786.636784 weird: spontaneous_FIN -964800786.636850 weird: spontaneous_FIN -964800786.636915 weird: spontaneous_FIN -964800786.636980 weird: spontaneous_FIN -964800786.726302 weird: spontaneous_FIN -964800786.726376 weird: spontaneous_FIN -964800786.726444 weird: spontaneous_FIN -964800786.726511 weird: spontaneous_FIN -964800786.726581 weird: spontaneous_FIN -964800786.726653 weird: spontaneous_FIN -964800786.726722 weird: spontaneous_FIN -964800786.726788 weird: spontaneous_FIN -964800786.726857 weird: spontaneous_FIN -964800786.726926 weird: spontaneous_FIN -964800786.726996 weird: spontaneous_FIN -964800786.806315 weird: spontaneous_FIN -964800786.806386 weird: spontaneous_FIN -964800786.806450 weird: spontaneous_FIN -964800786.806514 weird: spontaneous_FIN -964800786.806580 weird: spontaneous_FIN -964800786.806646 weird: spontaneous_FIN -964800786.806713 weird: spontaneous_FIN -964800786.806780 weird: spontaneous_FIN -964800786.806843 weird: spontaneous_FIN -964800786.806910 weird: spontaneous_FIN -964800786.806973 weird: spontaneous_FIN -964800786.886301 weird: spontaneous_FIN -964800786.897796 weird: spontaneous_FIN -964800786.897875 weird: spontaneous_FIN -964800786.897946 weird: spontaneous_FIN -964800786.898016 weird: spontaneous_FIN -964800786.898089 weird: spontaneous_FIN -964800786.898156 weird: spontaneous_FIN -964800786.898223 weird: spontaneous_FIN -964800786.898291 weird: spontaneous_FIN -964800786.898359 weird: spontaneous_FIN -964800786.898429 weird: spontaneous_FIN -964800786.976348 weird: spontaneous_FIN -964800786.976419 weird: spontaneous_FIN -964800786.976531 weird: spontaneous_FIN -964800786.976610 weird: spontaneous_FIN -964800786.976678 weird: spontaneous_FIN -964800786.976745 weird: spontaneous_FIN -964800786.976853 weird: spontaneous_FIN -964800786.976921 weird: spontaneous_FIN -964800786.976986 weird: spontaneous_FIN -964800786.977053 weird: spontaneous_FIN -964800786.977156 weird: spontaneous_FIN -964800787.066305 weird: spontaneous_FIN -964800787.066381 weird: spontaneous_FIN -964800787.066450 weird: spontaneous_FIN -964800787.066515 weird: spontaneous_FIN -964800787.066583 weird: spontaneous_FIN -964800787.066649 weird: spontaneous_FIN -964800787.066717 weird: spontaneous_FIN -964800787.066783 weird: spontaneous_FIN -964800787.066852 weird: spontaneous_FIN -964800787.066920 weird: spontaneous_FIN -964800787.066988 weird: spontaneous_FIN -964800787.156310 weird: spontaneous_FIN -964800787.156381 weird: spontaneous_FIN -964800787.156444 weird: spontaneous_FIN -964800787.156511 weird: spontaneous_FIN -964800787.156577 weird: spontaneous_FIN -964800787.156641 weird: spontaneous_FIN -964800787.156704 weird: spontaneous_FIN -964800787.156770 weird: spontaneous_FIN -964800787.156834 weird: spontaneous_FIN -964800787.156901 weird: spontaneous_FIN -964800787.156968 weird: spontaneous_FIN -964800787.239169 weird: spontaneous_FIN -964800787.239243 weird: spontaneous_FIN -964800787.239313 weird: spontaneous_FIN -964800787.239377 weird: spontaneous_FIN -964800787.239446 weird: spontaneous_FIN -964800787.239512 weird: spontaneous_FIN -964800787.239577 weird: spontaneous_FIN -964800787.239647 weird: spontaneous_FIN -964800787.239715 weird: spontaneous_FIN -964800787.239783 weird: spontaneous_FIN -964800787.239851 weird: spontaneous_FIN -964800787.327141 weird: spontaneous_FIN -964800787.327220 weird: spontaneous_FIN -964800787.327430 weird: spontaneous_FIN -964800787.328936 weird: spontaneous_FIN -964800787.330345 weird: spontaneous_FIN -964800787.330430 weird: spontaneous_FIN -964800787.330497 weird: spontaneous_FIN -964800787.330566 weird: spontaneous_FIN -964800787.330633 weird: spontaneous_FIN -964800787.330703 weird: spontaneous_FIN -964800787.330771 weird: spontaneous_FIN -964800787.406299 weird: spontaneous_FIN -964800787.406375 weird: spontaneous_FIN -964800787.406446 weird: spontaneous_FIN -964800787.406513 weird: spontaneous_FIN -964800787.406583 weird: spontaneous_FIN -964800787.406650 weird: spontaneous_FIN -964800787.406720 weird: spontaneous_FIN -964800787.406788 weird: spontaneous_FIN -964800787.406857 weird: spontaneous_FIN -964800787.406925 weird: spontaneous_FIN -964800787.406992 weird: spontaneous_FIN -964800787.486315 weird: spontaneous_FIN -964800787.486388 weird: spontaneous_FIN -964800787.486456 weird: spontaneous_FIN -964800787.486524 weird: spontaneous_FIN -964800787.486592 weird: spontaneous_FIN -964800787.486659 weird: spontaneous_FIN -964800787.486724 weird: spontaneous_FIN -964800787.486792 weird: spontaneous_FIN -964800787.486859 weird: spontaneous_FIN -964800787.486928 weird: spontaneous_FIN -964800787.486997 weird: spontaneous_FIN -964800787.566309 weird: spontaneous_FIN -964800787.566388 weird: spontaneous_FIN -964800787.566460 weird: spontaneous_FIN -964800787.566530 weird: spontaneous_FIN -964800787.566599 weird: spontaneous_FIN -964800787.566667 weird: spontaneous_FIN -964800787.566736 weird: spontaneous_FIN -964800787.566806 weird: spontaneous_FIN -964800787.566876 weird: spontaneous_FIN -964800787.566947 weird: spontaneous_FIN -964800787.567017 weird: spontaneous_FIN -964800787.648324 weird: spontaneous_FIN -964800787.648482 weird: spontaneous_FIN -964800787.648556 weird: spontaneous_FIN -964800787.648624 weird: spontaneous_FIN -964800787.648690 weird: spontaneous_FIN -964800787.648759 weird: spontaneous_FIN -964800787.648827 weird: spontaneous_FIN -964800787.648895 weird: spontaneous_FIN -964800787.648964 weird: spontaneous_FIN -964800787.649038 weird: spontaneous_FIN -964800787.649108 weird: spontaneous_FIN -964800787.726308 weird: spontaneous_FIN -964800787.726386 weird: spontaneous_FIN -964800787.726457 weird: spontaneous_FIN -964800787.726529 weird: spontaneous_FIN -964800787.726598 weird: spontaneous_FIN -964800787.726665 weird: spontaneous_FIN -964800787.726735 weird: spontaneous_FIN -964800787.726805 weird: spontaneous_FIN -964800787.726874 weird: spontaneous_FIN -964800787.726941 weird: spontaneous_FIN -964800787.727007 weird: spontaneous_FIN -964800787.816315 weird: spontaneous_FIN -964800787.816385 weird: spontaneous_FIN -964800787.816450 weird: spontaneous_FIN -964800787.816518 weird: spontaneous_FIN -964800787.816582 weird: spontaneous_FIN -964800787.816647 weird: spontaneous_FIN -964800787.816710 weird: spontaneous_FIN -964800787.816777 weird: spontaneous_FIN -964800787.816843 weird: spontaneous_FIN -964800787.816914 weird: spontaneous_FIN -964800787.816981 weird: spontaneous_FIN -964800787.896298 weird: spontaneous_FIN -964800787.896373 weird: spontaneous_FIN -964800787.896445 weird: spontaneous_FIN -964800787.896513 weird: spontaneous_FIN -964800787.896583 weird: spontaneous_FIN -964800787.896651 weird: spontaneous_FIN -964800787.896719 weird: spontaneous_FIN -964800787.896786 weird: spontaneous_FIN -964800787.896855 weird: spontaneous_FIN -964800787.896921 weird: spontaneous_FIN -964800787.896986 weird: spontaneous_FIN -964800787.978292 weird: spontaneous_FIN -964800787.978429 weird: spontaneous_FIN -964800787.978758 weird: spontaneous_FIN -964800787.979257 weird: spontaneous_FIN -964800787.979420 weird: spontaneous_FIN -964800787.979584 weird: spontaneous_FIN -964800787.979746 weird: spontaneous_FIN -964800787.979751 weird: spontaneous_FIN -964800787.979915 weird: spontaneous_FIN -964800787.980078 weird: spontaneous_FIN -964800787.980242 weird: spontaneous_FIN -964800788.066307 weird: spontaneous_FIN -964800788.066378 weird: spontaneous_FIN -964800788.066445 weird: spontaneous_FIN -964800788.066512 weird: spontaneous_FIN -964800788.066579 weird: spontaneous_FIN -964800788.066647 weird: spontaneous_FIN -964800788.066714 weird: spontaneous_FIN -964800788.066782 weird: spontaneous_FIN -964800788.066851 weird: spontaneous_FIN -964800788.066919 weird: spontaneous_FIN -964800788.066987 weird: spontaneous_FIN -964800788.146315 weird: spontaneous_FIN -964800788.146384 weird: spontaneous_FIN -964800788.146450 weird: spontaneous_FIN -964800788.146516 weird: spontaneous_FIN -964800788.146581 weird: spontaneous_FIN -964800788.146648 weird: spontaneous_FIN -964800788.146712 weird: spontaneous_FIN -964800788.146779 weird: spontaneous_FIN -964800788.146845 weird: spontaneous_FIN -964800788.146910 weird: spontaneous_FIN -964800788.146974 weird: spontaneous_FIN -964800788.226307 weird: spontaneous_FIN -964800788.226380 weird: spontaneous_FIN -964800788.226445 weird: spontaneous_FIN -964800788.226513 weird: spontaneous_FIN -964800788.226584 weird: spontaneous_FIN -964800788.226654 weird: spontaneous_FIN -964800788.226722 weird: spontaneous_FIN -964800788.226791 weird: spontaneous_FIN -964800788.226861 weird: spontaneous_FIN -964800788.226931 weird: spontaneous_FIN -964800788.226995 weird: spontaneous_FIN -964800788.308461 weird: spontaneous_FIN -964800788.308661 weird: spontaneous_FIN -964800788.308836 weird: spontaneous_FIN -964800788.308965 weird: spontaneous_FIN -964800788.309105 weird: spontaneous_FIN -964800788.309256 weird: spontaneous_FIN -964800788.309431 weird: spontaneous_FIN -964800788.309631 weird: spontaneous_FIN -964800788.309839 weird: spontaneous_FIN -964800788.309960 weird: spontaneous_FIN -964800788.310030 weird: spontaneous_FIN -964800788.386313 weird: spontaneous_FIN -964800788.386396 weird: spontaneous_FIN -964800788.386466 weird: spontaneous_FIN -964800788.386534 weird: spontaneous_FIN -964800788.386602 weird: spontaneous_FIN -964800788.386670 weird: spontaneous_FIN -964800788.386741 weird: spontaneous_FIN -964800788.386812 weird: spontaneous_FIN -964800788.386882 weird: spontaneous_FIN -964800788.386950 weird: spontaneous_FIN -964800788.387024 weird: spontaneous_FIN -964800788.476327 weird: spontaneous_FIN -964800788.476399 weird: spontaneous_FIN -964800788.476464 weird: spontaneous_FIN -964800788.476531 weird: spontaneous_FIN -964800788.476600 weird: spontaneous_FIN -964800788.476662 weird: spontaneous_FIN -964800788.476728 weird: spontaneous_FIN -964800788.476795 weird: spontaneous_FIN -964800788.476860 weird: spontaneous_FIN -964800788.476930 weird: spontaneous_FIN -964800788.476997 weird: spontaneous_FIN -964800788.556312 weird: spontaneous_FIN -964800788.556389 weird: spontaneous_FIN -964800788.556455 weird: spontaneous_FIN -964800788.556525 weird: spontaneous_FIN -964800788.556591 weird: spontaneous_FIN -964800788.556658 weird: spontaneous_FIN -964800788.556731 weird: spontaneous_FIN -964800788.556802 weird: spontaneous_FIN -964800788.556873 weird: spontaneous_FIN -964800788.556939 weird: spontaneous_FIN -964800788.557013 weird: spontaneous_FIN -964800788.638356 weird: spontaneous_FIN -964800788.638539 weird: spontaneous_FIN -964800788.638658 weird: spontaneous_FIN -964800788.638809 weird: spontaneous_FIN -964800788.638949 weird: spontaneous_FIN -964800788.639107 weird: spontaneous_FIN -964800788.639290 weird: spontaneous_FIN -964800788.639462 weird: spontaneous_FIN -964800788.639619 weird: spontaneous_FIN -964800788.639792 weird: spontaneous_FIN -964800788.639960 weird: spontaneous_FIN -964800788.726330 weird: spontaneous_FIN -964800788.726410 weird: spontaneous_FIN -964800788.726479 weird: spontaneous_FIN -964800788.726549 weird: spontaneous_FIN -964800788.726619 weird: spontaneous_FIN -964800788.726692 weird: spontaneous_FIN -964800788.726761 weird: spontaneous_FIN -964800788.726831 weird: spontaneous_FIN -964800788.726903 weird: spontaneous_FIN -964800788.726974 weird: spontaneous_FIN -964800788.727050 weird: spontaneous_FIN -964800788.806319 weird: spontaneous_FIN -964800788.806391 weird: spontaneous_FIN -964800788.806460 weird: spontaneous_FIN -964800788.806529 weird: spontaneous_FIN -964800788.806596 weird: spontaneous_FIN -964800788.806663 weird: spontaneous_FIN -964800788.806733 weird: spontaneous_FIN -964800788.806804 weird: spontaneous_FIN -964800788.806871 weird: spontaneous_FIN -964800788.806938 weird: spontaneous_FIN -964800788.807004 weird: spontaneous_FIN -964800788.886310 weird: spontaneous_FIN -964800788.886382 weird: spontaneous_FIN -964800788.886450 weird: spontaneous_FIN -964800788.886521 weird: spontaneous_FIN -964800788.886591 weird: spontaneous_FIN -964800788.886662 weird: spontaneous_FIN -964800788.886731 weird: spontaneous_FIN -964800788.886801 weird: spontaneous_FIN -964800788.886874 weird: spontaneous_FIN -964800788.886942 weird: spontaneous_FIN -964800788.887014 weird: spontaneous_FIN -964800788.966320 weird: spontaneous_FIN -964800788.966389 weird: spontaneous_FIN -964800788.966455 weird: spontaneous_FIN -964800788.966522 weird: spontaneous_FIN -964800788.966588 weird: spontaneous_FIN -964800788.966656 weird: spontaneous_FIN -964800788.966721 weird: spontaneous_FIN -964800788.966792 weird: spontaneous_FIN -964800788.966861 weird: spontaneous_FIN -964800788.966930 weird: spontaneous_FIN -964800788.966994 weird: spontaneous_FIN -964800789.056320 weird: spontaneous_FIN -964800789.056397 weird: spontaneous_FIN -964800789.056468 weird: spontaneous_FIN -964800789.056536 weird: spontaneous_FIN -964800789.056611 weird: spontaneous_FIN -964800789.056685 weird: spontaneous_FIN -964800789.056754 weird: spontaneous_FIN -964800789.056825 weird: spontaneous_FIN -964800789.056897 weird: spontaneous_FIN -964800789.056968 weird: spontaneous_FIN -964800789.057042 weird: spontaneous_FIN -964800789.146324 weird: spontaneous_FIN -964800789.146396 weird: spontaneous_FIN -964800789.146464 weird: spontaneous_FIN -964800789.146529 weird: spontaneous_FIN -964800789.146595 weird: spontaneous_FIN -964800789.146661 weird: spontaneous_FIN -964800789.146726 weird: spontaneous_FIN -964800789.146794 weird: spontaneous_FIN -964800789.146860 weird: spontaneous_FIN -964800789.146922 weird: spontaneous_FIN -964800789.146992 weird: spontaneous_FIN -964800789.226309 weird: spontaneous_FIN -964800789.226382 weird: spontaneous_FIN -964800789.226457 weird: spontaneous_FIN -964800789.226522 weird: spontaneous_FIN -964800789.226590 weird: spontaneous_FIN -964800789.226658 weird: spontaneous_FIN -964800789.226726 weird: spontaneous_FIN -964800789.226806 weird: spontaneous_FIN -964800789.226863 weird: spontaneous_FIN -964800789.226932 weird: spontaneous_FIN -964800789.227000 weird: spontaneous_FIN -964800789.306322 weird: spontaneous_FIN -964800789.306394 weird: spontaneous_FIN -964800789.306459 weird: spontaneous_FIN -964800789.306523 weird: spontaneous_FIN -964800789.306588 weird: spontaneous_FIN -964800789.306654 weird: spontaneous_FIN -964800789.306719 weird: spontaneous_FIN -964800789.306790 weird: spontaneous_FIN -964800789.306856 weird: spontaneous_FIN -964800789.306920 weird: spontaneous_FIN -964800789.306988 weird: spontaneous_FIN -964800789.386312 weird: spontaneous_FIN -964800789.386386 weird: spontaneous_FIN -964800789.386454 weird: spontaneous_FIN -964800789.386520 weird: spontaneous_FIN -964800789.386593 weird: spontaneous_FIN -964800789.386661 weird: spontaneous_FIN -964800789.386728 weird: spontaneous_FIN -964800789.386798 weird: spontaneous_FIN -964800789.386868 weird: spontaneous_FIN -964800789.386939 weird: spontaneous_FIN -964800789.387010 weird: spontaneous_FIN -964800789.476329 weird: spontaneous_FIN -964800789.476403 weird: spontaneous_FIN -964800789.476471 weird: spontaneous_FIN -964800789.476537 weird: spontaneous_FIN -964800789.476604 weird: spontaneous_FIN -964800789.476676 weird: spontaneous_FIN -964800789.476743 weird: spontaneous_FIN -964800789.476812 weird: spontaneous_FIN -964800789.476878 weird: spontaneous_FIN -964800789.476945 weird: spontaneous_FIN -964800789.477015 weird: spontaneous_FIN -964800789.556324 weird: spontaneous_FIN -964800789.556396 weird: spontaneous_FIN -964800789.556465 weird: spontaneous_FIN -964800789.556533 weird: spontaneous_FIN -964800789.556603 weird: spontaneous_FIN -964800789.556675 weird: spontaneous_FIN -964800789.556744 weird: spontaneous_FIN -964800789.556814 weird: spontaneous_FIN -964800789.556884 weird: spontaneous_FIN -964800789.556953 weird: spontaneous_FIN -964800789.557025 weird: spontaneous_FIN -964800789.646334 weird: spontaneous_FIN -964800789.646412 weird: spontaneous_FIN -964800789.646482 weird: spontaneous_FIN -964800789.646547 weird: spontaneous_FIN -964800789.646614 weird: spontaneous_FIN -964800789.646682 weird: spontaneous_FIN -964800789.646748 weird: spontaneous_FIN -964800789.646818 weird: spontaneous_FIN -964800789.646886 weird: spontaneous_FIN -964800789.646953 weird: spontaneous_FIN -964800789.647019 weird: spontaneous_FIN -964800789.726323 weird: spontaneous_FIN -964800789.726400 weird: spontaneous_FIN -964800789.726471 weird: spontaneous_FIN -964800789.726633 weird: spontaneous_FIN -964800789.726651 weird: spontaneous_FIN -964800789.726668 weird: spontaneous_FIN -964800789.726735 weird: spontaneous_FIN -964800789.726803 weird: spontaneous_FIN -964800789.726875 weird: spontaneous_FIN -964800789.726940 weird: spontaneous_FIN -964800789.727011 weird: spontaneous_FIN -964800789.816331 weird: spontaneous_FIN -964800789.816404 weird: spontaneous_FIN -964800789.816468 weird: spontaneous_FIN -964800789.816534 weird: spontaneous_FIN -964800789.816600 weird: spontaneous_FIN -964800789.816669 weird: spontaneous_FIN -964800789.816736 weird: spontaneous_FIN -964800789.816805 weird: spontaneous_FIN -964800789.816869 weird: spontaneous_FIN -964800789.816938 weird: spontaneous_FIN -964800789.817003 weird: spontaneous_FIN -964800789.896341 weird: spontaneous_FIN -964800789.896422 weird: spontaneous_FIN -964800789.896542 weird: spontaneous_FIN -964800789.896558 weird: spontaneous_FIN -964800789.896629 weird: spontaneous_FIN -964800789.896699 weird: spontaneous_FIN -964800789.896770 weird: spontaneous_FIN -964800789.896837 weird: spontaneous_FIN -964800789.896911 weird: spontaneous_FIN -964800789.896983 weird: spontaneous_FIN -964800789.897057 weird: spontaneous_FIN -964800789.976325 weird: spontaneous_FIN -964800789.976397 weird: spontaneous_FIN -964800789.976461 weird: spontaneous_FIN -964800789.976526 weird: spontaneous_FIN -964800789.976591 weird: spontaneous_FIN -964800789.976658 weird: spontaneous_FIN -964800789.976722 weird: spontaneous_FIN -964800789.976787 weird: spontaneous_FIN -964800789.976852 weird: spontaneous_FIN -964800789.976922 weird: spontaneous_FIN -964800789.976986 weird: spontaneous_FIN -964800790.056323 weird: spontaneous_FIN -964800790.056395 weird: spontaneous_FIN -964800790.056466 weird: spontaneous_FIN -964800790.056532 weird: spontaneous_FIN -964800790.056602 weird: spontaneous_FIN -964800790.056673 weird: spontaneous_FIN -964800790.056742 weird: spontaneous_FIN -964800790.056810 weird: spontaneous_FIN -964800790.056880 weird: spontaneous_FIN -964800790.056952 weird: spontaneous_FIN -964800790.057024 weird: spontaneous_FIN -964800790.136324 weird: spontaneous_FIN -964800790.136396 weird: spontaneous_FIN -964800790.136458 weird: spontaneous_FIN -964800790.136525 weird: spontaneous_FIN -964800790.136594 weird: spontaneous_FIN -964800790.136658 weird: spontaneous_FIN -964800790.136722 weird: spontaneous_FIN -964800790.136792 weird: spontaneous_FIN -964800790.136857 weird: spontaneous_FIN -964800790.136919 weird: spontaneous_FIN -964800790.136989 weird: spontaneous_FIN -964800790.216318 weird: spontaneous_FIN -964800790.216388 weird: spontaneous_FIN -964800790.216456 weird: spontaneous_FIN -964800790.216522 weird: spontaneous_FIN -964800790.216593 weird: spontaneous_FIN -964800790.216661 weird: spontaneous_FIN -964800790.216730 weird: spontaneous_FIN -964800790.216798 weird: spontaneous_FIN -964800790.216869 weird: spontaneous_FIN -964800790.216939 weird: spontaneous_FIN -964800790.217010 weird: spontaneous_FIN -964800790.296327 weird: spontaneous_FIN -964800790.296399 weird: spontaneous_FIN -964800790.296465 weird: spontaneous_FIN -964800790.296530 weird: spontaneous_FIN -964800790.296596 weird: spontaneous_FIN -964800790.296663 weird: spontaneous_FIN -964800790.296727 weird: spontaneous_FIN -964800790.296794 weird: spontaneous_FIN -964800790.296860 weird: spontaneous_FIN -964800790.296924 weird: spontaneous_FIN -964800790.296992 weird: spontaneous_FIN -964800790.376327 weird: spontaneous_FIN -964800790.376399 weird: spontaneous_FIN -964800790.376467 weird: spontaneous_FIN -964800790.376539 weird: spontaneous_FIN -964800790.376610 weird: spontaneous_FIN -964800790.376679 weird: spontaneous_FIN -964800790.376753 weird: spontaneous_FIN -964800790.376820 weird: spontaneous_FIN -964800790.376889 weird: spontaneous_FIN -964800790.376959 weird: spontaneous_FIN -964800790.377031 weird: spontaneous_FIN -964800790.456329 weird: spontaneous_FIN -964800790.456406 weird: spontaneous_FIN -964800790.456474 weird: spontaneous_FIN -964800790.456541 weird: spontaneous_FIN -964800790.456610 weird: spontaneous_FIN -964800790.456681 weird: spontaneous_FIN -964800790.456752 weird: spontaneous_FIN -964800790.456818 weird: spontaneous_FIN -964800790.456882 weird: spontaneous_FIN -964800790.456947 weird: spontaneous_FIN -964800790.457012 weird: spontaneous_FIN -964800790.536316 weird: spontaneous_FIN -964800790.536391 weird: spontaneous_FIN -964800790.536460 weird: spontaneous_FIN -964800790.536531 weird: spontaneous_FIN -964800790.536609 weird: spontaneous_FIN -964800790.536686 weird: spontaneous_FIN -964800790.536759 weird: spontaneous_FIN -964800790.536830 weird: spontaneous_FIN -964800790.536903 weird: spontaneous_FIN -964800790.536973 weird: spontaneous_FIN -964800790.537042 weird: spontaneous_FIN -964800790.626340 weird: spontaneous_FIN -964800790.626415 weird: spontaneous_FIN -964800790.626484 weird: spontaneous_FIN -964800790.626548 weird: spontaneous_FIN -964800790.626615 weird: spontaneous_FIN -964800790.626682 weird: spontaneous_FIN -964800790.626747 weird: spontaneous_FIN -964800790.626812 weird: spontaneous_FIN -964800790.626881 weird: spontaneous_FIN -964800790.626949 weird: spontaneous_FIN -964800790.627013 weird: spontaneous_FIN -964800790.706323 weird: spontaneous_FIN -964800790.706400 weird: spontaneous_FIN -964800790.706467 weird: spontaneous_FIN -964800790.706534 weird: spontaneous_FIN -964800790.706604 weird: spontaneous_FIN -964800790.706674 weird: spontaneous_FIN -964800790.706745 weird: spontaneous_FIN -964800790.706815 weird: spontaneous_FIN -964800790.706883 weird: spontaneous_FIN -964800790.706954 weird: spontaneous_FIN -964800790.707026 weird: spontaneous_FIN -964800790.786328 weird: spontaneous_FIN -964800790.786402 weird: spontaneous_FIN -964800790.786467 weird: spontaneous_FIN -964800790.786533 weird: spontaneous_FIN -964800790.786597 weird: spontaneous_FIN -964800790.786663 weird: spontaneous_FIN -964800790.786727 weird: spontaneous_FIN -964800790.786794 weird: spontaneous_FIN -964800790.786861 weird: spontaneous_FIN -964800790.786927 weird: spontaneous_FIN -964800790.786991 weird: spontaneous_FIN -964800790.866322 weird: spontaneous_FIN -964800790.866394 weird: spontaneous_FIN -964800790.866460 weird: spontaneous_FIN -964800790.866529 weird: spontaneous_FIN -964800790.866599 weird: spontaneous_FIN -964800790.866667 weird: spontaneous_FIN -964800790.866734 weird: spontaneous_FIN -964800790.866802 weird: spontaneous_FIN -964800790.866870 weird: spontaneous_FIN -964800790.866941 weird: spontaneous_FIN -964800790.867009 weird: spontaneous_FIN -964800790.946325 weird: spontaneous_FIN -964800790.946400 weird: spontaneous_FIN -964800790.946469 weird: spontaneous_FIN -964800790.946532 weird: spontaneous_FIN -964800790.946597 weird: spontaneous_FIN -964800790.946663 weird: spontaneous_FIN -964800790.946728 weird: spontaneous_FIN -964800790.946794 weird: spontaneous_FIN -964800790.946860 weird: spontaneous_FIN -964800790.946926 weird: spontaneous_FIN -964800790.946989 weird: spontaneous_FIN -964800791.026320 weird: spontaneous_FIN -964800791.026394 weird: spontaneous_FIN -964800791.026462 weird: spontaneous_FIN -964800791.026531 weird: spontaneous_FIN -964800791.026600 weird: spontaneous_FIN -964800791.026669 weird: spontaneous_FIN -964800791.026738 weird: spontaneous_FIN -964800791.026809 weird: spontaneous_FIN -964800791.026877 weird: spontaneous_FIN -964800791.026948 weird: spontaneous_FIN -964800791.027015 weird: spontaneous_FIN -964800791.106328 weird: spontaneous_FIN -964800791.106401 weird: spontaneous_FIN -964800791.106468 weird: spontaneous_FIN -964800791.106534 weird: spontaneous_FIN -964800791.106597 weird: spontaneous_FIN -964800791.106661 weird: spontaneous_FIN -964800791.106727 weird: spontaneous_FIN -964800791.106791 weird: spontaneous_FIN -964800791.106860 weird: spontaneous_FIN -964800791.106924 weird: spontaneous_FIN -964800791.106990 weird: spontaneous_FIN -964800791.186323 weird: spontaneous_FIN -964800791.186396 weird: spontaneous_FIN -964800791.186463 weird: spontaneous_FIN -964800791.186531 weird: spontaneous_FIN -964800791.186600 weird: spontaneous_FIN -964800791.186670 weird: spontaneous_FIN -964800791.186737 weird: spontaneous_FIN -964800791.186805 weird: spontaneous_FIN -964800791.186875 weird: spontaneous_FIN -964800791.186946 weird: spontaneous_FIN -964800791.187012 weird: spontaneous_FIN -964800791.266330 weird: spontaneous_FIN -964800791.266404 weird: spontaneous_FIN -964800791.266470 weird: spontaneous_FIN -964800791.266536 weird: spontaneous_FIN -964800791.266601 weird: spontaneous_FIN -964800791.266667 weird: spontaneous_FIN -964800791.266732 weird: spontaneous_FIN -964800791.266796 weird: spontaneous_FIN -964800791.266863 weird: spontaneous_FIN -964800791.266929 weird: spontaneous_FIN -964800791.266992 weird: spontaneous_FIN -964800791.346321 weird: spontaneous_FIN -964800791.346394 weird: spontaneous_FIN -964800791.346466 weird: spontaneous_FIN -964800791.346534 weird: spontaneous_FIN -964800791.346603 weird: spontaneous_FIN -964800791.346672 weird: spontaneous_FIN -964800791.346740 weird: spontaneous_FIN -964800791.346808 weird: spontaneous_FIN -964800791.346878 weird: spontaneous_FIN -964800791.346950 weird: spontaneous_FIN -964800791.347019 weird: spontaneous_FIN -964800791.426330 weird: spontaneous_FIN -964800791.426403 weird: spontaneous_FIN -964800791.426468 weird: spontaneous_FIN -964800791.426531 weird: spontaneous_FIN -964800791.426596 weird: spontaneous_FIN -964800791.426664 weird: spontaneous_FIN -964800791.426730 weird: spontaneous_FIN -964800791.426795 weird: spontaneous_FIN -964800791.426863 weird: spontaneous_FIN -964800791.426928 weird: spontaneous_FIN -964800791.426991 weird: spontaneous_FIN -964800791.516330 weird: spontaneous_FIN -964800791.516402 weird: spontaneous_FIN -964800791.516469 weird: spontaneous_FIN -964800791.516539 weird: spontaneous_FIN -964800791.516611 weird: spontaneous_FIN -964800791.516679 weird: spontaneous_FIN -964800791.516748 weird: spontaneous_FIN -964800791.516817 weird: spontaneous_FIN -964800791.516888 weird: spontaneous_FIN -964800791.516959 weird: spontaneous_FIN -964800791.517029 weird: spontaneous_FIN -964800791.596331 weird: spontaneous_FIN -964800791.596407 weird: spontaneous_FIN -964800791.596474 weird: spontaneous_FIN -964800791.596537 weird: spontaneous_FIN -964800791.596601 weird: spontaneous_FIN -964800791.596667 weird: spontaneous_FIN -964800791.596732 weird: spontaneous_FIN -964800791.596797 weird: spontaneous_FIN -964800791.596867 weird: spontaneous_FIN -964800791.596932 weird: spontaneous_FIN -964800791.596995 weird: spontaneous_FIN -964800791.676324 weird: spontaneous_FIN -964800791.676397 weird: spontaneous_FIN -964800791.676463 weird: spontaneous_FIN -964800791.676531 weird: spontaneous_FIN -964800791.676600 weird: spontaneous_FIN -964800791.676670 weird: spontaneous_FIN -964800791.676739 weird: spontaneous_FIN -964800791.676807 weird: spontaneous_FIN -964800791.676877 weird: spontaneous_FIN -964800791.676947 weird: spontaneous_FIN -964800791.677014 weird: spontaneous_FIN -964800791.756333 weird: spontaneous_FIN -964800791.756411 weird: spontaneous_FIN -964800791.756477 weird: spontaneous_FIN -964800791.756547 weird: spontaneous_FIN -964800791.756611 weird: spontaneous_FIN -964800791.756678 weird: spontaneous_FIN -964800791.756743 weird: spontaneous_FIN -964800791.756808 weird: spontaneous_FIN -964800791.756873 weird: spontaneous_FIN -964800791.756936 weird: spontaneous_FIN -964800791.757001 weird: spontaneous_FIN -964800791.836330 weird: spontaneous_FIN -964800791.836402 weird: spontaneous_FIN -964800791.836471 weird: spontaneous_FIN -964800791.836542 weird: spontaneous_FIN -964800791.836610 weird: spontaneous_FIN -964800791.836678 weird: spontaneous_FIN -964800791.836751 weird: spontaneous_FIN -964800791.836820 weird: spontaneous_FIN -964800791.836890 weird: spontaneous_FIN -964800791.836961 weird: spontaneous_FIN -964800791.837032 weird: spontaneous_FIN -964800791.916338 weird: spontaneous_FIN -964800791.916413 weird: spontaneous_FIN -964800791.916480 weird: spontaneous_FIN -964800791.916546 weird: spontaneous_FIN -964800791.916614 weird: spontaneous_FIN -964800791.916682 weird: spontaneous_FIN -964800791.916750 weird: spontaneous_FIN -964800791.916815 weird: spontaneous_FIN -964800791.916885 weird: spontaneous_FIN -964800791.916950 weird: spontaneous_FIN -964800791.917015 weird: spontaneous_FIN -964800791.996333 weird: spontaneous_FIN -964800791.996408 weird: spontaneous_FIN -964800791.996476 weird: spontaneous_FIN -964800791.996548 weird: spontaneous_FIN -964800791.996619 weird: spontaneous_FIN -964800791.996692 weird: spontaneous_FIN -964800791.996765 weird: spontaneous_FIN -964800791.996837 weird: spontaneous_FIN -964800791.996906 weird: spontaneous_FIN -964800791.996976 weird: spontaneous_FIN -964800791.997045 weird: spontaneous_FIN -964800792.076337 weird: spontaneous_FIN -964800792.076412 weird: spontaneous_FIN -964800792.076479 weird: spontaneous_FIN -964800792.076544 weird: spontaneous_FIN -964800792.076613 weird: spontaneous_FIN -964800792.076683 weird: spontaneous_FIN -964800792.076751 weird: spontaneous_FIN -964800792.076817 weird: spontaneous_FIN -964800792.076883 weird: spontaneous_FIN -964800792.076948 weird: spontaneous_FIN -964800792.077015 weird: spontaneous_FIN -964800792.156328 weird: spontaneous_FIN -964800792.156402 weird: spontaneous_FIN -964800792.156471 weird: spontaneous_FIN -964800792.156541 weird: spontaneous_FIN -964800792.156613 weird: spontaneous_FIN -964800792.156681 weird: spontaneous_FIN -964800792.156749 weird: spontaneous_FIN -964800792.156816 weird: spontaneous_FIN -964800792.156888 weird: spontaneous_FIN -964800792.156960 weird: spontaneous_FIN -964800792.157028 weird: spontaneous_FIN -964800792.246337 weird: spontaneous_FIN -964800792.246414 weird: spontaneous_FIN -964800792.246482 weird: spontaneous_FIN -964800792.246546 weird: spontaneous_FIN -964800792.246612 weird: spontaneous_FIN -964800792.246679 weird: spontaneous_FIN -964800792.246747 weird: spontaneous_FIN -964800792.246810 weird: spontaneous_FIN -964800792.246877 weird: spontaneous_FIN -964800792.246943 weird: spontaneous_FIN -964800792.247006 weird: spontaneous_FIN -964800792.326375 weird: spontaneous_FIN -964800792.326450 weird: spontaneous_FIN -964800792.326520 weird: spontaneous_FIN -964800792.326590 weird: spontaneous_FIN -964800792.326662 weird: spontaneous_FIN -964800792.326730 weird: spontaneous_FIN -964800792.326799 weird: spontaneous_FIN -964800792.326873 weird: spontaneous_FIN -964800792.326941 weird: spontaneous_FIN -964800792.327014 weird: spontaneous_FIN -964800792.327084 weird: spontaneous_FIN -964800792.406339 weird: spontaneous_FIN -964800792.406413 weird: spontaneous_FIN -964800792.406479 weird: spontaneous_FIN -964800792.406545 weird: spontaneous_FIN -964800792.406611 weird: spontaneous_FIN -964800792.406678 weird: spontaneous_FIN -964800792.406746 weird: spontaneous_FIN -964800792.406808 weird: spontaneous_FIN -964800792.406876 weird: spontaneous_FIN -964800792.406943 weird: spontaneous_FIN -964800792.407009 weird: spontaneous_FIN -964800792.496337 weird: spontaneous_FIN -964800792.496412 weird: spontaneous_FIN -964800792.496479 weird: spontaneous_FIN -964800792.496547 weird: spontaneous_FIN -964800792.496620 weird: spontaneous_FIN -964800792.496691 weird: spontaneous_FIN -964800792.496761 weird: spontaneous_FIN -964800792.496831 weird: spontaneous_FIN -964800792.496902 weird: spontaneous_FIN -964800792.496974 weird: spontaneous_FIN -964800792.497047 weird: spontaneous_FIN -964800792.576341 weird: spontaneous_FIN -964800792.576416 weird: spontaneous_FIN -964800792.576482 weird: spontaneous_FIN -964800792.576547 weird: spontaneous_FIN -964800792.576613 weird: spontaneous_FIN -964800792.576679 weird: spontaneous_FIN -964800792.576744 weird: spontaneous_FIN -964800792.576807 weird: spontaneous_FIN -964800792.576878 weird: spontaneous_FIN -964800792.576945 weird: spontaneous_FIN -964800792.577010 weird: spontaneous_FIN -964800792.656330 weird: spontaneous_FIN -964800792.656406 weird: spontaneous_FIN -964800792.656474 weird: spontaneous_FIN -964800792.656543 weird: spontaneous_FIN -964800792.656611 weird: spontaneous_FIN -964800792.656682 weird: spontaneous_FIN -964800792.656754 weird: spontaneous_FIN -964800792.656822 weird: spontaneous_FIN -964800792.656895 weird: spontaneous_FIN -964800792.656968 weird: spontaneous_FIN -964800792.657035 weird: spontaneous_FIN -964800792.746383 weird: spontaneous_FIN -964800792.746464 weird: spontaneous_FIN -964800792.746538 weird: spontaneous_FIN -964800792.746606 weird: spontaneous_FIN -964800792.746693 weird: spontaneous_FIN -964800792.746746 weird: spontaneous_FIN -964800792.746812 weird: spontaneous_FIN -964800792.746880 weird: spontaneous_FIN -964800792.746950 weird: spontaneous_FIN -964800792.826339 weird: spontaneous_FIN -964800792.826417 weird: spontaneous_FIN -964800792.826488 weird: spontaneous_FIN -964800792.826556 weird: spontaneous_FIN -964800792.826623 weird: spontaneous_FIN -964800792.826696 weird: spontaneous_FIN -964800792.826766 weird: spontaneous_FIN -964800792.826838 weird: spontaneous_FIN -964800792.826909 weird: spontaneous_FIN -964800795.557659 weird: spontaneous_FIN -964800801.957557 weird: spontaneous_FIN diff --git a/testing/btest/Baseline/policy.known-services-test/.stdout b/testing/btest/Baseline/policy.known-services-test/.stdout deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/testing/btest/Baseline/policy.known-services-test/KNOWN_SERVICES b/testing/btest/Baseline/policy.known-services-test/KNOWN_SERVICES deleted file mode 100644 index 3d4b08e453..0000000000 --- a/testing/btest/Baseline/policy.known-services-test/KNOWN_SERVICES +++ /dev/null @@ -1,229 +0,0 @@ -ts host port_num service -964800423.225612 10.20.1.11 80/tcp { - -} -964800428.605284 10.20.11.81 3820/tcp { - -} -964800432.833579 10.20.11.81 3821/tcp { - -} -964800432.220536 10.20.1.8 21/tcp { - -} -964800435.180757 10.20.1.8 80/tcp { - -} -964800436.657053 10.20.11.81 3822/tcp { - -} -964800445.136946 10.20.11.81 3823/tcp { - -} -964800447.050657 10.20.11.81 3824/tcp { - -} -964800449.128463 10.20.11.81 3825/tcp { - -} -964800460.548618 10.20.1.11 220/tcp { - -} -964800470.053399 10.20.1.128 32777/tcp { - -} -964800470.255065 10.20.1.128 32778/tcp { - -} -964800470.326786 10.20.1.128 111/tcp { - -} -964800472.135373 10.20.1.128 7/tcp { - -} -964800470.551502 10.20.1.128 7100/tcp { - -} -964800470.557677 10.20.1.128 32771/tcp { - -} -964800470.595967 10.20.1.128 32775/tcp { - -} -964800470.695017 10.20.1.128 32779/tcp { - -} -964800470.736744 10.20.1.128 32776/tcp { - -} -964800470.741478 10.20.1.128 32773/tcp { - -} -964800470.735628 10.20.1.128 2049/tcp { - -} -964800470.691559 10.20.1.128 6112/tcp { - -} -964800470.080672 10.20.1.128 515/tcp { - -} -964800470.166217 10.20.1.128 32772/tcp { - -} -964800470.023879 10.20.1.128 9/tcp { - -} -964800470.248286 10.20.1.128 79/tcp { - -} -964800470.173476 10.20.1.128 513/tcp { - -} -964800470.288767 10.20.1.128 514/tcp { - -} -964800470.688531 10.20.1.128 512/tcp { - -} -964800470.211035 10.20.1.128 22/tcp { - -} -964800470.49665 10.20.1.128 23/tcp { - -} -964800470.066351 10.20.1.128 37/tcp { - -} -964800470.599661 10.20.1.128 19/tcp { - -} -964800470.552646 10.20.1.128 13/tcp { - -} -964800470.557883 10.20.1.128 25/tcp { - -} -964800470.784425 10.20.1.128 540/tcp { - -} -964800470.292463 10.20.1.128 21/tcp { - -} -964800491.909762 10.20.1.133 139/tcp { - -} -964800495.488396 10.20.1.32 6000/tcp { - -} -964800499.931019 10.20.1.32 22/tcp { - -} -964800501.040343 10.20.1.9 80/tcp { - -} -964800467.45263 10.20.1.9 110/tcp { - -} -964800551.47489 10.20.11.101 79/tcp { - -} -964800551.731327 10.20.11.101 22/tcp { - -} -964800560.092991 10.20.1.9 22/tcp { - -} -964800573.291815 10.20.1.1 22/tcp { - -} -964800542.603637 10.20.1.133 21/tcp { - -} -964800582.574996 10.20.1.35 25/tcp { - -} -964800587.426354 10.20.1.35 21/tcp { - -} -964800586.110222 10.20.1.35 23/tcp { - -} -964800586.655377 10.20.1.35 22/tcp { - -} -964800592.165919 10.20.1.21 21/tcp { - -} -964800598.792462 10.20.1.9 25/tcp { - -} -964800615.91033 10.20.1.11 21/tcp { - -} -964800632.516211 10.20.1.10 25/tcp { - -} -964800633.234812 10.20.1.10 80/tcp { - -} -964800634.193335 10.20.1.10 21/tcp { - -} -964800636.102468 10.20.1.11 443/tcp { - -} -964800635.003732 10.20.1.129 79/tcp { - -} -964800668.873252 10.20.1.21 110/tcp { - -} -964800669.007448 10.20.1.21 111/tcp { - -} -964800669.665929 10.20.1.21 80/tcp { - -} -964800669.670186 10.20.1.21 690/tcp { - -} -964800669.693491 10.20.1.21 2049/tcp { - -} -964800670.234186 10.20.1.21 515/tcp { - -} -964800670.493675 10.20.1.21 113/tcp { - -} -964800670.492704 10.20.1.21 22/tcp { - -} -964800676.474475 10.20.1.22 21/tcp { - -} -964800673.799597 10.20.1.21 79/tcp { - -} -964800675.483229 10.20.1.22 22/tcp { - -} -964800670.525453 10.20.1.21 514/tcp { - -} -964800703.201113 10.20.1.12 79/tcp { - -} -964800633.538485 10.20.11.102 113/tcp { - -} -964800470.375479 10.20.1.128 6000/tcp { - -} -964800709.128585 10.20.11.102 110/tcp { - -} -1184887724.39694 10.20.1.11 2222/tcp { - -} diff --git a/testing/btest/Baseline/policy.protocols.conn.known-hosts/knownhosts-all.log b/testing/btest/Baseline/policy.protocols.conn.known-hosts/knownhosts-all.log new file mode 100644 index 0000000000..8eae4b3163 --- /dev/null +++ b/testing/btest/Baseline/policy.protocols.conn.known-hosts/knownhosts-all.log @@ -0,0 +1,5 @@ +# ts host +1300475168.78384 141.142.220.118 +1300475168.78384 208.80.152.118 +1300475168.91594 208.80.152.3 +1300475168.96263 208.80.152.2 diff --git a/testing/btest/Baseline/policy.protocols.conn.known-hosts/knownhosts-local.log b/testing/btest/Baseline/policy.protocols.conn.known-hosts/knownhosts-local.log new file mode 100644 index 0000000000..91e952dc96 --- /dev/null +++ b/testing/btest/Baseline/policy.protocols.conn.known-hosts/knownhosts-local.log @@ -0,0 +1,2 @@ +# ts host +1300475168.78384 141.142.220.118 diff --git a/testing/btest/Baseline/policy.protocols.conn.known-hosts/knownhosts-remote.log b/testing/btest/Baseline/policy.protocols.conn.known-hosts/knownhosts-remote.log new file mode 100644 index 0000000000..7224058b56 --- /dev/null +++ b/testing/btest/Baseline/policy.protocols.conn.known-hosts/knownhosts-remote.log @@ -0,0 +1,4 @@ +# ts host +1300475168.78384 208.80.152.118 +1300475168.91594 208.80.152.3 +1300475168.96263 208.80.152.2 diff --git a/testing/btest/Baseline/policy.protocols.conn.known-services/knownservices-all.log b/testing/btest/Baseline/policy.protocols.conn.known-services/knownservices-all.log new file mode 100644 index 0000000000..9e427cbffe --- /dev/null +++ b/testing/btest/Baseline/policy.protocols.conn.known-services/knownservices-all.log @@ -0,0 +1,6 @@ +# ts host port_num port_proto service +1308930691.03504 172.16.238.131 22 tcp SSH +1308930694.54896 172.16.238.131 80 tcp HTTP +1308930716.45795 74.125.225.81 80 tcp HTTP +1308930703.06815 172.16.238.131 21 tcp FTP +1308930726.86415 141.142.192.39 22 tcp SSH diff --git a/testing/btest/Baseline/policy.protocols.conn.known-services/knownservices-local.log b/testing/btest/Baseline/policy.protocols.conn.known-services/knownservices-local.log new file mode 100644 index 0000000000..9ff7eb3198 --- /dev/null +++ b/testing/btest/Baseline/policy.protocols.conn.known-services/knownservices-local.log @@ -0,0 +1,4 @@ +# ts host port_num port_proto service +1308930691.03504 172.16.238.131 22 tcp SSH +1308930694.54896 172.16.238.131 80 tcp HTTP +1308930703.06815 172.16.238.131 21 tcp FTP diff --git a/testing/btest/Baseline/policy.protocols.conn.known-services/knownservices-remote.log b/testing/btest/Baseline/policy.protocols.conn.known-services/knownservices-remote.log new file mode 100644 index 0000000000..1adb50ed94 --- /dev/null +++ b/testing/btest/Baseline/policy.protocols.conn.known-services/knownservices-remote.log @@ -0,0 +1,3 @@ +# ts host port_num port_proto service +1308930716.45795 74.125.225.81 80 tcp HTTP +1308930726.86415 141.142.192.39 22 tcp SSH diff --git a/testing/btest/Baseline/policy.protocols.http.http-pipelining-and-md5/http.log b/testing/btest/Baseline/policy.protocols.http.http-pipelining-and-md5/http.log new file mode 100644 index 0000000000..ee8bbe1da9 --- /dev/null +++ b/testing/btest/Baseline/policy.protocols.http.http-pipelining-and-md5/http.log @@ -0,0 +1,6 @@ +# ts uid id.orig_h id.orig_p id.resp_h id.resp_p method host uri referrer user_agent request_content_length response_content_length status_code status_msg filename tags username password proxied mime_type md5 extraction_file headers +1258577884.84496 UWkUyAuUGXf 192.168.1.104 1673 63.245.209.11 80 GET www.mozilla.org /style/enhanced.css http://www.mozilla.org/projects/calendar/ Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 - 946 200 OK - - - - - text/x-c - - HOST,USER-AGENT,ACCEPT,ACCEPT-LANGUAGE,ACCEPT-ENCODING,ACCEPT-CHARSET,KEEP-ALIVE,CONNECTION,REFERER +1258577884.96013 UWkUyAuUGXf 192.168.1.104 1673 63.245.209.11 80 GET www.mozilla.org /script/urchin.js http://www.mozilla.org/projects/calendar/ Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 - 6716 200 OK - - - - - text/x-c++ - - HOST,USER-AGENT,ACCEPT,ACCEPT-LANGUAGE,ACCEPT-ENCODING,ACCEPT-CHARSET,KEEP-ALIVE,CONNECTION,REFERER +1258577885.31716 UWkUyAuUGXf 192.168.1.104 1673 63.245.209.11 80 GET www.mozilla.org /images/template/screen/bullet_utility.png http://www.mozilla.org/style/screen.css Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 - 94 200 OK - - - - - image/gif - - HOST,USER-AGENT,ACCEPT,ACCEPT-LANGUAGE,ACCEPT-ENCODING,ACCEPT-CHARSET,KEEP-ALIVE,CONNECTION,REFERER,COOKIE +1258577885.34964 UWkUyAuUGXf 192.168.1.104 1673 63.245.209.11 80 GET www.mozilla.org /images/template/screen/key-point-top.png http://www.mozilla.org/style/screen.css Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 - 2349 200 OK - - - - - image/png e0029eea80812e9a8e57b8d05d52938a - HOST,USER-AGENT,ACCEPT,ACCEPT-LANGUAGE,ACCEPT-ENCODING,ACCEPT-CHARSET,KEEP-ALIVE,CONNECTION,REFERER,COOKIE +1258577885.39461 UWkUyAuUGXf 192.168.1.104 1673 63.245.209.11 80 GET www.mozilla.org /projects/calendar/images/header-sunbird.png http://www.mozilla.org/projects/calendar/calendar.css Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 - 27579 200 OK - - - - - image/png 30aa926344f58019d047e85ba049ca1e - HOST,USER-AGENT,ACCEPT,ACCEPT-LANGUAGE,ACCEPT-ENCODING,ACCEPT-CHARSET,KEEP-ALIVE,CONNECTION,REFERER,COOKIE diff --git a/testing/btest/README b/testing/btest/README new file mode 100644 index 0000000000..82b6463ad9 --- /dev/null +++ b/testing/btest/README @@ -0,0 +1,97 @@ +BTest is simple framework for writing unit tests. Each test consists of a set +of command lines that will be executed, and success is determined based on +their exit codes. In addition, output can optionally be compared against a +previously established baseline. + +More information about BTest can be found at http://www.icir.org/robin/btest/ + + +This README contains the following sections: + * Contents of the testing/btest/ directory + * Running tests + * Adding tests + + +Contents of the testing/btest/ directory: + +Baseline/*/ + The validated baselines for comparison against the output of each test on + future runs. If the new output differs from the Baseline output, then the + test fails. + +Scripts/ + Shell scripts invoked by BTest to support testing. + +Traces/ + Packet captures utilized by the various BTest tests. + +logging/ + Tests to validate the logging framework. + +policy/ + Tests of the functionality of Bro's bundled policy scripts. + +software/ + Tests to validate Bro software not tested elsewhere. + +btest.cfg + Configuration file that specifies run-time settings for BTest. Of particular + interest is the "TestDirs" settings, which specifies which directories BTest + will recursively search for test files. + + +Running tests: + +btest <no arguments> + If you simply execute btest in this directory with no arguments, then all + directories listed as "TestDirs" in btest.cfg will be searched recursively + for test files. This is how the NMI automated build & test environment + invokes BTest to run all tests. + + +btest test_directory + You can specify a directory on the command line to run just the tests + contained in that directory. This is useful if you wish to run all of a + given type of test, without running all the tests there are. For example, + "btest policy" will run all of the tests for Bro's bundled policy scripts. + + +btest test_directory/test_file + You can specify a single test file to run just that test. This is useful + when testing a single aspect of Bro functionality, and also when developing + a new test. + + + +Adding tests: + +See the documentation at http://www.icir.org/robin/btest/ for information on +what BTests actually look like. + +The essential components of a new test include: +* A test file in a subdirectory of /testing/btest. This can be a sub-sub- + directory, as the search for test files is recursive from the directories + listed as "TestDirs" in btest.cfg +* A baseline for the output of your test. Although the baseline will be stored + in testing/btest/Baseline/ you should allow btest to copy the correct files + to that location, rather than copying them manually (see below). + +If you create a new subdirectory from testing/btest you'll need to add it to the +list of "TestDirs" in btest.cfg. Do this only if your test really doesn't fit +logically in any of the extant directories. + +While developing your test, you can specify the "-t" command-line option to make +BTest preserve the testing/btest/.tmp directory. This directory holds the output +from your test run; you can inspect it in place to ensure it is correct and as +expected. + +Once you are satisfied with the results in testing/btest/.tmp you can make BTest +store this output as the Baseline for the test by specifying the "-U" command- +line option. + +When you are ready to commit your test to git, be sure the testing/btest/.tmp +directory is deleted, and use "git status" to ensure you correctly identify all +of the files that should be committed to the repository. + +Note that any new test you add this way will automatically be included in the +testing done in the NMI automated build & test environment. diff --git a/testing/btest/Traces/http-pipelined-requests.trace b/testing/btest/Traces/http-pipelined-requests.trace new file mode 100644 index 0000000000..6d13b68828 Binary files /dev/null and b/testing/btest/Traces/http-pipelined-requests.trace differ diff --git a/testing/btest/Traces/var-services-std-ports.trace b/testing/btest/Traces/var-services-std-ports.trace new file mode 100644 index 0000000000..b124fb77fe Binary files /dev/null and b/testing/btest/Traces/var-services-std-ports.trace differ diff --git a/testing/btest/Traces/workshop.trace1.trace b/testing/btest/Traces/workshop.trace1.trace deleted file mode 100644 index e3d28f5c83..0000000000 Binary files a/testing/btest/Traces/workshop.trace1.trace and /dev/null differ diff --git a/testing/btest/btest.cfg b/testing/btest/btest.cfg index 159e5a19e2..c46dd2d58a 100644 --- a/testing/btest/btest.cfg +++ b/testing/btest/btest.cfg @@ -1,5 +1,5 @@ [btest] -TestDirs = doc bifs logging language core istate +TestDirs = doc bifs language core policy istate TmpDir = %(testbase)s/.tmp BaselineDir = %(testbase)s/Baseline IgnoreDirs = .svn CVS .tmp diff --git a/testing/btest/core/conn-uid.bro b/testing/btest/core/conn-uid.bro index 51711559d9..491b4f3005 100644 --- a/testing/btest/core/conn-uid.bro +++ b/testing/btest/core/conn-uid.bro @@ -6,18 +6,18 @@ # # Without a seed, they should differ each time: # -# @TEST-EXEC: unset BRO_SEED_FILE && bro -C -r $TRACES/wikipedia.trace %INPUT tcp >output2 +# @TEST-EXEC: unset BRO_SEED_FILE && bro -C -r $TRACES/wikipedia.trace %INPUT conn >output2 # @TEST-EXEC: cat output output2 | sort | uniq -c | wc -l | sed 's/ //g' >counts # @TEST-EXEC: btest-diff counts # # Make sure it works without the connection compressor as well. # -# @TEST-EXEC: bro -C -r $TRACES/wikipedia.trace %INPUT tcp use_connection_compressor=F >output.cc +# @TEST-EXEC: bro -C -r $TRACES/wikipedia.trace %INPUT conn use_connection_compressor=F >output.cc # @TEST-EXEC: btest-diff output.cc # # Make sure it works with the full connection compressor as well. # -# @TEST-EXEC: bro -C -r $TRACES/wikipedia.trace %INPUT tcp cc_handle_only_syns=F >output.cc2 +# @TEST-EXEC: bro -C -r $TRACES/wikipedia.trace %INPUT conn cc_handle_only_syns=F >output.cc2 # @TEST-EXEC: btest-diff output.cc2 diff --git a/testing/btest/core/load-pkg.bro b/testing/btest/core/load-pkg.bro index c7aa27fd86..8b23d3cda2 100644 --- a/testing/btest/core/load-pkg.bro +++ b/testing/btest/core/load-pkg.bro @@ -1,7 +1,7 @@ # @TEST-EXEC: mkdir foo # @TEST-EXEC: echo "@load foo/test.bro" >foo/__load__.bro # @TEST-EXEC: cp %INPUT foo/test.bro -# @TEST-EXEC: bro -l foo >output 2>&1 -# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff output +# @TEST-EXEC: bro -l foo >output +# @TEST-EXEC: btest-diff output print "Foo loaded"; diff --git a/testing/btest/core/load-unload.bro b/testing/btest/core/load-unload.bro index 701e415134..1cf637704c 100644 --- a/testing/btest/core/load-unload.bro +++ b/testing/btest/core/load-unload.bro @@ -1,7 +1,7 @@ # This tests the @unload directive # -# @TEST-EXEC: echo 'print "oops";' >dontloadmebro.bro -# @TEST-EXEC: bro -l %INPUT dontloadmebro >output 2>&1 -# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff output +# @TEST-EXEC: echo 'print "oops12345";' >dontloadmebro.bro +# @TEST-EXEC: bro -l %INPUT dontloadmebro >output +# @TEST-EXEC: btest-diff output @unload dontloadmebro diff --git a/testing/btest/core/print-bpf-filters-ipv4.bro b/testing/btest/core/print-bpf-filters-ipv4.bro index 5848972166..acfeebe21e 100644 --- a/testing/btest/core/print-bpf-filters-ipv4.bro +++ b/testing/btest/core/print-bpf-filters-ipv4.bro @@ -1,9 +1,12 @@ # @TEST-REQUIRES: bro -e 'print bro_has_ipv6()' | grep -q F # -# @TEST-EXEC: bro print-filter >output 2>&1 -# @TEST-EXEC: bro tcp print-filter >>output -# @TEST-EXEC: bro tcp print-filter all_packets=F >>output -# @TEST-EXEC: bro -f "port 42" print-filter >>output -# @TEST-EXEC: bro -C -f "port 50343" -r $TRACES/mixed-vlan-mpls.trace tcp +# @TEST-EXEC: bro -e '' >output +# @TEST-EXEC: cat packet_filter.log >>output +# @TEST-EXEC: bro PacketFilter::all_packets=F ssh >>output +# @TEST-EXEC: cat packet_filter.log >>output +# @TEST-EXEC: bro -f "port 42" -e '' >>output +# @TEST-EXEC: cat packet_filter.log >>output +# @TEST-EXEC: bro -C -f "port 56730" -r $TRACES/mixed-vlan-mpls.trace conn >>output +# @TEST-EXEC: cat packet_filter.log >>output # @TEST-EXEC: btest-diff output # @TEST-EXEC: btest-diff conn.log diff --git a/testing/btest/core/print-bpf-filters-ipv6.bro b/testing/btest/core/print-bpf-filters-ipv6.bro index 98bbc2db33..c4378f8ec6 100644 --- a/testing/btest/core/print-bpf-filters-ipv6.bro +++ b/testing/btest/core/print-bpf-filters-ipv6.bro @@ -1,9 +1,12 @@ # @TEST-REQUIRES: bro -e 'print bro_has_ipv6()' | grep -q T # -# @TEST-EXEC: bro print-filter >output 2>&1 -# @TEST-EXEC: bro tcp print-filter >>output -# @TEST-EXEC: bro tcp print-filter all_packets=F >>output -# @TEST-EXEC: bro -f "port 42" print-filter >>output -# @TEST-EXEC: bro -C -f "port 50343" -r $TRACES/mixed-vlan-mpls.trace tcp +# @TEST-EXEC: bro -e '' >output +# @TEST-EXEC: cat packet_filter.log >>output +# @TEST-EXEC: bro PacketFilter::all_packets=F ssh >>output +# @TEST-EXEC: cat packet_filter.log >>output +# @TEST-EXEC: bro -f "port 42" -e '' >>output +# @TEST-EXEC: cat packet_filter.log >>output +# @TEST-EXEC: bro -C -f "port 56730" -r $TRACES/mixed-vlan-mpls.trace conn >>output +# @TEST-EXEC: cat packet_filter.log >>output # @TEST-EXEC: btest-diff output # @TEST-EXEC: btest-diff conn.log diff --git a/testing/btest/core/vlan-mpls.bro b/testing/btest/core/vlan-mpls.bro index 891f19d79a..c7553e200a 100644 --- a/testing/btest/core/vlan-mpls.bro +++ b/testing/btest/core/vlan-mpls.bro @@ -1,2 +1,2 @@ -# @TEST-EXEC: bro -C -r $TRACES/mixed-vlan-mpls.trace tcp +# @TEST-EXEC: bro -C -r $TRACES/mixed-vlan-mpls.trace conn # @TEST-EXEC: btest-diff conn.log diff --git a/testing/btest/istate/broccoli.bro b/testing/btest/istate/broccoli.bro index ed6a9eee6a..7f97f40585 100644 --- a/testing/btest/istate/broccoli.bro +++ b/testing/btest/istate/broccoli.bro @@ -1,5 +1,5 @@ # @TEST-REQUIRES: grep -vq '#define BROv6' $BUILD/config.h -# @TEST-REQUIRES: test -e $BUILD/aux/broccoli/src/libbroccoli.so +# @TEST-REQUIRES: test -e $BUILD/aux/broccoli/src/libbroccoli.so || test -e $BUILD/aux/broccoli/src/libbroccoli.dylib # # @TEST-EXEC: btest-bg-run bro bro %INPUT $DIST/aux/broccoli/test/broping-record.bro # @TEST-EXEC: btest-bg-run broccoli $BUILD/aux/broccoli/test/broping -r -c 3 127.0.0.1 diff --git a/testing/btest/istate/events.bro b/testing/btest/istate/events.bro index da9ac4bb58..43be9d1b4d 100644 --- a/testing/btest/istate/events.bro +++ b/testing/btest/istate/events.bro @@ -5,25 +5,21 @@ # # @TEST-EXEC: btest-diff sender/http.log # @TEST-EXEC: btest-diff receiver/http.log -# @TEST-EXEC: cat receiver/http.log | sed 's/^\([^ ]* \)\{2\}//' >http.rec.log -# @TEST-EXEC: cat sender/http.log | sed 's/^\([^ ]* \)\{2\}//' >http.snd.log -# @TEST-EXEC: cmp http.rec.log http.snd.log +# @TEST-EXEC: cmp sender/http.log receiver/http.log # -# @TEST-EXEC: bro -x sender/events.bst | sed 's/^Event \[[-0-9.]*\] //g' | sed 's/%events-[^ ]* *//g' | grep '^http_' | grep -v http_stats >events.snd.log -# @TEST-EXEC: bro -x receiver/events.bst | sed 's/^Event \[[-0-9.]*\] //g' | sed 's/%events-[^ ]* *//g' | grep '^http_' | grep -v http_stats >events.rec.log +# @TEST-EXEC: bro -x sender/events.bst http/base | sed 's/^Event \[[-0-9.]*\] //g' | sed 's/%events-[^ ]* *//g' | grep '^http_' | grep -v http_stats >events.snd.log +# @TEST-EXEC: bro -x receiver/events.bst http/base | sed 's/^Event \[[-0-9.]*\] //g' | sed 's/%events-[^ ]* *//g' | grep '^http_' | grep -v http_stats >events.rec.log # @TEST-EXEC: cmp events.rec.log events.snd.log @TEST-START-FILE sender.bro -@load tcp -@load http-request -@load http-reply -@load http-header -@load http-body -@load http-abstract -@load listen-clear +@load http/base +@load communication/listen-clear -@load capture-events +event bro_init() + { + capture_events("events.bst"); + } redef peer_description = "events-send"; @@ -38,19 +34,17 @@ redef tcp_close_delay = 0secs; @TEST-START-FILE receiver.bro -@load tcp -@load http-request -@load http-reply -@load http-header -@load http-body -@load http-abstract +@load http/base +@load communication -@load capture-events -@load remote +event bro_init() + { + capture_events("events.bst"); + } redef peer_description = "events-rcv"; -redef Remote::destinations += { +redef Communication::nodes += { ["foo"] = [$host = 127.0.0.1, $events = /http_.*/, $connect=T] }; diff --git a/testing/btest/istate/pybroccoli.py b/testing/btest/istate/pybroccoli.py index 52aba6dfa1..b7fb53a955 100644 --- a/testing/btest/istate/pybroccoli.py +++ b/testing/btest/istate/pybroccoli.py @@ -1,5 +1,5 @@ # @TEST-REQUIRES: grep -vq '#define BROv6' $BUILD/config.h -# @TEST-REQUIRES: test -e $BUILD/aux/broccoli/src/libbroccoli.so +# @TEST-REQUIRES: test -e $BUILD/aux/broccoli/src/libbroccoli.so || test -e $BUILD/aux/broccoli/src/libbroccoli.dylib # @TEST-REQUIRES: test -e $BUILD/aux/broccoli/bindings/broccoli-python/_broccoli_intern.so # # @TEST-EXEC: btest-bg-run bro bro %INPUT $DIST/aux/broccoli/bindings/broccoli-python/tests/test.bro diff --git a/testing/btest/policy/frameworks/intel/insert-and-matcher.bro b/testing/btest/policy/frameworks/intel/insert-and-matcher.bro new file mode 100644 index 0000000000..bf8cd10e75 --- /dev/null +++ b/testing/btest/policy/frameworks/intel/insert-and-matcher.bro @@ -0,0 +1,36 @@ +# +# @TEST-EXEC: bro %INPUT >out +# @TEST-EXEC: btest-diff out + +@load intel + +event bro_init() + { + Intel::insert([$ip=1.2.3.4, $tags=set("zeustracker.abuse.ch", "malicious")]); + Intel::insert([$str="http://www.google.com/", $subtype="url", $tags=set("infrastructure", "google")]); + Intel::insert([$str="Ab439G32F...", $subtype="x509_cert", $tags=set("bad")]); + Intel::insert([$str="Ab439G32F...", $tags=set("bad")]); + } + +event bro_done() + { + local orig_h = 1.2.3.4; + + if ( Intel::matcher([$ip=orig_h, $and_tags=set("malicious")]) ) + print "VALID"; + + if ( Intel::matcher([$ip=orig_h, $and_tags=set("don't match")]) ) + print "INVALID"; + + if ( Intel::matcher([$ip=orig_h, $pred=function(meta: Intel::MetaData): bool { return T; } ]) ) + print "VALID"; + + if ( Intel::matcher([$ip=orig_h, $pred=function(meta: Intel::MetaData): bool { return F; } ]) ) + print "INVALID"; + + if ( Intel::matcher([$str="http://www.google.com/", $subtype="url", $tags=set("google")]) ) + print "VALID"; + + if ( Intel::matcher([$str="http://www.example.com", $subtype="url"]) ) + print "INVALID"; + } diff --git a/testing/btest/logging/adapt-filter.bro b/testing/btest/policy/frameworks/logging/adapt-filter.bro similarity index 100% rename from testing/btest/logging/adapt-filter.bro rename to testing/btest/policy/frameworks/logging/adapt-filter.bro diff --git a/testing/btest/logging/ascii-binary.bro b/testing/btest/policy/frameworks/logging/ascii-binary.bro similarity index 100% rename from testing/btest/logging/ascii-binary.bro rename to testing/btest/policy/frameworks/logging/ascii-binary.bro diff --git a/testing/btest/logging/ascii-empty.bro b/testing/btest/policy/frameworks/logging/ascii-empty.bro similarity index 88% rename from testing/btest/logging/ascii-empty.bro rename to testing/btest/policy/frameworks/logging/ascii-empty.bro index 9e91ebc089..8aead35901 100644 --- a/testing/btest/logging/ascii-empty.bro +++ b/testing/btest/policy/frameworks/logging/ascii-empty.bro @@ -1,8 +1,10 @@ # -# @TEST-EXEC: bro %INPUT >output -# @TEST-EXEC: btest-diff output +# @TEST-EXEC: bro %INPUT +# @TEST-EXEC: btest-diff ssh.log -redef LogAscii::output_to_stdout = T; +@load logging/plugins/ascii + +redef LogAscii::output_to_stdout = F; redef LogAscii::separator = "|"; redef LogAscii::empty_field = "EMPTY"; redef LogAscii::unset_field = "NOT-SET"; diff --git a/testing/btest/logging/ascii-escape.bro b/testing/btest/policy/frameworks/logging/ascii-escape.bro similarity index 100% rename from testing/btest/logging/ascii-escape.bro rename to testing/btest/policy/frameworks/logging/ascii-escape.bro diff --git a/testing/btest/logging/ascii-options.bro b/testing/btest/policy/frameworks/logging/ascii-options.bro similarity index 87% rename from testing/btest/logging/ascii-options.bro rename to testing/btest/policy/frameworks/logging/ascii-options.bro index 3f33c17b96..caf834a83d 100644 --- a/testing/btest/logging/ascii-options.bro +++ b/testing/btest/policy/frameworks/logging/ascii-options.bro @@ -1,8 +1,10 @@ # -# @TEST-EXEC: bro %INPUT >output -# @TEST-EXEC: btest-diff output +# @TEST-EXEC: bro %INPUT +# @TEST-EXEC: btest-diff ssh.log -redef LogAscii::output_to_stdout = T; +@load logging/plugins/ascii + +redef LogAscii::output_to_stdout = F; redef LogAscii::separator = "|"; redef LogAscii::include_header = F; diff --git a/testing/btest/logging/attr-extend.bro b/testing/btest/policy/frameworks/logging/attr-extend.bro similarity index 100% rename from testing/btest/logging/attr-extend.bro rename to testing/btest/policy/frameworks/logging/attr-extend.bro diff --git a/testing/btest/logging/attr.bro b/testing/btest/policy/frameworks/logging/attr.bro similarity index 100% rename from testing/btest/logging/attr.bro rename to testing/btest/policy/frameworks/logging/attr.bro diff --git a/testing/btest/logging/disable-stream.bro b/testing/btest/policy/frameworks/logging/disable-stream.bro similarity index 100% rename from testing/btest/logging/disable-stream.bro rename to testing/btest/policy/frameworks/logging/disable-stream.bro diff --git a/testing/btest/logging/empty-event.bro b/testing/btest/policy/frameworks/logging/empty-event.bro similarity index 100% rename from testing/btest/logging/empty-event.bro rename to testing/btest/policy/frameworks/logging/empty-event.bro diff --git a/testing/btest/logging/events.bro b/testing/btest/policy/frameworks/logging/events.bro similarity index 100% rename from testing/btest/logging/events.bro rename to testing/btest/policy/frameworks/logging/events.bro diff --git a/testing/btest/logging/exclude.bro b/testing/btest/policy/frameworks/logging/exclude.bro similarity index 100% rename from testing/btest/logging/exclude.bro rename to testing/btest/policy/frameworks/logging/exclude.bro diff --git a/testing/btest/logging/file.bro b/testing/btest/policy/frameworks/logging/file.bro similarity index 100% rename from testing/btest/logging/file.bro rename to testing/btest/policy/frameworks/logging/file.bro diff --git a/testing/btest/logging/include.bro b/testing/btest/policy/frameworks/logging/include.bro similarity index 100% rename from testing/btest/logging/include.bro rename to testing/btest/policy/frameworks/logging/include.bro diff --git a/testing/btest/logging/no-local.bro b/testing/btest/policy/frameworks/logging/no-local.bro similarity index 100% rename from testing/btest/logging/no-local.bro rename to testing/btest/policy/frameworks/logging/no-local.bro diff --git a/testing/btest/logging/path-func.bro b/testing/btest/policy/frameworks/logging/path-func.bro similarity index 100% rename from testing/btest/logging/path-func.bro rename to testing/btest/policy/frameworks/logging/path-func.bro diff --git a/testing/btest/logging/pred.bro b/testing/btest/policy/frameworks/logging/pred.bro similarity index 100% rename from testing/btest/logging/pred.bro rename to testing/btest/policy/frameworks/logging/pred.bro diff --git a/testing/btest/logging/remote-types.bro b/testing/btest/policy/frameworks/logging/remote-types.bro similarity index 94% rename from testing/btest/logging/remote-types.bro rename to testing/btest/policy/frameworks/logging/remote-types.bro index ecf3e96bc5..95088b257c 100644 --- a/testing/btest/logging/remote-types.bro +++ b/testing/btest/policy/frameworks/logging/remote-types.bro @@ -51,7 +51,7 @@ event bro_init() module SSH; -@load listen-clear +@load communication/listen-clear event remote_connection_handshake_done(p: event_peer) { @@ -84,9 +84,9 @@ event remote_connection_handshake_done(p: event_peer) ##### -@load remote +@load communication -redef Remote::destinations += { +redef Communication::nodes += { ["foo"] = [$host = 127.0.0.1, $connect=T, $request_logs=T] }; diff --git a/testing/btest/logging/remote.bro b/testing/btest/policy/frameworks/logging/remote.bro similarity index 96% rename from testing/btest/logging/remote.bro rename to testing/btest/policy/frameworks/logging/remote.bro index cd0a361b7c..b148b66c1a 100644 --- a/testing/btest/logging/remote.bro +++ b/testing/btest/policy/frameworks/logging/remote.bro @@ -40,7 +40,7 @@ event bro_init() module SSH; -@load listen-clear +@load communication/listen-clear function fail(rec: Log): bool { @@ -68,9 +68,9 @@ event remote_connection_handshake_done(p: event_peer) ##### -@load remote +@load communication -redef Remote::destinations += { +redef Communication::nodes += { ["foo"] = [$host = 127.0.0.1, $connect=T, $request_logs=T] }; diff --git a/testing/btest/logging/remove.bro b/testing/btest/policy/frameworks/logging/remove.bro similarity index 100% rename from testing/btest/logging/remove.bro rename to testing/btest/policy/frameworks/logging/remove.bro diff --git a/testing/btest/logging/rotate-custom.bro b/testing/btest/policy/frameworks/logging/rotate-custom.bro similarity index 91% rename from testing/btest/logging/rotate-custom.bro rename to testing/btest/policy/frameworks/logging/rotate-custom.bro index 59ad1330cd..2781a8f59e 100644 --- a/testing/btest/logging/rotate-custom.bro +++ b/testing/btest/policy/frameworks/logging/rotate-custom.bro @@ -1,5 +1,5 @@ # -# @TEST-EXEC: bro -r %DIR/rotation.trace %INPUT >out +# @TEST-EXEC: bro -r %DIR/rotation.trace %INPUT | egrep "test|test2" | sort >out # @TEST-EXEC: for i in `ls test*.log | sort`; do printf '> %s\n' $i; cat $i; done | sort | uniq >>out # @TEST-EXEC: btest-diff out diff --git a/testing/btest/logging/rotate.bro b/testing/btest/policy/frameworks/logging/rotate.bro similarity index 91% rename from testing/btest/logging/rotate.bro rename to testing/btest/policy/frameworks/logging/rotate.bro index dc7cd79d56..0179a0bbe2 100644 --- a/testing/btest/logging/rotate.bro +++ b/testing/btest/policy/frameworks/logging/rotate.bro @@ -1,5 +1,5 @@ # -# @TEST-EXEC: bro -r %DIR/rotation.trace %INPUT >out +# @TEST-EXEC: bro -r %DIR/rotation.trace %INPUT | grep "test" >out # @TEST-EXEC: for i in test-*.log; do printf '> %s\n' $i; cat $i; done >>out # @TEST-EXEC: btest-diff out diff --git a/testing/btest/logging/rotation.trace b/testing/btest/policy/frameworks/logging/rotation.trace similarity index 100% rename from testing/btest/logging/rotation.trace rename to testing/btest/policy/frameworks/logging/rotation.trace diff --git a/testing/btest/logging/stdout.bro b/testing/btest/policy/frameworks/logging/stdout.bro similarity index 100% rename from testing/btest/logging/stdout.bro rename to testing/btest/policy/frameworks/logging/stdout.bro diff --git a/testing/btest/logging/test-logging.bro b/testing/btest/policy/frameworks/logging/test-logging.bro similarity index 100% rename from testing/btest/logging/test-logging.bro rename to testing/btest/policy/frameworks/logging/test-logging.bro diff --git a/testing/btest/logging/types.bro b/testing/btest/policy/frameworks/logging/types.bro similarity index 100% rename from testing/btest/logging/types.bro rename to testing/btest/policy/frameworks/logging/types.bro diff --git a/testing/btest/logging/unset-record.log b/testing/btest/policy/frameworks/logging/unset-record.log similarity index 100% rename from testing/btest/logging/unset-record.log rename to testing/btest/policy/frameworks/logging/unset-record.log diff --git a/testing/btest/logging/vec.bro b/testing/btest/policy/frameworks/logging/vec.bro similarity index 100% rename from testing/btest/logging/vec.bro rename to testing/btest/policy/frameworks/logging/vec.bro diff --git a/testing/btest/policy/frameworks/software/version-parsing.bro b/testing/btest/policy/frameworks/software/version-parsing.bro new file mode 100644 index 0000000000..64f6f09842 --- /dev/null +++ b/testing/btest/policy/frameworks/software/version-parsing.bro @@ -0,0 +1,115 @@ +# @TEST-EXEC: bro %INPUT > output +# @TEST-EXEC: btest-diff output + +@load software + +global ts = network_time(); +global host = 0.0.0.0; + +global matched_software: table[string] of Software::Info = { + ["OpenSSH_4.4"] = + [$name="OpenSSH", $version=[$major=4,$minor=4], $host=host, $ts=ts], + ["OpenSSH_5.2"] = + [$name="OpenSSH", $version=[$major=5,$minor=2], $host=host, $ts=ts], + ["Apache/2.0.63 (Unix) mod_auth_kerb/5.3 mod_ssl/2.0.63 OpenSSL/0.9.7a mod_fastcgi/2.4.2"] = + [$name="Apache", $version=[$major=2,$minor=0,$minor2=63,$addl="Unix"], $host=host, $ts=ts], + ["Apache/1.3.19 (Unix)"] = + [$name="Apache", $version=[$major=1,$minor=3,$minor2=19,$addl="Unix"], $host=host, $ts=ts], + ["ProFTPD 1.2.5rc1 Server (Debian)"] = + [$name="ProFTPD", $version=[$major=1,$minor=2,$minor2=5,$addl="rc1"], $host=host, $ts=ts], + ["wu-2.4.2-academ[BETA-18-VR14](1)"] = + [$name="wu", $version=[$major=2,$minor=4,$minor2=2,$addl="academ"], $host=host, $ts=ts], + ["wu-2.6.2(1)"] = + [$name="wu", $version=[$major=2,$minor=6,$minor2=2,$addl="1"], $host=host, $ts=ts], + ["Java1.2.2-JDeveloper"] = + [$name="Java", $version=[$major=1,$minor=2,$minor2=2,$addl="JDeveloper"], $host=host, $ts=ts], + ["Java/1.6.0_13"] = + [$name="Java", $version=[$major=1,$minor=6,$minor2=0,$addl="13"], $host=host, $ts=ts], + ["Python-urllib/3.1"] = + [$name="Python-urllib", $version=[$major=3,$minor=1], $host=host, $ts=ts], + ["libwww-perl/5.820"] = + [$name="libwww-perl", $version=[$major=5,$minor=820], $host=host, $ts=ts], + ["Wget/1.9+cvs-stable (Red Hat modified)"] = + [$name="Wget", $version=[$major=1,$minor=9,$addl="+cvs"], $host=host, $ts=ts], + ["Wget/1.11.4 (Red Hat modified)"] = + [$name="Wget", $version=[$major=1,$minor=11,$minor2=4,$addl="Red Hat modified"], $host=host, $ts=ts], + ["curl/7.15.1 (i486-pc-linux-gnu) libcurl/7.15.1 OpenSSL/0.9.8a zlib/1.2.3 libidn/0.5.18"] = + [$name="curl", $version=[$major=7,$minor=15,$minor2=1,$addl="i486-pc-linux-gnu"], $host=host, $ts=ts], + ["Apache"] = + [$name="Apache", $host=host, $ts=ts], + ["Zope/(Zope 2.7.8-final, python 2.3.5, darwin) ZServer/1.1 Plone/Unknown"] = + [$name="Zope/(Zope", $version=[$major=2,$minor=7,$minor2=8,$addl="final"], $host=host, $ts=ts], + ["The Bat! (v2.00.9) Personal"] = + [$name="The Bat!", $version=[$major=2,$minor=0,$minor2=9,$addl="Personal"], $host=host, $ts=ts], + ["Flash/10,2,153,1"] = + [$name="Flash", $version=[$major=10,$minor=2,$minor2=153,$addl="1"], $host=host, $ts=ts], + ["mt2/1.2.3.967 Oct 13 2010-13:40:24 ord-pixel-x2 pid 0x35a3 13731"] = + [$name="mt2", $version=[$major=1,$minor=2,$minor2=3,$addl="967"], $host=host, $ts=ts], + ["CacheFlyServe v26b"] = + [$name="CacheFlyServe", $version=[$major=26,$addl="b"], $host=host, $ts=ts], + ["Apache/2.0.46 (Win32) mod_ssl/2.0.46 OpenSSL/0.9.7b mod_jk2/2.0.4"] = + [$name="Apache", $version=[$major=2,$minor=0,$minor2=46,$addl="Win32"], $host=host, $ts=ts], + # I have no clue how I'd support this without a special case. + #["Apache mod_fcgid/2.3.6 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635"] = + # [$name="Apache", $version=[], $host=host, $ts=ts], + ["Apple iPhone v4.3.1 Weather v1.0.0.8G4"] = + [$name="Apple iPhone", $version=[$major=4,$minor=3,$minor2=1,$addl="Weather"], $host=host, $ts=ts], + ["Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5"] = + [$name="Safari", $version=[$major=5,$minor=0,$minor2=2,$addl="Mobile"], $host=host, $ts=ts], + ["Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.205 Safari/534.16"] = + [$name="Chrome", $version=[$major=10,$minor=0,$minor2=648,$addl="205"], $host=host, $ts=ts], + ["Opera/9.80 (Windows NT 6.1; U; sv) Presto/2.7.62 Version/11.01"] = + [$name="Opera", $version=[$major=11,$minor=1], $host=host, $ts=ts], + ["Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.11) Gecko/20101013 Lightning/1.0b2 Thunderbird/3.1.5"] = + [$name="Thunderbird", $version=[$major=3,$minor=1,$minor2=5], $host=host, $ts=ts], + ["iTunes/9.0 (Macintosh; Intel Mac OS X 10.5.8) AppleWebKit/531.9"] = + [$name="iTunes", $version=[$major=9,$minor=0,$addl="Macintosh"], $host=host, $ts=ts], + ["Java1.3.1_04"] = + [$name="Java", $version=[$major=1,$minor=3,$minor2=1,$addl="04"], $host=host, $ts=ts], + ["Mozilla/5.0 (Linux; U; Android 2.3.3; zh-tw; HTC Pyramid Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"] = + [$name="Safari", $version=[$major=4,$minor=0,$addl="Mobile"], $host=host, $ts=ts], + ["Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.348; U; en) Presto/2.5.25 Version/10.54"] = + [$name="Opera Mini", $version=[$major=10,$minor=54], $host=host, $ts=ts], + ["Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18741/18.794; U; en) Presto/2.4.15"] = + [$name="Opera Mini", $version=[$major=5,$minor=0,$minor2=18741], $host=host, $ts=ts], + ["Opera/9.80 (Windows NT 5.1; Opera Mobi/49; U; en) Presto/2.4.18 Version/10.00"] = + [$name="Opera Mobi", $version=[$major=10,$minor=0], $host=host, $ts=ts], + ["Mozilla/4.0 (compatible; MSIE 8.0; Android 2.2.2; Linux; Opera Mobi/ADR-1103311355; en) Opera 11.00"] = + [$name="Opera", $version=[$major=11,$minor=0], $host=host, $ts=ts], + ["Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GTB5; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.2)"] = + [$name="MSIE", $version=[$major=7,$minor=0], $host=host, $ts=ts], + ["Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; Media Center PC 3.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1)"] = + [$name="MSIE", $version=[$major=7,$minor=0,$addl="b"], $host=host, $ts=ts], + ["Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)"] = + [$name="Netscape", $version=[$major=7,$minor=2], $host=host, $ts=ts], + ["The Bat! (3.0.1 RC3) Professional"] = + [$name="The Bat!", $version=[$major=3,$minor=0,$minor2=1,$addl="RC3"], $host=host, $ts=ts], + # This is an FTP client (found with CLNT command) + ["Total Commander"] = + [$name="Total Commander", $version=[], $host=host, $ts=ts], + ["(vsFTPd 2.0.5)"] = + [$name="vsFTPd", $version=[$major=2,$minor=0,$minor2=5], $host=host, $ts=ts], + ["Apple Mail (2.1084)"] = + [$name="Apple Mail", $version=[$major=2,$minor=1084], $host=host, $ts=ts], +}; + +event bro_init() + { + for ( sw in matched_software ) + { + local output = Software::parse(sw, host, Software::UNKNOWN); + local baseline: Software::Info; + baseline = matched_software[sw]; + if ( baseline$name == output$name && + Software::cmp_versions(baseline$version,output$version) == 0 ) + print fmt("success on: %s", sw); + else + { + print fmt("failure on: %s", sw); + print fmt(" test name: %s", output$name); + print fmt(" test version: %s", output$version); + print fmt(" baseline name: %s", baseline$name); + print fmt(" baseline version: %s", baseline$version); + } + } + } diff --git a/testing/btest/policy/known-hosts-test b/testing/btest/policy/known-hosts-test deleted file mode 100644 index b507f6cbc7..0000000000 --- a/testing/btest/policy/known-hosts-test +++ /dev/null @@ -1,6 +0,0 @@ - -@TEST-EXEC: bro -r $TRACES/wikipedia.trace known-hosts - -@TEST-EXEC: btest-diff KNOWN_HOSTS -@TEST-EXEC: btest-diff .stderr -@TEST-EXEC: btest-diff .stdout diff --git a/testing/btest/policy/known-services-test.bro b/testing/btest/policy/known-services-test.bro deleted file mode 100644 index 03d5c0cf6c..0000000000 --- a/testing/btest/policy/known-services-test.bro +++ /dev/null @@ -1,24 +0,0 @@ - -# Generate some output -# @TEST-EXEC: bro -r $TRACES/workshop.trace1.trace %INPUT tcp - - -# Verify the log file, and stderr/out match the Baseline -# @TEST-EXEC: btest-diff KNOWN_SERVICES -# @TEST-EXEC: btest-diff .stderr -# @TEST-EXEC: btest-diff .stdout - - -# Load the script we're here to test -@load known-services - -# Make some changes to how it runs -export { - # Log everything, so we get some output - redef KnownServices::logged_hosts=Enabled; -} - -# If necessary, can take setup action here as well -event bro_init() -{ -} diff --git a/testing/btest/policy/protocols/conn/known-hosts.bro b/testing/btest/policy/protocols/conn/known-hosts.bro new file mode 100644 index 0000000000..668887cb3c --- /dev/null +++ b/testing/btest/policy/protocols/conn/known-hosts.bro @@ -0,0 +1,21 @@ +# A basic test of the known-hosts script's logging and asset_tracking options + +# @TEST-EXEC: bro -r $TRACES/wikipedia.trace %INPUT KnownHosts::asset_tracking=LOCAL_HOSTS +# @TEST-EXEC: mv known_hosts.log knownhosts-local.log +# @TEST-EXEC: btest-diff knownhosts-local.log + +# @TEST-EXEC: bro -r $TRACES/wikipedia.trace %INPUT KnownHosts::asset_tracking=REMOTE_HOSTS +# @TEST-EXEC: mv known_hosts.log knownhosts-remote.log +# @TEST-EXEC: btest-diff knownhosts-remote.log + +# @TEST-EXEC: bro -r $TRACES/wikipedia.trace %INPUT KnownHosts::asset_tracking=ALL_HOSTS +# @TEST-EXEC: mv known_hosts.log knownhosts-all.log +# @TEST-EXEC: btest-diff knownhosts-all.log + +# @TEST-EXEC: bro -r $TRACES/wikipedia.trace %INPUT KnownHosts::asset_tracking=NO_HOSTS +# @TEST-EXEC: test '!' -e known_hosts.log + +@load conn/known-hosts +@load site + +redef Site::local_nets += {141.142.0.0/16}; diff --git a/testing/btest/policy/protocols/conn/known-services.bro b/testing/btest/policy/protocols/conn/known-services.bro new file mode 100644 index 0000000000..b7f968a793 --- /dev/null +++ b/testing/btest/policy/protocols/conn/known-services.bro @@ -0,0 +1,24 @@ +# A basic test of the known-services script's logging and asset_tracking options + +# @TEST-EXEC: bro -r $TRACES/var-services-std-ports.trace %INPUT KnownServices::asset_tracking=LOCAL_HOSTS +# @TEST-EXEC: mv known_services.log knownservices-local.log +# @TEST-EXEC: btest-diff knownservices-local.log + +# @TEST-EXEC: bro -r $TRACES/var-services-std-ports.trace %INPUT KnownServices::asset_tracking=REMOTE_HOSTS +# @TEST-EXEC: mv known_services.log knownservices-remote.log +# @TEST-EXEC: btest-diff knownservices-remote.log + +# @TEST-EXEC: bro -r $TRACES/var-services-std-ports.trace %INPUT KnownServices::asset_tracking=ALL_HOSTS +# @TEST-EXEC: mv known_services.log knownservices-all.log +# @TEST-EXEC: btest-diff knownservices-all.log + +# @TEST-EXEC: bro -r $TRACES/var-services-std-ports.trace %INPUT KnownServices::asset_tracking=NO_HOSTS +# @TEST-EXEC: test '!' -e known_services.log + +@load conn/known-services +@load http +@load ssh +@load ftp +@load site + +redef Site::local_nets += {172.16.238.0/24}; diff --git a/testing/btest/policy/protocols/http/http-pipelining-and-md5.bro b/testing/btest/policy/protocols/http/http-pipelining-and-md5.bro new file mode 100644 index 0000000000..b46c7f9458 --- /dev/null +++ b/testing/btest/policy/protocols/http/http-pipelining-and-md5.bro @@ -0,0 +1,6 @@ +# @TEST-EXEC: bro -r $TRACES/http-pipelined-requests.trace %INPUT > output +# @TEST-EXEC: btest-diff http.log + +@load http + +redef HTTP::generate_md5 += /image\/png/; \ No newline at end of file