diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..6ea55060 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "ext/std-curves"] + path = ext/std-curves + url = https://github.com/J08nY/std-curves.git diff --git a/.idea/apple-knowledge.iml b/.idea/apple-knowledge.iml index a596201a..de512e50 100644 --- a/.idea/apple-knowledge.iml +++ b/.idea/apple-knowledge.iml @@ -87,7 +87,7 @@ - + @@ -113,6 +113,7 @@ + @@ -139,6 +140,7 @@ + @@ -185,6 +187,7 @@ + @@ -261,7 +264,7 @@ - + diff --git a/.idea/dictionaries/project.xml b/.idea/dictionaries/project.xml index 879000e4..f426888f 100644 --- a/.idea/dictionaries/project.xml +++ b/.idea/dictionaries/project.xml @@ -10,6 +10,7 @@ multibases multihashes pathutil + secp theiphonewiki tipw typhoeus diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1ddf..c9a9cbcc 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/Gemfile b/Gemfile index 7892ba88..9547fdba 100644 --- a/Gemfile +++ b/Gemfile @@ -53,6 +53,7 @@ group :development, :test do gem 'byebug' gem 'CFPropertyList' gem 'cid' + gem 'deepsort' gem 'dotenv-rails' gem 'eth' gem 'faraday', '~> 2.5' @@ -63,6 +64,7 @@ group :development, :test do gem 'manpages' gem 'mdl' gem 'mediawiki_api' + gem 'merkle-hash-tree' gem 'merkle_tree' gem 'multibases' gem 'multicodecs' diff --git a/Gemfile.lock b/Gemfile.lock index 7a904f6b..5c042a65 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -46,7 +46,7 @@ GEM uri (>= 0.13.1) addressable (2.9.0) public_suffix (>= 2.0.2, < 8.0) - asn_parser (1.0.6) + asn_parser (1.0.8) rice (~> 4.0) ast (2.4.3) awesome_print (1.9.2) @@ -94,6 +94,7 @@ GEM thor typhoeus uri_template + deepsort (0.5.0) diff-lcs (1.6.2) domain_name (0.6.20240107) dotenv (3.2.0) @@ -152,6 +153,7 @@ GEM fileutils (1.8.0) forwardable (1.4.0) forwardable-extended (2.6.0) + git-version-bump (0.19.1) google-protobuf (4.35.1-aarch64-linux-gnu) bigdecimal rake (~> 13.3) @@ -286,6 +288,8 @@ GEM faraday-multipart faraday-retry mercenary (0.4.0) + merkle-hash-tree (0.1.1) + git-version-bump merkle_tree (0.2.0) method_source (1.1.0) mime-types (3.7.0) @@ -470,12 +474,12 @@ GEM shale (1.2.2) bigdecimal sorbet-runtime (0.6.13421) - sqlite3 (2.9.5-aarch64-linux-gnu) - sqlite3 (2.9.5-aarch64-linux-musl) - sqlite3 (2.9.5-arm64-darwin) - sqlite3 (2.9.5-x86_64-darwin) - sqlite3 (2.9.5-x86_64-linux-gnu) - sqlite3 (2.9.5-x86_64-linux-musl) + sqlite3 (2.9.6-aarch64-linux-gnu) + sqlite3 (2.9.6-aarch64-linux-musl) + sqlite3 (2.9.6-arm64-darwin) + sqlite3 (2.9.6-x86_64-darwin) + sqlite3 (2.9.6-x86_64-linux-gnu) + sqlite3 (2.9.6-x86_64-linux-musl) steep (2.0.0) concurrent-ruby (>= 1.1.10) csv (>= 3.0.9) @@ -548,6 +552,7 @@ DEPENDENCIES bundle-audit byebug cid + deepsort dotenv-rails eth faraday (~> 2.5) @@ -573,6 +578,7 @@ DEPENDENCIES manpages mdl mediawiki_api + merkle-hash-tree merkle_tree multibases multicodecs @@ -609,7 +615,7 @@ CHECKSUMS activesupport (8.1.3.1) sha256=85458765f25ea48b9019c46b6bb3fa5683197bf4280d9f06710a6e8d7a831376 addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af apple-data (1.0.654) - asn_parser (1.0.6) sha256=3ac4bd31e54c7787602b3089d51e90e234be72a5e4d17be7592d5ba876a3cb06 + asn_parser (1.0.8) sha256=13ea66b750de0302ed293adcda1a961644778385807de86ef65b9552626f6d2f ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383 awesome_print (1.9.2) sha256=e99b32b704acff16d768b3468680793ced40bfdc4537eb07e06a4be11133786e base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b @@ -634,6 +640,7 @@ CHECKSUMS crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295 csv (3.3.6) sha256=aba61e7e507a66f03d45cb1f3c4b6359861c3504038b422962875dce099e4456 csvlint (0.3.2) sha256=6eb98cfa35267b21e500bb5362e00d759cc8e98235d1602fe6d5d5fb1ea55db8 + deepsort (0.5.0) sha256=8db57207449e54d693e250bc3d62c2e92724602b0f4d680fa846021934f6419f diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962 domain_name (0.6.20240107) sha256=5f693b2215708476517479bf2b3802e49068ad82167bcd2286f899536a17d933 dotenv (3.2.0) sha256=e375b83121ea7ca4ce20f214740076129ab8514cd81378161f11c03853fe619d @@ -665,6 +672,7 @@ CHECKSUMS fileutils (1.8.0) sha256=8c6b1df54e2540bdb2f39258f08af78853aa70bad52b4d394bbc6424593c6e02 forwardable (1.4.0) sha256=f1cd40cc9812937980e1c76f1aa053660990a7c9b6a98fc37d945468afcce838 forwardable-extended (2.6.0) sha256=1bec948c469bbddfadeb3bd90eb8c85f6e627a412a3e852acfd7eaedbac3ec97 + git-version-bump (0.19.1) sha256=7bd9de0b0fc810ed27a32d8581d22d828b2ea9f0670ec584b5e4a04ea133e8bb google-protobuf (4.35.1-aarch64-linux-gnu) sha256=50ca44d0eeff3f8475e630a1accdd974256f3510694d574e2c9d6119ea8bc9e1 google-protobuf (4.35.1-aarch64-linux-musl) sha256=d5c65cef6bd6498a9e5ed5f88cf6cf7e341c10b0a005e32137d5d1a2b6e8c18a google-protobuf (4.35.1-arm64-darwin) sha256=d9c957df04fa89c749fa9a72a7b383eb4296efc9b2303dc6fd6fbe39c698ad6b @@ -716,6 +724,7 @@ CHECKSUMS mdl (0.18.1) sha256=14c7ab8264bbeac4010bd54adb5d125cf1d29b3848c3b6bfacb239b8bc70037a mediawiki_api (0.9.0) sha256=a4d77e35f8f608b923657da5f284a2b7beb130f443db910a0c10f3ca1641d1d3 mercenary (0.4.0) sha256=b25a1e4a59adca88665e08e24acf0af30da5b5d859f7d8f38fba52c28f405138 + merkle-hash-tree (0.1.1) sha256=6493395740eb5122b24f42c62a4df30a02804efd9d1261bda843d4e7da7d3137 merkle_tree (0.2.0) sha256=12c8d37085edf856022434a49e397877a7772316c13d801ecb750f5c498416f1 method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5 mime-types (3.7.0) sha256=dcebf61c246f08e15a4de34e386ebe8233791e868564a470c3fe77c00eed5e56 @@ -802,12 +811,12 @@ CHECKSUMS securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 shale (1.2.2) sha256=e298bd0658e2651c76a1a4ffc7db8d43592288181d28d78ce5748c8525094cca sorbet-runtime (0.6.13421) sha256=a19fac29c0f9dde55ab203ddc57c0e6f68d644ef951e09f41a092cc64cce5262 - sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc - sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d - sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2 - sqlite3 (2.9.5-x86_64-darwin) sha256=8e9caae38bd7ebb29cbeee3e7ab1d12dc2327d9a1b92c7fcf0dda05589627a81 - sqlite3 (2.9.5-x86_64-linux-gnu) sha256=233dbcb6714148dd23bc5aeb33e8efd6eac974969564ddd5794c23d5f52b231e - sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2 + sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c + sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9 + sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b + sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3 + sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634 + sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf steep (2.0.0) sha256=6eb0ecc09637bbb54f0a5f2cf63daea6d3208ccace64b4f1107d976333605c30 strptime (0.2.5) sha256=98ed77ff7717a47387ba473614f478e78b162d70a64072fd71d54f547e079af9 strscan (3.1.8) sha256=aae2db611a225559f21ffbb71765c9a4e60fd262534a9ea84f4f11c7f32f679e diff --git a/_data/asn1/ANSI-X9-62.asn b/_data/asn1/ANSI-X9-62.asn new file mode 100644 index 00000000..c6dacfea --- /dev/null +++ b/_data/asn1/ANSI-X9-62.asn @@ -0,0 +1,385 @@ +-- ASN module extracted from ITU-T X.894 (10/2018) +-- 22 Module ANSI-X9-62 +ANSI-X9-62 {iso (1) member-body (2) us (840) 10045 module (0) 2} +DEFINITIONS EXPLICIT TAGS ::= BEGIN + +-- EXPORTS All; +-- IMPORTS None; +-- ============================================ +-- Notes +-- ============================================ +-- 1. Definitions in this module are arranged to minimize forward references, +-- Reading backwards gives a top-down approach more like X9.62-1998. +-- 2. Most comments briefly explain subsequent definition. +-- ============================================ +-- Common Object Identifier (see E.2) +-- ============================================ +-- The root OID for this module. +ansi-X9-62 OBJECT IDENTIFIER ::= {iso (1) member-body (2) us (840) 10045} + +-- ============================================ +-- Definition for Algorithm Identifiers (see E.3) +-- ============================================ +-- Information object class used to for algorithm identifiers. +-- Note: Original X9.62-1998 was TYPE-IDENTIFIER +-- New version here agrees with X9.63-2001 +ALGORITHM ::= CLASS { + &id OBJECT IDENTIFIER UNIQUE, + &Type OPTIONAL +} +WITH SYNTAX { + OID &id [PARMS &Type] +} + +-- X9.62 profile of a common ASN.1 type AlgorithmIdentifier, +-- The X9.62 version is a parameterized type, to allow restrictions. +AlgorithmIdentifier {ALGORITHM: IOSet} ::= SEQUENCE { + algorithm ALGORITHM.&id ({IOSet}), + parameters ALGORITHM.&Type ({IOSet} {@algorithm}) OPTIONAL +} + +-- ============================================ +-- Hash Functions (see E.4) +-- ============================================ +-- Inherited OID for SHA1 +sha-1 OBJECT IDENTIFIER ::= {iso (1) identified-organization (3) oiw (14) secsig (3) algorithm (2) 26} + +-- New OID for SHA224 +id-SHA224 OBJECT IDENTIFIER ::= {joint-iso-itu-t (2) country (16) us (840) organization (1) gov (101) csor (3) nistalgorithm (4) hashalgs (2) 4} + +-- Inherited OID for SHA256 +id-SHA256 OBJECT IDENTIFIER ::= {joint-iso-itu-t (2) country (16) us (840) organization (1) gov (101) csor (3) nistalgorithm (4) hashalgs (2) 1} + +-- Inherited OID for SHA384 +id-SHA384 OBJECT IDENTIFIER ::= {joint-iso-itu-t (2) country (16) us (840) organization (1) gov (101) csor (3) nistalgorithm (4) hashalgs (2) 2} + +-- Inherited OID for SHA512 +id-SHA512 OBJECT IDENTIFIER ::= {joint-iso-itu-t (2) country (16) us (840) organization (1) gov (101) csor (3) nistalgorithm (4) hashalgs (2) 3} + +-- Information object set of Approved hash functions +ANSIX9HashFunctions ALGORITHM ::= { + {OID sha-1} | + {OID sha-1 PARMS NULL} | + {OID id-SHA224} | + {OID id-SHA224 PARMS NULL} | + {OID id-SHA256} | + {OID id-SHA256 PARMS NULL} | + {OID id-SHA384} | + {OID id-SHA384 PARMS NULL} | + {OID id-SHA512} | + {OID id-SHA512 PARMS NULL}, + ... -- Additional hash functions may be added +} + +-- Type (parameterized) to indicate the hash function with +-- the OID ecdsa-with-Specified +HashAlgorithm ::= AlgorithmIdentifier {{ANSIX9HashFunctions}} + +-- ============================================ +-- Finite Field Identification (see E.5) +-- ============================================ +-- Finite field element +FieldElement ::= OCTET STRING + +-- Root OID for identifying field types +id-fieldType OBJECT IDENTIFIER ::= {ansi-X9-62 fieldType (1)} + +-- OID identifying prime field types +prime-field OBJECT IDENTIFIER ::= {id-fieldType prime (1)} + +-- Parameters for prime field +Prime-p ::= INTEGER -- Finite field F(p), where p is an odd prime + +-- OID for identifying binary field +characteristic-two-field OBJECT IDENTIFIER ::= {id-fieldType characteristic-two (2)} + +-- Root OID for identifying binary field basis types +id-characteristic-two-basis OBJECT IDENTIFIER ::= {characteristic-two-field basisType (3)} + +-- OID to identify a Gaussian normal basis. +gnBasis OBJECT IDENTIFIER ::= {id-characteristic-two-basis gaussian (1)} + +-- OID to identify a trinomial basis. +tpBasis OBJECT IDENTIFIER ::= {id-characteristic-two-basis trinomial (2)} + +-- Trinomial basis representation of F2^m +-- Integer k for reduction polynomial x^m + x^k + 1 +Trinomial ::= INTEGER + +-- OID to identify a pentanomial basis. +ppBasis OBJECT IDENTIFIER ::= {id-characteristic-two-basis pentanomial (3)} + +-- Pentanomial basis representation of F2^m +-- reduction polynomial integers k1, k2, k3 +-- f(x) = x^m + x^k3 + x^k2 + x^k1 + 1 +Pentanomial ::= SEQUENCE { + k1 INTEGER, + k2 INTEGER, + k3 INTEGER +} + +-- The object class for binary field basis types +CHARACTERISTIC-TWO ::= TYPE-IDENTIFIER + +-- Allowable basis types are given the following info object set +BasisTypes CHARACTERISTIC-TWO ::= { + {NULL IDENTIFIED BY gnBasis} | + {Trinomial IDENTIFIED BY tpBasis} | + {Pentanomial IDENTIFIED BY ppBasis}, + ... -- Additional basis types may be added +} + +-- Parameters for a binary field +Characteristic-two ::= SEQUENCE { + m INTEGER, -- Field size is 2^m + basis CHARACTERISTIC-TWO.&id ({BasisTypes}), + parameters CHARACTERISTIC-TWO.&Type ({BasisTypes} {@basis}) +} + +-- Information object class used to constrain fields +FIELD-ID ::= TYPE-IDENTIFIER -- ISO/IEC 8824-2:1995(E), Annex A + +-- Field types are constrained with this information object set +FieldTypes FIELD-ID ::= { + {Prime-p IDENTIFIED BY prime-field} | + {Characteristic-two IDENTIFIED BY characteristic-two-field}, + ... -- Additional field types may be added +} + +-- Finite fields have a type (prime or binary) and parameters (size and basis) +FieldID {FIELD-ID: IOSet} ::= SEQUENCE { -- Finite field + fieldType FIELD-ID.&id ({IOSet}), + parameters FIELD-ID.&Type ({IOSet} {@fieldType}) +} + +-- ============================================ +-- Elliptic Curve Points (see E.6) +-- ============================================ +ECPoint ::= OCTET STRING + +-- ============================================ +-- Elliptic Curve Domain Parameters (see E.7) +-- ============================================ +-- Identifying an elliptic curve by its coefficients (and optional seed) +Curve ::= SEQUENCE { + a FieldElement, -- Elliptic curve coefficient a + b FieldElement, -- Elliptic curve coefficient b + seed BIT STRING OPTIONAL +-- Shall be present if used in SpecifiedECDomain with version of +-- ecdpVer2 or ecdpVer3 +} + +-- Type used to control version of EC domain parameters +SpecifiedECDomainVersion ::= INTEGER { + ecdpVer1 (1), + ecdpVer2 (2), + ecdpVer3 (3) + } + +-- Identifying elliptic curve domain parameters explicitly with this type +SpecifiedECDomain ::= SEQUENCE { + version SpecifiedECDomainVersion (ecdpVer1 | ecdpVer2 | ecdpVer3), + fieldID FieldID {{FieldTypes}}, + curve Curve, + base ECPoint, -- Base point G + order INTEGER, -- Order n of the base point + cofactor INTEGER OPTIONAL, -- The integer h = #E(Fq)/n + hash HashAlgorithm OPTIONAL, + ... -- Additional parameters may be added +} + +-- Arc in X9.62 for naming EC domain parameters that are not named elsewhere +ellipticCurve OBJECT IDENTIFIER ::= {ansi-X9-62 curves (3)} + +-- Arc in X9.62 for identifying prime order elliptic curve domain parameters +primeCurve OBJECT IDENTIFIER ::= {ellipticCurve prime (1)} + +-- Arc from SEC2 that names EC domain parameters and is used again in X9.62 +secgCurve OBJECT IDENTIFIER ::= {iso (1) identified-organization (3) certicom (132) curve (0)} + +-- Named EC domain parameters in X9.62 +ansix9t163k1 OBJECT IDENTIFIER ::= {secgCurve 1} + +ansix9t163r1 OBJECT IDENTIFIER ::= {secgCurve 2} + +ansix9t163r2 OBJECT IDENTIFIER ::= {secgCurve 15} + +ansix9t193r1 OBJECT IDENTIFIER ::= {secgCurve 24} + +ansix9t193r2 OBJECT IDENTIFIER ::= {secgCurve 25} + +ansix9t233k1 OBJECT IDENTIFIER ::= {secgCurve 26} + +ansix9t233r1 OBJECT IDENTIFIER ::= {secgCurve 27} + +ansix9t239k1 OBJECT IDENTIFIER ::= {secgCurve 3} + +ansix9t283k1 OBJECT IDENTIFIER ::= {secgCurve 16} + +ansix9t283r1 OBJECT IDENTIFIER ::= {secgCurve 17} + +ansix9t409k1 OBJECT IDENTIFIER ::= {secgCurve 36} + +ansix9t409r1 OBJECT IDENTIFIER ::= {secgCurve 37} + +ansix9t571k1 OBJECT IDENTIFIER ::= {secgCurve 38} + +ansix9t571r1 OBJECT IDENTIFIER ::= {secgCurve 39} + +ansix9p160k1 OBJECT IDENTIFIER ::= {secgCurve 9} + +ansix9p160r1 OBJECT IDENTIFIER ::= {secgCurve 8} + +ansix9p160r2 OBJECT IDENTIFIER ::= {secgCurve 30} + +ansix9p192k1 OBJECT IDENTIFIER ::= {secgCurve 31} + +ansix9p192r1 OBJECT IDENTIFIER ::= {primeCurve 1} + +ansix9p224k1 OBJECT IDENTIFIER ::= {secgCurve 32} + +ansix9p224r1 OBJECT IDENTIFIER ::= {secgCurve 33} + +ansix9p256k1 OBJECT IDENTIFIER ::= {secgCurve 10} + +ansix9p256r1 OBJECT IDENTIFIER ::= {primeCurve 7} + +ansix9p384r1 OBJECT IDENTIFIER ::= {secgCurve 34} + +ansix9p521r1 OBJECT IDENTIFIER ::= {secgCurve 35} + +-- The object class and syntax for naming elliptic curve domain parameters. +ECDOMAIN ::= CLASS { + &id OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX { + ID &id +} + +-- Information object set for named elliptic curve domain parameter +ANSIX9NamedDomains ECDOMAIN ::= { + {ID ansix9t163k1} | -- L.5.2.2 + {ID ansix9t163r2} | -- L.5.2.3 + {ID ansix9t233k1} | -- L.5.3.2 + {ID ansix9t233r1} | -- L.5.3.3 + {ID ansix9t283k1} | -- L.5.4.2 + {ID ansix9t283r1} | -- L.5.4.3 + {ID ansix9t409k1} | -- L.5.5.2 + {ID ansix9t409r1} | -- L.5.5.3 + {ID ansix9t571k1} | -- L.5.6.2 + {ID ansix9t571r1} | -- L.5.6.3 + {ID ansix9p192k1} | -- L.6.2.2 + {ID ansix9p192r1} | -- L.6.2.3 + {ID ansix9p224k1} | -- L.6.3.2 + {ID ansix9p224r1} | -- L.6.3.3 + {ID ansix9p256k1} | -- L.6.4.2 + {ID ansix9p256r1} | -- L.6.4.3 + {ID ansix9p384r1} | -- L.6.5.2 + {ID ansix9p521r1}, -- L.6.6.2 + ... -- Additional named EC domain parameters may be added. +} + +-- Type for identifying elliptic curve domain parameters +ECDomainParameters ::= CHOICE { + specified SpecifiedECDomain, -- Full specification + named ECDOMAIN.&id ({ANSIX9NamedDomains}), -- Named + implicitCA NULL -- Parameters same as issuer CA +} + +-- ============================================ +-- Elliptic Curve Digital Signatures (see E.8) +-- ============================================ +-- Format for an actual signature +ECDSA-Sig-Value ::= SEQUENCE { + r INTEGER, + s INTEGER +} + +-- Root OID to identify types of signatures +id-ecSigType OBJECT IDENTIFIER ::= {ansi-X9-62 signatures (4)} + +-- Original X9.62-1998 OID for ECDSA +ecdsa-with-Sha1 OBJECT IDENTIFIER ::= {id-ecSigType sha1 (1)} + +-- New OID indicating the message digest to be the natural size hash +-- Note: the natural size hash is strongly recommended +ecdsa-with-Recommended OBJECT IDENTIFIER ::= {id-ecSigType recommended (2)} + +-- New OID that indicates the message digest to be specified by the parameters +ecdsa-with-Specified OBJECT IDENTIFIER ::= {id-ecSigType specified (3)} + +-- New OIDs that indicates the message digest directly +ecdsa-with-Sha224 OBJECT IDENTIFIER ::= {ecdsa-with-Specified 1} + +ecdsa-with-Sha256 OBJECT IDENTIFIER ::= {ecdsa-with-Specified 2} + +ecdsa-with-Sha384 OBJECT IDENTIFIER ::= {ecdsa-with-Specified 3} + +ecdsa-with-Sha512 OBJECT IDENTIFIER ::= {ecdsa-with-Specified 4} + +-- An information object set used to constrain ECC algorithms +ECCAlgorithmSet ALGORITHM ::= { + {OID ecdsa-with-Sha1} | + {OID ecdsa-with-Sha1 PARMS NULL} | + {OID ecdsa-with-Recommended} | + {OID ecdsa-with-Recommended PARMS NULL} | + {OID ecdsa-with-Specified PARMS HashAlgorithm} | + {OID ecdsa-with-Sha224} | + {OID ecdsa-with-Sha256} | + {OID ecdsa-with-Sha384} | + {OID ecdsa-with-Sha512}, + ... -- More ECC algorithms might be added, including key agreement. +} + +-- A type identifying an ECC algorithm +ECCAlgorithm ::= AlgorithmIdentifier {{ECCAlgorithmSet}} + +-- A type identifying one or more ECC algorithms with possible preference +ECCAlgorithms ::= SEQUENCE OF ECCAlgorithm + +-- ============================================ +-- Elliptic Curve Public Keys (see E.9) +-- ============================================ +-- Root OID for identifying types of public keys for X9.62 +id-publicKeyType OBJECT IDENTIFIER ::= {ansi-X9-62 keyType (2)} + +-- Original X9.62-1998 OID for identifying unrestricted EC public key +id-ecPublicKey OBJECT IDENTIFIER ::= {id-publicKeyType unrestricted (1)} + +-- Algorithm identifier (original X9.62-1998) for +-- EC public key without restrictions +ecPublicKeyType ALGORITHM ::= {OID id-ecPublicKey PARMS DomainParameters} + +-- New OID for identifying EC public key with algorithm restrictions +id-ecPublicKeyRestricted OBJECT IDENTIFIER ::= {id-publicKeyType restricted (2)} + +-- Type identified by id-ecPublicKeyRestricted +ECPKRestrictions ::= SEQUENCE { + ecDomain ECDomainParameters, + -- Identifies the EC domain parameters + eccAlgorithms ECCAlgorithms -- Lists the algorithms supported +-- for this public key +} + +-- Algorithm identifier (new) with feature to restrict algorithm usage. +ecPublicKeyTypeRestricted ALGORITHM ::= {OID id-ecPublicKeyRestricted PARMS ECPKRestrictions} + +-- Information object set of allowable algorithm identifiers +-- in a SubjectPublicKeyInfo of a certificate +ECPKAlgorithms ALGORITHM ::= { + ecPublicKeyType | + ecPublicKeyTypeRestricted, + ... -- Additional algorithm identifiers may be added +} + +-- An instantiation of Alg. Id. +ECPKAlgorithm ::= AlgorithmIdentifier {{ECPKAlgorithms}} + +-- X9.62 profile of an X.509 (ASN.1) field contained +-- in X.509 and PKIX certificates +SubjectPublicKeyInfo ::= SEQUENCE { + algorithm ECPKAlgorithm, + subjectPublicKey BIT STRING +} + +END -- ANSI X9.62 \ No newline at end of file diff --git a/_data/certificates/apple/00002002-006480003C854733.der b/_data/certificates/apple/00002002-006480003C854733.der new file mode 100644 index 00000000..4c4924ab Binary files /dev/null and b/_data/certificates/apple/00002002-006480003C854733.der differ diff --git a/_data/certificates/apple/005A-00.der b/_data/certificates/apple/005A-00.der new file mode 100644 index 00000000..b4a7fef8 Binary files /dev/null and b/_data/certificates/apple/005A-00.der differ diff --git a/_data/certificates/apple/054f69945258844bfcd99dda3e63088fa6eb923e.der b/_data/certificates/apple/054f69945258844bfcd99dda3e63088fa6eb923e.der new file mode 100644 index 00000000..aa77c863 Binary files /dev/null and b/_data/certificates/apple/054f69945258844bfcd99dda3e63088fa6eb923e.der differ diff --git a/_data/certificates/apple/054f69945258844bfcd99dda3e63088fa6eb923e.pem b/_data/certificates/apple/054f69945258844bfcd99dda3e63088fa6eb923e.pem new file mode 100644 index 00000000..401a8225 --- /dev/null +++ b/_data/certificates/apple/054f69945258844bfcd99dda3e63088fa6eb923e.pem @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE----- +MIICeTCCAh+gAwIBAgIIay0BwowWAhswCgYIKoZIzj0EAwIwSDElMCMGA1UEAwwc +U0UgU2VjdXJlIEJvb3QgTG9jYWwgUm9vdCBDQTESMBAGA1UECgwJQXBwbGUgSW5j +MQswCQYDVQQGEwJVUzAeFw0xODA3MTUxNzQxNDRaFw0zNTA4MjQwMDI4MDhaMFUx +MTAvBgNVBAMMKDA1NGY2OTk0NTI1ODg0NGJmY2Q5OWRkYTNlNjMwODhmYTZlYjky +M2UxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0C +AQYIKoZIzj0DAQcDQgAEqbxb5h0BGLffRT+Ik++au0GJdFBR3Q6FHF77cRSV5rVm +DmJSl+J18wQPuLc/5Sdb0CS8MEGaruqBgs/2vZ0CRKOB5TCB4jAMBgNVHRMBAf8E +AjAAMB8GA1UdIwQYMBaAFEVhHkmWMpZeYWBqNlhoo540Zz/DMB0GA1UdDgQWBBQF +T2mUUliES/zZndo+YwiPpuuSPjAOBgNVHQ8BAf8EBAMCB4AwgYEGCiqGSIb3Y2QG +AQ8BAf8EcDFu/4TqhZxQQzBBFgRNQU5QMTn/h5uVxmkMMAoWBHNlY2kCAgDI/4eb +ldJkDDAKFgRzZWlkoAIFAP+Hm5XcYwwwChYEc2VuY6ACBQD/hPqJlFAdMBsWBE9C +SlAxE/+Hm5XIaAwwChYEc2VkaKACBQAwCgYIKoZIzj0EAwIDSAAwRQIhAL1RR3qk +z4BNiLBDnjPyxtwIUaHmrMtm4CtMP/vVWdp0AiAytSFw7PRtjIP+/gJ8FJMgm1eL +9oSP+BParx/IzAv/ig== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/14_9d_99_85_45_2e_172.19.203.44.der b/_data/certificates/apple/14_9d_99_85_45_2e_172.19.203.44.der new file mode 100644 index 00000000..bf3757a0 Binary files /dev/null and b/_data/certificates/apple/14_9d_99_85_45_2e_172.19.203.44.der differ diff --git a/_data/certificates/apple/14_9d_99_88_3b_62_172.29.215.195.der b/_data/certificates/apple/14_9d_99_88_3b_62_172.29.215.195.der new file mode 100644 index 00000000..b0e2c4bf Binary files /dev/null and b/_data/certificates/apple/14_9d_99_88_3b_62_172.29.215.195.der differ diff --git a/_data/certificates/apple/14_9d_99_88_3f_3f_172.29.216.191.der b/_data/certificates/apple/14_9d_99_88_3f_3f_172.29.216.191.der new file mode 100644 index 00000000..34e00ee4 Binary files /dev/null and b/_data/certificates/apple/14_9d_99_88_3f_3f_172.29.216.191.der differ diff --git a/_data/certificates/apple/AAD8B40A7F8EDF1474BEB5368899030381B049D41CC1E2F8799B1589300BDBEF.der b/_data/certificates/apple/AAD8B40A7F8EDF1474BEB5368899030381B049D41CC1E2F8799B1589300BDBEF.der new file mode 100644 index 00000000..c01da4a3 Binary files /dev/null and b/_data/certificates/apple/AAD8B40A7F8EDF1474BEB5368899030381B049D41CC1E2F8799B1589300BDBEF.der differ diff --git a/_data/certificates/apple/APPLE.der b/_data/certificates/apple/APPLE.der new file mode 100644 index 00000000..674a6e8d Binary files /dev/null and b/_data/certificates/apple/APPLE.der differ diff --git a/_data/certificates/apple/AVP Secure Boot Root CA - G1.pem b/_data/certificates/apple/AVP Secure Boot Root CA - G1.pem new file mode 100644 index 00000000..4ea10b11 --- /dev/null +++ b/_data/certificates/apple/AVP Secure Boot Root CA - G1.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFkzCCA3ugAwIBAgIUerVHPbLrlnifEcNTOheuf95jBA0wDQYJKoZIhvcNAQEM +BQAwUTElMCMGA1UEAwwcQVZQIFNlY3VyZSBCb290IFJvb3QgQ0EgLSBHMTETMBEG +A1UECgwKQXBwbGUgSW5jLjETMBEGA1UECAwKQ2FsaWZvcm5pYTAeFw0yMzAxMTkx +OTQzMzdaFw00ODAxMTYwMDAwMDBaMFExJTAjBgNVBAMMHEFWUCBTZWN1cmUgQm9v +dCBSb290IENBIC0gRzExEzARBgNVBAoMCkFwcGxlIEluYy4xEzARBgNVBAgMCkNh +bGlmb3JuaWEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDCMhpzmTto +7N7q026BHsu8JysyhLjjncVCyWD0W6mWS1iSqH/ylRMJKLHbdGNt4mzBejFb5r2c +GgkXyDxajUkpQ/AMLtvH8s3eTdovCGxIIyMiJIYLan/8uOJg90Vbl3Du1MZFMhX9 +8mI1VnLlyXqOfo0H5NY6KSAeqdz54q2NqfBDbpyqhA2ELsQSN2rMSP/B3m3qUpIw +my2PQaKEA+17t9CQClZr5SIZMZBw9E6uvNuJUgrk1Qfiz+SWXYbboDFsVptJZOci +jqfu8MxB4Skh/W+C7vJmGZUZt5BDGlpBZm//nZTrdHCEbb11T75+QRdffXvNqlur +JtqvCtRXR6ZKs9FNSGHQ2cino2xUhxI/fR3HENVS7YFLg+C2yGgW6whqkqPDfjcj +Fna5jte/AcEd1jeuqSQ/mMurQp6VfY1JYKkxDpUUtCDnmz7+MkdHfYwRQct1zil8 +ucN0cuiQl7hUAfmNdO/5KR3ORq77cw4SlM4PpcK9Bge9+UH8LBLJYwLBpeD9TLYR +H7V6KRGy1m6Elhgz7VIN8oeJe8z8+A8xSE8Z9rQMky5dtR6dovpWUjJZRKp3l0l8 +PNlTYXkWuam5yEA6LLUcRSOXtRAQ+GSbHjSw8GB0rlK3kysJbga1/UkXgNozUZS+ +/IIerzGSICWbA5MJBBg86vulbuZlOTazYwIDAQABo2MwYTAPBgNVHRMBAf8EBTAD +AQH/MB8GA1UdIwQYMBaAFJhkr1ygLtPt1cfYDDlJPiKXOkQdMB0GA1UdDgQWBBSY +ZK9coC7T7dXH2Aw5ST4ilzpEHTAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEM +BQADggIBAGHZ17z6CCPPkDrIdZQZ6lOB3X3K9JHPeqhGYXK7VbjHJUXKKgrgu0+U +6FkQeB7zpATxRMUwbTlwr56KHCNLxAJGA2N5V574XJXmf9rO+PUoELBbA9KRTbUy +bZa5DAfw+WJZukQvwHOVCAyTmyw9K+ge1HB95ZquPUDNs5CSoCZE5suvyT3zR7VF +Bkp09OWLyBfOEM9G73PYWv51T1wVx9Kf+VR3+1iZ48U7C/6tfc4uLRoydCzeWvuK +f2Bgt3cOkbb9LMfHRLASOChzYYwpsi6HMBL1tMjhHl4BW/pVex98V4rvLV//tY+p +bCHWX4znZHuqep9MbWZDnODuYWBc0Wkck6pdyUdw/EiRwNg8KGPBMVGVIydLrBUt +UZTfCqNh81tDER8DUDY07DPbtcsvdMRd2WxTbrNMw2IqYG++xnmDtFBvmKz/nFZw +ZwY8aOUN+jWfGwMC7d/aS6Qo/GCyCnnQWc63Zmyi4V7cgQUBJrZeD8UqGLf9Sjx7 +OD/c8Ooq/vn5PA96HFG9g7WDuu1/eunJjUzkzlmLOxiV9P9c3GvSL34DcrriA4dY +WB6z/s+UXi7oAZC4pYnJTWRT5juhpVwwhKqeSVApp+YiqL6ghWmLaNaQ9c/pYWC2 +oPd6L5AxI5Caz4OP7cw+w1L7glf9IkcotuuwWiX9c2VVV30STrsI +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Accessories Software Authentication Root CA.der b/_data/certificates/apple/Accessories Software Authentication Root CA.der new file mode 100644 index 00000000..fadad77f Binary files /dev/null and b/_data/certificates/apple/Accessories Software Authentication Root CA.der differ diff --git a/_data/certificates/apple/Apple Accessories Certification Authority - 00000000.der b/_data/certificates/apple/Apple Accessories Certification Authority - 00000000.der new file mode 100644 index 00000000..87e5f3d9 Binary files /dev/null and b/_data/certificates/apple/Apple Accessories Certification Authority - 00000000.der differ diff --git a/_data/certificates/apple/Apple Accessories Certification Authority - 00000000_1.der b/_data/certificates/apple/Apple Accessories Certification Authority - 00000000_1.der new file mode 100644 index 00000000..cf7a3487 Binary files /dev/null and b/_data/certificates/apple/Apple Accessories Certification Authority - 00000000_1.der differ diff --git a/_data/certificates/apple/Apple Accessories Certification Authority - 00000001.der b/_data/certificates/apple/Apple Accessories Certification Authority - 00000001.der new file mode 100644 index 00000000..94385029 Binary files /dev/null and b/_data/certificates/apple/Apple Accessories Certification Authority - 00000001.der differ diff --git a/_data/certificates/apple/Apple Accessories Certification Authority - 00000001_1.der b/_data/certificates/apple/Apple Accessories Certification Authority - 00000001_1.der new file mode 100644 index 00000000..06df2da7 Binary files /dev/null and b/_data/certificates/apple/Apple Accessories Certification Authority - 00000001_1.der differ diff --git a/_data/certificates/apple/Apple Accessories Certification Authority - 00000002.der b/_data/certificates/apple/Apple Accessories Certification Authority - 00000002.der new file mode 100644 index 00000000..db8af775 Binary files /dev/null and b/_data/certificates/apple/Apple Accessories Certification Authority - 00000002.der differ diff --git a/_data/certificates/apple/Apple Accessories Certification Authority - 00000003.der b/_data/certificates/apple/Apple Accessories Certification Authority - 00000003.der new file mode 100644 index 00000000..c3661558 Binary files /dev/null and b/_data/certificates/apple/Apple Accessories Certification Authority - 00000003.der differ diff --git a/_data/certificates/apple/Apple Accessories Certification Authority - 00000006.der b/_data/certificates/apple/Apple Accessories Certification Authority - 00000006.der new file mode 100644 index 00000000..69b00050 Binary files /dev/null and b/_data/certificates/apple/Apple Accessories Certification Authority - 00000006.der differ diff --git a/_data/certificates/apple/Apple Accessory Host Attestation Authority - 00000001.der b/_data/certificates/apple/Apple Accessory Host Attestation Authority - 00000001.der new file mode 100644 index 00000000..43a4c4e3 Binary files /dev/null and b/_data/certificates/apple/Apple Accessory Host Attestation Authority - 00000001.der differ diff --git a/_data/certificates/apple/Apple Accessory Host Attestation Authority - 00000002.der b/_data/certificates/apple/Apple Accessory Host Attestation Authority - 00000002.der new file mode 100644 index 00000000..10b8f149 Binary files /dev/null and b/_data/certificates/apple/Apple Accessory Host Attestation Authority - 00000002.der differ diff --git a/_data/certificates/apple/Apple Accessory Host Attestation Authority - 00000006.der b/_data/certificates/apple/Apple Accessory Host Attestation Authority - 00000006.der new file mode 100644 index 00000000..96e15406 Binary files /dev/null and b/_data/certificates/apple/Apple Accessory Host Attestation Authority - 00000006.der differ diff --git a/_data/certificates/apple/Apple Accessory Root CA - 00000000.der b/_data/certificates/apple/Apple Accessory Root CA - 00000000.der new file mode 100644 index 00000000..223384b1 Binary files /dev/null and b/_data/certificates/apple/Apple Accessory Root CA - 00000000.der differ diff --git a/_data/certificates/apple/Apple Accessory Root CA - 00000001.der b/_data/certificates/apple/Apple Accessory Root CA - 00000001.der new file mode 100644 index 00000000..d1fb89d7 Binary files /dev/null and b/_data/certificates/apple/Apple Accessory Root CA - 00000001.der differ diff --git a/_data/certificates/apple/Apple Code Signing Certification Authority.der b/_data/certificates/apple/Apple Code Signing Certification Authority.der new file mode 100644 index 00000000..1fc69f3d Binary files /dev/null and b/_data/certificates/apple/Apple Code Signing Certification Authority.der differ diff --git a/_data/certificates/apple/Apple Code Signing Certification Authority.pem b/_data/certificates/apple/Apple Code Signing Certification Authority.pem new file mode 100644 index 00000000..47720b32 --- /dev/null +++ b/_data/certificates/apple/Apple Code Signing Certification Authority.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEDjCCAvagAwIBAgIBITANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzET +MBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMTExMDI0MTcz +OTQxWhcNMjYxMDI0MTczOTQxWjB/MQswCQYDVQQGEwJVUzETMBEGA1UECgwKQXBw +bGUgSW5jLjEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx +MzAxBgNVBAMMKkFwcGxlIENvZGUgU2lnbmluZyBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKKoEXH/DvkLa/gl +DZiBXWtZvVobibPn5e7OOZgjNTlInyGrJ9nunCDwZDgIawynz9xQth0GxFvxXRqb +VGWGcy9i5Ti9ARBkcm18aUdhnBAFJuPrhcIsJNxqwj+I/MysKUyhSXkRmnV25R64 +0NIJtExTePvfGHahj6SpMsqRp7b6l705qs0bUBGIq2rt62bKIEusOy3vqufWyYgt +acKkKmEv24cC86EhuUyfDvj52S3KcgR/Ha5u+j+Is8yjQO4XhxhRlrzP5C2twulZ +Tl0cZTMnA6pno5Mkh8eHeQK5XZizDu7NaQg+jEiSJLJt1zC+z9jkyKeXgdAeI9w4 +mV9h/oUCAwEAAaOBsTCBrjAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYB +BQUHAwMwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjmmmxHdCTgSlVkKcUR+G +2tIgjwkwHwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01/CF4wNgYDVR0fBC8w +LTAroCmgJ4YlaHR0cDovL3d3dy5hcHBsZS5jb20vYXBwbGVjYS9yb290LmNybDAN +BgkqhkiG9w0BAQUFAAOCAQEAcHOt9lIVarcVGN6pKtGddpsesmmWx8LD4SvQ7wdd +cPjaPFpIR9s5bIDKc95iG7c6yqNaHuOH2iVKk5vvcxCTc13j9J1+3g+B9qmZwVhu +nPSJAL7PT/8C0w789fP0choysconDt6o05mPauaZ+2HJT/IXsRhn8DDAxgruyESB +pIm78XlBw+6uyGtnfMxsSYZMAtPTam4YnPhcOMgwh5ow2mcouOKaedqfpTsfUWI7 +IvF+U3waC8PwTdxJRPKIiM46W7md6bK3W1KnxtVYiXK32MyzqBgdUJc/Hdpqrji/ +e3kxvmO594WFF+ltisTiGJQv129SpZmx3USbB3CSiCZ32w== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple DDI Secure Boot Root CA - G1.pem b/_data/certificates/apple/Apple DDI Secure Boot Root CA - G1.pem new file mode 100644 index 00000000..3582096d --- /dev/null +++ b/_data/certificates/apple/Apple DDI Secure Boot Root CA - G1.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFbjCCA1agAwIBAgIUIUsyGk2sOt426DfjCfFSM/58j1EwDQYJKoZIhvcNAQEM +BQAwTzErMCkGA1UEAwwiQXBwbGUgRERJIFNlY3VyZSBCb290IFJvb3QgQ0EgLSBH +MTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwHhcNMjAxMTE4MTkz +MzA2WhcNNDUxMTE1MDAwMDAwWjBPMSswKQYDVQQDDCJBcHBsZSBEREkgU2VjdXJl +IEJvb3QgUm9vdCBDQSAtIEcxMRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQG +EwJVUzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALx3sICdSYe+Qn+s +HbPVIuD9+iAj2rDzJ+X/hWehpEJamdabEMOzHRtT4oo3uMaF7mTCwsAT1MSqAjLJ +dCm2tFAYmBBu0T0PFDPmi6v7QZHLvdmZPEMnN1PGDUjp/HBsBXIEaSOCFc9gVOYB +Q6V8/cN4sVUyWgVz2h+mm5N8HUBmwQbNejC7Sh+Zd/ZJDrEpOi1Ny4zi1OfzZBRH +LScCw//pvMipX2IzWQHZAGrethV73U4cMUqFOZyE/Cw4T4j+J4mlamVlvPZjAHjt +2ATBhjfzJfD4PVlipdiS9Q5Kritzi/8aha/4Cu5DvJCf+sbdQkfGbczbxwLgLZ2y +dMJGqOEAuSar7QqIH2uala4aYI92krQ2Xb2a4J70MquTGStzB8RKzSdQ/vE/qa14 +KSWAqjCn6MVaVtXoWHS8oTKIVhW+ymISuAUIbpKoNQO6Xc/oOKF7+Q0qrQQR8z4T +1rConhln3lZ0ZwgRnyogJO9hcHQ4jTVDSGSJvodXLbjaLbpRVn4a5HYP5Ztrfh5X +bdbcK4E2QGxt9aQWE+77F8aiYFMHfK2Dc+A2aGX/YlrDOgetolcLCMvJh8/xIp0e +vPzosj+AEj5vK4czro8YcON2la+bPxnWlzdY6C3MkHXz8mPQbxDpcsZLF+BGjBTv ++nIP6ImN2sLHRkbCBd7LdrWO8u75AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8w +HQYDVR0OBBYEFGvCXgHDLLG6cIy8xAMnAN1RfxIXMA4GA1UdDwEB/wQEAwIBBjAN +BgkqhkiG9w0BAQwFAAOCAgEABCaqMFJ/xQnP2Q5GfrtmH2Ie28Z3w8liIRwpG6iF +meu0W0TncdwTChLpS161M+eB9xZVhVRRFGacJGd2Nwg0KDKnwuJLMDEiBjFdV34u +1a0Ks9JHXh9Xq2W2G1YR6ZkLbSo1XWo18fV3g6KItGNmfgmzCp3acvfi4aUn2HMM +Am65OWVItA+d3QNfG/rOAieQlkzu4NpLHzyXCZghP0vk63Bsd0Z03GA9/exA1a3J +yIOr3baS88PcWtLdidWi1reP17K6QP62OmKMSbU5LkWgx6YKQVxWfbdXQA3AVf7l +VltJgr/gdzbal/JFG2igeibxomViaud4dVw3Xd3b6zqoxcClIZJN2o0UQXKpjLIf +GJbpVIB2Alwyb42mjGbO+AMgUTO6/Mx29XxkyK/BSofnbjqPsLr/RmqRVAreui3Q +Jo7HScLXWZxPKJ8kdFF+zoHnhrbnMLP1Q9f2uGWiB4yuhFX6Z/3fjspbnCQKq0if +Bxh9bCAAnLkbuMzdhEJVt5b4sL3tCHfT0HvhzT1xG7wICnU0YqnWMDvsZGVL612y +ZJdfxByz32nVDwHO4Uf/229GDwvMC4R3ZbcMJFUc3I/I1FjOHVYgtH0T9JOzcum4 +QIrdZ88ha6/tG6/csCiO/ExORx6Utm/8c+zYD2vtFZiGDEEQ7BjhA4Jy3E+kNbbm +1B0= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple External EC Root.der b/_data/certificates/apple/Apple External EC Root.der new file mode 100644 index 00000000..825a2fab Binary files /dev/null and b/_data/certificates/apple/Apple External EC Root.der differ diff --git a/_data/certificates/apple/Apple External EC Root.pem b/_data/certificates/apple/Apple External EC Root.pem new file mode 100644 index 00000000..6890122d --- /dev/null +++ b/_data/certificates/apple/Apple External EC Root.pem @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIICAzCCAYmgAwIBAgIQdq0Y24gSsFahJp1EkU7r1DAKBggqhkjOPQQDAzBDMR8w +HQYDVQQDDBZBcHBsZSBFeHRlcm5hbCBFQyBSb290MRMwEQYDVQQKDApBcHBsZSBJ +bmMuMQswCQYDVQQGEwJVUzAeFw0yMDAxMjMwMDQ2NDhaFw00NTAxMTgwMDAwMDBa +MEMxHzAdBgNVBAMMFkFwcGxlIEV4dGVybmFsIEVDIFJvb3QxEzARBgNVBAoMCkFw +cGxlIEluYy4xCzAJBgNVBAYTAlVTMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEF8dK +3dI8r7B2oypXHix/OAtiBHVUNrsOt6ose/nos8UJCLPfICexlZYWY0Zs/ySkAPKH +wX/t5yhJs1q8AqqTR2KeX59DyfIliYNiYLtXalmoC7MyJXXXi+/x0kHTV5BLo0Iw +QDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQ/pMCUIHDLO92oVOYUHinMTRQ4 +UzAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIxAJ1NBXVldthwAxQ5 +jkHHsv5T3G7mExhRCh/Etc8iQHV5yphusPWIcRE+O3w4NdcfuQIwW3yH8/bdUZZt ++H7yeDrGpoVV6L0grOFYeRRQPVTD8SIVGIeVZ54ZaYlRLNBV6lJs +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple Extra Content Global Root CA - G1.pem b/_data/certificates/apple/Apple Extra Content Global Root CA - G1.pem new file mode 100644 index 00000000..6e1bbbd0 --- /dev/null +++ b/_data/certificates/apple/Apple Extra Content Global Root CA - G1.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFeDCCA2CgAwIBAgIULS3D3DqIdcLv51EcHKG+Gphln4UwDQYJKoZIhvcNAQEM +BQAwVDEwMC4GA1UEAwwnQXBwbGUgRXh0cmEgQ29udGVudCBHbG9iYWwgUm9vdCBD +QSAtIEcxMRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0yMTEx +MTcxOTAwMTJaFw00NjExMTQwMDAwMDBaMFQxMDAuBgNVBAMMJ0FwcGxlIEV4dHJh +IENvbnRlbnQgR2xvYmFsIFJvb3QgQ0EgLSBHMTETMBEGA1UECgwKQXBwbGUgSW5j +LjELMAkGA1UEBhMCVVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC5 +0cSQT5jHRnfHus1dxKZICMa9mvC6lGXZenwC/z8hDlQd4sqv3k/unHojHFpGE+yw +Bx+sqx3XEtDOTxmqSRRnwQVJO1S/agtTQHUdY5lBxRPmYj8iL6n7RTtnEMw320Nx +qNqvCDsGkPgMKw0Z0YaP7EdOU2EGYcfwfRrQJL5OgelUL92+FnLi75UDacDPsvHz +RmDVXX2pkBUG/q/R5KSL4w7SHw7om0k6ICqSdD0+sXylMgNUZU9T21C1Arauz5hm +lMIs6xhR8YKK4CzF1bhoEPZXkhsmm0EOWm0oD+J0PI1tw2h2VW2O3V6BjGKE0Lbn +bXlYMF9OeT0irzpGBcEH4b/Aj9KCX7oaK3Two4xbgjKwouTdZHCgY1KyChzSY45U +OzBaVr2VyrfzFDar6OKEhAzHGlclJxos4LiF/SNcxNMv+lVJHIOmzUqE0AjdGhMU +aZsEiG33MFBnjnVuvHdORINPUhn0xm5jldqJ6fst49bTEk53+SqZF7v+nlt0NwOP +tk99EFl9Iti/I0xl02c4b8T30DURVqGzJpYevrDCpxkw9hQgPZPvl7YD/PQwZ89D +B4uWsG0abPwBrD5v3nljfn2CYDqlmBjigV8sYqYN6rQgP+014QcMQR30n11GrYR7 +HZnjsY7tBftK7ozmwaXSNH9HdkuldtwRDcYMkAMMVQIDAQABo0IwQDAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBSqYyUdCCxyo4FTbJTShkmViByw0DAOBgNVHQ8B +Af8EBAMCAgQwDQYJKoZIhvcNAQEMBQADggIBAFeoCtIwWR+BtgzcNlYV5oDiMO0q +BkXw5V844OrWhBR+PDLTbHLk0P9WKktj5KAIjJJUQNCm4q9zSIAHbliWRdbRwntG +UbncMmWOWakBbWsjijXb2xJGRueLWFBGnw25xZ6Qqmet3OL2+7Ro2i1uHUxADlPc +DPqgreCNhldF+Nn5jqUipSYoN2RvuR/ELuKzvBGNPHrUl2XaKLSWibXNOuQgKOmi +05iKoS2Ex9BmgvgTXjkopRuMpEZTB/yZUx5OVy/4FjZQ3xaOdgUvmyfc7amTTD/D +KBoBa6i0ySUr6CKBzJPAjzO2zZqNqIMLygD+LZS8x+lFG2+UUt0te+zps2C0i7w/ +eOaxkAQ/URKF9qQuSmYLDLt4KSUjPRD1nVi8Hgkwqyhe/yLSmnJBwLvd7hu3sSQ9 +rOlBuryeHeaPSq2YZBeUI/Jr0vK0KqL75iiHEiSOZt+1GU5XR8knrCTuvkVpitqH +DGMasZ6KntMUSksvFxzyXE8UmpX40W87k/toYCIIjA1RxavIVHYNhatbURK4hQ0A +D20dPjoRW0v5qnEUNu5JIL9SdQ0QUkcJ1KPy8ridaLS9n8hYPpJWYV2MhmcHwu8K +9VFJt3vMRTAWPzpS51AekM2762A8xwjEFrlVe0rerTt11mgFjgNKiaRRtrlRLJ9m +Kx5n4HtqqGtwl9nS +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple FU L3.der b/_data/certificates/apple/Apple FU L3.der new file mode 100644 index 00000000..2c36df9b Binary files /dev/null and b/_data/certificates/apple/Apple FU L3.der differ diff --git a/_data/certificates/apple/Apple FairPlay AAA Certification Authority.der b/_data/certificates/apple/Apple FairPlay AAA Certification Authority.der new file mode 100644 index 00000000..d914b398 Binary files /dev/null and b/_data/certificates/apple/Apple FairPlay AAA Certification Authority.der differ diff --git a/_data/certificates/apple/Apple FairPlay Certificate Authority.der b/_data/certificates/apple/Apple FairPlay Certificate Authority.der new file mode 100644 index 00000000..9b175298 Binary files /dev/null and b/_data/certificates/apple/Apple FairPlay Certificate Authority.der differ diff --git a/_data/certificates/apple/Apple FairPlay Certification Authority.der b/_data/certificates/apple/Apple FairPlay Certification Authority.der new file mode 100644 index 00000000..f25fe393 Binary files /dev/null and b/_data/certificates/apple/Apple FairPlay Certification Authority.der differ diff --git a/_data/certificates/apple/Apple Root CA - G2.der b/_data/certificates/apple/Apple Root CA - G2.der new file mode 100644 index 00000000..739b8141 Binary files /dev/null and b/_data/certificates/apple/Apple Root CA - G2.der differ diff --git a/_data/certificates/apple/Apple Root CA - G2.pem b/_data/certificates/apple/Apple Root CA - G2.pem new file mode 100644 index 00000000..b18fdb6f --- /dev/null +++ b/_data/certificates/apple/Apple Root CA - G2.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFkjCCA3qgAwIBAgIIAeDltYNno+AwDQYJKoZIhvcNAQEMBQAwZzEbMBkGA1UE +AwwSQXBwbGUgUm9vdCBDQSAtIEcyMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMw +HhcNMTQwNDMwMTgxMDA5WhcNMzkwNDMwMTgxMDA5WjBnMRswGQYDVQQDDBJBcHBs +ZSBSb290IENBIC0gRzIxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBANgREkhI2imKScUcx+xuM23+TfvgHN6s +XuI2pyT5f1BrTM65MFQn5bPW7SXmMLYFN14UIhHF6Kob0vuy0gmVOKTvKkmMXT5x +ZgM4+xb1hYjkWpIMBDLyyED7Ul+f9sDx47pFoFDVEovy3d6RhiPw9bZyLgHaC/Yu +OQhfGaFjQQscp5TBhsRTL3b2CtcM0YM/GlMZ81fVJ3/8E7j4ko380yhDPLVoACVd +J2LT3VXdRCCQgzWTxb+4Gftr49wIQuavbfqeQMpOhYV4SbHXw8EwOTKrfl+q04tv +ny0aIWhwZ7Oj8ZhBbZF8+NfbqOdfIRqMM78xdLe40fTgIvS/cjTf94FNcX1RoeKz +8NMoFnNvzcytN31O661A4T+B/fc9Cj6i8b0xlilZ3MIZgIxbdMYs0xBTJh0UT8TU +gWY8h2czJxQI6bR3hDRSj4n4aJgXv8O7qhOTH11UL6jHfPsNFL4VPSQ08prcdUFm +IrQB1guvkJ4M6mL4m1k8COKWNORj3rw31OsMiANDC1CvoDTdUE0V+1ok2Az6DGOe +HwOx4e7hqkP0ZmUoNwIx7wHHHtHMn23KVDpA287PT0aLSmWaasZobNfMmRtHsHLD +d4/E92GcdB/O/WuhwpyUgquUoue9G7q5cDmVF8Up8zlYNPXEpMZ7YLlmQ1A/bmH8 +DvmGqmAMQ0uVAgMBAAGjQjBAMB0GA1UdDgQWBBTEmRNsGAPCe8CjoA1/coB6HHcm +jTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQwF +AAOCAgEAUabz4vS4PZO/Lc4Pu1vhVRROTtHlznldgX/+tvCHM/jvlOV+3Gp5pxy+ +8JS3ptEwnMgNCnWefZKVfhidfsJxaXwU6s+DDuQUQp50DhDNqxq6EWGBeNjxtUVA +eKuowM77fWM3aPbn+6/Gw0vsHzYmE1SGlHKy6gLti23kDKaQwFd1z4xCfVzmMX3z +ybKSaUYOiPjjLUKyOKimGY3xn83uamW8GrAlvacp/fQ+onVJv57byfenHmOZ4VxG +/5IFjPoeIPmGlFYl5bRXOJ3riGQUIUkhOb9iZqmxospvPyFgxYnURTbImHy99v6Z +SYA7LNKmp4gDBDEZt7Y6YUX6yfIjyGNzv1aJMbDZfGKnexWoiIqrOEDCzBL/FePw +N983csvMmOa/orz6JopxVtfnJBtIRD6e/J/JzBrsQzwBvDR4yGn1xuZW7AYJNpDr +FEobXsmII9oDMJELuDY++ee1KG++P+w8j2Ud5cAeh6Squpj9kuNsJnfdBrRkBof0 +Tta6SqoWqPQFZ2aWuuJVecMsXUmPgEkrihLHdoBR37q9ZV0+N0djMenl9MU/S60E +inpxLK8JQzcPqOMyT/RFtm2XNuyE9QoB6he7hY1Ck3DDUOUUi78/w0EP3SIEIwiK +um1xRKtzCTrJ+VKACd+66eYWyi4uTLLT3OUEVLLUNIAytbwPF+E= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple Root CA - G3.der b/_data/certificates/apple/Apple Root CA - G3.der new file mode 100644 index 00000000..228bfa39 Binary files /dev/null and b/_data/certificates/apple/Apple Root CA - G3.der differ diff --git a/_data/certificates/apple/Apple Root CA - G3.pem b/_data/certificates/apple/Apple Root CA - G3.pem new file mode 100644 index 00000000..561fc80d --- /dev/null +++ b/_data/certificates/apple/Apple Root CA - G3.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICQzCCAcmgAwIBAgIILcX8iNLFS5UwCgYIKoZIzj0EAwMwZzEbMBkGA1UEAwwS +QXBwbGUgUm9vdCBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwHhcN +MTQwNDMwMTgxOTA2WhcNMzkwNDMwMTgxOTA2WjBnMRswGQYDVQQDDBJBcHBsZSBS +b290IENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9y +aXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzB2MBAGByqGSM49 +AgEGBSuBBAAiA2IABJjpLz1AcqTtkyJygRMc3RCV8cWjTnHcFBbZDuWmBSp3ZHtf +TjjTuxxEtX/1H7YyYl3J6YRbTzBPEVoA/VhYDKX1DyxNB0cTddqXl5dvMVztK517 +IDvYuVTZXpmkOlEKMaNCMEAwHQYDVR0OBBYEFLuw3qFYM4iapIqZ3r6966/ayySr +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2gA +MGUCMQCD6cHEFl4aXTQY2e3v9GwOAEZLuN+yRhHFD/3meoyhpmvOwgPUnPWTxnS4 +at+qIxUCMG1mihDK1A3UT82NQz60imOlM27jbdoXt2QfyFMm+YhidDkLF1vLUagM +6BgD56KyKA== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple Root CA.pem b/_data/certificates/apple/Apple Root CA.pem new file mode 100644 index 00000000..a27252d0 --- /dev/null +++ b/_data/certificates/apple/Apple Root CA.pem @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIEuzCCA6OgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzET +MBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMDYwNDI1MjE0 +MDM2WhcNMzUwMjA5MjE0MDM2WjBiMQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBw +bGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx +FjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQDkkakJH5HbHkdQ6wXtXnmELes2oldMVeyLGYne+Uts9QerIjAC6Bg+ ++FAJ039BqJj50cpmnCRrEdCju+QbKsMflZ56DKRHi1vUFjczy8QPTc4UadHJGXL1 +XQ7Vf1+b8iUDulWPTV0N8WQ1IxVLFVkds5T39pyez1C6wVhQZ48ItCD3y6wsIG9w +tj8BMIy3Q88PnT3zK0koGsj+zrW5DtleHNbLPbU6rfQPDgCSC7EhFi501TwN22IW +q6NxkkdTVcGvL0Gz+PvjcM3mo0xFfh9Ma1CWQYnEdGILEINBhzOKgbEwWOxaBDKM +aLOPHd5lc/9nXmW8Sdh2nzMUZaF3lMktAgMBAAGjggF6MIIBdjAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUK9BpR5R2Cf70a40uQKb3 +R01/CF4wHwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01/CF4wggERBgNVHSAE +ggEIMIIBBDCCAQAGCSqGSIb3Y2QFATCB8jAqBggrBgEFBQcCARYeaHR0cHM6Ly93 +d3cuYXBwbGUuY29tL2FwcGxlY2EvMIHDBggrBgEFBQcCAjCBthqBs1JlbGlhbmNl +IG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0 +YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBj +b25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZp +Y2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMA0GCSqGSIb3DQEBBQUAA4IBAQBc +NplMLXi37Yyb3PN3m/J20ncwT8EfhYOFG5k9RzfyqZtAjizUsZAS2L70c5vu0mQP +y3lPNNiiPvl4/2vIB+x9OYOLUyDTOMSxv5pPCmv/K/xZpwUJfBdAVhEedNO3iyM7 +R6PVbyTi69G3cN8PReEnyvFteO3ntRcXqNx+IjXKJdXZD9Zr1KIkIxH3oayPc4Fg +xhtbCS+SsvhESPBgOJ4V9T0mZyCKM2r3DYLP3uujL/lTaltkwGMzd/c6ByxW69oP +IQ7aunMZT7XZNn/Bh1XZp5m5MkL72NVxnn6hUrcbvZNCJBIqxw8dtk2cXmPIS4AX +UKqK1drk/NAJBzewdXUh +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple Root Certificate Authority.der b/_data/certificates/apple/Apple Root Certificate Authority.der new file mode 100644 index 00000000..8ccb85c5 Binary files /dev/null and b/_data/certificates/apple/Apple Root Certificate Authority.der differ diff --git a/_data/certificates/apple/Apple Secure Boot Certification Authority.pem b/_data/certificates/apple/Apple Secure Boot Certification Authority.pem new file mode 100644 index 00000000..f1b25ec1 --- /dev/null +++ b/_data/certificates/apple/Apple Secure Boot Certification Authority.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIID+DCCAuCgAwIBAgIBEDANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzET +MBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMDcwMTA1MTky +MTU5WhcNMjIwMTA1MTkyMTU5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBw +bGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx +MjAwBgNVBAMTKUFwcGxlIFNlY3VyZSBCb290IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/vLd2mU5sHLjA4SB +9FbJ0aFKu8gEAfNGDZXhN5UKaUfGxIx5PkdVBrIGFOt+pPUj/kI1mO80Bc6a062U +0KIPwtK0BEhMI1pbxwudYtPz42sQ/pcIV8YSdncZssbDLJjttymH5NwYtuXzuhP7 +sra3Z9nL32+lkz3tepNntP00FuQAqwu3Th9a1gNoPnK2FDA6DGSXoEYieRt3LFsu +kOAR3Baj4cj3hLJP3Es6CtUSftwRP/oRc2UaSXCgfnWCtDwrL1XfMIixdU1F3Aco +LUo6hf2flT4iupxG97doe7OU1UI+BbM4+Gd5SIxsH4u+7u1UBdWjC1h9eA8kqaHc +CnTq9wIDAQABo4GcMIGZMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/ +MB0GA1UdDgQWBBRJPTZTydcV4YZhTqyrqxhWY13DxjAfBgNVHSMEGDAWgBQr0GlH +lHYJ/vRrjS5ApvdHTX8IXjA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vd3d3LmFw +cGxlLmNvbS9hcHBsZWNhL3Jvb3QuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQA0xQzF +DlkRL6bCnzJ452QyadutwiXKt0eDt5I8cVOgsq0wlYBQvW1fTNzOeA1MSRBQOBA1 +v0WBrGZYLCEj+JZegOnTxkz9ha45YfYoqkTtFZs/R8BXrGccjM3Uk41P22pUp3tC +Ww+Zxtc4q1KnoYMdhTB06g0d2miEj+KEfsu5QW7Vn6hCtf8ztnF/6qO53UkDYIV2 +ED6OqOE24xLdhWztZlOwW0ibL3/2yhzwXZgtdK3wSEfF4ZpnsiIPsA4CoOG6amK5 +tLVx9CXhs+Wg7cgaQLX4MRUFpFw4I0yQnUcDgIDUMpBFjw+vm/wC7u3L5jH2nxXm +fStXQw7iD6GgrYna +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple Secure Boot Root CA - G2.pem b/_data/certificates/apple/Apple Secure Boot Root CA - G2.pem new file mode 100644 index 00000000..922040d0 --- /dev/null +++ b/_data/certificates/apple/Apple Secure Boot Root CA - G2.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIIUhVj+f330MYwDQYJKoZIhvcNAQEMBQAwSzEnMCUGA1UE +AwweQXBwbGUgU2VjdXJlIEJvb3QgUm9vdCBDQSAtIEcyMRMwEQYDVQQKDApBcHBs +ZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNDEyMTkyMDEzMTBaFw0zNDEyMTQyMDEz +MTBaMEsxJzAlBgNVBAMMHkFwcGxlIFNlY3VyZSBCb290IFJvb3QgQ0EgLSBHMjET +MBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQDTux7C9K3xbe6PEuTiT84VWqcLfBIhCU4NMmrHyV3q +9tGAlH+lNxMaxzn0sw+X3HsGUsMl7pZKFLcLuj+cMGP6Tjj2AVvsC53iRKXFSS1p +eF8ntKikOo2pfePNo+zK1faCdn11viejG/OiX2xgLnFfwbTdYYurE6lkeeScPKU8 +AAJI1FMQihZmW7CpZ/+o4+q5s47p19/3OmEMUhGWcY6JiZt7jyYUOYFC6Z5LXkKi +apt44yypue085ndbXEocNnstAiM4q9LMPLhfqfseXZRJrHsc6kYDhq7924yk4aOa +xPTTOQ5KS9uzaBSb2E+j/dG6z3SIxRKzHCJGmwqwqmI6bhd2EDg0irLbI4RdmMDp +zNgS2pL9QC6Da7wr79IvXPmJP+euWvdkboKDYhfktPvpFQFCVz1CqPC5f4jtDm56 +zPs3LVfZ19WjZBY1ahZoZefwd0W7u+bUeYcjXZVA2ga+0t63nzmwFIM7VSydcBSw +58ruNS8Yx3ATcCukEb4dupRlpounr8llXHk0rhOaLwrjWRb4dZ/VUfSSrxh8eiWW +gT4krhn5911237dBDSkYAc/vR2dIlnz5L7cthrEiyW2sulzD+R/LMsFCmzQgA8kR +zA5HDWo6nND5NdD62N1QiY2pjfGBptX7wthSEPkrP1Zogclmzt+zjLS34dGbloUx +jwIDAQABo0IwQDAdBgNVHQ4EFgQUaOlZUEXxXQf5P8Qm/BwnYn2eE5QwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEMBQADggIBAIZ+ +tR4606nzPE1DEtOdQmSu0yWNDhiEUvViJAjf0KFML38JZpfuOhzoMGUIDFAoZQcs +vyIC6JkvsiC8R8oqGkGYLbTN4PHKomjdRIafHuRkdLtKk/G2D/I2uwjeqQnLm3hR +F6JD5MtgUgnGAuhW9b7Moe0u6IdzM44gLzOyUVYynwixmk6s9KcH+IzIgPq6NBrr ++4GMZCzUFVid+rl7DY1hGYfgfypQAJ5EE5Ric/2x1/HOguGlwP2smXX2+RjDjapq +GU2zeFWNhw/G6oN561Jzutfxdl1xA5GVPOol1beaq+hnxN26sZMqz43V/rmm5Gzy +t8oU+lYFjTT58e49srJ0hkWF79DPwYF4ls6Tk+Dht2IsZtwxYoqs+DCCKdZzucHJ +8wHpLyb/5td9yThSSMiNd8mkMuvXp/N4VaSr2U2XTc/HFBFDEbuR7+FhGGnGTuCU +7GYohzAmh7VL9H+Qw54XL2y1hiUKzs9l7oIRy1xY3Mh5fxk7KzqB+z2QNQMDtYjH +ob1BNc35civfvbFcN0j/qx6Mded0XZ+O0OSWk1AyZmY/x/l1wmP3NRWKOR9m3/B1 +lrpRGpnx6i+uxpjG/zcW2hmmMvPAjW6ieEnaRKQvCjnMJHSoH4qqyfCexY8H8coB +fV7I/qWEvpCZhDJIVOtg0RIRVaX/wKufbJIwAqLX +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple Secure Boot Root CA - G3.pem b/_data/certificates/apple/Apple Secure Boot Root CA - G3.pem new file mode 100644 index 00000000..e6b3015d --- /dev/null +++ b/_data/certificates/apple/Apple Secure Boot Root CA - G3.pem @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIEWjCCAsKgAwIBAgIIM/p+MC8+KrYwDQYJKoZIhvcNAQEMBQAwSzEnMCUGA1UE +AwweQXBwbGUgU2VjdXJlIEJvb3QgUm9vdCBDQSAtIEczMRMwEQYDVQQKDApBcHBs +ZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNjA4MTYyMjM4MDNaFw0zNjA4MTEyMjM4 +MDNaMEsxJzAlBgNVBAMMHkFwcGxlIFNlY3VyZSBCb290IFJvb3QgQ0EgLSBHMzET +MBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwggGiMA0GCSqGSIb3DQEB +AQUAA4IBjwAwggGKAoIBgQCsCAkS+0AeZNRR82gi7FW3JrrCQtRgrTE20hXHmR6e +72dGWl4s5QaEXP/x4wTh0y6FvXyAWxzpTMTzHf55/rw6z0Y37uCTh1eGvYpyLZ37 +OT0n+vkuZr+CQP1wMcfZFAzaZEu8Bd+D81F+ol/ISnAA1TFgWfWVsC8Xrt+ZQlvz +GFPewxavdawtRFdxfLrJG9Gl4xi8bxZMwY88oeDOaMd09Amz/gD0gf0XF7G7HjtR +Otv/g+J/ZGMN4kyr6tm4cMfmWhAntU76pQQGsARLL5cHY91ScAYM5o/S6DTn785N +Ulp2e4qVrksfrnpU17bv18fqOXbFdYc8EELY785MfAlP4jupxDmZ0tEgJB5LJl6G +7VWEwk4jGYvnbhA7MpYQtoonuV18KtwhfmqoLqOaGB/NQsOa3w61oDPZ215IiV6p +YlpzE1AyDnnNUZQxYJUgEbUNSBQAPsjcUGdgRWvvzc7RdZalXIPMHElup+Pe5xCt +hvEH3l0Na171FryI5G/SPYUCAwEAAaNCMEAwHQYDVR0OBBYEFI0wWRyTREBso8eq +J+PrhIFqfNTwMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqG +SIb3DQEBDAUAA4IBgQAK920kbx2METsIlJAGW01pp9FBQJGhGI5vRfumtyQg/HxC +2gl3RR1lntXmMBJklemt9PZ7ZmX/lxo4TUksOnvEV1Kz7S+tS8ImwC0719kVDe8K +q1oqPf1ZZ/4IQvSSDkYD9OUD6kRTqx/sZ1HBYydokajxxJQMDKuTHVC7H+YE4qYc +V4Ut8/3M1axN962LxnmmdUHZNrggn4cF8qWBc27E9+zH6y15Z0jFOBSOvseUPADf +52iaYaj8sk+6yTLFwwkoVvCcOqx3m7tGrUvAfbuf4zJs5sB8aNME/K8nnwzQ0zVk +wmpUWcc02XNGMS3fNGTd27dKuUXkVKEOTnukLug24hl/4DstnFFmD57Tsl7ouhku +SI+nsjusg7HLSyZ6byJMuRnrjfNTmBTIhLYeaJM4oaZzzRDp40H3kTnlzgn1bC/t +qzlSHDX+L+HAi3WueI/UgJcAF+xvF6OfgtdLqRirjXiEs2iEzhPP/xB72P8goTPK +Pq4JpJfo+y6LSs0kV5I= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple Secure Boot Root CA - G6.pem b/_data/certificates/apple/Apple Secure Boot Root CA - G6.pem new file mode 100644 index 00000000..1d01a672 --- /dev/null +++ b/_data/certificates/apple/Apple Secure Boot Root CA - G6.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFYjCCA0qgAwIBAgIQeFbj1t9hN52rTaatVRfcvzANBgkqhkiG9w0BAQwFADBL +MScwJQYDVQQDDB5BcHBsZSBTZWN1cmUgQm9vdCBSb290IENBIC0gRzYxEzARBgNV +BAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE5MDgyMTE4MjkxOFoXDTQ0 +MDgyMTE4MjkxOFowSzEnMCUGA1UEAwweQXBwbGUgU2VjdXJlIEJvb3QgUm9vdCBD +QSAtIEc2MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBALWs6efoILi1jM6kBx9p+oty4CqBwKGs +ZcZkDOLSHsG82UJ//ndfchBOMnxzbuHKA5DSRAzup3MKnbAaSs69/MGeFRfYVtGr +jCM6za1uL3d5bzLfJ56p9yxfUK9hEmavajy+F5H0aNozlhM2D0cs7RBTEtyuMfZJ +3mAzK/XqWZU1apgMpS6CXmmMCEITX+DhRqyT85TSnrgDiwGjzSIJxAhBRtgFtquN +ti20R+TsRp7taVh43oZ343TN7ZGmCsbsD58t/byr9GLadXcju1CxC1iJV1ZLxgb+ +v3Zyoz7o0O14VlUxzVodgXKtSKwYPWApmR19ZTX055wGcNfBhNIy1HDrgmwyCgae +/waR5sWqHUI5XsFtYniVYmFhu+mXLoaEoweFH9jIZtQl5ny9vDot0Gpomjq082IE +4RGZq/E66LjQBWHQIBQqe5A3raJvV5CHIG87zFQ8wSk2+iI0+3LerT/3CFc+qHvD +SKVhWFlZtlfba/EmeK7w6ngTm7YyGHPIGYut37kegJtiO3eAQjvL0jIBHtmiqD4U +oWQOKxFVpqBErmqE/pSuXktphilUbtr2FndlqjnSDL977t2LD0QWpJCL6K6O+Apf +UW6ESYxjmtnH7RBgcm0IytC+OQSql/sA9hxTbuAIVk4v1ETLcVQt244N3uNkNgYF +DcrYKMGCKGl7AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFO3 +hLSx6Dg8lu+kVi76M9zxEJDgMA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQwF +AAOCAgEAdRxeXpRnTjUgtNuvAu3rIQGIC7m6BL326c6LkrWrZ0D4qy8WTWboEXz8 +vhrGc0i6zGoxv1dL3P5udY+u6fTW4NkFM8c72zIXHOF0UcKsJ5EobFehTL9P/QUv +rVuVr2kNMYutXcolmrvC/c84Cdn3n3s56dLh4bTxow6VRnlkedLJJNa82GSJKBe2 +C23Fta1e6QhZJONgayLqbfeu7sozM/RygmFa3IcpopjWUWdRJCL8o6N3YD7HnrDS +TMHP/yHWF4kr9V/D69aSIE8QehLHWxvl2Qq+5AjCu0rdh/OdzOi4k+SH3xIxdquY +QOAK70BZ5TKaCc8JVfpNqri9O5IYEkrDcCmxg7DjX1SHDXQQaTJbeQX8RmUsLm/0 +3+xlX+N+64MYO8IDxubV7ld9VMWdDk84m8VXKYxy40w+hHH1MRH7rvbKd1X0HtrL +FpVxA5ZBXzIS3nvOo9PnEH3EuzYbEwcBST2Ho1IXRo6BLlpSlY3E2ZuzpEfm6heK +jsMqjq6EiUJeklELyFH4xtw9wzp7SGOGzDoi2d5ErtE3n1Ns8xtTTugDhmdeXG8Z +RhRBlOagUbJL1uG/pUvfmY7ekewPNo9gFvJ3HB9/pWiwfWMFNx203PYBZbmHudHE +kl3vfghYoZcXMoIYSAHoE8bUimxLLtGnOzr5Zu3H4E0ghAreJmU= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple Server Authentication CA.der b/_data/certificates/apple/Apple Server Authentication CA.der new file mode 100644 index 00000000..2cd4bebd Binary files /dev/null and b/_data/certificates/apple/Apple Server Authentication CA.der differ diff --git a/_data/certificates/apple/Apple Server Authentication CA.pem b/_data/certificates/apple/Apple Server Authentication CA.pem new file mode 100644 index 00000000..ca136cbe --- /dev/null +++ b/_data/certificates/apple/Apple Server Authentication CA.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIID+DCCAuCgAwIBAgIII2l0BK3LgxQwDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE +BhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MRYwFAYDVQQDEw1BcHBsZSBSb290IENBMB4XDTE0 +MDMwODAxNTMwNFoXDTI5MDMwODAxNTMwNFowbTEnMCUGA1UEAwweQXBwbGUgU2Vy +dmVyIEF1dGhlbnRpY2F0aW9uIENBMSAwHgYDVQQLDBdDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5Jhawy4ercRWSjt+qPuGA11O6pGDM +fIVy9zB8CU9XDUr/4V7JS1ATAmSxvTk10dcEUcEY+iL6rt+YGNa/Tk1DEPoliJ/T +QIV25SKBtlRFc5qL45xIGoZ6w1Hi2pX4pH3bMN5sDsTF9WyY56b6VyAdGXN6Ds1j +D7cniC7hmmiCuEBsYxYkZivnsuJUfeeIOaIbgT4C0znYl3dKMgzWCgqzBJvxcm9j +qBUebDfoD9tTkNYpXLxqV5tGeAo+JOqaP6HYP/XbbqhsgrXdmTjsklaUpsVzJtGu +CLLGUueOdkuJuFQPbuDZQtsqZYdGFLuWuFe7UeaEE/cNobaJrHzRIXSrAgMBAAGj +gaYwgaMwHQYDVR0OBBYEFCzFbVLdMe+M7AiB7d/cykMARQHQMA8GA1UdEwEB/wQF +MAMBAf8wHwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01/CF4wLgYDVR0fBCcw +JTAjoCGgH4YdaHR0cDovL2NybC5hcHBsZS5jb20vcm9vdC5jcmwwDgYDVR0PAQH/ +BAQDAgEGMBAGCiqGSIb3Y2QGAgwEAgUAMA0GCSqGSIb3DQEBCwUAA4IBAQAj8QZ+ +UEGBol7TcKRJka/YzGeMoSV9xJqTOS/YafsbQVtE19lryzslCRry9OPHnOiwW/Df +3SIlERWTuUle2gxmel7Xb/Bj1GWMxHpUfVZPZZr92sSyyLC4oct94EeoQBW4Fhnt +W2GO36rQzdI6wH46nyJO39/0ThrNk//Q8EVVZDM+1OXaaKATinYwJ9S/+B529vnD +AO+xg+pTbVw1xw0HAbr4Ybn+xZprQ2GBA+u6X3Cd6G+UJEvczpKoLqI1PONJ4BZ3 +otxruY0YQrk2lkMyxst2mTU22FbGmF3Db6V+lcLVegoCIGZ4kvJnpCMN6Am9zCEx +EKC9vrXdTN1GA5mZ +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple Server CA.der b/_data/certificates/apple/Apple Server CA.der new file mode 100644 index 00000000..44c09ffe Binary files /dev/null and b/_data/certificates/apple/Apple Server CA.der differ diff --git a/_data/certificates/apple/Apple Server CA.pem b/_data/certificates/apple/Apple Server CA.pem new file mode 100644 index 00000000..26fcd8c1 --- /dev/null +++ b/_data/certificates/apple/Apple Server CA.pem @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEojCCA4qgAwIBAgIQfq3aQGoF91CE3bGgfnYWgjANBgkqhkiG9w0BAQsFADBs +MQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBw +bGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIDAeBgNVBAMTF0FwcGxlIFByb2Zp +bGUgUm9vdCBDQSAxMB4XDTE0MDQxNzAwMDAwMFoXDTI5MDQxNjIzNTk1OVowZDEL +MAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxl +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRgwFgYDVQQDEw9BcHBsZSBTZXJ2ZXIg +Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMOJGl91Yw/1QSCis/ +W5IlhmKKiff2H1iwKcVSTH5/hoaegyHkt98HVVMaXk9ijCyGF4NDCoSzt4BKylXD +gVWrF3Aq5pAi8TFMh6uSUqbSJoWoKvZMzvRd6kFmsYD8X2sX/U22VLN4a81adx05 +xx4WkeCJAu1z2LZiK/o/Mqlj2NcwFsl5ruDk/OT6L/pwvZuMhHzfmm/YltimFK4m +wxcp8coq1/H5XTAJJRm1VDhrrsCAaFl4EbGRxPZD2TSOkM0WPxYfwO8YD2gBQ2bJ +gRv7Sb2LCLjqE23OMySCtlQfTjNB6kTK9eLVpL/JPZ7y7NjnTrxK7oxhc5T/TL8k +hLS1AgMBAAGjggFGMIIBQjASBgNVHRMBAf8ECDAGAQH/AgEAMFUGA1UdHwROMEww +SqBIoEaGRGh0dHA6Ly9wa2ktY3JsLnN5bWF1dGguY29tL29mZmxpbmVjYS9BcHBs +ZUluY0FwcGxlUHJvZmlsZVJvb3RDQTEuY3JsMA4GA1UdDwEB/wQEAwIBBjBFBgNV +HSAEPjA8MA0GCyqGSIb3Y2QFCgEBMA0GCyqGSIb3Y2QFCgECMA0GCyqGSIb3Y2QF +CgEDMA0GCyqGSIb3Y2QFCgICMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTeW1h +bnRlY1BLSS0xLTY2MzAdBgNVHQ4EFgQUM1z9r1lM8m65uEkLLD1FnXVkhDQwHwYD +VR0jBBgwFoAU5siNoTxGP/T1eWrzRlbLpvh4BWowEwYJKoZIhvdjZAYUAQH/BAMC +AQAwDQYJKoZIhvcNAQELBQADggEBAKGzt1Q+DtdeUjwFWqKC8dEQ8OSuug03R2ha +ITWT4Y4mri0ZQI4wdo1/Xo+A8noFM+C6jRDW4rbR4TF9TMTJZrEt6bWWjjGOMli2 +2mp1YjjW4YwAUo7CVE2iU4PM7/mwxrU+F1tD/JVcTWvl+VWMnNSoUYFClrszRsAu +P5x1P4be5lSsc+2ydHdCb9+FgndhB0FteAfQx5Eqb7mpBLxvHQvfGPRdWKr+dj7g +NM+jc943/+cIgyE98myroXFt2Wln0vbMlZ9KVYGjLE3wA4H5NivPhL3c6/rVLM/+ +5UPbA0S9xd3OdUO8WV8yeclppJD2wHZkH3f6asT0Q0E3/WTuFng= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple Wireless Secure Boot Root CA - G1.pem b/_data/certificates/apple/Apple Wireless Secure Boot Root CA - G1.pem new file mode 100644 index 00000000..0e7d6d70 --- /dev/null +++ b/_data/certificates/apple/Apple Wireless Secure Boot Root CA - G1.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFeDCCA2CgAwIBAgIUWX5PYXTWxqDS708pGoOqLtLuHscwDQYJKoZIhvcNAQEM +BQAwVDEwMC4GA1UEAwwnQXBwbGUgV2lyZWxlc3MgU2VjdXJlIEJvb3QgUm9vdCBD +QSAtIEcxMRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0yMDEx +MTgxOTMwMDFaFw00NTExMTUwMDAwMDBaMFQxMDAuBgNVBAMMJ0FwcGxlIFdpcmVs +ZXNzIFNlY3VyZSBCb290IFJvb3QgQ0EgLSBHMTETMBEGA1UECgwKQXBwbGUgSW5j +LjELMAkGA1UEBhMCVVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDK +1xdy/bgErKeTcOfJrabVgukXM+38OkTXTSKpOTBBtYdLqVVAtb6ITBfZbypN2+wh +yjjMOf6YvyqscsNcq8+mY4UIH8WWQUyc9MBWB/RWFeyfc9b3kgbiv06ExnFJwpMw +T2aTSVJIpb5hgXUjepITAA4ra4HwyvCZuUFp+EJSWM6Bn77Hf+JzDfcguBuLlVtf +iWr1Ys8QiSbqUz4dNNJ+VKzrJZ5HLgk72n87GTEJ8LwQAQ15tV6PTs4P44+445N+ +WSY8vR4JwQuRpkhQ6mT5lxKkoFsmcKLi/Mn+njeCt5IA03Ea2l+qhvbktB44n/25 +Ku/SZQUHqB9gZGX7wSvC0iEPZks0U9LM57WdEMQgfM+03ZcPWsoA4O+EqTdP2nvN +7vQXJ48fnF2y4sUl1bWLVtpTlOuWreNGAkGIkwCJEvJp5dUcDrL10LIUZbcXZaX7 +MRBaPX05rT2SFSF+JPIKk7XngZfEpARQ3gHNhGiO285lwi08XVFlXD12bpHG/XIl +yMabHRAzvbfXmHM6zqk3WLIJloyBPQCVjML8MLJNiKh9aR22Pge3T2nl9V8EmDOO +qBrmslUN1IfHgBv+wgy3nbDjmFXOR+8rRZ8ULINDnPlZGFc9+N7fw60f8g63viZs +/G+JmYc6ilnhB4ifa0dLrUoW0yHOpju48VVqGoODrQIDAQABo0IwQDAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBSt478bJ3tWknBRWfwISZrjtY+hsDAOBgNVHQ8B +Af8EBAMCAQYwDQYJKoZIhvcNAQEMBQADggIBAFfxzNuCm90agcxG9POmlSzh56hi +MN89s3VXLysLaDCUaz7Y0eAIel0ZH8IrR+oGofEYvfj9Gc0fvdAsyf8nvciQv+Qr +kOHgsu+/ZP+KepXvOO2Xdfn8YXDzDkB1WuTHvtSt5YsB212mFGUftvYGHZYom9Qk +72ZS71b0cuZ+YYZ3f9zG8JJ3DGODluFVJ973b0d7AuGdmvp157k3CeRV/Ow3+Dir +ia0vWw8u7nVXqKaF1MDLHcgi4auDYwfkxKZ1J2alBxZfzoJ0BNS0ezH0N2/xWV9S +MbpKHHR+8hiJPzr2kn5ZbvZT2BnixwRcvnZSPs1bZH+KCteIvFMPl1DUf74jGLfZ +zLK4J6iDHmu5XLSi6L/I0mHlc1vLmzn2+NaLdv+9LAV5dl35Tpr6FvTUHKOY4PaZ +3AYHxc/M9s98sv4svb/fnnVzcXNidTyjgJyzcKFG2z+SR5Ji44lFTSYgeFrX70kb +7BfFNXDhvwP7vl02Jlzuuvxy5rFziPOdGYoqTnWmdo4tcp310kIvR5keMn90EBnQ +ysi66ehRLsz0KI7aUIb4W8t0KELvtu004N+oYy+lDg25SQx245OA3cvhn8e1UXAC +PTqI4BFEbWlvHwNCDD76Z9B8EqylkyDaO+pLPDWlk1hYzgjOWkQ/D9denuY1SfdJ +/8sA/iHd0NtD2QqA +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple Worldwide Developer Relations Certification Authority.der b/_data/certificates/apple/Apple Worldwide Developer Relations Certification Authority.der new file mode 100644 index 00000000..d2bb1da6 Binary files /dev/null and b/_data/certificates/apple/Apple Worldwide Developer Relations Certification Authority.der differ diff --git a/_data/certificates/apple/Apple Worldwide Developer Relations Certification Authority.pem b/_data/certificates/apple/Apple Worldwide Developer Relations Certification Authority.pem new file mode 100644 index 00000000..35e707e9 --- /dev/null +++ b/_data/certificates/apple/Apple Worldwide Developer Relations Certification Authority.pem @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIEIjCCAwqgAwIBAgIIAd68xDltoBAwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UE +BhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MRYwFAYDVQQDEw1BcHBsZSBSb290IENBMB4XDTEz +MDIwNzIxNDg0N1oXDTIzMDIwNzIxNDg0N1owgZYxCzAJBgNVBAYTAlVTMRMwEQYD +VQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3JsZHdpZGUgRGV2ZWxv +cGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3aWRlIERldmVsb3Bl +ciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDKOFSmy1aqyCQ5SOmM7uxfuH8mkbw0U3rOfGOA +YXdkXqUHI7Y5/lAtFVZYcC1+xG7BSoU+L/DehBqhV8mvexj/avoVEkkVCBmsqtsq +Mu2WY2hSFT2Miuy/axiV4AOsAX2XBWfODoWVN2rtCbauZ81RZJ/GXNG8V25nNYB2 +NqSHgW44j9grFU57Jdhav06DwY3Sk9UacbVgnJ0zTlX5ElgMhrgWDcHld0WNUEi6 +Ky3klIXh6MSdxmilsKP8Z35wugJZS3dCkTm59c3hTO/AO0iMpuUhXf1qarunFjVg +0uat80YpyejDi+l5wGphZxWy8P3laLxiX27Pmd3vG2P+kmWrAgMBAAGjgaYwgaMw +HQYDVR0OBBYEFIgnFwmpthhgi+zruvZHWcVSVKO3MA8GA1UdEwEB/wQFMAMBAf8w +HwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01/CF4wLgYDVR0fBCcwJTAjoCGg +H4YdaHR0cDovL2NybC5hcHBsZS5jb20vcm9vdC5jcmwwDgYDVR0PAQH/BAQDAgGG +MBAGCiqGSIb3Y2QGAgEEAgUAMA0GCSqGSIb3DQEBBQUAA4IBAQBPz+9Zviz1smwv +j+4ThzLoBTWobot9yWkMudkXvHcs1Gfi/ZptOllc34MBvbKuKmFysa/Nw0Uwj6OD +Dc4dR7Txk4qjdJukw5hyhzs+r0ULklS5MruQGFNrCk4QttkdUGwhgAqJTleMa1s8 +Pab93vcNIx0LSiaHP7qRkkykGRIZbVf1eliHe2iK5IaMSuviSRSqpd1VAKmuu0sw +ruGgsbwpgOYJd+W+NKIByn/c4grmO7i77LpilfMFY0GCzQ87HUyVpNur+cmV6U/k +TecmmYHpvPm0KdIBembhLoz2IYrF+Hjhga6/05Cdqa3zr/04GpZnMBxRpVzscYqC +tGwPDBUf +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple X86 Secure Boot Root CA - G1.pem b/_data/certificates/apple/Apple X86 Secure Boot Root CA - G1.pem new file mode 100644 index 00000000..99b41d32 --- /dev/null +++ b/_data/certificates/apple/Apple X86 Secure Boot Root CA - G1.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFYjCCA0qgAwIBAgIIJS0UlxhcaqAwDQYJKoZIhvcNAQEMBQAwTzErMCkGA1UE +AwwiQXBwbGUgWDg2IFNlY3VyZSBCb290IFJvb3QgQ0EgLSBHMTETMBEGA1UECgwK +QXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwHhcNMTcwMzIyMjE0MjQzWhcNMTcwMzIz +MjE0MjQzWjBPMSswKQYDVQQDDCJBcHBsZSBYODYgU2VjdXJlIEJvb3QgUm9vdCBD +QSAtIEcxMRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBALmYXHEoOKeJlp48bvbudyZdQmXg6KNd +cQjFWtOGSbvDuLtNWHQ/+0lVpuTaG/CQuWAvLUU3skHwDF2UMLXOnsDOiJtxQu6b +3VerfSu+gNVLuS+srVa0y879NvnXqKT1Ko8ON4aodpq2zDo/Z8Nekg6us3lgchjL +KM3TpHWu7UrkVAtHr5KrdN40ySbSw/AjTP9JbQwL5LL5XPkaDOo2o4tPD0A9JULQ +y38CiXrXikwR2uqA4sMlDt1FyAQS/kDqzhe19SCBkWSyMIbNEjYVlLltoBS2fYJO +SBE27/DOcoeHV3tO9G9dmYlQ6XcUrqTzQcaka9sK/LSS5FWl7YVGBgyq4kJyi4Ft +VbiD5lmwvOeL7gmSE4zJb+Dm7MPY7ZdfU6GkJ7/k0vdCCGv7Z70wJ4VIs8H2AOpU +Sy8PgEE8u5dQX5IfrlptYKob2SmPqvNnCzEcGphVOnbeUu6buc638yEuInsR8thp +RjQFLAs2znLemI5vbOiYm/2do05OXd3/mXrWHLLPTqRzFEMgXHg9PvTizD9qIP81 +xKjqFe02mXDTYRx23r5mQv3qCo+PJlRllrbYFIftRcCs50Debr5uWnn4wwt1lTMK +M0R/5jzt+ohgrTwEwwcddBKZV2bw6yPppoS5cWZYhrxzAXO4K34M4J01YmJjAN1U +qrNE4IZ8B7ifAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFH1z +zgo7QaGjUtKxFB729bTdduboMA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQwF +AAOCAgEATubWVZh39c3TSdthgJBjTPFMTdD1zAeKBTdpD+1j7Vhu8Dr7itn7kJpP +3JvlQU46vu/k5IR9EyTMrGzkw01FrpU2v8H1gdqpn7AUPb+l/CHgBMP8zdtYcCWw +CEZoWzvLRON4lcDXjgbdS0qRnfEW50U7thqLyY3CL2MMzoVDUR7iJ26/zghOY7i5 +YNfVWZBTnnvhQWHJ2Mcb5nG9RGy6imW5kKA99yfDAFBICbJrWhKlO4xXtl/WWHo1 +ESut25dVysEiwou4JwJyF6nV683kULE3xFcxGXMjTlX7JZrMmqXncZpTmsDnurH8 +Kpwoo3kN+gLGyXEJGK6DTc1NsdbzU/wpFuRQILQrj1KUL/Q+1HaeI6I7f2zE5+iU +0Rj/8zfKwpArNYw2x23+kwrbtpBzfJJ+cvMsGEbeExt2uDi4MF1c/Wywi/w66puC +fRCCsNuAzbbRcCVPUia4aYA9SkGSAm88DBYvgml2wzqPLse+Nb8woI+FDjzx/A7y +wcGTknT+9aikXh0YOpvErQkWj1/caClzyOR2IKlWLtmF5TGxxK2hsrGTTyQ4q3Ch +YUMRjgkqN85koNAjXV7ukSqlkIyCuUuSZ1Y01x1dKX8YGUDl4FTadx2y8kiyaYUd +EcUkZqthS39FP8cGfHQs3S6VZw+DUFKLJzTvxnnJJR11AmYIfmY= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple iPhone Certification Authority.der b/_data/certificates/apple/Apple iPhone Certification Authority.der new file mode 100644 index 00000000..c6849621 Binary files /dev/null and b/_data/certificates/apple/Apple iPhone Certification Authority.der differ diff --git a/_data/certificates/apple/Apple iPhone Certification Authority.pem b/_data/certificates/apple/Apple iPhone Certification Authority.pem new file mode 100644 index 00000000..e814a2a9 --- /dev/null +++ b/_data/certificates/apple/Apple iPhone Certification Authority.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIID8zCCAtugAwIBAgIBFzANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzET +MBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMDcwNDEyMTc0 +MzI4WhcNMjIwNDEyMTc0MzI4WjB5MQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBw +bGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx +LTArBgNVBAMTJEFwcGxlIGlQaG9uZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMevvBHwLSeEFtGpLghuE+G +IXAoRWBcHMPICmRjiPv8ae74VPzpW7cGTgQvw2szr0RM6kuACbSH9lu0/WTds3Lg +E7P9F9m856jtwoxhwir57M6lXtZp62QLjQiPuKBQRgncGeTlsJRtu/eZmMTom0FO +1PFl4xtSetzoA9luHdoQVYakKVhJDOpH1xU0M/bAoERKcL4stSowN4wuFevR5GyX +OFVWsTUrWOpEoyaF7shmSuTPifA9Y60p3q26WrPcpaOapwlOgBY1ZaSFDWN7PmOK +2n1KRuyjORg0ucYoZRi8E2Ccf1esFMmJ7aG2h2hStoROuMiD7PmeGauzwQuGx58C +AwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQU5zQqLiLeOWBrtJTOd4NhLzGgfDUwHwYDVR0jBBgwFoAUK9BpR5R2Cf70 +a40uQKb3R01/CF4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL3d3dy5hcHBsZS5j +b20vYXBwbGVjYS9yb290LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAHdHVe910TtcX +/IItDJmbXkJy8mnc1WteDQxrSz57FCXes5TooPoPgInyFz0AAqKRkb50V9yvmp+h +Cn0wvgAqzCFZ6/1JrG51GeiaegPRhvbn9rAOS0n6o7dButfR41ahfYOrl674UUom +wYVCEyaNA1RmEF5ghAUSMStrVMCgyEG8VB7nVK0TANJKx7vBiq+BCI7wRgq/J6a+ +3M85OoBwGSMyo2tmXZ5NqEdJsntFtVEzp3RnCU62bG9I9yy5MwVEa0W+dEtvsoaR +tD4lKCWes8JRhvxP5a87qrtELAFJ4nSzNPpE7xTCEfItGRpRidMISkFsWFbemzrh +BVflYs/SDw== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple iPhone Device CA.der b/_data/certificates/apple/Apple iPhone Device CA.der new file mode 100644 index 00000000..fac79ff8 Binary files /dev/null and b/_data/certificates/apple/Apple iPhone Device CA.der differ diff --git a/_data/certificates/apple/Apple iPhone Device CA.pem b/_data/certificates/apple/Apple iPhone Device CA.pem new file mode 100644 index 00000000..7cf55de0 --- /dev/null +++ b/_data/certificates/apple/Apple iPhone Device CA.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDaTCCAlGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJVUzET +MBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxLTArBgNVBAMTJEFwcGxlIGlQaG9uZSBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eTAeFw0wNzA0MTYyMjU0NDZaFw0xNDA0MTYyMjU0NDZaMFoxCzAJ +BgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMRUwEwYDVQQLEwxBcHBsZSBp +UGhvbmUxHzAdBgNVBAMTFkFwcGxlIGlQaG9uZSBEZXZpY2UgQ0EwgZ8wDQYJKoZI +hvcNAQEBBQADgY0AMIGJAoGBAPGUSsnquloYYK3Lok1NTlQZaRdZB2bLl+hmmkdf +Rq5nerVKc1SxywT2vTa4DFU4ioSDMVJl+TPhl3ecK0wmsCU/6TKqewh0lOzBSzgd +Z04IUpRai1mjXNeT9KD+VYW7TEaXXm6yd0UvZ1y8Cxi/WblshvcqdXbSGXH0KWO5 +JQuvAgMBAAGjgZ4wgZswDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w +HQYDVR0OBBYEFLL+ISNEhpVqedWBJo5zENinTI50MB8GA1UdIwQYMBaAFOc0Ki4i +3jlga7SUzneDYS8xoHw1MDgGA1UdHwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuYXBw +bGUuY29tL2FwcGxlY2EvaXBob25lLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAd13P +Z3pMViukVHe9WUg8Hum+0I/0kHKvjhwVd/IMwGlXyU7DhUYWdja2X/zqj7W24Aq5 +7dEKm3fqqxK5XCFVGY5HI0cRsdENyTP7lxSiiTRYj2mlPedheCn+k6T5y0U4Xr40 +FXwWb2nWqCF1AgIudhgvVbxlvqcxUm8Zz7yDeJ0JFovXQhyO5fLUHRLCQFssAbf8 +B4i8rYYsBUhYTspVJcxVpIIltkYpdIRSIARA49HNvKK4hzjzMS/OhKQpVKw+OCEZ +xptCVeN2pjbdt9uzi175oVo/u6B2ArKAW17u6XEHIdDMOe7cb33peVI6TD15W4MI +pyQPbp8orlXe+tA8JA== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Apple iPod Accessories Certificate Authority.der b/_data/certificates/apple/Apple iPod Accessories Certificate Authority.der new file mode 100644 index 00000000..eb847b2d Binary files /dev/null and b/_data/certificates/apple/Apple iPod Accessories Certificate Authority.der differ diff --git a/_data/certificates/apple/Apple iPod Accessories Certification Authority.der b/_data/certificates/apple/Apple iPod Accessories Certification Authority.der new file mode 100644 index 00000000..aca838d3 Binary files /dev/null and b/_data/certificates/apple/Apple iPod Accessories Certification Authority.der differ diff --git a/_data/certificates/apple/Basic Attestation SEP App Sub CA1.der b/_data/certificates/apple/Basic Attestation SEP App Sub CA1.der new file mode 100644 index 00000000..17469540 Binary files /dev/null and b/_data/certificates/apple/Basic Attestation SEP App Sub CA1.der differ diff --git a/_data/certificates/apple/Basic Attestation System Root CA.der b/_data/certificates/apple/Basic Attestation System Root CA.der new file mode 100644 index 00000000..127b49c2 Binary files /dev/null and b/_data/certificates/apple/Basic Attestation System Root CA.der differ diff --git a/_data/certificates/apple/Basic Attestation System Root CA.pem b/_data/certificates/apple/Basic Attestation System Root CA.pem new file mode 100644 index 00000000..08f4b1b9 --- /dev/null +++ b/_data/certificates/apple/Basic Attestation System Root CA.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICIDCCAaWgAwIBAgIIePhG1bNbWBcwCgYIKoZIzj0EAwMwVTEpMCcGA1UEAwwg +QmFzaWMgQXR0ZXN0YXRpb24gU3lzdGVtIFJvb3QgQ0ExEzARBgNVBAoMCkFwcGxl +IEluYy4xEzARBgNVBAgMCkNhbGlmb3JuaWEwHhcNMTcwNDIwMDAyMjA5WhcNMzIw +MzIyMDAwMDAwWjBVMSkwJwYDVQQDDCBCYXNpYyBBdHRlc3RhdGlvbiBTeXN0ZW0g +Um9vdCBDQTETMBEGA1UECgwKQXBwbGUgSW5jLjETMBEGA1UECAwKQ2FsaWZvcm5p +YTB2MBAGByqGSM49AgEGBSuBBAAiA2IABN7OnRlUVkOVlHTw7UF9qForIhvM8pLL +WTrHm6Be42c3LZFIM2RNT5FZZDkIgQfYLS6vsRpfrhEMKIHIWomtyuCxp2c/AIxu +wEml4f2d8IktTRcNHwqKzUgzPJV3CyKh2KNCMEAwDwYDVR0TAQH/BAUwAwEB/zAd +BgNVHQ4EFgQU/tHRwggHA9W5PDSyu/18OpklG48wDgYDVR0PAQH/BAQDAgEGMAoG +CCqGSM49BAMDA2kAMGYCMQCmU03bvMmBE4X03P8MdpxEE/LpNcRmsnktIav8tpNh +Gmo4mv2FyZKKvaJtO2OhIrwCMQDxMBcXge5NpWx/VBcFTj2Tb2VxQ8zMKbWapLE/ +HPN4kbBaiIIUl52drBlQjS/c3P8= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Basic Attestation User Root CA.pem b/_data/certificates/apple/Basic Attestation User Root CA.pem new file mode 100644 index 00000000..26f257dd --- /dev/null +++ b/_data/certificates/apple/Basic Attestation User Root CA.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICGjCCAaGgAwIBAgIIO0EdkA1/e+swCgYIKoZIzj0EAwMwUzEnMCUGA1UEAwwe +QmFzaWMgQXR0ZXN0YXRpb24gVXNlciBSb290IENBMRMwEQYDVQQKDApBcHBsZSBJ +bmMuMRMwEQYDVQQIDApDYWxpZm9ybmlhMB4XDTE3MDQxOTIxNDE1NloXDTMyMDMy +MjAwMDAwMFowUzEnMCUGA1UEAwweQmFzaWMgQXR0ZXN0YXRpb24gVXNlciBSb290 +IENBMRMwEQYDVQQKDApBcHBsZSBJbmMuMRMwEQYDVQQIDApDYWxpZm9ybmlhMHYw +EAYHKoZIzj0CAQYFK4EEACIDYgAE639EEPCGvFOPAbzd5eGJM46/I+N1rpRhPBc2 ++hvNC5vlVyv1hVNPSTIcF0sLPgCeEEQqGIZsUPO48ECh03YzXUT86015HwktM439 +bWGKGE/VRepW8S8EDRLh6+83XZ9do0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBSD5aMhnrB0w/lhkP2XTiMQdqSj8jAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZI +zj0EAwMDZwAwZAIwQol5uLqv1SXY9G1wHSx2EYIULFlLssYTnTwbSlZPj2yF9cgk +7xJO8bw6nTklgnHhAjBgMvsir7UEVzw7uxn8y3GGf9KSCFV5scySrYDZnJhETYlc +yPYSFsZIerKNPP6v28Y= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Basic Attestation User Sub CA2 copy.der b/_data/certificates/apple/Basic Attestation User Sub CA2 copy.der new file mode 100644 index 00000000..f11851d1 Binary files /dev/null and b/_data/certificates/apple/Basic Attestation User Sub CA2 copy.der differ diff --git a/_data/certificates/apple/Battery CA.der b/_data/certificates/apple/Battery CA.der new file mode 100644 index 00000000..1efd4b0d Binary files /dev/null and b/_data/certificates/apple/Battery CA.der differ diff --git a/_data/certificates/apple/CZFF10-SDOM1-TssLive-ManifestKey-ExtraContent-Global-RevA-DataCenter.der b/_data/certificates/apple/CZFF10-SDOM1-TssLive-ManifestKey-ExtraContent-Global-RevA-DataCenter.der deleted file mode 100644 index 1749d8e3..00000000 Binary files a/_data/certificates/apple/CZFF10-SDOM1-TssLive-ManifestKey-ExtraContent-Global-RevA-DataCenter.der and /dev/null differ diff --git a/_data/certificates/apple/Component Root CA.der b/_data/certificates/apple/Component Root CA.der new file mode 100644 index 00000000..bb0c3247 Binary files /dev/null and b/_data/certificates/apple/Component Root CA.der differ diff --git a/_data/certificates/apple/Component Root CA_1.der b/_data/certificates/apple/Component Root CA_1.der new file mode 100644 index 00000000..a8ede00d Binary files /dev/null and b/_data/certificates/apple/Component Root CA_1.der differ diff --git a/_data/certificates/apple/Components Attestation CA.der b/_data/certificates/apple/Components Attestation CA.der new file mode 100644 index 00000000..d9cdd33f Binary files /dev/null and b/_data/certificates/apple/Components Attestation CA.der differ diff --git a/_data/certificates/apple/DP2700A0.ACI.der b/_data/certificates/apple/DP2700A0.ACI.der new file mode 100644 index 00000000..fc703487 Binary files /dev/null and b/_data/certificates/apple/DP2700A0.ACI.der differ diff --git a/_data/certificates/apple/DP2700A0.ACI.pem b/_data/certificates/apple/DP2700A0.ACI.pem new file mode 100644 index 00000000..4cdd9cb7 --- /dev/null +++ b/_data/certificates/apple/DP2700A0.ACI.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDaTCCAlGgAwIBAgIIZ9/Byi2nrYYwDQYJKoZIhvcNAQELBQAwOTEVMBMGA1UE +AwwMTWFnbmV0aXRlIENBMRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJV +UzAeFw0xMzA1MTUyMTE1MDBaFw0xNjA1MTQyMTE1MDBaMDkxFTATBgNVBAMMDERQ +MjcwMEEwLkFDSTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkCnLHk4mQhD3jxydwP+mzGS5M +Uc+osuJkkw2eYZgJGrjSgJ5yaY2Sy+SxTAzTuoMFIbR1InxMqfp4d8SLeH1+EjQb +CdzbSFkHNfthsr370AUemXxicvFgsnHR6jlAVDUOxoo7+MiY+JfuV6YIBic6h3Z/ +43Q8jognmtGSONeY8TD+XE2cn18rkga8Hs4quyFP5e9ARdg82km5LNXraRxpFwPH +ZFLuXfC3COl+5F6s2FHGd5ZcsrjOcHBhXpI23i5g2xTbKE4W7ehjeRNykKWXwVig +3Jw0kcG0qKtFKAE9xVvc4aqDi1iTZYAaLUC7ct3NVue8Se5Yvkl9sWjEn9m5AgMB +AAGjdTBzMB0GA1UdDgQWBBRWrh5qXrgF0/OsCF4vH+bMpVFB4jAMBgNVHRMBAf8E +AjAAMB8GA1UdIwQYMBaAFLpIP6kyEXf7Q1yhJFsin3E0OdEQMA4GA1UdDwEB/wQE +AwIHgDATBgoqhkiG92NkBwIBAQH/BAIFADANBgkqhkiG9w0BAQsFAAOCAQEAhAg7 +H6U1j4X9quT0hd+nXy9rvIELUUbOYWny53HI3QgYRGABs2xqQ1kxU2yDsToUOV10 +jVk+TCOCi+q0MLG6DXsWs6RWc7clEVE0C/cKL7C5085x4FZBk90ik5TCZlg/tRWf +sz58nAy5ITtIyGnbF+KHx06/pQvVJjW6M8XZymJoGNImLnWSij7+mTTZb4tH9uSP +eH2LbYe4nUrq63xbqvd+56B4ai5kjEy0uaGMvlX7HABd0c0Jdp3BI3SvyJb9f+p/ +WgCHXjaw7hDvhc8avwrgwofgGAGTrspXXKm5Ph03QVtTROLNYgARRBRVfUjoGmPa +pwwPH9BbsW+a5zfh6A== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/DUMCA1.der b/_data/certificates/apple/DUMCA1.der new file mode 100644 index 00000000..94ee5b91 Binary files /dev/null and b/_data/certificates/apple/DUMCA1.der differ diff --git a/_data/certificates/apple/Development Birch L3 Leaf Certificate for Factory.der b/_data/certificates/apple/Development Birch L3 Leaf Certificate for Factory.der new file mode 100644 index 00000000..c2a48545 Binary files /dev/null and b/_data/certificates/apple/Development Birch L3 Leaf Certificate for Factory.der differ diff --git a/_data/certificates/apple/Effaceable Service Root CA.der b/_data/certificates/apple/Effaceable Service Root CA.der new file mode 100644 index 00000000..1a31b8a1 Binary files /dev/null and b/_data/certificates/apple/Effaceable Service Root CA.der differ diff --git a/_data/certificates/apple/Effaceable Service Root CA.pem b/_data/certificates/apple/Effaceable Service Root CA.pem new file mode 100644 index 00000000..b739edc2 --- /dev/null +++ b/_data/certificates/apple/Effaceable Service Root CA.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID2DCCAsCgAwIBAgIBZDANBgkqhkiG9w0BAQsFADB9MQwwCgYDVQQFEwMxMDAx +CzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMSYwJAYDVQQLEx1BcHBs +ZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaRWZmYWNlYWJsZSBT +ZXJ2aWNlIFJvb3QgQ0EwHhcNMTQwNzI4MjEwMzUyWhcNMjQwNzI4MjEwMzUyWjB9 +MQwwCgYDVQQFEwMxMDAxCzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMu +MSYwJAYDVQQLEx1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UE +AxMaRWZmYWNlYWJsZSBTZXJ2aWNlIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQDAVcx0z0np7Jp2FzASQH3BaZiXLKfA1vSaHcJGdbatgeIv +ZfGv9rq9wUQ3k7iSKoPM42/9laqGrk1imLzmkEBbWi5lDP8HuXnELi5ygOO5mAjp +O3k7RpnXud8fxA1JuXg5r3/13JzuwbCQcJfW50kMERnp3eo4MLkd9Nf/u/xrSfxp +6AWOlhSHYtaCL6KXtUqARkP18huUv/5Ii39N1j0+ZL4JfJ4kgN6ryReRrGAGmJzL +rQRBH3/lwgjVgNdj8VxgouWtX268OsSfTeRlo/IYCxottGQ9U1oU9iaSEyODM77g +pEP8eaCR+xwX8IfljGjyz647xdXSWI77KVP+nt5PAgMBAAGjYzBhMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRkC+Ryc1xUslhZrkLf +K7e6ueuGrjAfBgNVHSMEGDAWgBRkC+Ryc1xUslhZrkLfK7e6ueuGrjANBgkqhkiG +9w0BAQsFAAOCAQEAefQiyWwlZC2OkVN7+6fSDK3cqYOQdRaYwSz+fBbOKqC4ivbb +Pi1sXWFBELsCulFbQmIYn8Ql8yTMHdL/R7IUnmoxo6exDH5VzsSepgoGm1BABBOg +x0032YXPstkWOEujpT7cBg3gsRN8i3kfZ9i6tFichBjk7SIXQak7iNVVVF8zTeK9 +vmZGWcBgxbJ69srNuS29ULPWGNUf+kIwTBD7EqmaDjn6d7aCU/M1dLUQWiKuFyXR +CblxCKH6LbnqjMWsMWxFRi4RLXUHiDmjFAimv3ssJq4o6R1s/6yZU0SRJi6CGhFm +tZzvnsFSj84S84iGBvDoYmkSBG0rdYPhEvw+8Q== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Escrow Service Root CA.der b/_data/certificates/apple/Escrow Service Root CA.der new file mode 100644 index 00000000..5b2d73c4 Binary files /dev/null and b/_data/certificates/apple/Escrow Service Root CA.der differ diff --git a/_data/certificates/apple/Escrow Service Root CA.pem b/_data/certificates/apple/Escrow Service Root CA.pem new file mode 100644 index 00000000..289e18f0 --- /dev/null +++ b/_data/certificates/apple/Escrow Service Root CA.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID0DCCArigAwIBAgIBZDANBgkqhkiG9w0BAQsFADB5MQwwCgYDVQQFEwMxMDAx +CzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMSYwJAYDVQQLEx1BcHBs +ZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEfMB0GA1UEAxMWRXNjcm93IFNlcnZp +Y2UgUm9vdCBDQTAeFw0xMzA4MDIyMzI0NDRaFw0yMzA4MDIyMzI0NDRaMHkxDDAK +BgNVBAUTAzEwMDELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAk +BgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR8wHQYDVQQDExZF +c2Nyb3cgU2VydmljZSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA0KP0Vn0/RjHSVqDfQqApgx65grWl/z7etQ9Kiihgz3W0oHB89eKU8yIC +yIHONMdmahiqtP1tsAvdSt3P4AgbHKbburLBpBBfNU+Li3qj2zz2VJVCrSo7/gaM +4ZLxYJdYG9mPvvtGTClcHPAgtiulEgmbKEE0l5/ziEtpcuo6J7BQHYgpDbvtBKIR +zwxbZWE1vfIN/OK5INO3A3A51eCGfATMyaGFtJu8iE7XrVz/LA2AjlE5IIuvHkaV ++g0b0r+A4J9tSvUxZxgRpWMnCO7ZBynQ1DaRW/tKCwfRDXkWbhYCI4DGFQdtoAa2 +RZCwrqStDnUEKyt48VeEI4ck7FjE8QIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU/XiWU4DW9tymw1kGOO15Po9QG1Aw +HwYDVR0jBBgwFoAU/XiWU4DW9tymw1kGOO15Po9QG1AwDQYJKoZIhvcNAQELBQAD +ggEBAHEVyofQLbUY1TV6zd9iKPALY01OAro9uLQ36rCTk6sc/Z/ocr/z2+atFv5x +Yaha0FgPZXpXeuA0gI67QQHnsDv3KzptRCo6BFL6K3s7Id0McD37RcZ5aGLiibgl +7mN2ArIi6VOFaD51tgtl6Ry6hJOwiu+1GhLkj67VXKEFSgG8b/lYXvcEYe71xqAb +RC5aOlmhs7D0tsvgbCtZivtq4KJXCXnB3fuEhutmKXOuv1iuR01IN9axjF8mX7Um +BwuFtzY3FM9eVaU88x55ULuFO7KUaLAlT3Xs8PnAWi3l7WfNiFWgQt54vP4wsWIt +4f3sdQOmH3zEOkpZ/nfDmZaHRMM= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Escrow Service Root CA_1.der b/_data/certificates/apple/Escrow Service Root CA_1.der new file mode 100644 index 00000000..a042a9b4 Binary files /dev/null and b/_data/certificates/apple/Escrow Service Root CA_1.der differ diff --git a/_data/certificates/apple/Escrow Service Root CA_1.pem b/_data/certificates/apple/Escrow Service Root CA_1.pem new file mode 100644 index 00000000..a4ec4c49 --- /dev/null +++ b/_data/certificates/apple/Escrow Service Root CA_1.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID0DCCArigAwIBAgIBZTANBgkqhkiG9w0BAQsFADB5MQwwCgYDVQQFEwMxMDEx +CzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMSYwJAYDVQQLEx1BcHBs +ZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEfMB0GA1UEAxMWRXNjcm93IFNlcnZp +Y2UgUm9vdCBDQTAeFw0xNTA1MTYwNTI4MjFaFw00OTA1MTYwNTI4MjFaMHkxDDAK +BgNVBAUTAzEwMTELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAk +BgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR8wHQYDVQQDExZF +c2Nyb3cgU2VydmljZSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA1KbwAZfaCH2l+bVInU5MMFpn5BJvTDZLxuEfa0HyRiENcT3PtGxnkps3 +OSQl0nv/VPJESgji5bK3yVbOJS5Bu+3MJI4FDyjf46vKoXzM5mYViddcaDVIndPa +gI7n7hVzZ9Kx+bMJT7ovCXbunwgNjjRtFEvXVxfj7CNuw6G9L8MinQ6OZ414uVDL +CIKrrJCRRYYYfAr1uiJnS+1fwJKzBwZkp9oRE/jdoKj8yfCl8aWQ+RPa+QcW1jjM +Ijc3QrNqY6p2nrOHpDY741QgADOTCSxGnmmGg9jpwEJbBBYN4oafVw+3Vrhu4FjY +eN6s8VIHSaXJl28mSTVxFDgRPnZ82QIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUjMgPoVWwhHuNwZmM808YtQ+DgG8w +HwYDVR0jBBgwFoAUjMgPoVWwhHuNwZmM808YtQ+DgG8wDQYJKoZIhvcNAQELBQAD +ggEBAEONqIZ3t/Wo2OUy5eeqmQRM0oaBS3KJukAUrXXbob/DcyKvrjOssxNisj3K +07xFesK8LMqhP9lSqFTCRLhrpcr0ffbjCx84FmfxC6gq3HLIhztEVfcPBFdn8RGR +oNJ47Iy7diRmT6H+u94AAZ8wGCcy///2m+pDNmcvg5dN6E6cwe4kyCFy+xKpLmXe +hLj/xKvbXTrpPI8cJmVfNFCyYHaLQmRaWerRTiP0yCiPYOV1NjtMOMkPzVR5Rx3D +L5szOZ9Q0gtoPYrKH1qlXilolsIeArqPnFWzLiQsWNis5PBs3hZHNw2oXAlLI00h +/f/NUNVZDjdj0KXHv92I84GxP04= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Escrow Service Root CA_2.der b/_data/certificates/apple/Escrow Service Root CA_2.der new file mode 100644 index 00000000..474d79bb Binary files /dev/null and b/_data/certificates/apple/Escrow Service Root CA_2.der differ diff --git a/_data/certificates/apple/Escrow Service Root CA_2.pem b/_data/certificates/apple/Escrow Service Root CA_2.pem new file mode 100644 index 00000000..f6083f97 --- /dev/null +++ b/_data/certificates/apple/Escrow Service Root CA_2.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID0DCCArigAwIBAgIBZjANBgkqhkiG9w0BAQsFADB5MQwwCgYDVQQFEwMxMDIx +CzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMSYwJAYDVQQLEx1BcHBs +ZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEfMB0GA1UEAxMWRXNjcm93IFNlcnZp +Y2UgUm9vdCBDQTAeFw0xNjA1MTMwNzI3MTFaFw00OTA1MTMwNzI3MTFaMHkxDDAK +BgNVBAUTAzEwMjELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAk +BgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR8wHQYDVQQDExZF +c2Nyb3cgU2VydmljZSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA1ztUixFa5usiZy6yWs/gvMGYlaAm9DAgfBzTXeinCPe3eFVR696df+n1 +rfEk4CvC18GqIZ0aWVuGfk1I7P6Iqgs9qOMW0fRfll0ZX4mYVEabwRQuYAOnUC6R +OsnMqH6/mWoWIAKFaS97hOoY7p2WumaXPZOIkC2cjnIZmjqGtfGbGLR/GZMxkPPX +ncdvXPGAI5WZASFT5T4YKn2+k0jSOtv0nkzamSCnXtY+YxXurDhI8wn7bZzS0g6/ +th4B82QwV75NI4t7VTU3Dx0KD4M4bmH83Rn4ge2TaMLdetrJNPq4eMzxOzWDXhEe +xI/khvO5VmXsTpp1Pc6zGZBb8FsABwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQURJAIPD7pBqzn6oFb06S9LusW1Tkw +HwYDVR0jBBgwFoAURJAIPD7pBqzn6oFb06S9LusW1TkwDQYJKoZIhvcNAQELBQAD +ggEBAD5fzbu/fLvT9pL3IfEs5GTV24wowD3ImF3PIDkRtR4gBl68WeswX1ixV+9H +evZR3jzAzfgGAgwp5t0tzonxBMXkjgsNlj69NMavoLLh4YU3+8vyqb61uRhYMZdk +nTcg9EaDoi6qbNs9h/rZ1IUksimMG15RxGDFQNwlAEOyXbVwsv3wJyrgSwRaOCr7 +YLxmfsMWtohpELjjmUP1ecXF8IKW9gVokzqmRbfrTV2tBAxr8HsQDot4QJifUu/q +pCaq7VdStTQyJqcujPsTMjpjsNle4ucPsoDh3tbV0hKVEgRy0ANPtsAlSurNP7lf +jjhkAni8cr2kf2E5rb9ljfYFw9I= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Escrow Service Root CA_3.der b/_data/certificates/apple/Escrow Service Root CA_3.der new file mode 100644 index 00000000..7cdc1676 Binary files /dev/null and b/_data/certificates/apple/Escrow Service Root CA_3.der differ diff --git a/_data/certificates/apple/Escrow Service Root CA_3.pem b/_data/certificates/apple/Escrow Service Root CA_3.pem new file mode 100644 index 00000000..0fd4e4d2 --- /dev/null +++ b/_data/certificates/apple/Escrow Service Root CA_3.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID0DCCArigAwIBAgIBZzANBgkqhkiG9w0BAQsFADB5MQwwCgYDVQQFEwMxMDMx +CzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMSYwJAYDVQQLEx1BcHBs +ZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEfMB0GA1UEAxMWRXNjcm93IFNlcnZp +Y2UgUm9vdCBDQTAeFw0yMTA1MTMwNTE0NTZaFw00OTA1MTMwNTE0NTZaMHkxDDAK +BgNVBAUTAzEwMzELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAk +BgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR8wHQYDVQQDExZF +c2Nyb3cgU2VydmljZSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAiyRlNGFEQ/yR5oIU4VZDYlrq4avzvOSS42Qj8eoVeuvbrudqCIBr/UL6 +gA7inkCQ8Ou3Ean5htrdCUnHUbvAKYaIWZ00p249mqB4Btsgg1fqAH8gPaxYm8Kr +PFKA3kevdXV1VvW/quPRQRcoF51tUg7lCdagLBJDT624zdQ1X3zPjh5FfoG6yf+V +kfcDR/iAtlXBi6ziWXf+UV27G+7p1u1EqtK22PczyZKGmlT2lrSCO5XUIuWDTjBJ +r2xiPNzPdhMUd1TnKUnOYG0FtOBWY7NDS69Dp0jKd+gXEFKnWuKQyCX91OFClOqc +vrsdw+YL5BEJR9GtH+yiv19NCxaGUwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUBZ/FqGhQ/gJL5Um6DJNaq6p8rXYw +HwYDVR0jBBgwFoAUBZ/FqGhQ/gJL5Um6DJNaq6p8rXYwDQYJKoZIhvcNAQELBQAD +ggEBAIB5dfoR9VSIcGh2KId4+D99V8aMHYB4fJMrCZtAfe7Pnz6MeQ8FSzzCX7c2 +b/o0VAEH/ANRrXcZkM+ihRyzTCaYRh37z4qvSN38i+zAt3V9zfPDZ9Rk8IV7ZnC3 +B4TvtaC4baf/uRwibtY6gXrCA/JfcjRvxdMR3tknhfNZyr/6aSTbLA4Tk6EUOsju +y2qUSy35FaygiFKCX2IZi5UfFpC0CP534LF1i+oQ23Ja5nSjeglv0oxG3WzqBO1C +g96uSXWE+ycUUyKzYUt1Y3/wU53x9wt/RmL0xjdRfEJDxk2k8DKBfkPKxyPEF5gO +Y+TyMk72uQ2C9pdeX/WrH77iPMI= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Escrow Service Root CA_4.der b/_data/certificates/apple/Escrow Service Root CA_4.der new file mode 100644 index 00000000..45d2e55c Binary files /dev/null and b/_data/certificates/apple/Escrow Service Root CA_4.der differ diff --git a/_data/certificates/apple/Escrow Service Root CA_4.pem b/_data/certificates/apple/Escrow Service Root CA_4.pem new file mode 100644 index 00000000..9ab93edb --- /dev/null +++ b/_data/certificates/apple/Escrow Service Root CA_4.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID0TCCArmgAwIBAgICAfQwDQYJKoZIhvcNAQELBQAweTEMMAoGA1UEBRMDNTAw +MQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBw +bGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHzAdBgNVBAMTFkVzY3JvdyBTZXJ2 +aWNlIFJvb3QgQ0EwHhcNMjIxMjA5MjMwMjA4WhcNMzIxMjA5MjMwMjA4WjB5MQww +CgYDVQQFEwM1MDAxCzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMSYw +JAYDVQQLEx1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEfMB0GA1UEAxMW +RXNjcm93IFNlcnZpY2UgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBAMTM6V22LQo/mPdNRNClYH3phbnVpulZEEBu1AvZnB3esbV2Q6zmEWIi +fUnVyBZUaE0szRmhahD81xpy4tmIipvKLhVTureAfQak9n+tXCcWgehtYywHEoED +Lm+qG5o6qRPpSzjIZsa26t6yB2P0GCmO4jhwiuHB6guw+wePcCxpLh2vhUXydaVR +F9zDyx7/FqXwpjCGLPYsR8Pr5xxdSBWS2K5Xpj0DWG1JTkVowmp9vpKYkn9UDBlO +TYpmJXN8dyKJEgQBvqVsvTsS0BDd2Xd2qRqcgEjRjtE3go0y6xQyHHc2TM170esH +YSF33dUA1WyVyL/I5haCdsS4X3S/b60CAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFNArcNQ4DclPcFSdBOJJSWe1KV77 +MB8GA1UdIwQYMBaAFNArcNQ4DclPcFSdBOJJSWe1KV77MA0GCSqGSIb3DQEBCwUA +A4IBAQAtsRCbiNLgxULnre/4g4/Lc8YE6V+k7f3R0NEOj+QFBHViF6QiQ4yyESuB +JluT4RdfJZs3vohvsslwTkk7D6x40HXvXK6C5hzHVp+Ac81YZfuXW4BPoxJJs0WQ +r/S+TJosbAC8E2/SIA4ffFk7Tatbh2XGn27JYNS1fUSTfNti95Yy5uNFU6j/rGSb +l3QqE/1n/p6qFpkPLpF0hVzi89AU9OXsNRn2ol2LryJjVqfZoUUSaf4M4kzbCu+0 +qY/1x9w0yQ2YkPJZOQvAGHLLWGgYZEbiYFOuo7IQtgzKskwjOAcrQvLErIIXiWGW +uhrkSpkfWuAvTK/cyhMocfUBcw4Z +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Escrow Service Root CA_5.der b/_data/certificates/apple/Escrow Service Root CA_5.der new file mode 100644 index 00000000..1e0ac838 Binary files /dev/null and b/_data/certificates/apple/Escrow Service Root CA_5.der differ diff --git a/_data/certificates/apple/Escrow Service Root CA_5.pem b/_data/certificates/apple/Escrow Service Root CA_5.pem new file mode 100644 index 00000000..29e6876f --- /dev/null +++ b/_data/certificates/apple/Escrow Service Root CA_5.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID0TCCArmgAwIBAgICASwwDQYJKoZIhvcNAQELBQAweTEMMAoGA1UEBRMDMzAw +MQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBw +bGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHzAdBgNVBAMTFkVzY3JvdyBTZXJ2 +aWNlIFJvb3QgQ0EwHhcNMjEwMTEyMDAwNzAxWhcNMzEwMTEyMDAwNzAxWjB5MQww +CgYDVQQFEwMzMDAxCzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMSYw +JAYDVQQLEx1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEfMB0GA1UEAxMW +RXNjcm93IFNlcnZpY2UgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBALKQ+B4t6CKrp4XiOOJ3lCNXzmp0OdmR5SfB4plOY0/k3qh8bjo9mQPo +U6uXl1O2uv9I7mc75+oRaloovY2f0dDEcrXpRApq2TwjjuzErwIS2BdidYeqYdGS +ugb2WIXUd8qvM2+Q6OikJOkcglpfha4lvCjkSaz8R8fFEe8dk7DCpBzrxPuh7pVF +8GEwvqH1Yxb6RJmMBEEp1/VZD8jwFsLxjoPRds07xW255Iho9MGDv+wgfzQwTTpd +Yv5QWgG5+6sKSWHveb8D6EiNYmXBh/SUo/yBgq2BvAhaderICJTB6T0Q9kzGbpxm +Tvz+up5HejFGGFTIrtFvn9HxSE5P6D8CAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLTEXkA5gNSzVobDkhKrS8sQffub +MB8GA1UdIwQYMBaAFLTEXkA5gNSzVobDkhKrS8sQffubMA0GCSqGSIb3DQEBCwUA +A4IBAQAtXnD+WWrz6q2GgmnGMFTUMeXZvV4HjpZe7nPZ38fTKz8ami7xSlGadcLZ +ZctOmBjEzlDSXMcYzM/CJyA5ER5mn2wGP/AB76E+M+WOYgLUhsLtJaaVQOzD4d1G +AdIKVApwz+tA9NKS3aG9GTIoyofrpQjMXHklZE5ITX0AZVZT04PmMOMuQXxGLehL +tqMfmpr0hvGPrqeLVcuLP4hmW6bG6SaJ03eCyMqrAWQRojVNpVb+we5o078HZifY +63i21xS7zfZL5m+HE3vfui+x9JZTg5HvfvJB0n3Y5BdGu0TYXD7iVoHYy3P4VCz1 +HWypRNuhhoYD1w9J6Imi0O194+cs +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Eureka Root CA 9.der b/_data/certificates/apple/Eureka Root CA 9.der new file mode 100644 index 00000000..02ad160b Binary files /dev/null and b/_data/certificates/apple/Eureka Root CA 9.der differ diff --git a/_data/certificates/apple/FDR Sealing Server CA 1.pem b/_data/certificates/apple/FDR Sealing Server CA 1.pem new file mode 100644 index 00000000..ec8ff15e --- /dev/null +++ b/_data/certificates/apple/FDR Sealing Server CA 1.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFXDCCA0SgAwIBAgIIb/WUCypwMjgwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UE +AwwXRkRSIFNlYWxpbmcgU2VydmVyIENBIDExEzARBgNVBAoMCkFwcGxlIEluYy4x +EzARBgNVBAgMCkNhbGlmb3JuaWEwHhcNMTQwNTI5MDEwMTE2WhcNMjkwNTI5MDEw +MTE2WjBMMSAwHgYDVQQDDBdGRFIgU2VhbGluZyBTZXJ2ZXIgQ0EgMTETMBEGA1UE +CgwKQXBwbGUgSW5jLjETMBEGA1UECAwKQ2FsaWZvcm5pYTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAKrNvWx4LVsrLv9KzV11gctSknLvBj0p7p+bUaQT +bnZRleuQ+Hed5t1RA2Q57GnAVgFZ9hAmmU/KG4tVMFdHQ7Q3D8Lg6NjA4/T8o8EA +m1oLp7i676dnMYb1s8ydicRAEcIKdO8WemMqI25yaaVyzoPmr/EO5gURQ1Vz0Cjw +2eeUcFo1E7osQa5raffmAdBqO4Sc7xpxD5C5KYU1v1zHEu5/f5ocA/SLr+mRXWu4 +EAIf7KKiw9YiST31maz0KhwNsMwYUggrYoLhFQ//3BwMrm7xcpomCtJQ7pT/mNZv +uTNAIVlj/zDV0KLA5+vPJ0bRosjZz/x6so815l/u1vGfHc/pYWhdb1fuGRT3zIAV +m2s75Qiamc1Q0iuRucARIIXAKa+SjdVGouWVTQV1EyTTLd5eibV46iXunWvaLDQf +jYQT66XNgAYBggTf4MyHjJWsNo4g7NOkOKoX9kbZKv9/dJvb7hrrTkJzRxrFk8cT +Ov3jB47YM5VP8OrWh/RFPQfP6K/ZRfiduGWpUQZe/EZ4aLhZ0CT+X2boz8WJsFAq +jtP0LcAC9XqXKjFaBcbQKbDsHlPKkfUzwSDpXwXy6AvTy+M4xPu0soERb39Lw/O9 +otyS2Iq91yckcR+qtVgMnyDn3HzWsEvvYIHQllxcaAh3UorO/XFP3+cPwxRoRHvL +gZKFAgMBAAGjQjBAMB0GA1UdDgQWBBSWUk7UypGwkhxUAxorHinY3xzt5TAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEA +ER5USB28sPQ9HVuQ1o8Loz7hwa3EYiV3ACr7jdQCj4GiKcRRWFK5Xb1/8g5kpt4M +Gs+6BRd+hpQy/x1pwtpoiz1Hwktpt/QYutXeqMAVT4DK4TOMIbd4WcPSLZkUkGgy +E2B1rUgZr9Zyz0rob7X0uHahHxuqD4eLnazUmLjB4M651cHY/zCSmtvKoCVtbpDm +P96dwnThvILBtpajrPxQY4DlV5iYijgMH3yLLurwdYn2MyW/4609VRcZqr917FYn ++08yauXa3djdev5x8AalYp43RWmftMvk9hdxMXaE/owMJ2pt0XNGwOaNYfmCKU+O +6otLh/HYWlmW+gL/YbHSv1oBZius/HGmwu+PK2221co4j6oA8CRi82X22ZZVjovB +zowxzy4O/uvUKGYAK3KlNnCGW6DT56/iSj+A8nP5netUiWnu2/8FoXbs/Z/cujdz +ElY3VKNviXxNtH6BYVft8nEznQdsLvfDV+JJoTyqxpdTP0ptTbNLFuquYLtBWAX8 +Z7nvlAyb1FPzppbUppKl7kT0OaTiqymhdgpRyB54GQcGh6ZKtqhGUb6yDBQ0Ndsq +m+7cPZBN2+MdPVNNY+OKUBdRIm6c9t5ZckWC036TZCg3SWNeRF277Ov8sA+VihFV +IG32grdqwLEypG8uQe+CnxxlTdSR/J5gmwLlSQQbG0I= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/FDR-CA1-ROOT-CM 86BD5BAECBA4D9EC4C7A9BFEFD3B7A14379A15E5FB3603BCE6905073EC060A3F.der b/_data/certificates/apple/FDR-CA1-ROOT-CM 86BD5BAECBA4D9EC4C7A9BFEFD3B7A14379A15E5FB3603BCE6905073EC060A3F.der new file mode 100644 index 00000000..9666e6ef Binary files /dev/null and b/_data/certificates/apple/FDR-CA1-ROOT-CM 86BD5BAECBA4D9EC4C7A9BFEFD3B7A14379A15E5FB3603BCE6905073EC060A3F.der differ diff --git a/_data/certificates/apple/FDR-DC-SSL-ROOT.der b/_data/certificates/apple/FDR-DC-SSL-ROOT.der new file mode 100644 index 00000000..c23816c5 Binary files /dev/null and b/_data/certificates/apple/FDR-DC-SSL-ROOT.der differ diff --git a/_data/certificates/apple/FDR-DC-SSL-ROOT.pem b/_data/certificates/apple/FDR-DC-SSL-ROOT.pem new file mode 100644 index 00000000..362dd495 --- /dev/null +++ b/_data/certificates/apple/FDR-DC-SSL-ROOT.pem @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFsjCCA5qgAwIBAgIJAJgh1oe2r7jpMA0GCSqGSIb3DQEBBQUAMEQxEzARBgNV +BAgTCkNhbGlmb3JuaWExEzARBgNVBAoTCkFwcGxlIEluYy4xGDAWBgNVBAMTD0ZE +Ui1EQy1TU0wtUk9PVDAeFw0xNDA3MjQwNTMxMzlaFw0zNDA3MTkwNTMxMzlaMEQx +EzARBgNVBAgTCkNhbGlmb3JuaWExEzARBgNVBAoTCkFwcGxlIEluYy4xGDAWBgNV +BAMTD0ZEUi1EQy1TU0wtUk9PVDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBAKyCaVuZjFtwVKPLVcmren8PlH3j3H7g/wCK7pbw7E8zahbkuhzWLrzWWIQW +bn+I+L/bBkWagR7aVw3b12E3OUyMtETsjM2oOs2+VndrTE4tCCL6RJ6mmI1cwhPU +7FvOrahltiSPbkFC4zcqnB88aWR5uR/JpiqGxhMHTjNNIT7oGRJRsZeNRTOWh+aT +qglVVyuLRTLymyNKqf34n3jYL+bg+msckwQz30J1h11mk3LQa2qvlbydQRtVAAmz +6KhXzBToZGzcDI7FU41/FJT9E2OAL88H2ctXTPr1iCpkeqQbGrDkyKoFoQc1cy38 +MDiB7dQitE6CPdpxZe6dWi08Q0ztBk9cpc08fZgJxcbRUyy8UERCyxOkZ7QF1aYc +idoI/ckfsdzChWEsBo/LGYBnIRIpaUvka8LFg5It8GZtKxIELNxzgflwEzj8fFnE +v4EW1ds9aZkUoVVSH0hmrJe3W8X71z4yl1qPsk95Q7rHYQ9RF8uQVy2NIRB5rbF1 +Y73UaK+20LpOvyxxDR8OYXGzuwLcVJCwZQyuznqiZGUH6RcvjBaF3J+4piCaPRk/ +zZSDIUC8itR5oEc+L/MIQKBAKzaY74/F+46G2Jdk85W8NugKKZUdTuwmEIsjKw/f +LAJfqP+Lv+3sBMKZl3+PSeTXkI9Z/X+xjtBcjs7asfiYvQbRAgMBAAGjgaYwgaMw +HQYDVR0OBBYEFIAb1FcWpF5v4/0eh6WjNAOvnR3rMHQGA1UdIwRtMGuAFIAb1FcW +pF5v4/0eh6WjNAOvnR3roUikRjBEMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRMwEQYD +VQQKEwpBcHBsZSBJbmMuMRgwFgYDVQQDEw9GRFItREMtU1NMLVJPT1SCCQCYIdaH +tq+46TAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4ICAQB/0iDiWd9z2Rrs +TIgzIfEi8mTzytrDeHe2kCA04orFY0CI6Yp6k+f3p/yyWXmvM9tnulx4F1ZCqOHv +/z/A7YvlHtlL9mgwImid4Pmq/4naJln960rrkrs1Rdu9mDqfhJYYO3sWtaB0q8QX +CbMcil/JWxMXGPmqJmJb1pCACf2lbbhAkh9YIORkEAnJVW2vmgsOuODZAsk9nRox +H1JJnJJwQs+vEMtiknYjfJ5skw+3Q46LHnwWIClqCVLf+sfkVGoV43SS3de13k0N +L4JauHqLsngc2IIzWDq1wWeOrS40BxH5JbVy1Ht03gVaT2w1TkgkREiTQoOW5R5H +FaZPdc/qx+x9l+FzFf4IJkrBMYxd1x9PcACFI9aSiPakiuXumcN+fvqa1BjMZ6ov +cbCAAQktbUlOz9K8WviA2kkKsPn0HFxbKRBUjE0XUxsZrR+SRicmCJn+76dxfQRn +FDsEKFv8g5lW4tG81U+naFs+UqaC7qnvfjqbwkjff4lLjG1ECBqKEx511+qSP7bl +xiMt3Fx5wNDFNOU+PfpNExfGHep/HeE1ImM024Sm4RxwiX2kX00dav4M0Sbbwp/W +HJ5WgdLPTIp6dAuecgnsIPhDbfFquSHz6+KODmBDCbP/vRClvTnEyXD12VLhNdTD +4sszVCDo5W2opldA1Gxlk6bpg/VKXA== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/FDR-LOCAL-V1.der b/_data/certificates/apple/FDR-LOCAL-V1.der new file mode 100644 index 00000000..ebd8d9b0 Binary files /dev/null and b/_data/certificates/apple/FDR-LOCAL-V1.der differ diff --git a/_data/certificates/apple/FDR-LOCAL-V1.pem b/_data/certificates/apple/FDR-LOCAL-V1.pem new file mode 100644 index 00000000..86f4fbdf --- /dev/null +++ b/_data/certificates/apple/FDR-LOCAL-V1.pem @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIEKTCCAxGgAwIBAgIJAIpZXkx8FEc8MA0GCSqGSIb3DQEBBQUAMIGbMQswCQYD +VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTESMBAGA1UEBwwJQ3VwZXJ0aW5v +MRMwEQYDVQQKDApBcHBsZSBJbmMuMQ8wDQYDVQQLDAZDb3JlT1MxFTATBgNVBAMM +DEZEUi1MT0NBTC1WMTEmMCQGCSqGSIb3DQEJARYXZmRyLWRldkBncm91cC5hcHBs +ZS5jb20wHhcNMjIwNTA5MTUyOTQxWhcNMzIwNTA2MTUyOTQxWjCBmzELMAkGA1UE +BhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExEjAQBgNVBAcMCUN1cGVydGlubzET +MBEGA1UECgwKQXBwbGUgSW5jLjEPMA0GA1UECwwGQ29yZU9TMRUwEwYDVQQDDAxG +RFItTE9DQUwtVjExJjAkBgkqhkiG9w0BCQEWF2Zkci1kZXZAZ3JvdXAuYXBwbGUu +Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqDSCzDVLKL1ti0A5 +6ddmfyNhDRWpSTQM1eWgkOXeOrmXGuUF0l183cNLHmCDLCQF/gN2ZDOlH/mGv4DU +KsVWZ4MV0fmoBUddlXlMH3lYT+4ZvWlH0bp5OX5UmVKxfvKMBl5jKkmANEZYmHu7 +VFiy3/7S4ca064Lfq1lNefMc0OM9oxulXlAICBwiwxiJKoPOa3/fgdx61lzMnWRa +U72XCh8jZdDBJDd5wFgPVGYJMFCbAlgKrEvLPT0Ih9TiWZO97YlnvTeO2PrJtztb +c3coQKfq9fOkLL9CyUrMUY4q7IJGBI1z4pB+UBS/ZgJ3/cBNvdhW5is2JVx113hl +IskfCQIDAQABo24wbDAdBgNVHQ4EFgQU0QoF+nE1hlJxSQU0TutWjH2N2dUwCQYD +VR0TBAIwADALBgNVHQ8EBAMCBeAwGgYJKoZIhvdjZAYQBA0MC3Blcm1pc3Npb25z +MBcGCSqGSIb3Y2QGEQQKDAhjbGllbnRpZDANBgkqhkiG9w0BAQUFAAOCAQEAFjVa +sSNfZOzLK10c16i06IRkqLx7xRo7ycnbSazwgNLxsGYNqzueBKI634nX4/MkFzgn +sIz3rayMogDSgcZmrMe63JmvKJwOWYNFQDs2fTCFNyHBU3lQRL67dddJ8vKKUgPF +4zLSbg80sYVkMAxpAjdIxDoXAGZX9ss8l4Z7QtbNHEUZoihXz5dWhjTUHfsNZsG4 +MxCIO9wniOpG5C/bUquZXq+Q75j4P4fC/KEfC70G/LVXzCTii+vEE6WTz8XhG2Ek +oZt6eUiXbC8LjA4Iss8POlr9oTj1y9zsZwdUN7E6/crQhtc68El3XcGWTvveMWIw +/Ry4bOUy5w0BVWlJEA== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/FDR-LOCAL.der b/_data/certificates/apple/FDR-LOCAL.der new file mode 100644 index 00000000..fdc41a47 Binary files /dev/null and b/_data/certificates/apple/FDR-LOCAL.der differ diff --git a/_data/certificates/apple/FDR-LOCAL.pem b/_data/certificates/apple/FDR-LOCAL.pem new file mode 100644 index 00000000..69f83323 --- /dev/null +++ b/_data/certificates/apple/FDR-LOCAL.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIIDzDCCAbSgAwIBAgIGAflWiCu0MA0GCSqGSIb3DQEBCwUAMEcxEzARBgNVBAgM +CkNhbGlmb3JuaWExEzARBgNVBAoMCkFwcGxlIEluYy4xGzAZBgNVBAMMEkZEUi1D +QTEtUk9PVC1MT0NBTDAeFw0yMjA0MjEwODQ0MTFaFw0zMjA0MTgwODQ0MTFaMEgx +CzAJBgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMRAwDgYDVQQLDAdEZXZp +Y2VzMRIwEAYDVQQDDAlGRFItTE9DQUwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC +AATstM3jcCQWuq9Bg83QA8IlrIKWDtWxssWc1c4hdDg/wsmD6Xb+xb45NCRgFnBW +SS1+dvn52D3WUU5HVS412NMxo4GHMIGEMFoGCiqGSIb3Y2QGAQ8ETDFK/4T6iZRQ +QzBBFgRPQkpQMTn/hKKdplQMMAoWBERHU1SgAgUA/4absdJkDDAKFgRjbGlkoAIF +AP+Gy7nmdAwwChYEaW5zdKACBQAwEAYJKoZIhvdjZAYQBAMMASowFAYJKoZIhvdj +ZAYRBAcMBUxvY2FsMA0GCSqGSIb3DQEBCwUAA4ICAQBvsxDEZweOcEo10OpMUpx2 +NZTy4BvSNqKOlv1nHTLqESHYTfik/L3mqTeOoWe20UkMY/e3vKwJWbgavzw7WOxb +65bQ+ixU5VQUZzy1XlaQkIW49Tqid1WViSNNlqEXJLTj8lsplpuy5iT/WndNWczq +opM3SkdS5YgjAqP4r8qoOAK7pSoMvLd6LTijbp9pTKDTseoXoJsVgPA/LNbW0FvR +QxJyVVYkFnN1jtZB2ge5tqpuEuXwyCa/1bC9H8WE49uHyABIzfRaLEs7JbYvIaDH +rgcoErGtyADmR/OvhMXryBz+USUG8bZtD/VoCsoIhoJFSVOBNDZXD59arISbjl8q +8lbmCloZmocbUPMRinXDbpwMcAfQhv2sV/J6T5+TFAeRdSORhnwnle+56sedvugJ +e8QOz85eTifA/KIuSTh+uKkrod3chBgHrh0PvJafOhcmYqhRbqV4guMXi53UrTLi +VP68jydKSP2+gLinzYw/J0G/fE88SoWNBcihGjgNrfn8MIAZpVVEQ34PLozWKiXq +hZ1VOA54XfeKlNp9Fxuuif0ZNPZ4q7ztbeR3aALN8lVkh/AfmpHNi6oN6LBu0zJw +Z9AX2sUNOH0DOOMdojFblTdyuINrt2Tr4ccpHS1htnNR0ro82kZpkJH/zES/oYTA +h0Sm4iIj1I5P1NFGq/jR8A== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/FDR-SS-CM-E1.der b/_data/certificates/apple/FDR-SS-CM-E1.der new file mode 100644 index 00000000..6ada8280 Binary files /dev/null and b/_data/certificates/apple/FDR-SS-CM-E1.der differ diff --git a/_data/certificates/apple/FDRDC-UCRT-SUBCA.der b/_data/certificates/apple/FDRDC-UCRT-SUBCA.der new file mode 100644 index 00000000..3965bf6e Binary files /dev/null and b/_data/certificates/apple/FDRDC-UCRT-SUBCA.der differ diff --git a/_data/certificates/apple/FDRDC-UCRT-SUBCA.pem b/_data/certificates/apple/FDRDC-UCRT-SUBCA.pem new file mode 100644 index 00000000..a35def36 --- /dev/null +++ b/_data/certificates/apple/FDRDC-UCRT-SUBCA.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICFzCCAZygAwIBAgIIOcUqQ8IC/hswCgYIKoZIzj0EAwIwQDEUMBIGA1UEAwwL +U0VQIFJvb3QgQ0ExEzARBgNVBAoMCkFwcGxlIEluYy4xEzARBgNVBAgMCkNhbGlm +b3JuaWEwHhcNMTYwNDI1MjM0NTQ3WhcNMjkwNjI0MjE0MzI0WjBFMRMwEQYDVQQI +DApDYWxpZm9ybmlhMRMwEQYDVQQKDApBcHBsZSBJbmMuMRkwFwYDVQQDDBBGRFJE +Qy1VQ1JULVNVQkNBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaDc2O/MruYvP +VPaUbKR7RRzn66B14/8KoUMsEDb7nHkGEMX6eC+0gStGHe4HYMrLyWcap1tDFYmE +DykGQ3uM2aN7MHkwHQYDVR0OBBYEFLSqOkOtG+V+zgoMOBq10hnLlTWzMA8GA1Ud +EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUWO/WvsWCsFTNGKaEraL2e3s6f88wDgYD +VR0PAQH/BAQDAgEGMBYGCSqGSIb3Y2QGLAEB/wQGFgR1Y3J0MAoGCCqGSM49BAMC +A2kAMGYCMQDf5zNiiKN/Jqms1w+3CDYkESOPieJMpEkLe9a0UjWXEBDL0VEsq/Cd +E3aKXkc6R10CMQDS4MiWiymY+Rxkvy/hicDDQqI/BL+N3LHqzJZUuw2Sx0afDX7B +6LyKk+sLq4urkMY= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/FG985120068L4YP2K-8F710A00.der b/_data/certificates/apple/FG985120068L4YP2K-8F710A00.der new file mode 100644 index 00000000..7bf3ab39 Binary files /dev/null and b/_data/certificates/apple/FG985120068L4YP2K-8F710A00.der differ diff --git a/_data/certificates/apple/FG9851200HNL4YP26-DDA60A00.der b/_data/certificates/apple/FG9851200HNL4YP26-DDA60A00.der new file mode 100644 index 00000000..8df0cef4 Binary files /dev/null and b/_data/certificates/apple/FG9851200HNL4YP26-DDA60A00.der differ diff --git a/_data/certificates/apple/FG9851200KCL4YP2A-787F0A00.der b/_data/certificates/apple/FG9851200KCL4YP2A-787F0A00.der new file mode 100644 index 00000000..22837a3f Binary files /dev/null and b/_data/certificates/apple/FG9851200KCL4YP2A-787F0A00.der differ diff --git a/_data/certificates/apple/FG9851200KGL4YP26-96C90A00.der b/_data/certificates/apple/FG9851200KGL4YP26-96C90A00.der new file mode 100644 index 00000000..5e00449b Binary files /dev/null and b/_data/certificates/apple/FG9851200KGL4YP26-96C90A00.der differ diff --git a/_data/certificates/apple/Fake Apple DDI Secure Boot Root CA - G1.pem b/_data/certificates/apple/Fake Apple DDI Secure Boot Root CA - G1.pem new file mode 100644 index 00000000..5ed64722 --- /dev/null +++ b/_data/certificates/apple/Fake Apple DDI Secure Boot Root CA - G1.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIVAPFKPYpoJpKB7i8VUxjIXDnh9TEfMA0GCSqGSIb3DQEB +DAUAMF4xMDAuBgNVBAMMJ0Zha2UgQXBwbGUgRERJIFNlY3VyZSBCb290IFJvb3Qg +Q0EgLSBHMTEYMBYGA1UECgwPRmFrZSBBcHBsZSBJbmMuMRAwDgYDVQQGEwdGYWtl +IFVTMB4XDTIxMTExNzAwMTM1MFoXDTIyMDMxNzAwMTM1MFowXjEwMC4GA1UEAwwn +RmFrZSBBcHBsZSBEREkgU2VjdXJlIEJvb3QgUm9vdCBDQSAtIEcxMRgwFgYDVQQK +DA9GYWtlIEFwcGxlIEluYy4xEDAOBgNVBAYTB0Zha2UgVVMwggIiMA0GCSqGSIb3 +DQEBAQUAA4ICDwAwggIKAoICAQCVv5niGrAQ9hXtMddSYJMYlQ0T46ewbsncFHeH +TtfiGjc9e7UvfAMAOkTP1SJAQp7EPXdTWfM/qZg/BIdgJdE9GsBWTa0qmtteVQiE +WSM0X1uAwzO63e/U+ycV4R+2GooES2N9I7AA/q/EzEhPOF2M/eoU8lVhoEd5C8jP +RehdbJ5VHsdgBhKj0HmhvgRpjwdOxqJhevIL3Lwgpb0T2WYkx2vzCMIT9EzkyQ0F +Jw0ftLCgymFtwdhqHASZ1tCV/iPWqsMeCLh/IZeNnfDux6E1ctsMHcY+hNYhODtV +B0fWmQdMbpERbIzL6hhdtnYmyYSGEka/mL5CqDgMFOYfK1zRBqrkJ9obX6jQlEk6 +mfrQdYNluD6c91m681rBySva4KT1kzyhqHdUzxk8UTkHLWb4EZE19MQkP++Od4KJ +xYMQXgcz/+Pa9RIt0Dbn8g1zQvbOpdFYnZYMU5ySdD+GeIq99c995gJKfxZujqUS +yYoSD8qyOm34Uos9QOBW7Dlg/X40ljnJP2duhA8m7/q/K8xQNPpmNF8DOCqEuUXq +i/5/ZJo35EgiJVUsCInyZs8jRf0ZOi2FVtoc9e+R+b9C+SuPYcNYrUHouXPylxnE +iyY6MgYEWIgLqRUk86RQOHSyStjTuUj4zxIpLgDqSMHTiNpU45h5GfY3FiIO55N0 +lz+zWwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQZ13hkNB4h +V1+XG/EfxjigaMWVUzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEMBQADggIB +AF/Fe3JS3PXPNHm2o5zFvDJozAHHuoy73olRIsqIHu/ja1CK70l/o/OspNLJ1P4k +G6apYTua/Hz9Ao7kjHyRUvjzOh4mXgkSG9xL/1VVlaXPImO4zJi4k6OsbbZuSWy4 +Hr2eMCkEvskI0gEfgw+vl3TXDkGDiHR1tSs5AHFzHtLECqMSJ+zNz2Wf5UXGAT7e +T4qy3DE4V8f+U9tCduhkgwgEG037rESvOTeBV5F80CrFwdWvGHxKmaU6kRCXw8Qu +XNv2ORzHVn80lP5Mje8SuDCby2Lys7NYLHMFx21H1gimBwPTFRUq2sJP2YeZBer4 +U55jXbrXfKNy4zi8KY+AnWi9q0ovbBoGoGuFrvKeJNxVa/2oQ8L+/DAmkI4gz/zK +MqPtDWIS2G3w2PbY+HKjFOpKVv4HK5L7gRjznXgm5AmVD3ytK/jPVCt3z4cuxN+I +2NB+Xjz9YhJ1JMFmo4SBjnKMsBp+o4WpyEAzKjx1Gnxo4JQgBkpCN7TYIP11BJOq +qfBpMkv6OyCNn4dWz8NTNDDMyBtfCqqVB+7jSIRNonUJXF55kyP4+2Hf56CeTAMn +LoMSDGXaKTExuKwD8t+ED8oEQ/OyOQvj2xxFyljgrNU2AjuOJ21Kt9Wqt4zePjp4 +v3+6BjQwkd9WB5SQg+jdCt7ON0ZaC7t+vnvmsuMIeYAg +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Fake Apple Extra Content Global Root CA - G1.pem b/_data/certificates/apple/Fake Apple Extra Content Global Root CA - G1.pem new file mode 100644 index 00000000..c4b3eb7a --- /dev/null +++ b/_data/certificates/apple/Fake Apple Extra Content Global Root CA - G1.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFlzCCA3+gAwIBAgIVAKJUPHIgiase6PtxKd4b8SKOazxJMA0GCSqGSIb3DQEB +DAUAMGMxNTAzBgNVBAMMLEZha2UgQXBwbGUgRXh0cmEgQ29udGVudCBHbG9iYWwg +Um9vdCBDQSAtIEcxMRgwFgYDVQQKDA9GYWtlIEFwcGxlIEluYy4xEDAOBgNVBAYT +B0Zha2UgVVMwHhcNMjExMTE3MDAxMzQyWhcNMjIwMzE3MDAxMzQyWjBjMTUwMwYD +VQQDDCxGYWtlIEFwcGxlIEV4dHJhIENvbnRlbnQgR2xvYmFsIFJvb3QgQ0EgLSBH +MTEYMBYGA1UECgwPRmFrZSBBcHBsZSBJbmMuMRAwDgYDVQQGEwdGYWtlIFVTMIIC +IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqqZHrrs+mqM3fbVWPJvWq7ih +KBY+QF3VQyTYFlZ9N0hMO+uqXMZHB+Es54tKYhaUO9iPXq+zJ8VljTo/J+MOKP85 +9/1UADRT9HDQBjX4mdi/n0r/X0rJP6eB6VT1uAgPtKSSddtRgDkqwKxyRhkjR41W +HZy6jS0qUkWW79TBR3uwgYk8O2HkSfSd2+OdT8EDrnN4cVl5kIKDk4i+zN/9dns2 +4t6L7PnYbTqLxmPvp3T+ca29kx4c5OIrdL7XC88fYuatWVQDfdpZ7w6B85jL5j6I +R0Jc1mIRgj9Bnv8SREYE2xoy0s8Aci2gbBCinHMxD1PYOm+9Q2uPBV2J9mwFPONq +lh/wJmu+VrNFCMbccmz08byeiU/9rs8KPbjsdtF2Xjjt0MEYnxwPFcq3TBRiI0Xc +itCp1gkQx+xf6Ki96OUwX7+Ig/ju2vwzwoWMwuoFt11mlNaPxumNxQH+JKRAyb6k +sAW5ONt6wQUDF6+SFgWS9e+RU3YBGIccHNRqhetjjiq4IgW3h7JzAdQz2lTTaQVt +vwldCCEIubqw1h89vcMNry2Vh6qtN/lV5EootT0IDWKQp+PPIcXC4IfTqIyMizzX +3tysaY3XrCSWaOFtu/e9FqU2YgF2AkNpL6y2zEGnTyHdb0E1wphcbIuxbTZV4uJh +3KA9vX5dOa+c16yOVc0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQUCttLWtcmmBMZ+s4YFBkkeKuTVrYwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 +DQEBDAUAA4ICAQAirHRooPXUI+fAwR2fLJASklhnIaZJavO3yyM4addecny/blHS +UsVbuxBDG1Qp7oJx4CUb6JJzjeoT0yfcJNFYe200/M4cCDuiUlMIRBR7xmGZCakL +cYFZiZvakl+1ymW9AzUIqyMXdLsY8wngkEMwl/ELLI5d6OaO7Zu9rYj6RIsY17s5 +XQ4I7aDlgkvNXSePY5PUeJ2jtqil8c0N7vLE7M3AYiwMA/nX+GABVCOnd9R2ETJH +u8bMvwLUMQzBo7p0A8cEajh0f56GNEoz27Hbdo19Nu73GHQ/7gREh0aLcZgTIjOw +LrsRCN60J69+kaFj+g2lz0n3SpgEg1HNfyuuHSZWd0hPu+Q7ucwsh/kb/CVxEMlI +2CDUmwG6Sc7g/wRlU3HixlaZ9D6PzK9WHvTa9kCozFNpt07UG1ynahZFnIVpUYp7 ++d7xOaJkpYEDsxQr5uwSYNOl+7/5YdoeG4sPAMMQpnLItNBrFv3Jrcy1WYVF7hBR +IhTBH70EK9YV1mlC4xw/3/fGxG0KM95MD9lFel78pDOewsOOW7UHMObqmvA73GG9 +dJ6C97LpT5IQNFT8AqCbVibGVaGVGbvWLLnxB+suu7yXjcAYB7/Fd1iDR6+sONtV +TRHVxv/bneieh824bM7sao1Q1EiZvLFYYxeoN7cIFtgZLxz4v+xmDDFePA== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/GTE CyberTrust Global Root.der b/_data/certificates/apple/GTE CyberTrust Global Root.der new file mode 100644 index 00000000..e37fa29b Binary files /dev/null and b/_data/certificates/apple/GTE CyberTrust Global Root.der differ diff --git a/_data/certificates/apple/GTE CyberTrust Global Root.pem b/_data/certificates/apple/GTE CyberTrust Global Root.pem new file mode 100644 index 00000000..82ae5e1b --- /dev/null +++ b/_data/certificates/apple/GTE CyberTrust Global Root.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD +VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv +bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv +b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV +UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU +cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds +b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH +iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS +r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4 +04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r +GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9 +3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P +lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/H6-LocalSigningTool-ManifestKey-RevB.der b/_data/certificates/apple/H6-LocalSigningTool-ManifestKey-RevB.der new file mode 100644 index 00000000..85de4741 Binary files /dev/null and b/_data/certificates/apple/H6-LocalSigningTool-ManifestKey-RevB.der differ diff --git a/_data/certificates/apple/H6-LocalSigningTool-ManifestKey-RevB.pem b/_data/certificates/apple/H6-LocalSigningTool-ManifestKey-RevB.pem new file mode 100644 index 00000000..bdafbf15 --- /dev/null +++ b/_data/certificates/apple/H6-LocalSigningTool-ManifestKey-RevB.pem @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEpTCCA42gAwIBAgICAcwwDQYJKoZIhvcNAQEFBQAwfjELMAkGA1UEBhMCVVMx +EzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRp +b24gQXV0aG9yaXR5MTIwMAYDVQQDEylBcHBsZSBTZWN1cmUgQm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTAeFw0xMjA0MjAyMjIwNTdaFw0yMjA0MjEyMjIwNTda +MF8xCzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMQwwCgYDVQQLEwNF +VFMxLTArBgNVBAMTJEg2LUxvY2FsU2lnbmluZ1Rvb2wtTWFuaWZlc3RLZXktUmV2 +QjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMg9UZgoUPe390Qc2GFn +ePp/Vb+WPT+AqqBra4BcPBBFVGWkpWWN+xuFnjWFuM3+Dr78fG35Ul9dxIO3Mq31 +9z62bkv3Oa7Mqv3+LSDr/5k/22C05Je/r+ZHeDmEqROvXGgEPFDKmbCon7zXHOVO +GsKWmBLnqO44aoKZv44WTTCEVhFKbPbcCfYKWUduDNrQb/a8BjjZ665QFOT2EaWJ +9Opk3e4gbgQ63H+SGkW1wPYZdJaz/mJIa7vfsRGDzvixgd3JLiLRo+i+yC68qPvx +eWyyLcZgG2vI7rFUzKtabEj377Ff2PKTqvvZLcMkwjJqhi6UHSnfNXxaJETId1Bk +gKkCAwEAAaOCAUowggFGMAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQUt1d7Aa0k0BPA ++Xn7JiEEvX+1bdQwHwYDVR0jBBgwFoAUST02U8nXFeGGYU6sq6sYVmNdw8YwgfYG +CiqGSIb3Y2QGAQ8BAf8EgeQxgeH/hOqFnFCBtTCBshYETUFOUDGBqf+EkrmGSAww +ChYEQk5DSKACBQD/hJK9pEQMMAoWBEJPUkSgAgUA/4SalaBPCzAJFgRDRVBPAgEA +/4SaoZJQDTALFgRDSElQAgMAiWD/hJrBpE8LMAkWBENQUk8BAQD/hJrNikMMMAoW +BENTRUOgAgUA/4SqjZJEDDAKFgRFQ0lEoAIFAP+FmpGeTQswCRYEU0RPTQIBAf+H +m7nebgwwChYEc25vbqACBQD/hPqJlFAdMBsWBE9CSlAxE/+Eop2mVAwwChYEREdT +VKACBQAwDQYJKoZIhvcNAQEFBQADggEBAKOZtqD0jOwJ3yLBJetGGEwovwaIS7Y2 +In0TudpWIdYmAjPqBnVKosVAdRveYb/PG8hh3UKzT22R0WAFeEcChBIcn+GjIqdK +BZOBr74hRlCA4FVcaKFjU3rCDj6x+hHZKiWjsRLSuOiOxXmMLsX5F+ewajIOzCPl +1YzvpNC211yU31GPst+onEdbqDNmU/iHLDC/YA1Jj25pfmL46sGYjbpKv2vpr/8I +hbRRC1LsFNvVPUL5cGd9SJ9O/5EqrT6RPpXBfBU4Ag8ufm9FfGtgIZMxIpL1/l+x +gAV5Aow/gls4Tso7ZgQd1ijzKH5NwRTcZuJvO1jeeEdgwMa2OKGPdRY= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/H6-LocalSigningTool-ManifestKey.der b/_data/certificates/apple/H6-LocalSigningTool-ManifestKey.der new file mode 100644 index 00000000..c98e574b Binary files /dev/null and b/_data/certificates/apple/H6-LocalSigningTool-ManifestKey.der differ diff --git a/_data/certificates/apple/H6-LocalSigningTool-ManifestKey.pem b/_data/certificates/apple/H6-LocalSigningTool-ManifestKey.pem new file mode 100644 index 00000000..f0dac3c8 --- /dev/null +++ b/_data/certificates/apple/H6-LocalSigningTool-ManifestKey.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIID9TCCAt2gAwIBAgICAcswDQYJKoZIhvcNAQEFBQAwfjELMAkGA1UEBhMCVVMx +EzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRp +b24gQXV0aG9yaXR5MTIwMAYDVQQDEylBcHBsZSBTZWN1cmUgQm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTAeFw0xMjAzMTAwMTA5MDNaFw0yMjAzMTEwMTA5MDNa +MFoxCzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMQwwCgYDVQQLEwNF +VFMxKDAmBgNVBAMTH0g2LUxvY2FsU2lnbmluZ1Rvb2wtTWFuaWZlc3RLZXkwgZ8w +DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMuseSYow8YnNz8eBNQdLpVR+a0qe11v +44RCR3FgD5tOGmcdPQaTUW26waFp/8uYeaNcGvZBAVZscw0sKatPeKY9wqJsrLut +szCwrx76Lwovb0XPtp7ipMtZpqs6dvcf7lfXweWkcAjbM9bSL7syCqI+uVVgouxg +nfoLuozeWCcDAgMBAAGjggEjMIIBHzALBgNVHQ8EBAMCB4AwHQYDVR0OBBYEFFyR +zK/HX0Ks/bqoc1uUycvE69FcMB8GA1UdIwQYMBaAFEk9NlPJ1xXhhmFOrKurGFZj +XcPGMIHPBgoqhkiG92NkBgEPAQH/BIG9MYG6/4TqhZxQgY4wgYsWBE1BTlAxgYL/ +hJK9pEQMMAoWBEJPUkSgAgUA/4SalaBPCzAJFgRDRVBPAgEA/4SaoZJQDTALFgRD +SElQAgMAiWD/hJrBpE8LMAkWBENQUk8BAQD/hJrNikMLMAkWBENTRUMBAQD/hKqN +kkQMMAoWBEVDSUSgAgUA/4WakZ5NCzAJFgRTRE9NAgEB/4T6iZRQHTAbFgRPQkpQ +MRP/hKKdplQMMAoWBERHU1SgAgUAMA0GCSqGSIb3DQEBBQUAA4IBAQDtop/YR86c +VnSmStQep97BOqszQFGQqyUC05vRW+RoXhGKPEs2EJ/OGHBwfkaDfjJhVmE4CbOP +W8LzgAlxOrDLgYAR/IB70+3Dyqtk97BaJbKu5KKk3psuTNJo8L7TgvfBlC0d5aKX +4Qh5Nbkvmj2D+4W/H3i6+NaYgZZDLa0b7VyZsLLJPEpc/EdqJGHVsa8J3foQsjXs +oEt4lxGw3/A28Xp4Th4drmI6PYaoIu2NPaBvA3RDlhejmJHRr9827I/hw6s7dI64 +/8wkbReTRF7bmzvjfmWi/M4drGbeRIm9hN7pDOXno2dp4WJGhQNR5wNB+YcpcCXF +lU85U7sxQ34E +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/H6-Mfg-LocalSigningTool-ManifestKey-RevC.der b/_data/certificates/apple/H6-Mfg-LocalSigningTool-ManifestKey-RevC.der new file mode 100644 index 00000000..c80f8f02 Binary files /dev/null and b/_data/certificates/apple/H6-Mfg-LocalSigningTool-ManifestKey-RevC.der differ diff --git a/_data/certificates/apple/H6-Mfg-LocalSigningTool-ManifestKey-RevC.pem b/_data/certificates/apple/H6-Mfg-LocalSigningTool-ManifestKey-RevC.pem new file mode 100644 index 00000000..0cff961e --- /dev/null +++ b/_data/certificates/apple/H6-Mfg-LocalSigningTool-ManifestKey-RevC.pem @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIEbDCCA1SgAwIBAgICAecwDQYJKoZIhvcNAQEFBQAwfjELMAkGA1UEBhMCVVMx +EzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRp +b24gQXV0aG9yaXR5MTIwMAYDVQQDEylBcHBsZSBTZWN1cmUgQm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTAeFw0xMjA5MjAxODA0MjhaFw0yMjA5MjExODA0Mjha +MGMxCzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMQwwCgYDVQQLEwNF +VFMxMTAvBgNVBAMTKEg2LU1mZy1Mb2NhbFNpZ25pbmdUb29sLU1hbmlmZXN0S2V5 +LVJldkMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7gT7WPW6BxOmB +9CsotfsZDj9NHhgph8b8STzxBqJRvooAbidH+QmtHrYyv75EyUg40C8OLzTelQGF +LhH6SiEr0C2IdUH+PEunbtiKwleRpufibIIaFwneiCS/WAJjKzuBqGcST2PvtxaU ++rFpxfVvgI3MXidOtXmx+wMyKp+yJy1s2ZJJuHLvqXEZ0IHRfZ8etOHEtlGszsFe +mANWl/31Wo7JF/qy0J4YRCMUsKMnn3TATPuGt2P/kXsA81EytJwCaxydxkQTArNf +B5IgTRBmT/Z+lTC2kmN7/KwPgVmYb5QTQ10l6+G1MlLsGkPUA5cHa1/LeNoOzmHp +/YFPJdA9AgMBAAGjggENMIIBCTALBgNVHQ8EBAMCB4AwHQYDVR0OBBYEFN+Ww//N +8Fgs4ISQqTwOBH48DE/VMB8GA1UdIwQYMBaAFEk9NlPJ1xXhhmFOrKurGFZjXcPG +MIG5BgoqhkiG92NkBgEPAQH/BIGnMYGk/4TqhZxQeTB3FgRNQU5QMW//hJK9pEQM +MAoWBEJPUkSgAgUA/4SalaBPCzAJFgRDRVBPAgEA/4SaoZJQDTALFgRDSElQAgMA +iWD/hJrBpE8LMAkWBENQUk8BAQD/hJrNikMLMAkWBENTRUMBAQD/hZqRnk0LMAkW +BFNET00CAQD/hPqJlFAdMBsWBE9CSlAxE/+Eop2mVAwwChYEREdTVKACBQAwDQYJ +KoZIhvcNAQEFBQADggEBACOlbkz1sF/bB4J60ViL6EzpD0DCgu05LmMtuUWqoz48 +j/roRrGAH1vIxhiEU/RkNouDHQn0yNuL7aViXM+RSJOnx7HUiShIVMhJYmOh1Uq6 +qm/H+0VfcXmRAuXAbSdvEuFzG1l/WdK5EOvjDn4lZjKVvFRJQs1vhJN4GqV/fTDP +F4SQXDBNwIKuXzBn+z1m7gpAcW7XDiNVNYBOO3T/o38ZR4bHfplFY4eaS1oylAw5 +vh7IPxehD+r7CS7WslbSHuPGW+i9V7eSDKxziD6Zs/S1drkQ2c35lsH9JVsOdvq8 +oI04qZKxRbjfW7jXMMxkibXWtow5NCam4qiSqRbui7Y= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/ICE Root CA 14.der b/_data/certificates/apple/ICE Root CA 14.der new file mode 100644 index 00000000..a8c48bab Binary files /dev/null and b/_data/certificates/apple/ICE Root CA 14.der differ diff --git a/_data/certificates/apple/ICE Root CA 14.pem b/_data/certificates/apple/ICE Root CA 14.pem new file mode 100644 index 00000000..0c2c0692 --- /dev/null +++ b/_data/certificates/apple/ICE Root CA 14.pem @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIJAO1aKxDK1VJXMA0GCSqGSIb3DQEBCwUAMEkxCzAJBgNV +BAYTAlVTMRMwEQYDVQQHDApDYWxpZm9ybmlhMQwwCgYDVQQLDANJQ0UxFzAVBgNV +BAMMDklDRSBSb290IENBIDE0MB4XDTE2MDQwMTAxMDcyNVoXDTE2MDUwMTAxMDcy +NVowSTELMAkGA1UEBhMCVVMxEzARBgNVBAcMCkNhbGlmb3JuaWExDDAKBgNVBAsM +A0lDRTEXMBUGA1UEAwwOSUNFIFJvb3QgQ0EgMTQwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQDUEuQkJeFD4B2SQzT4xSuN3ut2Y3xZwxJMDIQ46xwQxdL/ +2bl13f/U0naE0+W2WdjoIdMHlutUa2zQikwXMfOGHOxbFI06x9eo2ABxsYITV/+t +p/8NRKjPLiFxhngAPAggSUY0QrB1M7Kpn8BxZL++RUB4ShPRXGPI0EKV4RkO2/qC +lWoew8FkQk8ws6UDaFtk8CdsmEHbx2FqMDnLEWrD/YiOC8JNivZblqUwoJoQyjnM +xOLz0nGB9qiVpKp5+a0oiFRfQJtSQmHGd4l/MLr/sWNEzkky27mJ7Hqa3egudHoa +nMpJu7sJOKvtGm5j6sIiMgroI57D4uL/z1bXEMHJAgMBAAGjIzAhMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMA0GCSqGSIb3DQEBCwUAA4IBAQA3udWZ +KdML/7AHZ0/EAmDfyv4lEiE3X/bkDsfgSnldAUfR2Fav7Wtfrhw4+O82j+vaJz5p +hKDp4P25zFvQl7be6WYe10nu5w3HCqfOUmjw56zKbvKu9HxlPBYkP0nleygT7IB7 +pHB7X642jyKkglsnz6PoQjMqHRJvGxWpTnkaKTDBnWjbbFQtr08RVnSye01cZEUm +S8mcNOOos0AQbW8sjtE7G1RD2w2tWtHgct/rGr878uWCn6Uae/1zY+KDi33aoSPs +snJXPkV073Jw1e3qBafdlV6ll4kmgGpdrijp3PGvfxTEknCMdiifrW5dKcDTV74y +ZhKbM81nkFeZQRlY +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/ICE Root CA.der b/_data/certificates/apple/ICE Root CA.der new file mode 100644 index 00000000..5f1baf25 Binary files /dev/null and b/_data/certificates/apple/ICE Root CA.der differ diff --git a/_data/certificates/apple/ICE Root CA.pem b/_data/certificates/apple/ICE Root CA.pem new file mode 100644 index 00000000..4b0f864a --- /dev/null +++ b/_data/certificates/apple/ICE Root CA.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIBvjCCAUSgAwIBAgIJAK/9wdKrPt5FMAoGCCqGSM49BAMDMEYxCzAJBgNVBAYT +AlVTMRMwEQYDVQQHEwpDYWxpZm9ybmlhMQwwCgYDVQQLEwNJQ0UxFDASBgNVBAMT +C0lDRSBSb290IENBMB4XDTE2MTIwOTE5MjI0NFoXDTE3MDEwODE5MjI0NFowRjEL +MAkGA1UEBhMCVVMxEzARBgNVBAcTCkNhbGlmb3JuaWExDDAKBgNVBAsTA0lDRTEU +MBIGA1UEAxMLSUNFIFJvb3QgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASxCvld +KHbw+LFdOigmdM6u+k4zVTgt9WhHS7VTOvNtnFQBnzVnyrmDK/GESpdd+yDRRMGw +bSl6nQIVbhHiOi9leE5SSVohVzHMfJ9yyqaAmI4oZU8vJhOwkMQ3afvbPg4wCgYI +KoZIzj0EAwMDaAAwZQIxANDk1rWzz/AMnUBO0JlZafeYTrEgudDN5JH8U4CbljdJ +oEV1StbIVn1BTQ4veLwtQgIwX5RY5eSBguyOX/OTDPeLbFlCRhYLQgRuGtWuODu4 +ej527DkmVLqO+hfJEoGe9PS0 +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/ICE Test Leaf Local Cert.der b/_data/certificates/apple/ICE Test Leaf Local Cert.der new file mode 100644 index 00000000..9c818e00 Binary files /dev/null and b/_data/certificates/apple/ICE Test Leaf Local Cert.der differ diff --git a/_data/certificates/apple/ICE Test Leaf Local Cert.pem b/_data/certificates/apple/ICE Test Leaf Local Cert.pem new file mode 100644 index 00000000..a8d04796 --- /dev/null +++ b/_data/certificates/apple/ICE Test Leaf Local Cert.pem @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDLjCCAhagAwIBAgIJAJXU0JjBxxMGMA0GCSqGSIb3DQEBCwUAMEkxCzAJBgNV +BAYTAlVTMRMwEQYDVQQHDApDYWxpZm9ybmlhMQwwCgYDVQQLDANJQ0UxFzAVBgNV +BAMMDklDRSBSb290IENBIDE0MB4XDTE2MDQwMjAxNDc1NloXDTE2MDUwMjAxNDc1 +NlowUzELMAkGA1UEBhMCVVMxEzARBgNVBAcMCkNhbGlmb3JuaWExDDAKBgNVBAsM +A0lDRTEhMB8GA1UEAwwYSUNFIFRlc3QgTGVhZiBMb2NhbCBDZXJ0MIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3N+nNHrRjkJ8CREeCcLQiAhczEVoefxQ +tWytgfX2oKjtzEbPbGdaYmvIMq1xF9yDWsTshgDMsc10VezRsO3uKHrCUjUA8OmM +Wqfw2OERiuGEAFX//ltUo+neUHQY3XTjEXx/w2qMA21YxlDJpULUrD9S5epvS4kT +4OwcNgIQdnctdtdKex0mBlAEqoh//IEpt/s/pwWYxavsMUhtzy2G33EHwirjAMGo +FzSqTp11yDP8U5Fyx38Y/nHwqb8l1b7GFimgvCxsBIl4X4cE9mcAgLPuEZ2/CB1U +YPMpF3IR2mIpwOIdJRoUajXbGJnf24lqDJf4KIbwloh7BEU37xe7RQIDAQABow8w +DTALBgNVHQ8EBAMCB4AwDQYJKoZIhvcNAQELBQADggEBALEihDuFWqmNcwxsaAGC +0ZZndOzDXDsikssQKI+0AVvTo0dGx9WXNtKrcigsNnea8jx1aliVvr+lE0xs2zn3 +8JPBzPTiKFWRx1PvU2ft2Vf06TWEZO+z98d47ZGcEAkef7hbFNon1S846/ZDIrKN +uL5hV7OeVerZlOZxDPrxfvGLHMnWYMj0D4w4gJU4sdxNGy2AwSbhmfswoLIRY31e +rT+57a+s+ebBWy1uS3vV8VaYiuHTPq891+OxjF48tpIKONDYdABeRFHztO6B6LaQ +C/6PeKxy/qMvji5U5xurlDxLAlpubri4eV5txWSalDgrPtHp6BnQhjypbO9U5D/f +n3A= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/ICE Test Leaf Local Cert_1.der b/_data/certificates/apple/ICE Test Leaf Local Cert_1.der new file mode 100644 index 00000000..d4f37789 Binary files /dev/null and b/_data/certificates/apple/ICE Test Leaf Local Cert_1.der differ diff --git a/_data/certificates/apple/ICE Test Leaf Local Cert_1.pem b/_data/certificates/apple/ICE Test Leaf Local Cert_1.pem new file mode 100644 index 00000000..a7c7a493 --- /dev/null +++ b/_data/certificates/apple/ICE Test Leaf Local Cert_1.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIByzCCAVGgAwIBAgIJAKHdkL58W96hMAoGCCqGSM49BAMDMEYxCzAJBgNVBAYT +AlVTMRMwEQYDVQQHEwpDYWxpZm9ybmlhMQwwCgYDVQQLEwNJQ0UxFDASBgNVBAMT +C0lDRSBSb290IENBMB4XDTE2MTIwOTE5MjI0NFoXDTE3MDEwODE5MjI0NFowUzEL +MAkGA1UEBhMCVVMxEzARBgNVBAcTCkNhbGlmb3JuaWExDDAKBgNVBAsTA0lDRTEh +MB8GA1UEAxMYSUNFIFRlc3QgTGVhZiBMb2NhbCBDZXJ0MHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAEmAZsciyBvpxNQ6LsaeglCOej77U6KyHLtDReQoKq06iSQQaX2LLm +XXYZ68prHwNAWFkLnB5rRWocNrYakSNs8PQTuuE7QjdqkYbAYIjW8zeeBnaQeqeJ +EJfCZL6P0M/DMAoGCCqGSM49BAMDA2gAMGUCMHSiPNoKQ/6XymlQWBgBvU5HHoqG +njblR9yllyCLGZFFp2Fzy4qqPSzLRYDXhGdWQQIxALbHGtaWw2VgoGrqaYZytw9I +7faQbcsohAvtj2PZLiTGyM2opH2gnc3RSQ/JdBAiQw== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/IPA_4ADB26BC448EFF12131415166CF70281.der b/_data/certificates/apple/IPA_4ADB26BC448EFF12131415166CF70281.der new file mode 100644 index 00000000..9c14dfb7 Binary files /dev/null and b/_data/certificates/apple/IPA_4ADB26BC448EFF12131415166CF70281.der differ diff --git a/_data/certificates/apple/Local Policy rsa4kSha384 Hacktivate Leaf Certificate.der b/_data/certificates/apple/Local Policy rsa4kSha384 Hacktivate Leaf Certificate.der new file mode 100644 index 00000000..43d4c72f Binary files /dev/null and b/_data/certificates/apple/Local Policy rsa4kSha384 Hacktivate Leaf Certificate.der differ diff --git a/_data/certificates/apple/Local Policy rsa4kSha384 Hacktivate Leaf Certificate.pem b/_data/certificates/apple/Local Policy rsa4kSha384 Hacktivate Leaf Certificate.pem new file mode 100644 index 00000000..714a0e87 --- /dev/null +++ b/_data/certificates/apple/Local Policy rsa4kSha384 Hacktivate Leaf Certificate.pem @@ -0,0 +1,37 @@ +-----BEGIN CERTIFICATE----- +MIIGiTCCBHGgAwIBAgIBEDANBgkqhkiG9w0BAQwFADBcMRMwEQYDVQQIEwpDYWxp +Zm9ybmlhMRQwEgYDVQQKEwtBcHBsZSwgSW5jLjEvMC0GA1UEAxMmTG9jYWwgcnNh +NEsgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMjAxMjE1MjM0NzIxWhcN +MzAxMjEzMjM0NzIxWjBqMRMwEQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYDVQQDEzRM +b2NhbCBQb2xpY3kgcnNhNGtTaGEzODQgSGFja3RpdmF0ZSBMZWFmIENlcnRpZmlj +YXRlMRQwEgYDVQQKEwtBcHBsZSwgSW5jLjCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAJ8jOGyRTy9EDFc7xOxrzGqEWAVt4sBe6qdcGGsYQVHBFg5Zt6Dr +B+89Pfz3nu9pYGgTaqnFfVitvHfUQ3SO4fW9q+S4ykvD3NUpDyZBjWKpuCCum9mq +LlZc0BLAZUZIDWdLjkR8lSRYIMAaAF3UK2bgGNsEoUBanDsVzdhFNbKCqWQ+F8+B +KY6kzHKR/Sv7jZyTdKKgETGUppsA8MUg+XkDzzcsH9sJrYKbr30dQ0WueIfOUmL8 +jnaqVb3PZS/7pbybkFSTkif5lcI2YxGxsIx2xI+NwyZeUx6zSLJXdAI1VuZVCnbW +hfjCczSylp1HCnLsIfd6ED9NOawNdEkYexNTIee1cgbmCREQh2MvPfZmsE3MR4yq +T15snr5jLF0UjpSZ9+O0A3wB2K7c7+NmXeTQxr+2oaWHxZNtu42yjrSq+NQykyHr +O7D2UHrfM+BqY333DhxkVM5qOarKrlfDFIYCg+eVyrwqjnhU83J6zKIq2IHmx873 +aNniu5Kz7R6xbX0rcMhNuAX2kgG+BXue4h57T258h4eyz1roHrTImoIta0V/k7Ve +AjNL9oFbTrRXI9Pl3EzN3iPXp+LbHIHfXHVCoY4LTPwZgL9xFZ4k5azJjg80LntN +Rs5QBBdSYjegfSyqEBJ+TkBGvMBRS0Rfy2H4+pNejiCsAY+Ih+tN9p0DAgMBAAGj +ggFGMIIBQjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIE8DCCASAGCiqGSIb3 +Y2QGAQ8BAf8EggENMYIBCf+E6oWcUIGRMIGOFgRNQU5QMYGF/4SSvaREDDAKFgRC +T1JEoAIFAP+EmpWgTwwwChYEQ0VQT6ACBQD/hJqhklAMMAoWBENISVCgAgUA/4Sa +waRPDDAKFgRDUFJPoAIFAP+Ems2KQwwwChYEQ1NFQ6ACBQD/hKqNkkQMMAoWBEVD +SUSgAgUA/4WakZ5NDDAKFgRTRE9NoAIFAP+E+omUUGkwZxYET0JKUDFf/4SinaZU +DDAKFgRER1NUoAIFAP+EosGkTwwwChYERFBST6ECBQD/hKLNikMMMAoWBERTRUOh +AgUA/4SqwaRPDDAKFgRFUFJPoQIFAP+Eqs2KQwwwChYERVNFQ6ECBQAwDQYJKoZI +hvcNAQEMBQADggIBABUQhTrdrp4mJpKEuPY826jaSJ1lLh8D7CHrINjNHdTAsCzA +wHxHNon8G3uA0uqBuDGMc95sH3gtMKOBDtYVJkwIf8/VU+OYm4Nzyph5oPe0jjEt +rXrGRJylyJMgRB6Rhq1Yyq50m/Ae817ccvPYang5UBqn0PJHWiapsOPAeGnWs3G/ +92CutUS7DFQ95xhNcL8zb+WegeL3OT5JJfY047JQJjWyLYMMuGmL+FgSCc0/namw +/vwHcPFYS8N30GElSTudI8an0RJ9RjHcvJOYBkvm5YMLswghuaGeIfKoIXwefEfc +5N8WebVx1GRpWGE87HfxNi18G8+UCTDXG5osItcmmzmi2a4krA08//APxNeFOBRf +ltntKQ/4ahV7L1tg+UeJi+JmrYAhTLi8YWZ1xNrfFcpSt6kaUj0e9b4kTS+hoghU +FiQnPK7G1l7Smnh1PkXuX7OJaeKrElPrcm6TU/OBkla3tPXwv7emCmcSbiO8xKkx +Y3ekX4U5+EIp32l6WY109X+LBNZUn0It2J1F9AtfwK6uxNMCnhQF33MLJlrDWUuX +02LTFwUvSDinwgG1j/IFcuUCV06DAp1AsFO1M1xJ7i/PttrYvc/4tHyjtVbggtb5 +NrlP1fqI+h/6b1RwSXIe8iLsvFov26R28mjOHPNdkhuLaAGMFYRe33yoe/Ds +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Local rsa4K Root Certificate Authority.pem b/_data/certificates/apple/Local rsa4K Root Certificate Authority.pem new file mode 100644 index 00000000..595f8d7e --- /dev/null +++ b/_data/certificates/apple/Local rsa4K Root Certificate Authority.pem @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFnjCCA4agAwIBAgIJAP/lVF4ugv34MA0GCSqGSIb3DQEBDAUAMFwxEzARBgNV +BAgTCkNhbGlmb3JuaWExFDASBgNVBAoTC0FwcGxlLCBJbmMuMS8wLQYDVQQDEyZM +b2NhbCByc2E0SyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0xOTA5MTkw +NjMwNThaFw0yOTA5MTYwNjMwNThaMFwxEzARBgNVBAgTCkNhbGlmb3JuaWExFDAS +BgNVBAoTC0FwcGxlLCBJbmMuMS8wLQYDVQQDEyZMb2NhbCByc2E0SyBSb290IENl +cnRpZmljYXRlIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBANKtfAb/JfWKNxEMAU0pcZqm5BJAelL6rLNdglnSdZc0h3g4hHNA/UxKoOqY +UxqIp+NnGj8bnG938GNO8/9FQlVShEZlBUo7uFjLVAFrRjB6AqOS2ymoKh0M6WfJ +eEuwLmq4xSZHvaxUdUILUAp12/uyDjaOUd6FTWZxJL2wyuHj6kDPyOJ5AV13kkCO +ZvpmjStr/G3l+Xi5T+ieNyv2wupZYdcPiihO7uBO6PUZfAavvWOU/KAzYeapUyoZ +2W2x5cRHezdKhXxXyuEPTpbognoZBSaTLeR/Q3nIyizv14mtgkqbLCSZjJ1cRP+4 +hAbKIegCuuyJnSuCbv6UrtPZGPDrv5X9Rm1IJcz2oYvyI7RO6FdRMR1HkTHYJKFe +gGLdDBKeOHKv3mLdzmaXi07+0V+2k0YlZMFw229xRO+YY7xK8VEjuWW/bFOhtGm5 +ZBDI6aSqxlmtmrC+mqP3N7C97kunSqBHfR0Q+GYGvQPNKb17t9MRR4EwkS1N6HZm +HtjPyG+P+Wt/ZtyAqyFiHn3i/Qlz7hrNp7WSJo6ojlWhwXVD8X13RNaIJmioRtOr +n7wuD5DfrSYXsGrFTEQJWQWQO6az6cXk+FuPAhqIrpjordwzlgD5tFSOx1aQRFiN +SIqRnuBo3djJzbQOtQhMiF115BzQycfBlE5KgoftVMMCeXHrAgMBAAGjYzBhMB0G +A1UdDgQWBBQ8q3AlHGchqV4pyGRNPtjKEQe91jAPBgNVHRMBAf8EBTADAQH/MB8G +A1UdIwQYMBaAFDyrcCUcZyGpXinIZE0+2MoRB73WMA4GA1UdDwEB/wQEAwIBhjAN +BgkqhkiG9w0BAQwFAAOCAgEAl7cOGaPZLqmONDeUxjOFfU0Fb+VX8Y7/916Jw6Hm +IFnj+TLm8zwZIlUzuWqaIBUYczliFCU/Q2T6FxdmpyeYQT+sE5o0VnDaVglMlCqR +tIA7OMZRmq75boTBlS3DRAL+U/LdWAPmKlHC7WZY/atuIWeZa7VWGjokMI6ecSMM +JJuCxxfrrzOypT7b+rpLTB8p4ldkmKrsGKk8x3KVHZcenCnb4UxQn0cE2wXsQBxT +QAhph7faTXOg8K44O2tkOSGS+bX0Ndb2mzGsLKSztGO/Azjse3zi5d1E26xGTTGK +07AjdOa/7vz8fDHX2Dqn65X2yu2mwVxynZvpzGQGb7OhkLG/KOOzIPBxh2ecsHUe +4Vm7wp4ZdR+LYJS8tB3oAyZmHOcLS1Wx/BRsa4nOtD35hYArMNSo4lz8zAWgamVn +4jBpxsQfilcWJxrutxzEtEUzUU87f++CD732Lq3bcRZ7qlzL9P0DUs6CMsg/RUd1 +9IuVr76BB7zY+TuL+LprS0V4hREAMCf2F4FAOwqLcKVA5siRk8hFEo3cmfe5Sm2L +Bq9oSVH1GbMey75zrCh/r/pcTWBY96gHT8PJwhLoSYIGmyldVpAzksV3q7yc9bfF +eBxjYhTWYSlbIw6DWM0t0mfGQbn+ST42Cw9JJMnzLwVmOOdTut8gdmMPoUIASmDa +Cfc= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Lynx.der b/_data/certificates/apple/Lynx.der new file mode 100644 index 00000000..8d6258d1 Binary files /dev/null and b/_data/certificates/apple/Lynx.der differ diff --git a/_data/certificates/apple/MAV-Local-RevB-DataCenter.der b/_data/certificates/apple/MAV-Local-RevB-DataCenter.der new file mode 100644 index 00000000..828b9cb6 Binary files /dev/null and b/_data/certificates/apple/MAV-Local-RevB-DataCenter.der differ diff --git a/_data/certificates/apple/MAV-Local-RevC-Factory.der b/_data/certificates/apple/MAV-Local-RevC-Factory.der new file mode 100644 index 00000000..37bb13d0 Binary files /dev/null and b/_data/certificates/apple/MAV-Local-RevC-Factory.der differ diff --git a/_data/certificates/apple/MAV-Local-RevC-Factory.pem b/_data/certificates/apple/MAV-Local-RevC-Factory.pem new file mode 100644 index 00000000..1468855a --- /dev/null +++ b/_data/certificates/apple/MAV-Local-RevC-Factory.pem @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE----- +MIICmTCCAh+gAwIBAgIIObN4PWiCyZUwCgYIKoZIzj0EAwMwSTElMCMGA1UEAwwc +RXVyZWthIFNlY3VyZSBCb290IFJvb3QgQ0EgMjETMBEGA1UECgwKQXBwbGUgSW5j +LjELMAkGA1UEBhMCVVMwHhcNMTgwNjIwMTkxNTE1WhcNMTgwNjIxMTkxMTQxWjBD +MR8wHQYDVQQDDBZNQVYtTG9jYWwtUmV2Qy1GYWN0b3J5MRMwEQYDVQQKDApBcHBs +ZSBJbmMuMQswCQYDVQQGEwJVUzB2MBAGByqGSM49AgEGBSuBBAAiA2IABElVLuJg +CQ2Xj0B7Rc70I0W/A0gM/l9cRUpqidy1ZAb/CSehI2GaKNZU7Y1NgmQ7oM6XEilz +TYVpy6/tXoJu/zGw6rOF8fAIPRNV+C9cYvi89JfSasR0bNRbgKJtsK43zKOB2TCB +1jAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFJhrqK+l31CPKfSFJz4lrp3Z3Bfs +MB0GA1UdDgQWBBQl/Ci/cr1f9+q8u4zwhSFPYj8eJjAOBgNVHQ8BAf8EBAMCB4Aw +dgYJKoZIhvdjZAYqAQH/BGYxZP+E6oWcUF0wWxYETUFOUDFT/4SalaBPCzAJFgRD +RVBPAgEA/4aTveBoOjA4FgRib3BoBDB2Rwr9LGZCJRt1g3Z1CHiRYMi1EJotUHf4 +/WEfRcDiAzhAOHrfATNh7OQF5n6uvtUwCgYIKoZIzj0EAwMDaAAwZQIxAJYKuzPp +60m7nJ6Dzs+l5R+hxgqNPCX8+3j3yuHzVWdZZCVISSfUmtQprdD+m7fbQAIwJEsL +2kJxZWwNL1ZyDmp+KQxFTa9vCkNamhHDS9DP+y/4YcO4y1jA+0YvLERL8ijN +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/MAV-SWID0-RootCA9-Local.der b/_data/certificates/apple/MAV-SWID0-RootCA9-Local.der new file mode 100644 index 00000000..ac9f509d Binary files /dev/null and b/_data/certificates/apple/MAV-SWID0-RootCA9-Local.der differ diff --git a/_data/certificates/apple/Mav Local Leaf Certificate.der b/_data/certificates/apple/Mav Local Leaf Certificate.der new file mode 100644 index 00000000..d588f7fa Binary files /dev/null and b/_data/certificates/apple/Mav Local Leaf Certificate.der differ diff --git a/_data/certificates/apple/Mav Local Root Certificate.der b/_data/certificates/apple/Mav Local Root Certificate.der new file mode 100644 index 00000000..f90a619b Binary files /dev/null and b/_data/certificates/apple/Mav Local Root Certificate.der differ diff --git a/_data/certificates/apple/Null Root Certificate Authority.pem b/_data/certificates/apple/Null Root Certificate Authority.pem new file mode 100644 index 00000000..b8c1f533 --- /dev/null +++ b/_data/certificates/apple/Null Root Certificate Authority.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFgjCCA2qgAwIBAgIJAPYcIIn7hMOPMA0GCSqGSIb3DQEBDAUAME4xKDAmBgNV +BAMMH051bGwgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxDTALBgNVBAsMBFNF +QVIxEzARBgNVBAoMCkFwcGxlIEluYy4wHhcNMjEwMTEzMjMyMzE0WhcNMzEwMTEx +MjMyMzE0WjBOMSgwJgYDVQQDDB9OdWxsIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9y +aXR5MQ0wCwYDVQQLDARTRUFSMRMwEQYDVQQKDApBcHBsZSBJbmMuMIICIjANBgkq +hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA83r8QXXjwQyQhZUVWoQmWvAv2Cto/Sh7 +CIAEw4Qm1HTJVhvX8ClMwm6tQHEd+1m+2b74D+QeSiyi0Y1rZaSskwg78MXaP/Sw +ceHDIN5XcSlrMorSVUlY5nMJAYdzq1Wil3xWKzWySMzj4lT7Wx3N7lzoi5J9tafz +sOXU5H+r7CwJe6wx2Z5iFUIaS7ptPi3uYYGNPOF9nY4MQSTKiiJfLpwvjyDCZlGu +9HaWCYJIUAzfi8H0ksN+H3YSWuBfPcbP+BdOmnvX/uEwDlJXzi9NISLtFp+WzLK3 +yIsNvNS99g0twT6vf1yDTARHtUi6ZcHQS2d2TMrhjUiKfMS+6o4GFhf3JFK9g36H +YckzQK54CTLQ1/CcAyj1Go43QxySv3P0VamHitgf194LU4A+luzzCaRXoKc6TSPJ +1LQ9T0+fJ2/JmjsinAxZlbfXNn4Yiy4nV1/Sa3TyKTFcBix5qXh24Ub13frgnDoc +pmHLP7iKqMgS9TZddxclMUcsc4ra+Et27H5vmQOKrybFFlHvOL+KtcroLWZwo3sl +W1D6bz5xOG6lFhsDqmg36bOh5s5/HrwHjkHEDBIb4Z/ZNBsf5p3QLLRsVsG9uO05 +UqrTtKlNjchX7Me0xpqOtYoL8hqK3bpC+YXbuuiizDdYD19HR79CXQwTCkoreNSI +MYuPylHM+kUCAwEAAaNjMGEwHQYDVR0OBBYEFPN+Eqmo7PPsRz4ngCfw15pRhyyk +MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU834Sqajs8+xHPieAJ/DXmlGH +LKQwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDAUAA4ICAQDi1VTntwzekqXb +Mmo2qBfFSTliGvPK9+TJKl6HED2KwBCuyZ5JeocD9ZUKRebnnJzAhVV+15ti+weQ +QEHMMWEsldAWbWlEEHgtAOxuVsTtEUIXBMsBdOuz8bdhmn7ypyB8znMer9nJ84jR +y+02ueCJTpBWo5vwJ6YiukFhhKF1146AhNWQy7sL3kn6wus206+2VJJ1hqoWC3n4 +mrYjPTzmsXBv16IaXQTKp6PY2an91o+pRgrGySW/2Qp5BczHtIjHp06p2Oj80SAc +kGcvpJBRcT7yqtTNXn9YORg8T9yhE594r7TiPWBcNnsAzkSGov7H4gLxdV0zibWM +O9urhlP5tOxQ5rWi+6hmojrExjh1roVuNgqD6FzhfbHJe+9DGZarKeEH8hsYcKGE +hEJhfQpbpTA2pQwyQrm6ujr3uVLAH0bWLEse050ZZDLIkzbmkGcApoCwqcFHigvc +v5wL36jEk+3jIfZhhTve2SPcOrcnzyC0xB1K1J5KQHZPeb63W36DrMhJtYbiGmPh +61toI3dBNmZEjJYAoTgcw6BnBDZigie8D6Iwxko9jGUmXArGa8dHX84WLGxonk7c +ekEPzZoEZwCRxv6eyTbTXUzlyF88meKAtwujhz/Q98c6cQk26HoaHEde2m0RYgJb +NErkltHiOc4d4f7wUKajly3Z6yn4Pg== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Redwood Server CA.der b/_data/certificates/apple/Redwood Server CA.der new file mode 100644 index 00000000..fca6277a Binary files /dev/null and b/_data/certificates/apple/Redwood Server CA.der differ diff --git a/_data/certificates/apple/S5L8702 Secure Boot Dev.der b/_data/certificates/apple/S5L8702 Secure Boot Dev.der deleted file mode 100644 index 3665d262..00000000 Binary files a/_data/certificates/apple/S5L8702 Secure Boot Dev.der and /dev/null differ diff --git a/_data/certificates/apple/S5L8702 Secure Boot.der b/_data/certificates/apple/S5L8702 Secure Boot.der index d30fb7dc..3665d262 100644 Binary files a/_data/certificates/apple/S5L8702 Secure Boot.der and b/_data/certificates/apple/S5L8702 Secure Boot.der differ diff --git a/_data/certificates/apple/S5L8702 Secure Boot_1.der b/_data/certificates/apple/S5L8702 Secure Boot_1.der new file mode 100644 index 00000000..d30fb7dc Binary files /dev/null and b/_data/certificates/apple/S5L8702 Secure Boot_1.der differ diff --git a/_data/certificates/apple/S5L8900 Secure Boot Dev.der b/_data/certificates/apple/S5L8900 Secure Boot Dev.der deleted file mode 100644 index d604cdf6..00000000 Binary files a/_data/certificates/apple/S5L8900 Secure Boot Dev.der and /dev/null differ diff --git a/_data/certificates/apple/S5L8900 Secure Boot.der b/_data/certificates/apple/S5L8900 Secure Boot.der index 4b0157cf..d604cdf6 100644 Binary files a/_data/certificates/apple/S5L8900 Secure Boot.der and b/_data/certificates/apple/S5L8900 Secure Boot.der differ diff --git a/_data/certificates/apple/S5L8900 Secure Boot_1.der b/_data/certificates/apple/S5L8900 Secure Boot_1.der new file mode 100644 index 00000000..4b0157cf Binary files /dev/null and b/_data/certificates/apple/S5L8900 Secure Boot_1.der differ diff --git a/_data/certificates/apple/SE73-Local-ManifestKey-RevA.der b/_data/certificates/apple/SE73-Local-ManifestKey-RevA.der new file mode 100644 index 00000000..b884d6db Binary files /dev/null and b/_data/certificates/apple/SE73-Local-ManifestKey-RevA.der differ diff --git a/_data/certificates/apple/SE73-Local-ManifestKey-RevA.pem b/_data/certificates/apple/SE73-Local-ManifestKey-RevA.pem new file mode 100644 index 00000000..a43c5939 --- /dev/null +++ b/_data/certificates/apple/SE73-Local-ManifestKey-RevA.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICajCCAhGgAwIBAgIIIjzz5bdmtGgwCgYIKoZIzj0EAwIwSDElMCMGA1UEAwwc +U0UgU2VjdXJlIEJvb3QgTG9jYWwgUm9vdCBDQTESMBAGA1UECgwJQXBwbGUgSW5j +MQswCQYDVQQGEwJVUzAeFw0xNjEwMjEyMjAwMzhaFw0zNTA4MjQwMDI4MDhaMEgx +JDAiBgNVBAMMG1NFNzMtTG9jYWwtTWFuaWZlc3RLZXktUmV2QTETMBEGA1UECgwK +QXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC +AARrJX+3NmGesUI6kw0llmNlCenVTB/0UKpMctnFVzCkdMRGaNXCE0pSmF6m85wH +QYOPsyCUSZJ+2YyXUb2PX9npo4HkMIHhMB0GA1UdDgQWBBR8S8MG+DSY60UfpldC +AqurX7BGWzAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFEVhHkmWMpZeYWBqNlho +o540Zz/DMA4GA1UdDwEB/wQEAwIHgDCBgAYKKoZIhvdjZAYBDwEB/wRvMW3/hOqF +nFBCMEAWBE1BTlAxOP+Hm5XGaQswCRYEc2VjaQIBc/+Hm5XSZAwwChYEc2VpZKAC +BQD/h5uV3GMMMAoWBHNlbmOgAgUA/4T6iZRQHTAbFgRPQkpQMRP/h5uVyGgMMAoW +BHNlZGigAgUAMAoGCCqGSM49BAMCA0cAMEQCIDP8DXSFF5MA6AErJKCloVFgKXpo +Z0R/3L18BIa7mH1jAiAn/rTMoDkvvHdd49DipGPUJi+sy6QXVYFn3MRBcQa/ng== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/SEP Root CA.der b/_data/certificates/apple/SEP Root CA.der new file mode 100644 index 00000000..939755e4 Binary files /dev/null and b/_data/certificates/apple/SEP Root CA.der differ diff --git a/_data/certificates/apple/SEP Root CA.pem b/_data/certificates/apple/SEP Root CA.pem new file mode 100644 index 00000000..f8881f15 --- /dev/null +++ b/_data/certificates/apple/SEP Root CA.pem @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB9DCCAXugAwIBAgIIMyDS5tjDo6wwCgYIKoZIzj0EAwMwQDEUMBIGA1UEAwwL +U0VQIFJvb3QgQ0ExEzARBgNVBAoMCkFwcGxlIEluYy4xEzARBgNVBAgMCkNhbGlm +b3JuaWEwHhcNMTQwNjI0MjE0MzI0WhcNMjkwNjI0MjE0MzI0WjBAMRQwEgYDVQQD +DAtTRVAgUm9vdCBDQTETMBEGA1UECgwKQXBwbGUgSW5jLjETMBEGA1UECAwKQ2Fs +aWZvcm5pYTB2MBAGByqGSM49AgEGBSuBBAAiA2IABEBGXhKwc7q3iFvkUoGDP6j2 +drpxSCxsSCODaDQIqGwd53wZJ0xIJIv0RTf2TS7+/u4KzhrANzb19r+TQzwqFJMp +hp3mI3yY4pukIFc/kWS7DLQAx/ftWBXX6vl4ig3wEqNCMEAwHQYDVR0OBBYEFFjv +1r7FgrBUzRimhK2i9nt7On/PMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMAoGCCqGSM49BAMDA2cAMGQCMCWRVB9DxwYdXsJ8KVZwbU5y0rfNEWJwpH5B +bH3HoiOT/k7TIzlcXWiWAZVVBsDf/gIwC5wq3OepHwBMMCa3Q4ZvpT4Qs0dmc4oa +GYxqUZYACJiGD7vRVavVMFnf0s4xG0JG +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/SE_SE310S-Local-ManifestKey-RevA-DC.der b/_data/certificates/apple/SE_SE310S-Local-ManifestKey-RevA-DC.der new file mode 100644 index 00000000..338b2f72 Binary files /dev/null and b/_data/certificates/apple/SE_SE310S-Local-ManifestKey-RevA-DC.der differ diff --git a/_data/certificates/apple/SE_SE310S-Local-ManifestKey-RevA-DC.pem b/_data/certificates/apple/SE_SE310S-Local-ManifestKey-RevA-DC.pem new file mode 100644 index 00000000..500b885b --- /dev/null +++ b/_data/certificates/apple/SE_SE310S-Local-ManifestKey-RevA-DC.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC3DCCAmKgAwIBAgIQPWmkVINxgQbDShpgjBbVSjAKBggqhkjOPQQDAzBsMQsw +CQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExEjAQBgNVBAcMCUN1cGVydGlubzETMBEG +A1UECgwKQXBwbGUgSW5jLjEnMCUGA1UEAwweU0UgU2VjdXJlIEJvb3QgUm9vdCBD +QSBMb2NhbCAyMB4XDTIyMDcwODIwNTc1N1oXDTQyMDcwODIwNTc1N1owUDELMAkG +A1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xLDAqBgNVBAMMI1NFX1NFMzEw +Uy1Mb2NhbC1NYW5pZmVzdEtleS1SZXZBLURDMHYwEAYHKoZIzj0CAQYFK4EEACID +YgAEVeUw8DtEGUYbdeRdjCV8mO7B4HgPyBPtsDcbVvwS+INr2QL9QdnVHBOoPts4 +h+gVtfe6+geEQjw+IEaRqfkZJ8peyzz461w1YLIT6rd3jG6d47FNztZ2q3/Coyya +Mf34o4HkMIHhMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMB0GA1UdDgQW +BBT8ASGO1nJJP5fYSiyf1vw85WQljDAfBgNVHSMEGDAWgBTMh5DDIfa/XdvDnXOT +yWjFl/08cjCBgAYKKoZIhvdjZAYBDwEB/wRvMW3/hOqFnFBCMEAWBE1BTlAxOP+H +m5XGaQswCRYEc2VjaQIBN/+Hm5XSZAwwChYEc2VpZKACBQD/h5uV3GMMMAoWBHNl +bmOgAgUA/4T6iZRQHTAbFgRPQkpQMRP/h5uVyGgMMAoWBHNlZGigAgUAMAoGCCqG +SM49BAMDA2gAMGUCMFX63st9GalLfEMN9DE9PdWYzDQpA0Q9h/Qpo/MtDyrjooyu +gEkJLqhWj6co9BEW3gIxAO/165EASwHnO+FblzgmMKEfuA+qC1a0XmOwaaWiBb/r +w7i2D4SBbAZnrr5r0HqWzg== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/SE_SN100V-Local-ManifestKey-RevA.der b/_data/certificates/apple/SE_SN100V-Local-ManifestKey-RevA.der new file mode 100644 index 00000000..6b385e86 Binary files /dev/null and b/_data/certificates/apple/SE_SN100V-Local-ManifestKey-RevA.der differ diff --git a/_data/certificates/apple/SE_SN100V-Local-ManifestKey-RevA.pem b/_data/certificates/apple/SE_SN100V-Local-ManifestKey-RevA.pem new file mode 100644 index 00000000..df287b50 --- /dev/null +++ b/_data/certificates/apple/SE_SN100V-Local-ManifestKey-RevA.pem @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE----- +MIICcDCCAhagAwIBAgIIQYPX2Kr5VbkwCgYIKoZIzj0EAwIwSDElMCMGA1UEAwwc +U0UgU2VjdXJlIEJvb3QgTG9jYWwgUm9vdCBDQTESMBAGA1UECgwJQXBwbGUgSW5j +MQswCQYDVQQGEwJVUzAeFw0xNzA3MjAyMjMwMTdaFw0zNTA4MjQwMDI4MDhaME0x +KTAnBgNVBAMMIFNFX1NOMTAwVi1Mb2NhbC1NYW5pZmVzdEtleS1SZXZBMRMwEQYD +VQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49 +AwEHA0IABHlvMVHbv+GayGP5OF8eHAvrzTmkq1HrGrfuybrS3OA44ZOHjKDM4mbr +jl/PfTaGl6u8cB1NEZMrAAUD0Qrj10+jgeQwgeEwHQYDVR0OBBYEFIy/r42SDhk0 +fRpR+wi31Xf/9syCMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAURWEeSZYyll5h +YGo2WGijnjRnP8MwDgYDVR0PAQH/BAQDAgeAMIGABgoqhkiG92NkBgEPAQH/BG8x +bf+E6oWcUEIwQBYETUFOUDE4/4eblcZpCzAJFgRzZWNpAgFk/4ebldJkDDAKFgRz +ZWlkoAIFAP+Hm5XcYwwwChYEc2VuY6ACBQD/hPqJlFAdMBsWBE9CSlAxE/+Hm5XI +aAwwChYEc2VkaKACBQAwCgYIKoZIzj0EAwIDSAAwRQIgZY3cSnV3lzTPNrkqD4Yh +fqTBgLXxUdiAb4yIyf3tOUwCIQCMW0BGXZEXKticqvlaDGGi9EG2aLNrnvfycGqe +QMZoHQ== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/SE_SN210V-Local-ManifestKey-RevA.der b/_data/certificates/apple/SE_SN210V-Local-ManifestKey-RevA.der new file mode 100644 index 00000000..350c50b8 Binary files /dev/null and b/_data/certificates/apple/SE_SN210V-Local-ManifestKey-RevA.der differ diff --git a/_data/certificates/apple/SE_SN210V-Local-ManifestKey-RevA.pem b/_data/certificates/apple/SE_SN210V-Local-ManifestKey-RevA.pem new file mode 100644 index 00000000..a4b3da74 --- /dev/null +++ b/_data/certificates/apple/SE_SN210V-Local-ManifestKey-RevA.pem @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE----- +MIICcjCCAhegAwIBAgIIXU/HdRt6NSkwCgYIKoZIzj0EAwIwSDElMCMGA1UEAwwc +U0UgU2VjdXJlIEJvb3QgTG9jYWwgUm9vdCBDQTESMBAGA1UECgwJQXBwbGUgSW5j +MQswCQYDVQQGEwJVUzAeFw0xOTA3MDkyMzQ1NDRaFw0zNTA4MjQwMDI4MDhaME0x +KTAnBgNVBAMMIFNFX1NOMjEwVi1Mb2NhbC1NYW5pZmVzdEtleS1SZXZBMRMwEQYD +VQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49 +AwEHA0IABNGiKrJIqLH2/N5KNkrnndzBFY6WsA5KG1fWj3zoShOw8yqnZHYRlXGu +qyyUfisrOzpoAj1tswfJJP2ftiiB4mKjgeUwgeIwDAYDVR0TAQH/BAIwADAfBgNV +HSMEGDAWgBRFYR5JljKWXmFgajZYaKOeNGc/wzAdBgNVHQ4EFgQUQ/MEnVxqBUvv +mP6ifRCjSA5CqCIwDgYDVR0PAQH/BAQDAgeAMIGBBgoqhkiG92NkBgEPAQH/BHAx +bv+E6oWcUEMwQRYETUFOUDE5/4eblcZpDDAKFgRzZWNpAgIA0v+Hm5XSZAwwChYE +c2VpZKACBQD/h5uV3GMMMAoWBHNlbmOgAgUA/4T6iZRQHTAbFgRPQkpQMRP/h5uV +yGgMMAoWBHNlZGigAgUAMAoGCCqGSM49BAMCA0kAMEYCIQCfFcgy1Sm12wpaUQCH +UEtC1zncNsaWfFn9AghUydedbgIhAIKsZ8xWqZRJ8761nY/UeHfb14UXgwTDXHiN +B2pWIebF +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/SE_SN300B21-Local-ManifestKey-RevA-DC.der b/_data/certificates/apple/SE_SN300B21-Local-ManifestKey-RevA-DC.der new file mode 100644 index 00000000..9110c3f3 Binary files /dev/null and b/_data/certificates/apple/SE_SN300B21-Local-ManifestKey-RevA-DC.der differ diff --git a/_data/certificates/apple/SE_SN300B21-Local-ManifestKey-RevA-DC.pem b/_data/certificates/apple/SE_SN300B21-Local-ManifestKey-RevA-DC.pem new file mode 100644 index 00000000..210008da --- /dev/null +++ b/_data/certificates/apple/SE_SN300B21-Local-ManifestKey-RevA-DC.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC3zCCAmSgAwIBAgIQEWxGUmA4NdqXtiLV2pJ8NDAKBggqhkjOPQQDAzBsMQsw +CQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExEjAQBgNVBAcMCUN1cGVydGlubzETMBEG +A1UECgwKQXBwbGUgSW5jLjEnMCUGA1UEAwweU0UgU2VjdXJlIEJvb3QgUm9vdCBD +QSBMb2NhbCAyMB4XDTIyMDcwODIwNTc1N1oXDTQyMDcwODIwNTc1N1owUjELMAkG +A1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xLjAsBgNVBAMMJVNFX1NOMzAw +QjIxLUxvY2FsLU1hbmlmZXN0S2V5LVJldkEtREMwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAASlYsABApqYwFiVLm2XwhNLDBuMFmF0TzIwenEpd9M/yAIxL3JlA3dxuKpv +7YHlKPMrst4zWHSLfAT+VVJkuYdacd13gdVi9HZRBrabghYumlAoGLP96I6NVJfE +ztzB2PajgeQwgeEwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHQYDVR0O +BBYEFMscwRVLlhX4ehv2s1dZV/tQAm+eMB8GA1UdIwQYMBaAFMyHkMMh9r9d28Od +c5PJaMWX/TxyMIGABgoqhkiG92NkBgEPAQH/BG8xbf+E6oWcUEIwQBYETUFOUDE4 +/4eblcZpCzAJFgRzZWNpAgE2/4ebldJkDDAKFgRzZWlkoAIFAP+Hm5XcYwwwChYE +c2VuY6ACBQD/hPqJlFAdMBsWBE9CSlAxE/+Hm5XIaAwwChYEc2VkaKACBQAwCgYI +KoZIzj0EAwMDaQAwZgIxAJEMkRkKBfYsBbN8iy5iKMwICIHMCFmGrVjc5XYYBjo8 +npOqgNS1yhmuFCQym1NGggIxALtmGIxQ5aML7qrGLBMs9QBMRc0jzL10UqQn4joq +9EXHT4M4dTcxkMCQlGLB9pKvgA== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/SE_SN300V-Local-ManifestKey-RevA-LocalMachine.der b/_data/certificates/apple/SE_SN300V-Local-ManifestKey-RevA-LocalMachine.der new file mode 100644 index 00000000..cc544d34 Binary files /dev/null and b/_data/certificates/apple/SE_SN300V-Local-ManifestKey-RevA-LocalMachine.der differ diff --git a/_data/certificates/apple/SE_SN300V-Local-ManifestKey-RevA-LocalMachine.pem b/_data/certificates/apple/SE_SN300V-Local-ManifestKey-RevA-LocalMachine.pem new file mode 100644 index 00000000..c6d1a0cd --- /dev/null +++ b/_data/certificates/apple/SE_SN300V-Local-ManifestKey-RevA-LocalMachine.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGjCCAqGgAwIBAgIUeeRo5C3q4gaGCo0IkX1cAtlSP08wCgYIKoZIzj0EAwMw +bDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRIwEAYDVQQHDAlDdXBlcnRpbm8x +EzARBgNVBAoMCkFwcGxlIEluYy4xJzAlBgNVBAMMHlNFIFNlY3VyZSBCb290IFJv +b3QgQ0EgTG9jYWwgMjAeFw0yMDEwMjcyMzQ1NDBaFw00MDEwMjIyMzQ1NDBaMIGK +MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExEjAQBgNVBAcMCUN1cGVydGlubzET +MBEGA1UECgwKQXBwbGUgSW5jLjENMAsGA1UECwwESk1FVDE2MDQGA1UEAwwtU0Vf +U04zMDBWLUxvY2FsLU1hbmlmZXN0S2V5LVJldkEtTG9jYWxNYWNoaW5lMHYwEAYH +KoZIzj0CAQYFK4EEACIDYgAE0KFl66vujFakZ13E6jczbLofTqKNp+iQEU1TvTAM +v6k/7Wn7X/YkOkh4JNnzXNaJtodrFJ15jI+jIh7jY0C9h8q4Ova6D1QNLXirB0FL +GEil5TlfoNjK+BtZav7a8AeVo4HkMIHhMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgw +FoAUzIeQwyH2v13bw51zk8loxZf9PHIwHQYDVR0OBBYEFKMUUyKgmQ0IY9gTyEYN +HjvXfbcyMA4GA1UdDwEB/wQEAwIHgDCBgAYKKoZIhvdjZAYBDwEB/wRvMW3/hOqF +nFBCMEAWBE1BTlAxOP+Hm5XGaQswCRYEc2VjaQIBLP+Hm5XSZAwwChYEc2VpZKAC +BQD/h5uV3GMMMAoWBHNlbmOgAgUA/4T6iZRQHTAbFgRPQkpQMRP/h5uVyGgMMAoW +BHNlZGigAgUAMAoGCCqGSM49BAMDA2cAMGQCMAy29UZaCR/NKDHVtzwCUMS9+LPF +J/SWpQiA+RXkgZYdwHa2acFCrgu5U4+nQ838GQIwazhDbVq0STDBmrksJSZT6kUq +I0EZBXKYjYAhf9KaqG1B+gBjo2xXCg8j275milWy +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/SHATTERSPHERE Root Certificate Authority.pem b/_data/certificates/apple/SHATTERSPHERE Root Certificate Authority.pem new file mode 100644 index 00000000..cd7063c6 --- /dev/null +++ b/_data/certificates/apple/SHATTERSPHERE Root Certificate Authority.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFlDCCA3ygAwIBAgIJAMPSDY6XxZB6MA0GCSqGSIb3DQEBDAUAMFcxMTAvBgNV +BAMMKFNIQVRURVJTUEhFUkUgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxDTAL +BgNVBAsMBFNFQVIxEzARBgNVBAoMCkFwcGxlIEluYy4wHhcNMjEwMTEzMDU1NjQw +WhcNMzEwMTExMDU1NjQwWjBXMTEwLwYDVQQDDChTSEFUVEVSU1BIRVJFIFJvb3Qg +Q2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQLDARTRUFSMRMwEQYDVQQKDApB +cHBsZSBJbmMuMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeZCIDpV +3SMbqU8vKhAdReA6GEYKMufxZd+1PmClZ4HK2BOHqa+JRDFGqQ5dUto6k5yczvpO +efc7HEAV+9xiD11S1K1iRcUnWLOJ8X5dzhY4dyLoVClUZlziz9rnmSD9eOo04Wl/ +1NfTc+DZA9iUakWpsutUU7X6b6XXLBxwgSwSshsvGhFjD8Bqp8hqixxdtO3Zq76N +ABZ1SrXkxvx6ewn4EvQnNQ3RCZNWwW5gLdleLMzQHguWw35Ph2dkp4Afj8Xi+ytN +U/PHRR8Mcw46finvMeLf5TPwPV6XCjGNgjqxcgj1GEbeZ76In7x5VZVPFUKObkBA +jk5zLTQKG0PStMscIty6aJ7xW48mxEZe5dp/H5hYc5tc3hL9CcwFOBZHnDThaNyP +N8Or6OMYj6aJGl4xI9bMMCrEJH6JN0IwEa7jbTzNbxpcT5g8eO7huKuYlU3WlOdB +CwLkYGGNeeiyadzTEWzOzIoGvqBPtK4LkD5HJBtQUW2X++wFw13B4qthcwq8gxHZ +YANsUegHMeQ/f0pusV/1bp4wmhvIyk9VoJYuOMwqUXnVzys6ragRkSL/BOtAL7x1 +DamL6OiN9f8Lm0plOXnUwZMAh+BGj/Bvq29xMFXOG5IVNH4+8F40hp20AQks9qDD +XcCWsLuo5svPMbDHZVKeKZaS6rpVHDrvpPECAwEAAaNjMGEwHQYDVR0OBBYEFI00 +X8GNvmW1qEzGh4oXcnFf7no3MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU +jTRfwY2+ZbWoTMaHihdycV/uejcwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB +DAUAA4ICAQB5l6kdBCczp/WqIbPSYzvuUS1O0f7axTMNr94jKZTxwD/EuZXOxYT4 +2wp5hrkkFNXSN1u8KC6gp4+T/QXSKko6Nlpi5zwe3sF2tfTIxpGDcAGl6oCUHiop +ywgpZyXsxotaDwOw9KAYJbEpXT1WAqujo3T/TyB3qLxRqXNx1kAGvgSTkUsQOA6e +CdB5bxzI7TqLz9eiPIYVVY6EkyJnWSTGnkKrLGDX0UzsLkmDs5/VW9rx+GLHc2HW +QE0G61SotXOJw5XjwGpEcCUMPIrvU4xc7cvW/gWlXajllMm+lqlgCM0md+yWz6Uz +7NjfhHGHe5gleBx+GU66B0F4ezNhKuis7vaUt2vMtF/tILuvJlimEZ6DiwfNWgAO +RtCwKCFny+MTCR0OMy6bjwrMPWUow2+Ma0R+6v8pnS2kNLwYlaxqhagdH+KPyhTW +fRUtv0G02REFzQMGk6eiD7EXKq9dEqWV7bjsqemJgAiVfDsVgpc+ShMoY4cbBeD2 +PFYrLpgwGRW/PIK/BUQJJ1bVubYICVjNCnNCH6l8VgPGoqQLP2DvsJecPNqqHpNQ +U8UvJyHM+nmIIBM0VQK9Vt0o+heBTGyO3K0tUto9DhnO9Gwf6JrKs4WPfJ1l292E +pMRgzhMQjv+7A+0Pmv25aY7YCpc3e624RUW5qEKs6uaEd44mQJTskA== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Skank Secure Boot.der b/_data/certificates/apple/Skank Secure Boot.der new file mode 100644 index 00000000..a4240114 Binary files /dev/null and b/_data/certificates/apple/Skank Secure Boot.der differ diff --git a/_data/certificates/apple/Skank Secure Boot.pem b/_data/certificates/apple/Skank Secure Boot.pem new file mode 100644 index 00000000..9647b1a6 --- /dev/null +++ b/_data/certificates/apple/Skank Secure Boot.pem @@ -0,0 +1,38 @@ +-----BEGIN CERTIFICATE----- +MIIGuzCCBKOgAwIBAgIBADANBgkqhkiG9w0BAQwFADBdMQswCQYDVQQGEwJVUzEO +MAwGA1UEChMFU2thbmsxJjAkBgNVBAsTHVNrYW5rIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MRYwFAYDVQQDEw1Ta2FuayBSb290IENBMB4XDTAwMDEwMTAwMDAwMFoX +DTMwMDEwMTAwMDAwMFowbTELMAkGA1UEBhMCVVMxDjAMBgNVBAoTBVNrYW5rMTIw +MAYDVQQLEylBcHBsZSBTZWN1cmUgQm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eTEaMBgGA1UEAxMRU2thbmsgU2VjdXJlIEJvb3QwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQDfEW4QrgbqaXOK2jiL3tXKWVOCGLBxV4rLclBoMBOcoMku +9MRW64fvjApXaBnYnPa45hgvePvlFBLekuDowRxseoSGzk37sh30XykxhS4Ybnol +6V66oxDjd6YZ23TYp0zrVvv302CpffxHQABIFdYjhVFzx0UnwUe2qcGmK9oUACej +OL1yp9gW+GFo8nagnRS5Nv1piBQpw67Ty/ATagViSBrmiZgROogwMcIOJocTsikM +UjvxYH/jy+S+pc3JQWtLMPpwJyxnJCLv2+rz22evkvOBnfFZF3njwvQb8NCq8KZk +Y4CvV9AWgHcnI4J4cmG4tS/I89sQ3NOTXLL0NT0tbKyw5AyzlyTPz4xh3GaBCU0f +D2dhzkUTvFKz1RwCuBRNfJksQP2/fljXsRzzofjDPDcuTsMkuXTrQpaDPJigdaT8 +U8G5hM6QgI4q3xiCCfr8ydbRRCHynoyQ3ZQPuqG3UKMTooRSSdxgxitYP+OoOOy8 +FfQv7cZpAeqUQUjskrbMBc1j37Z8aLOcTYaCtBZAmHskF0sorH8ifMP4WosujclM +OHq550YvEKBP5Ru2k63Yr+iIdRi0/KhOY3KnkdQQPvZpv/lDHJMI94CoTk+q8cRT +PYbp07MZ0HCqcoSvWqJSkFUFU4mN0URrzefEWoaM1v79XotKLJ1d1UHl1g1NYQID +AQABo4IBdDCCAXAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBRNUHrWTCJEEYhLdJg4 +aWdVrhVcyTAfBgNVHSMEGDAWgBQg3LdXGCprV0KOvrt2jGNYIOqlazCCAR8GCiqG +SIb3Y2QGAQ8BAf8EggEMMYIBCP+E6oWcUIG2MIGzFgRNQU5QMYGq/4SSuYZIDDAK +FgRCTkNIoAIFAP+Ekr2kRAwwChYEQk9SRKACBQD/hJqVoE8LMAkWBENFUE8CAQH/ +hJqhklANMAsWBENISVACAwCAAv+EmsGkTwwwChYEQ1BST6ACBQD/hJrNikMMMAoW +BENTRUOgAgUA/4SqjZJEDDAKFgRFQ0lEoAIFAP+FmpGeTQswCRYEU0RPTQIBAf+H +m7nebgwwChYEc25vbqACBQD/hPqJlFBDMEEWBE9CSlAxOf+Eop2mVAwwChYEREdT +VKACBQD/hKrBpE8MMAoWBEVQUk+gAgUA/4SqzYpDDDAKFgRFU0VDoAIFADANBgkq +hkiG9w0BAQwFAAOCAgEALJu0x6e4L+JGCjdM+P/7Ed/NHbGzIU1JFgWdJvlFCG7z +1/klJIlzNkaFqj3aUTc11mOOrbkSY15Mv3p9qNThCh9eMQAG0qsO9fardMtDKY9o +vLBzoNDsKvfUJPl44WV95V7OxJMpi7lmzWMRe2Lozfp2baHIfoBvcl2E7GiaCMHD +bjejEYspDh77w5PY/8BOJhmqX+9K5i4jiu81UJx+WyrRBI+uvn3T5VcviV6WJMsU +RXQsPU8fSebcrFdrNUPjFm/cptzUcESg6zUDExutMg+VOAl/5T6Jlq717GuUKkO2 +f9SW3ME3Uxrjha5e0v/mA6I8S12F7py7/GjyzlHH7hieoUdB8ahyF+TFO6fO/PmR +dwaZbzekpnZQ73K0q0M1KRiRg82ms4a4ztrsal3cZ2eZRoPkHj+AK4T8onrlw9av +UcXOVLf2D0F94SLeQULPemHHkYxsVQLtKN8PscoXASaWfE0qgbUJXdOuoQdfZsa9 +E8a5Tek7h3yOddmeydhVAifmuj2qSkzxjVy2Yxbm4NAoIqPzODwL9H2Fvan0tOMB +cgD5uyFo7PfZHhqCO8CugMcr9aABN4Ne6mXLY5u7161nCc+2kC/nXbkA+RwGwSL6 +SA2Y1KJbOZq8PSx9QZxwVwKl7eem3N9UNa9dj5/jdHlb2WD9oPDwRscB1XGplhw= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Skank Secure Boot_1.der b/_data/certificates/apple/Skank Secure Boot_1.der new file mode 100644 index 00000000..8c4728ab Binary files /dev/null and b/_data/certificates/apple/Skank Secure Boot_1.der differ diff --git a/_data/certificates/apple/Skank Secure Boot_1.pem b/_data/certificates/apple/Skank Secure Boot_1.pem new file mode 100644 index 00000000..5f16f711 --- /dev/null +++ b/_data/certificates/apple/Skank Secure Boot_1.pem @@ -0,0 +1,38 @@ +-----BEGIN CERTIFICATE----- +MIIGuzCCBKOgAwIBAgIBADANBgkqhkiG9w0BAQwFADBdMQswCQYDVQQGEwJVUzEO +MAwGA1UEChMFU2thbmsxJjAkBgNVBAsTHVNrYW5rIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MRYwFAYDVQQDEw1Ta2FuayBSb290IENBMB4XDTAwMDEwMTAwMDAwMFoX +DTMwMDEwMTAwMDAwMFowbTELMAkGA1UEBhMCVVMxDjAMBgNVBAoTBVNrYW5rMTIw +MAYDVQQLEylBcHBsZSBTZWN1cmUgQm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eTEaMBgGA1UEAxMRU2thbmsgU2VjdXJlIEJvb3QwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQDfEW4QrgbqaXOK2jiL3tXKWVOCGLBxV4rLclBoMBOcoMku +9MRW64fvjApXaBnYnPa45hgvePvlFBLekuDowRxseoSGzk37sh30XykxhS4Ybnol +6V66oxDjd6YZ23TYp0zrVvv302CpffxHQABIFdYjhVFzx0UnwUe2qcGmK9oUACej +OL1yp9gW+GFo8nagnRS5Nv1piBQpw67Ty/ATagViSBrmiZgROogwMcIOJocTsikM +UjvxYH/jy+S+pc3JQWtLMPpwJyxnJCLv2+rz22evkvOBnfFZF3njwvQb8NCq8KZk +Y4CvV9AWgHcnI4J4cmG4tS/I89sQ3NOTXLL0NT0tbKyw5AyzlyTPz4xh3GaBCU0f +D2dhzkUTvFKz1RwCuBRNfJksQP2/fljXsRzzofjDPDcuTsMkuXTrQpaDPJigdaT8 +U8G5hM6QgI4q3xiCCfr8ydbRRCHynoyQ3ZQPuqG3UKMTooRSSdxgxitYP+OoOOy8 +FfQv7cZpAeqUQUjskrbMBc1j37Z8aLOcTYaCtBZAmHskF0sorH8ifMP4WosujclM +OHq550YvEKBP5Ru2k63Yr+iIdRi0/KhOY3KnkdQQPvZpv/lDHJMI94CoTk+q8cRT +PYbp07MZ0HCqcoSvWqJSkFUFU4mN0URrzefEWoaM1v79XotKLJ1d1UHl1g1NYQID +AQABo4IBdDCCAXAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBRNUHrWTCJEEYhLdJg4 +aWdVrhVcyTAfBgNVHSMEGDAWgBQg3LdXGCprV0KOvrt2jGNYIOqlazCCAR8GCiqG +SIb3Y2QGAQ8BAf8EggEMMYIBCP+E6oWcUIG2MIGzFgRNQU5QMYGq/4SSuYZIDDAK +FgRCTkNIoAIFAP+Ekr2kRAwwChYEQk9SRKACBQD/hJqVoE8LMAkWBENFUE8CAQH/ +hJqhklANMAsWBENISVACAwCAEP+EmsGkTwwwChYEQ1BST6ACBQD/hJrNikMMMAoW +BENTRUOgAgUA/4SqjZJEDDAKFgRFQ0lEoAIFAP+FmpGeTQswCRYEU0RPTQIBAf+H +m7nebgwwChYEc25vbqACBQD/hPqJlFBDMEEWBE9CSlAxOf+Eop2mVAwwChYEREdT +VKACBQD/hKrBpE8MMAoWBEVQUk+gAgUA/4SqzYpDDDAKFgRFU0VDoAIFADANBgkq +hkiG9w0BAQwFAAOCAgEAVAXAPmj/jf6PUZVObk16AVwFaAe+kKXfxZ8bq37CD7Ck +9/fUHizrYMYT3LfadXHR0zi5OzAQaSFa9z/CqnJ4t7hpccaSsQRgP6qp9uKQASfS +C9pLLEB1YT9CCL+z4KKvVA8ddvk79weDtypStI7X2pw9JxQ30yIPD47/zD2ayq0C +TUy3V3HVXMy4eZ2vOCn9sooSQ560B3px+Xng+B8thUGVHvC/LL/gaiU61mRwd+YM +kxEHAlCsi0eE8ENtDhET4SFqfQU/pw5YwGefjw8Lp/hlEXUXTkHgmMxMrtb8wFit +JxMfkL8h3BsJNuj3I8xhXxEEiBh/EOC5z2lHYD1CyKhK0PXoGtXpxVdy6MpGwyud +xXP5F1Eez7Mf4vJdSx4QAPbaAQKYRuYFJgSy9DEMqW/p5jsDWMN0henJXKUDwcQf +/iT6aoFw/Dsf2NV/X6cuQGTuxAMDFZVoOu0G1KT+81jkxGkcAUFo3O51grT1kyil +OZ9a600C3M+fWObNlyc7ziylO5+20ribbGtoLBM4Nw45jacZjsDGkHGAXs1eJ1Kr +iO7ssQPZsGBlpvoOZEWr7pVePScE3hv2QXczw3q2445KeectZRTMSqtzAQPC1RKA +zQx6et3D+v7i6U7Calr+tS/TpITA+Sj8tWjCrCXyPvhD2XhC42KjkrwLsRMRunA= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Software Signing.der b/_data/certificates/apple/Software Signing.der new file mode 100644 index 00000000..dca3db28 Binary files /dev/null and b/_data/certificates/apple/Software Signing.der differ diff --git a/_data/certificates/apple/Software Signing.pem b/_data/certificates/apple/Software Signing.pem new file mode 100644 index 00000000..f9c90504 --- /dev/null +++ b/_data/certificates/apple/Software Signing.pem @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIEtDCCA5ygAwIBAgIIZO/q/sI56KUwDQYJKoZIhvcNAQEFBQAwfzELMAkGA1UE +BhMCVVMxEzARBgNVBAoMCkFwcGxlIEluYy4xJjAkBgNVBAsMHUFwcGxlIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MTMwMQYDVQQDDCpBcHBsZSBDb2RlIFNpZ25pbmcg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMjAxMDI5MTgzMjM4WhcNMjYxMDI0 +MTczOTQxWjBWMQswCQYDVQQGEwJVUzETMBEGA1UECgwKQXBwbGUgSW5jLjEXMBUG +A1UECwwOQXBwbGUgU29mdHdhcmUxGTAXBgNVBAMMEFNvZnR3YXJlIFNpZ25pbmcw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/MLh0mE+uBguklG4xVG0J +0TyjsDkQqdDmqmAiXdPkhKJAQZBkxmA9kWHaUqhFJ54sZMvkHqgkClI6s9PsFkF4 +wZ7RBuZ4JWMI89/KQeYd/jXpUVwTFYvp0Z1xe9HJqkuemdqPwCm4L5BvpLtlj4Bq +1z1obeR4wqUSL/gy6X7JXVyMPhYgG9denRuGLQj3vBmkTQ5BpErbaxqARVAEqUyN +FQfqaie9u4iePD+yUjmX47fI61RSmIovI1Zl5ekq2VG0I/oE3ffroN/VmvJeCPFf +h/CxR2x1sbGM0RPjesHsYkF0poM08fladGQ5P1luzyzAYIMpPOfeT18N85M5XzCN +AgMBAAGjggFbMIIBVzAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFI5ppsR3Qk4E +pVZCnFEfhtrSII8JMIGWBgNVHSAEgY4wgYswgYgGCSqGSIb3Y2QFATB7MHkGCCsG +AQUFBwICMG0Ma1RoaXMgY2VydGlmaWNhdGUgaXMgdG8gYmUgdXNlZCBleGNsdXNp +dmVseSBmb3IgZnVuY3Rpb25zIGludGVybmFsIHRvIEFwcGxlIFByb2R1Y3RzIGFu +ZC9vciBBcHBsZSBwcm9jZXNzZXMuMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMDMDUG +A1UdHwQuMCwwKqAooCaGJGh0dHA6Ly9jcmwuYXBwbGUuY29tL2NvZGVzaWduaW5n +LmNybDAdBgNVHQ4EFgQUxu0+Svsu6D8T1aAVs13Z57P3aDUwDgYDVR0PAQH/BAQD +AgeAMA8GCSqGSIb3Y2QGFgQCBQAwDQYJKoZIhvcNAQEFBQADggEBAImdqA6ANj/n +AWa6c4Ijc5udq8taXsIwT5AlYJpJMQQJUja4xm5KZlc/Vazm9eTSdfdbz2WD+yj5 +lWkQSsmpwpz+iyAgipl+m2JBmp+mh7pI9nGwlYwkAgg/PrkW8D74/mf+9tidOr6Q +wQLQSb+bzRoRGQAFOoAVTX0s4419xIygW2SwzhBvXDW5XhZPy/IdTtej2tN9ovsY +gOBfN9okEUUes4byotjYEeFMNJSWlchRoQhYM2BvvL3PjFYzdUgS5OZrTZjrVDE1 +8DlIa8DPVeqoeE7C699Yb8dRF9XYVUG8aVXco7QB9N80o0zagpmAQtoHMos3u8rh +59zvNaFyVtE= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Software Update.der b/_data/certificates/apple/Software Update.der new file mode 100644 index 00000000..a465f2b2 Binary files /dev/null and b/_data/certificates/apple/Software Update.der differ diff --git a/_data/certificates/apple/T2026-SDOM1-TssLive-ManifestKey-Global-RevA-DC.der b/_data/certificates/apple/T2026-SDOM1-TssLive-ManifestKey-Global-RevA-DC.der new file mode 100644 index 00000000..56222349 Binary files /dev/null and b/_data/certificates/apple/T2026-SDOM1-TssLive-ManifestKey-Global-RevA-DC.der differ diff --git a/_data/certificates/apple/T6030-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der b/_data/certificates/apple/T6030-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der new file mode 100644 index 00000000..ef1a73e6 Binary files /dev/null and b/_data/certificates/apple/T6030-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der differ diff --git a/_data/certificates/apple/T6031-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der b/_data/certificates/apple/T6031-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der new file mode 100644 index 00000000..90cf4686 Binary files /dev/null and b/_data/certificates/apple/T6031-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der differ diff --git a/_data/certificates/apple/T6032-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der b/_data/certificates/apple/T6032-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der new file mode 100644 index 00000000..87260d51 Binary files /dev/null and b/_data/certificates/apple/T6032-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der differ diff --git a/_data/certificates/apple/T6034-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der b/_data/certificates/apple/T6034-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der new file mode 100644 index 00000000..e823ce0f Binary files /dev/null and b/_data/certificates/apple/T6034-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der differ diff --git a/_data/certificates/apple/T6040-SDOM1-TssLive-ManifestKey-Global-RevA.der b/_data/certificates/apple/T6040-SDOM1-TssLive-ManifestKey-Global-RevA.der new file mode 100644 index 00000000..736e36d2 Binary files /dev/null and b/_data/certificates/apple/T6040-SDOM1-TssLive-ManifestKey-Global-RevA.der differ diff --git a/_data/certificates/apple/T6041-SDOM1-RecoveryBoot-RevA-DataCenter.der b/_data/certificates/apple/T6041-SDOM1-RecoveryBoot-RevA-DataCenter.der new file mode 100644 index 00000000..6dba81af Binary files /dev/null and b/_data/certificates/apple/T6041-SDOM1-RecoveryBoot-RevA-DataCenter.der differ diff --git a/_data/certificates/apple/T6041-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der b/_data/certificates/apple/T6041-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der new file mode 100644 index 00000000..651e16d1 Binary files /dev/null and b/_data/certificates/apple/T6041-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der differ diff --git a/_data/certificates/apple/T6041-SDOM1-TssLive-ManifestKey-RevA-DataCenter.crt b/_data/certificates/apple/T6041-SDOM1-TssLive-ManifestKey-RevA-DataCenter.crt new file mode 100644 index 00000000..1ae9c3fb Binary files /dev/null and b/_data/certificates/apple/T6041-SDOM1-TssLive-ManifestKey-RevA-DataCenter.crt differ diff --git a/_data/certificates/apple/T6050-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der b/_data/certificates/apple/T6050-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der new file mode 100644 index 00000000..87bb2eaf Binary files /dev/null and b/_data/certificates/apple/T6050-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der differ diff --git a/_data/certificates/apple/T8122-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der b/_data/certificates/apple/T8122-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der new file mode 100644 index 00000000..a524dcf8 Binary files /dev/null and b/_data/certificates/apple/T8122-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der differ diff --git a/_data/certificates/apple/T8132-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der b/_data/certificates/apple/T8132-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der new file mode 100644 index 00000000..28f2c762 Binary files /dev/null and b/_data/certificates/apple/T8132-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der differ diff --git a/_data/certificates/apple/T8140-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der b/_data/certificates/apple/T8140-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der new file mode 100644 index 00000000..9a846ca7 Binary files /dev/null and b/_data/certificates/apple/T8140-SDOM1-TssLive-ManifestKey-Global-RevA-DataCenter.der differ diff --git a/_data/certificates/apple/T8142-SDOM1-TssLive-ManifestKey-Global-RevA-DC.der b/_data/certificates/apple/T8142-SDOM1-TssLive-ManifestKey-Global-RevA-DC.der new file mode 100644 index 00000000..ede0f39e Binary files /dev/null and b/_data/certificates/apple/T8142-SDOM1-TssLive-ManifestKey-Global-RevA-DC.der differ diff --git a/_data/certificates/apple/TEST UCRT ATTESTATION ROOT CA.pem b/_data/certificates/apple/TEST UCRT ATTESTATION ROOT CA.pem new file mode 100644 index 00000000..90883b08 --- /dev/null +++ b/_data/certificates/apple/TEST UCRT ATTESTATION ROOT CA.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICGDCCAZ+gAwIBAgIIMyDS5tjDo60wCgYIKoZIzj0EAwMwUjEmMCQGA1UEAwwd +VEVTVCBVQ1JUIEFUVEVTVEFUSU9OIFJPT1QgQ0ExEzARBgNVBAoMCkFwcGxlIElu +Yy4xEzARBgNVBAgMCkNhbGlmb3JuaWEwHhcNMTcwMzE3MTg0NzIzWhcNMzIwMzE3 +MTg0NzIzWjBSMSYwJAYDVQQDDB1URVNUIFVDUlQgQVRURVNUQVRJT04gUk9PVCBD +QTETMBEGA1UECgwKQXBwbGUgSW5jLjETMBEGA1UECAwKQ2FsaWZvcm5pYTB2MBAG +ByqGSM49AgEGBSuBBAAiA2IABK8j8XvaJOsMr8X6albKQ1LFlMi3k+b8Jooja8Qs +0lsrRmax8FItjsoWcxj3c1sPjPF59FI2sCb+9cUZ8KgTeJ3b5748pO1XRGByMNHp +tmIuLYRvqRHhkWl638PWGRUoYKNCMEAwHQYDVR0OBBYEFGnDBpAIQSifJVW2RWKm +f6jT3iIXMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49 +BAMDA2cAMGQCMBFwSHXop87Ghm50PPMGFHtpB/o3K2Gx5747Q0mlR2qE0DsmrJSu +2LO+9QEQL5HZRwIwBMg0g5oYcfMMDWwFSRESii+SqHxFgbmVuzHR5Cu0peL1MiMB +nMjKoG3YyhB4geQ9 +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/TSTWPC1.der b/_data/certificates/apple/TSTWPC1.der new file mode 100644 index 00000000..3107f72e Binary files /dev/null and b/_data/certificates/apple/TSTWPC1.der differ diff --git a/_data/certificates/apple/Test Accessories Software Authentication Root CA.der b/_data/certificates/apple/Test Accessories Software Authentication Root CA.der new file mode 100644 index 00000000..aaf4895e Binary files /dev/null and b/_data/certificates/apple/Test Accessories Software Authentication Root CA.der differ diff --git a/_data/certificates/apple/Test Apple External EC Root.der b/_data/certificates/apple/Test Apple External EC Root.der new file mode 100644 index 00000000..9cdd96c4 Binary files /dev/null and b/_data/certificates/apple/Test Apple External EC Root.der differ diff --git a/_data/certificates/apple/Test Apple External EC Root.pem b/_data/certificates/apple/Test Apple External EC Root.pem new file mode 100644 index 00000000..11cfc3fc --- /dev/null +++ b/_data/certificates/apple/Test Apple External EC Root.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICDjCCAZOgAwIBAgIQcBsaFQeXamqNvSM28khKTjAKBggqhkjOPQQDAzBIMSQw +IgYDVQQDDBtUZXN0IEFwcGxlIEV4dGVybmFsIEVDIFJvb3QxEzARBgNVBAoMCkFw +cGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE5MTEwNTE4MDA0NloXDTQ0MTAyOTE4 +MDA0NlowSDEkMCIGA1UEAwwbVGVzdCBBcHBsZSBFeHRlcm5hbCBFQyBSb290MRMw +EQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABJHCtbxqmYtoWs7UjEjxD9IAjYhqFFPs+ufMlwEKZJ9p4vjIVA7SfJoi +5e/hVvMqsJmtiErOLNRgkPGQprBFxIILsEbl5xTMmJ4T0ENRZAzNpq9cFFJa8giN +5ARUdBORAqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUB2sHRzPklrT8 +b/oyLI6+cMKPgDwwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2kAMGYCMQDt +wMYFYj5MdgxbYvlULpDE2ynRLS8wFYrPn6BaQGxqn3bBXsM3QKGbpA0xnUy7K64C +MQDay+QdEk4DL5HPKrP0s42JafKb/LQFlQvLYxLIqo1Y6PMq9jYyrAoklISFAJZi +Ylc= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Test Apple Global Root CA.der b/_data/certificates/apple/Test Apple Global Root CA.der new file mode 100644 index 00000000..6bf7899f Binary files /dev/null and b/_data/certificates/apple/Test Apple Global Root CA.der differ diff --git a/_data/certificates/apple/Test Apple Global Root CA.pem b/_data/certificates/apple/Test Apple Global Root CA.pem new file mode 100644 index 00000000..cba6e911 --- /dev/null +++ b/_data/certificates/apple/Test Apple Global Root CA.pem @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE----- +MIICcjCCAfigAwIBAgIIHLVPd0HzqVQwCgYIKoZIzj0EAwMwbjEiMCAGA1UEAwwZ +VGVzdCBBcHBsZSBHbG9iYWwgUm9vdCBDQTEmMCQGA1UECwwdQXBwbGUgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYT +AlVTMB4XDTE1MDQyMjAyNDM1N1oXDTQwMTIyNjAzMTMzN1owbjEiMCAGA1UEAwwZ +VGVzdCBBcHBsZSBHbG9iYWwgUm9vdCBDQTEmMCQGA1UECwwdQXBwbGUgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYT +AlVTMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE7oO4qFruk/0HXG8ozht4jxM6RyeW +lbFL7n8n5GkDnzv/R5IoRZ68441TaXXAiFmZkmW5U9dDTPzVN+KFQxW7vMtTCL/6 +aYYlAUtvMbOErSxI/78iWiAlt1sUyo5aTxt2o2MwYTAdBgNVHQ4EFgQUltNWX/hJ +wUDfO4I2Xwl17pVYMkMwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSW01Zf ++EnBQN87gjZfCXXulVgyQzAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAw +ZQIwNDKK3F+gB1aps/WXBZ8upoEQTObczqxmi0Lqt0dtC5Z0nU3oxinx1qp1vFgQ +8uXrAjEA+QVlnpGp34gukA8E9n61770O+eoBbp2FZhxje5twzQSUcD0GBoK9OsR9 +xX0ErMny +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Test Apple Root CA - G3.der b/_data/certificates/apple/Test Apple Root CA - G3.der new file mode 100644 index 00000000..782883ad Binary files /dev/null and b/_data/certificates/apple/Test Apple Root CA - G3.der differ diff --git a/_data/certificates/apple/Test Apple Root CA - G3.pem b/_data/certificates/apple/Test Apple Root CA - G3.pem new file mode 100644 index 00000000..974fa953 --- /dev/null +++ b/_data/certificates/apple/Test Apple Root CA - G3.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICTDCCAdOgAwIBAgIIeDYL9LfItrAwCgYIKoZIzj0EAwMwbDEgMB4GA1UEAwwX +VGVzdCBBcHBsZSBSb290IENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJV +UzAeFw0xNTA0MjIwMzE3NDRaFw00MDEyMjYwMzEzMzdaMGwxIDAeBgNVBAMMF1Rl +c3QgQXBwbGUgUm9vdCBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMw +djAQBgcqhkjOPQIBBgUrgQQAIgNiAASpGmM077ymitYqajgi6SWt2iigScVk/l2R +w2z3meS65CpfYdK/O2yoYRG14Gb3IhGGl13DuhttVX/Q+YDg/9kFrVpbvzp6pwlS +GjF/DKLoEPU208jqoFsKKIUwKF+U9pSjQjBAMB0GA1UdDgQWBBT8RtiDbB/m8tzf +p5kXrgtEZxcbRjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggq +hkjOPQQDAwNnADBkAjAaFDgk/7QIy+rJO9rMgvPZDdErbr8fxBUURN+Ym9fduhu+ +T58XpNICdZB9dsyTFi8CMALX2gu+3T3t+aMGkKlYvWt8fOXFTg5EopQvtASazZtp +jSrGHVj/4zK22z40/2dw8Q== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Test Apple Root CA.der b/_data/certificates/apple/Test Apple Root CA.der new file mode 100644 index 00000000..7b905a91 Binary files /dev/null and b/_data/certificates/apple/Test Apple Root CA.der differ diff --git a/_data/certificates/apple/Test Apple Root CA.pem b/_data/certificates/apple/Test Apple Root CA.pem new file mode 100644 index 00000000..81b0dad0 --- /dev/null +++ b/_data/certificates/apple/Test Apple Root CA.pem @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIEzDCCA7SgAwIBAgIIPQBLkD7e4NAwDQYJKoZIhvcNAQEFBQAwZzELMAkGA1UE +BhMCVVMxEzARBgNVBAoMCkFwcGxlIEluYy4xJjAkBgNVBAsMHUFwcGxlIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MRswGQYDVQQDDBJUZXN0IEFwcGxlIFJvb3QgQ0Ew +HhcNMTUwNDIyMDIxNTQ4WhcNMzUwMjA5MjE0MDM2WjBnMQswCQYDVQQGEwJVUzET +MBEGA1UECgwKQXBwbGUgSW5jLjEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxGzAZBgNVBAMMElRlc3QgQXBwbGUgUm9vdCBDQTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMfRQ1N/DYhr5rFnne5ntud3EoHE3yRr +enUk9wEJzjSS9TgIQn7snfJdOJG0k5g1ETyYAHfZ1/NK+PC865ddS2Eu+8XMaLdt +aRDMpWF4qIECnudjxf8pIoJoqqoO+6nYFnMlv50IYi94BPb2RAc3bpkbk9h/7nLe +6DL2bXgEoKghJooy47FlhaF7GqkCsrvu3d2PQUnIP9we3yGjlZm7/Cm6QEO5HM3J +IUVzrf/9omxcOxw3kTSOXNPVA1gox/J2bxHAtb1+7yOzPbi9OGaM8niVwYsyZTqb +SRpcQTzGhVDshfBZF4HoluhqzLPHRr+BSNEJG7xzHtfoJ6hJSKIcQR0CAwEAAaOC +AXowggF2MB0GA1UdDgQWBBRZuCuUOhu68QCu7lBSIzPJWcNUmDAPBgNVHRMBAf8E +BTADAQH/MB8GA1UdIwQYMBaAFFm4K5Q6G7rxAK7uUFIjM8lZw1SYMIIBEQYDVR0g +BIIBCDCCAQQwggEABgkqhkiG92NkBQEwgfIwKgYIKwYBBQUHAgEWHmh0dHBzOi8v +d3d3LmFwcGxlLmNvbS9hcHBsZWNhLzCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5j +ZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2Vw +dGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQg +Y29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlm +aWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQEFBQADggEBABBebGn8pg/iCdWUkKZ8ItzusI8kIk+zZ9sysNYkh+bz +6p7QlXWqpwj/sDXXH6O/iVUMHKTQ+AAXRJQ2YzuD/k7ls+x7fc7+qVTtuxKmciuz +SADHjvVbaMkkIn+hTfxU2dBdglNxKWbPD20ypj+uVCfCjBJM8NbBgHXDMxnRi1jm +AGl25+U9R/nAnOcZHpW8UhXOlPgwFAs5DouvKTBWr1oorOEPUXZ2mue5faMw6ONx +Fei/DU8Sm2Wr76TpQvDSTSBVKYhYXIJnYyBQxsoE6Lw9kwYhssC/Ux7hi0ipudfm +X05aL0OsNb0mYC8B1YZrZPpnBURVg1uTnHynJk4CK0g= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Test Attestation CA (951f939b-bbbc-4574-99f5-4a17c7874c1d).der b/_data/certificates/apple/Test Attestation CA (951f939b-bbbc-4574-99f5-4a17c7874c1d).der new file mode 100644 index 00000000..0f821323 Binary files /dev/null and b/_data/certificates/apple/Test Attestation CA (951f939b-bbbc-4574-99f5-4a17c7874c1d).der differ diff --git a/_data/certificates/apple/Test Attestation Cert (fb15372d-a992-4994-b604-7a915902699a).der b/_data/certificates/apple/Test Attestation Cert (fb15372d-a992-4994-b604-7a915902699a).der new file mode 100644 index 00000000..1765b66a Binary files /dev/null and b/_data/certificates/apple/Test Attestation Cert (fb15372d-a992-4994-b604-7a915902699a).der differ diff --git a/_data/certificates/apple/Test DBL Attestation Cert (ab116bac-07f6-48aa-a0ca-e6ef9a5f5a95).der b/_data/certificates/apple/Test DBL Attestation Cert (ab116bac-07f6-48aa-a0ca-e6ef9a5f5a95).der new file mode 100644 index 00000000..25708df5 Binary files /dev/null and b/_data/certificates/apple/Test DBL Attestation Cert (ab116bac-07f6-48aa-a0ca-e6ef9a5f5a95).der differ diff --git a/_data/certificates/apple/Test Eureka SOC Root CA 35 Leaf.pem b/_data/certificates/apple/Test Eureka SOC Root CA 35 Leaf.pem new file mode 100644 index 00000000..e25e4a14 --- /dev/null +++ b/_data/certificates/apple/Test Eureka SOC Root CA 35 Leaf.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICIDCCAaegAwIBAgIIRs5sfyqelh8wCgYIKoZIzj0EAwMwTzEjMCEGA1UEAwwa +VGVzdCBFdXJla2EgU09DIFJvb3QgQ0EgMzUxEzARBgNVBAoMCkFwcGxlIEluYy4x +EzARBgNVBAgMCkNhbGlmb3JuaWEwHhcNMTgwNTE1MjIxMjI4WhcNMTgwNTE2MjIx +MjI4WjA/MSgwJgYDVQQDDB9UZXN0IEV1cmVrYSBTT0MgUm9vdCBDQSAzNSBMZWFm +MRMwEQYDVQQKDApBcHBsZSBJbmMuMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE6w8j +HopgIYFA2AIgfFMb7nJ/u+kiZLoa6+DrGy1Hq9RMQ4PaKugBZo1phJmVZBQylaw+ +t8bzSYTRX54ssE/wWZcGr6AxXHukWUbyEXTwfBrJ+WZrrgk9m4yO4CTM+X/3o2Aw +XjAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFAxk7aveoHb8y7T0n723XUb1l68y +MB0GA1UdDgQWBBTdXA+AlS+1l6tg3ZKC6nC4DuoOejAOBgNVHQ8BAf8EBAMCB4Aw +CgYIKoZIzj0EAwMDZwAwZAIwNPaI+vLvTKfYhLdFh8/dLd77H/ffp7Tg1J+9kUK3 +2N2Is775fYno4lL8uyS3NswTAjBTQRgMgpjN1RWQMbY2/cUUIKVU3zYY97/k2Tg4 +lMribI5IpqA0f/kfAyqtW8MPpH0= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Test Eureka SOC Root CA 35.pem b/_data/certificates/apple/Test Eureka SOC Root CA 35.pem new file mode 100644 index 00000000..2d927a9b --- /dev/null +++ b/_data/certificates/apple/Test Eureka SOC Root CA 35.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICFzCCAZygAwIBAgIIFo4L83qPTfAwCgYIKoZIzj0EAwMwTzEjMCEGA1UEAwwa +VGVzdCBFdXJla2EgU09DIFJvb3QgQ0EgMzUxEzARBgNVBAoMCkFwcGxlIEluYy4x +EzARBgNVBAgMCkNhbGlmb3JuaWEwHhcNMTgwNTE1MjE1NTA4WhcNMzgwNTEwMjE1 +NTA4WjBPMSMwIQYDVQQDDBpUZXN0IEV1cmVrYSBTT0MgUm9vdCBDQSAzNTETMBEG +A1UECgwKQXBwbGUgSW5jLjETMBEGA1UECAwKQ2FsaWZvcm5pYTB2MBAGByqGSM49 +AgEGBSuBBAAiA2IABHr0Ra9AWULVMOUkHo1hjBQe2NKt6lSr2cMxVdyj12cXMA7t +QvZS1N4AcWI9JExr3NzQRnjvFoKQrOnxgeu/NVCTl+cmN6N9qM+QN6t6C5Y+S5wi +anyl/eGGKa87AInHcKNFMEMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU +DGTtq96gdvzLtPSfvbddRvWXrzIwDgYDVR0PAQH/BAQDAgIEMAoGCCqGSM49BAMD +A2kAMGYCMQD0lA/toGnX/oCc3Shp61E3mCZrLtA2E1g0vrBtgEzeRCMJgvnPrAZ+ +qcd5SQkbLpkCMQC/JeLDhqpmDtU7QB/n7NCxTK8siYWHTuwVRMiiTf0Zvzc0ow6H +acwuMD9Uss2/BD0= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Test Root CA (c19f8f9d-84c1-4107-b084-47caf02e5cb7).der b/_data/certificates/apple/Test Root CA (c19f8f9d-84c1-4107-b084-47caf02e5cb7).der new file mode 100644 index 00000000..0498bc0c Binary files /dev/null and b/_data/certificates/apple/Test Root CA (c19f8f9d-84c1-4107-b084-47caf02e5cb7).der differ diff --git a/_data/certificates/apple/Test Root CA (c19f8f9d-84c1-4107-b084-47caf02e5cb7).pem b/_data/certificates/apple/Test Root CA (c19f8f9d-84c1-4107-b084-47caf02e5cb7).pem new file mode 100644 index 00000000..9cce3840 --- /dev/null +++ b/_data/certificates/apple/Test Root CA (c19f8f9d-84c1-4107-b084-47caf02e5cb7).pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDaDCCAlCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBmMREwDwYDVQQKDAhNYXZl +cmljazE8MDoGA1UEAwwzVGVzdCBSb290IENBIChjMTlmOGY5ZC04NGMxLTQxMDct +YjA4NC00N2NhZjAyZTVjYjcpMRMwEQYDVQQIDApDYWxpZm9ybmlhMB4XDTEwMDQy +MDIzMzA0NVoXDTExMDQyMDIzMzA0NVowZjERMA8GA1UECgwITWF2ZXJpY2sxPDA6 +BgNVBAMMM1Rlc3QgUm9vdCBDQSAoYzE5ZjhmOWQtODRjMS00MTA3LWIwODQtNDdj +YWYwMmU1Y2I3KTETMBEGA1UECAwKQ2FsaWZvcm5pYTCCASAwDQYJKoZIhvcNAQEB +BQADggENADCCAQgCggEBAMu6KMgKMCm8f75rPZ/+ApHECSk7ndnQwb3umE1LP57y +ezlbxPHa1G/BtVf8ws091X91jnUPEa5KIjOAvbuMAkY9jlsDYKFyx+H93EcP4KN1 +uQD+zJD8nSMZQgzy68FpXSmkN+o/EHtqmvVb7ekWRTv23mIoi7mpTWlpsZJ3bu7U +iPLcy8niCKoGBz+X/Ti3LsqCSLzz1jkFYwVu+44u+R0s65W7WJ+9/5/sv+rQX9fc +StUjpADH5f0Lp6oiCbv0TKJ0VHky1l6JnTzRmUKTf83uZKzPWDjAZbsCrttUKTSB +1ql/R5J2e8h4XjuJEMPRtEvuPq0nbl3QpCJZVAUKEpsCAQOjIzAhMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCxtpVf +/jxa5APoE07pgcN3n7yiz24f2Zhwl/AARDv8P3xlaIiOiAy0krOYwGFlSK5o0W2r +bC1p6KpzLcXTnP+h9x9ZaKKMlbvzM6XyFNYf8vruf9CEEftAWRdkCepOlEy7/8IA +MuKp12DYMLkpJbrqZjKipZUu1mq1F8JagjEQ5rr4bPbRHDkc0Hww4EyMMVFgriea +Jq/noMjDQ7diM6+YdYSNm3llD9diwG83Hjkh7hsgRQNYLh2wROkDlRSK1ryyscpr +2P3aEGz6gspscr7LljIc8a3f5Hx0HgeX+4MdRgXpJTND6vAI8AO/aIOyrSjNgDdO +iRv2mvGSAANVg6vr +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/Thawte Premium Server CA.der b/_data/certificates/apple/Thawte Premium Server CA.der new file mode 100644 index 00000000..4625ba52 Binary files /dev/null and b/_data/certificates/apple/Thawte Premium Server CA.der differ diff --git a/_data/certificates/apple/Thawte Premium Server CA.pem b/_data/certificates/apple/Thawte Premium Server CA.pem new file mode 100644 index 00000000..d3a4cd23 --- /dev/null +++ b/_data/certificates/apple/Thawte Premium Server CA.pem @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDNjCCAp+gAwIBAgIQNhIilsXjOKUgodJfTNcJVDANBgkqhkiG9w0BAQUFADCB +zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ +Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE +CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh +d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl +cnZlckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIxMDEwMTIzNTk1OVow +gc4xCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcT +CUNhcGUgVG93bjEdMBsGA1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNV +BAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRo +YXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1z +ZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2 +aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560 +ZXUCTe/LCaIhUdib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j ++ao6hnO2RlNYyIkFvYMRuHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/ +BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQBlkKyID1bZ5jA01CbH0FDxkt5r1DmI +CSLGpmODA/eZd9iy5Ri4XWPz1HP7bJyZePFLeH0ZJMMrAoT4vCLZiiLXoPxx7JGH +IPG47LHlVYCsPVLIOQ7C8MAFT9aCdYy9X9LcdpoFEsmvcsPcJX6kTY4XpeCHf+Ga +WuFg3GQjPEIuTQ== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/WPCCA1.der b/_data/certificates/apple/WPCCA1.der new file mode 100644 index 00000000..89697d9c Binary files /dev/null and b/_data/certificates/apple/WPCCA1.der differ diff --git a/_data/certificates/apple/WPCCAX.der b/_data/certificates/apple/WPCCAX.der new file mode 100644 index 00000000..d9359ab4 Binary files /dev/null and b/_data/certificates/apple/WPCCAX.der differ diff --git a/_data/certificates/apple/ZFF10-TssLive-ManifestKey-ExtraContent-DeviceClass-Global-RevA-DC.der b/_data/certificates/apple/ZFF10-TssLive-ManifestKey-ExtraContent-DeviceClass-Global-RevA-DC.der new file mode 100644 index 00000000..9ae3eadd Binary files /dev/null and b/_data/certificates/apple/ZFF10-TssLive-ManifestKey-ExtraContent-DeviceClass-Global-RevA-DC.der differ diff --git a/_data/certificates/apple/ZFF10-TssLive-ManifestKey-ExtraContent-DeviceClass-RevA-DC.der b/_data/certificates/apple/ZFF10-TssLive-ManifestKey-ExtraContent-DeviceClass-RevA-DC.der new file mode 100644 index 00000000..739c4f4e Binary files /dev/null and b/_data/certificates/apple/ZFF10-TssLive-ManifestKey-ExtraContent-DeviceClass-RevA-DC.der differ diff --git a/_data/certificates/apple/ZFF11-TssLive-ManifestKey-Exclave-X86-Global-RevA-DC.der b/_data/certificates/apple/ZFF11-TssLive-ManifestKey-Exclave-X86-Global-RevA-DC.der new file mode 100644 index 00000000..e71ebcff Binary files /dev/null and b/_data/certificates/apple/ZFF11-TssLive-ManifestKey-Exclave-X86-Global-RevA-DC.der differ diff --git a/_data/certificates/apple/ds.apple.com.der b/_data/certificates/apple/ds.apple.com.der new file mode 100644 index 00000000..28fd943e Binary files /dev/null and b/_data/certificates/apple/ds.apple.com.der differ diff --git a/_data/certificates/apple/factory/monet_attestation_baseband_ticket.pem b/_data/certificates/apple/factory/APPLE.pem similarity index 100% rename from _data/certificates/apple/factory/monet_attestation_baseband_ticket.pem rename to _data/certificates/apple/factory/APPLE.pem diff --git a/_data/certificates/apple/factory/apple_server_ca_cert.pem b/_data/certificates/apple/factory/Apple FU L3.pem similarity index 100% rename from _data/certificates/apple/factory/apple_server_ca_cert.pem rename to _data/certificates/apple/factory/Apple FU L3.pem diff --git a/_data/certificates/apple/factory/birch_cert.pem b/_data/certificates/apple/factory/Development Birch L3 Leaf Certificate for Factory.pem similarity index 100% rename from _data/certificates/apple/factory/birch_cert.pem rename to _data/certificates/apple/factory/Development Birch L3 Leaf Certificate for Factory.pem diff --git a/_data/certificates/apple/factory/monet_root_ca_9_cert.pem b/_data/certificates/apple/factory/Eureka Root CA 9.pem similarity index 100% rename from _data/certificates/apple/factory/monet_root_ca_9_cert.pem rename to _data/certificates/apple/factory/Eureka Root CA 9.pem diff --git a/_data/certificates/apple/factory/monet_root_baseband_mav18_cert.pem b/_data/certificates/apple/factory/MAV-Local-RevB-DataCenter.pem similarity index 100% rename from _data/certificates/apple/factory/monet_root_baseband_mav18_cert.pem rename to _data/certificates/apple/factory/MAV-Local-RevB-DataCenter.pem diff --git a/_data/certificates/apple/factory/monet_attestation_sbl_cert.pem b/_data/certificates/apple/factory/MAV-SWID0-RootCA9-Local.pem similarity index 100% rename from _data/certificates/apple/factory/monet_attestation_sbl_cert.pem rename to _data/certificates/apple/factory/MAV-SWID0-RootCA9-Local.pem diff --git a/_data/certificates/apple/factory/monet_attestation_sbl_mav18_cert.pem b/_data/certificates/apple/factory/Mav Local Leaf Certificate.pem similarity index 100% rename from _data/certificates/apple/factory/monet_attestation_sbl_mav18_cert.pem rename to _data/certificates/apple/factory/Mav Local Leaf Certificate.pem diff --git a/_data/certificates/apple/factory/monet_root_sbl_mav18_cert.pem b/_data/certificates/apple/factory/Mav Local Root Certificate.pem similarity index 100% rename from _data/certificates/apple/factory/monet_root_sbl_mav18_cert.pem rename to _data/certificates/apple/factory/Mav Local Root Certificate.pem diff --git a/_data/certificates/apple/factory/redwood_ca_cert.pem b/_data/certificates/apple/factory/Redwood Server CA.pem similarity index 100% rename from _data/certificates/apple/factory/redwood_ca_cert.pem rename to _data/certificates/apple/factory/Redwood Server CA.pem diff --git a/_data/certificates/apple/factory/monet_attestation_cert.pem b/_data/certificates/apple/factory/Test Attestation CA (951f939b-bbbc-4574-99f5-4a17c7874c1d).pem similarity index 100% rename from _data/certificates/apple/factory/monet_attestation_cert.pem rename to _data/certificates/apple/factory/Test Attestation CA (951f939b-bbbc-4574-99f5-4a17c7874c1d).pem diff --git a/_data/certificates/apple/factory/monet_attestation_dbl_cert.pem b/_data/certificates/apple/factory/Test Attestation Cert (fb15372d-a992-4994-b604-7a915902699a).pem similarity index 100% rename from _data/certificates/apple/factory/monet_attestation_dbl_cert.pem rename to _data/certificates/apple/factory/Test Attestation Cert (fb15372d-a992-4994-b604-7a915902699a).pem diff --git a/_data/certificates/apple/factory/monet_attestation_eNAND_prog_cert.pem b/_data/certificates/apple/factory/Test DBL Attestation Cert (ab116bac-07f6-48aa-a0ca-e6ef9a5f5a95).pem similarity index 100% rename from _data/certificates/apple/factory/monet_attestation_eNAND_prog_cert.pem rename to _data/certificates/apple/factory/Test DBL Attestation Cert (ab116bac-07f6-48aa-a0ca-e6ef9a5f5a95).pem diff --git a/_data/certificates/apple/factory/monet_baseband_ticket_mav18_key.pem b/_data/certificates/apple/factory/monet_baseband_ticket_mav18_key.pem deleted file mode 100644 index 8d261f55..00000000 --- a/_data/certificates/apple/factory/monet_baseband_ticket_mav18_key.pem +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN EC PRIVATE KEY----- -MIGkAgEBBDDAGHAToVSlqtcl8gnaZjbEUJRy0XfEoVcgJhpSUBcXngL4pAVapcW7 -I5LYwBgYGzegBwYFK4EEACKhZANiAAS4TYrslWg/R7WQ+4kpE4sNPtXXymwx893f -/lf+bv6g4Ni7vaGN2Yhv5dUUk2rT62vsP4kqEnoIRrZo4MzTacNBwSUC4gr7ypwv -RElTDu0RtmLv4dtz2xjx4Xb7Z0cVaD0= ------END EC PRIVATE KEY----- diff --git a/_data/certificates/apple/factory/monet_provisioning_p1_pub.pem b/_data/certificates/apple/factory/monet_provisioning_p1_pub.pem deleted file mode 100644 index d5b972d2..00000000 --- a/_data/certificates/apple/factory/monet_provisioning_p1_pub.pem +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN PUBLIC KEY----- -MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDV+l1ShKEjepgxwCmr3IMC2JSu -n1TtpqxNBTJXGtBEDRqUOWA9AINW+dW/UuzE64HDl6Gk+jCNBHWo8xko6wIqmMu0 -+LVayTzuUWYqS3EfO7B4PZ7NyfKS949vFWfZLMw6tsAS2tmAa9MI6/Wa40R8QqJr -nQB+U0sGr//X1MF4fwIDAQAB ------END PUBLIC KEY----- diff --git a/_data/certificates/apple/factory/monet_root_baseband_ticket_mav20_key.pem b/_data/certificates/apple/factory/monet_root_baseband_ticket_mav20_key.pem deleted file mode 100644 index 8d261f55..00000000 --- a/_data/certificates/apple/factory/monet_root_baseband_ticket_mav20_key.pem +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN EC PRIVATE KEY----- -MIGkAgEBBDDAGHAToVSlqtcl8gnaZjbEUJRy0XfEoVcgJhpSUBcXngL4pAVapcW7 -I5LYwBgYGzegBwYFK4EEACKhZANiAAS4TYrslWg/R7WQ+4kpE4sNPtXXymwx893f -/lf+bv6g4Ni7vaGN2Yhv5dUUk2rT62vsP4kqEnoIRrZo4MzTacNBwSUC4gr7ypwv -RElTDu0RtmLv4dtz2xjx4Xb7Z0cVaD0= ------END EC PRIVATE KEY----- diff --git a/_data/certificates/apple/factory/redwood_cert.pem b/_data/certificates/apple/factory/redwood_cert.pem deleted file mode 100644 index 51e0578b..00000000 --- a/_data/certificates/apple/factory/redwood_cert.pem +++ /dev/null @@ -1,26 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEYTCCA0mgAwIBAgIIErdSPR1kFjwwDQYJKoZIhvcNAQELBQAwZjEaMBgGA1UE -AwwRUmVkd29vZCBTZXJ2ZXIgQ0ExJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRp -b24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAe -Fw0xNDEwMjQyMTEyMTBaFw0xNjEwMjMyMTEyMTBaME4xFDASBgNVBAMMC0FwcGxl -IEZVIEwzMRQwEgYDVQQLDAtpT1MgU3lzdGVtczETMBEGA1UECgwKQXBwbGUgSW5j -LjELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDB -EPSHgVrMzmccqmMfUzJUeo6yQx3gzLL0bduyAt4h8zmzeKrTY/K3KaBe+1P/DtjI -3t2kTmrdbEWdoaCviK3Oy4SNvnC2BCYTWD766yXQmjIPJEZEonhxoqDitjov6CQL -u4hsCvi3c4mk06TA16bzRpOEZT8wcx/djxnyghogop+JM/Xazgg5DHEE/2fnQv5f -9QlZJrfRVrDjtwIDYp/65LM67ZROCg/TbjRGXXPZKnX8Y7Ex2NZY8yMtWainaMug -4yxU8P7eSRBkiYufURB1zgRznLWoql95mXTWKBb0itmQ8oIldmOrFDP5UX+4WzmE -SjnyOm7BzBIt2inDgE43AgMBAAGjggEpMIIBJTBGBggrBgEFBQcBAQQ6MDgwNgYI -KwYBBQUHMAGGKmh0dHA6Ly9vY3NwLXVhdC5jb3JwLmFwcGxlLmNvbS9vY3NwLXJk -d2QwMjAdBgNVHQ4EFgQUbUun+ZsIm3LlN9vGp5moGrEA418wDAYDVR0TAQH/BAIw -ADAfBgNVHSMEGDAWgBRaNNRNpT8Ru7MluKEwzbuJsSfx+zAnBgNVHSAEIDAeMA0G -CyqGSIb3Y2QFCgEDMA0GCyqGSIb3Y2QFCgICMD8GA1UdHwQ4MDYwNKAyoDCGLmh0 -dHA6Ly9jcmwtdWF0LmNvcnAuYXBwbGUuY29tL3Jkd2RzZXJ2ZXJjYS5jcmwwDgYD -VR0PAQH/BAQDAgeAMBMGCSqGSIb3Y2QGFAEB/wQDAgECMA0GCSqGSIb3DQEBCwUA -A4IBAQBxG8J/+uozbCZGeP6v5l2/abbUNXHGNSG/UXjiixzbPMUgrYP19+uXODDq -RoV6sOHvrLKvrXcZtFM9UPWLfgvoe53LJly4tZI66ni2q6pwUzYz8KnFKWyLbcrw -T+LlE/wVX3auFReHR58X3wG/DdpX8Ydyw8tvTiXhE5re69r6+tC60kXExLmOjFjz -enlKLo2g4Vtg/gWjcXLTZnQgSQXoRjxG9naCY+uZS0DnGxftu0t/4UPabhOMIi3O -kjGs5xRLGPgz5km+zzrgmo1NUFhkLQY2t0q3Pl/B6RBIqiLtmt0tzbGpowkiPcaX -Ozk8zDzOG7VkED8kgsLsx2xrovT+ ------END CERTIFICATE----- diff --git a/_data/certificates/apple/fdruca-auth.apple.com.der b/_data/certificates/apple/fdruca-auth.apple.com.der new file mode 100644 index 00000000..8df2226a Binary files /dev/null and b/_data/certificates/apple/fdruca-auth.apple.com.der differ diff --git a/_data/certificates/apple/img4 test secp256r1 Root Certificate Authority.pem b/_data/certificates/apple/img4 test secp256r1 Root Certificate Authority.pem new file mode 100644 index 00000000..3fe70291 --- /dev/null +++ b/_data/certificates/apple/img4 test secp256r1 Root Certificate Authority.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICIzCCAcigAwIBAgIJAL6b+UNKyATYMAoGCCqGSM49BAMCMGQxNzA1BgNVBAMT +LmltZzQgdGVzdCBzZWNwMjU2cjEgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkx +FDASBgNVBAoTC0FwcGxlLCBJbmMuMRMwEQYDVQQIEwpDYWxpZm9ybmlhMB4XDTE1 +MDgyNzA0MTk0MFoXDTI1MDgyNDA0MTk0MFowZDE3MDUGA1UEAxMuaW1nNCB0ZXN0 +IHNlY3AyNTZyMSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eTEUMBIGA1UEChML +QXBwbGUsIEluYy4xEzARBgNVBAgTCkNhbGlmb3JuaWEwWTATBgcqhkjOPQIBBggq +hkjOPQMBBwNCAAQy85H8SZgWeFkyyFfxJN4yfx35Jg40hZ3jWdBw8+Jri8cykJdV +zRnS94+T7YWccaigwQzyyERhdblNFdXN/OIGo2MwYTAdBgNVHQ4EFgQU3TytQ5Ln +mYEDj8pFFA809TbFOgQwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTdPK1D +kueZgQOPykUUDzT1NsU6BDAOBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwIDSQAw +RgIhAOTpzdLbairUolsbie1p8wh/WldxPW6qbZ85Vzrt5x+kAiEAiT/o9R1i0TfI +x1KFVMaibVzIthPf/maos1uy3rL9yz4= +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/img4 test secp384r1 Root Certificate Authority.pem b/_data/certificates/apple/img4 test secp384r1 Root Certificate Authority.pem new file mode 100644 index 00000000..424815ca --- /dev/null +++ b/_data/certificates/apple/img4 test secp384r1 Root Certificate Authority.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICXjCCAeWgAwIBAgIJAO5ey/a/ZXo9MAoGCCqGSM49BAMDMGQxNzA1BgNVBAMT +LmltZzQgdGVzdCBzZWNwMzg0cjEgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkx +FDASBgNVBAoTC0FwcGxlLCBJbmMuMRMwEQYDVQQIEwpDYWxpZm9ybmlhMB4XDTE1 +MDgyNzA0MTk1MloXDTI1MDgyNDA0MTk1MlowZDE3MDUGA1UEAxMuaW1nNCB0ZXN0 +IHNlY3AzODRyMSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eTEUMBIGA1UEChML +QXBwbGUsIEluYy4xEzARBgNVBAgTCkNhbGlmb3JuaWEwdjAQBgcqhkjOPQIBBgUr +gQQAIgNiAARmiQLNit/MHLEymNygtXRdYvZ2V9ujKbG78XPHs815eRetxfbAe0SU +3LOKQ0xvpm77RUDARHdFyNzRSkKxTY2iBUGOapBwlwzfZlUmJU4JRXE9ATRwYNco +KfVcrL0BFnejYzBhMB0GA1UdDgQWBBTFrjb8IhN7kz3HMYTxcqKeXtGm5DAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFMWuNvwiE3uTPccxhPFyop5e0abkMA4G +A1UdDwEB/wQEAwIBhjAKBggqhkjOPQQDAwNnADBkAjB5ryjJQJlO6BD0fqejchDc +HB9su7+GoJMD5Kv9hoDeDlCTYoxE1fUp/36BAM3Ph/4CMB+QED5D9Nf7Fas99Xst +xQ+EdLq74wvw/0YFQlsLVUH3UAnFE1uWnmwHkDZYF1EkcA== +-----END CERTIFICATE----- diff --git a/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6.der b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6.der new file mode 100644 index 00000000..dfd7f7f2 Binary files /dev/null and b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6.der differ diff --git a/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_1.der b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_1.der new file mode 100644 index 00000000..0fda34cf Binary files /dev/null and b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_1.der differ diff --git a/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_2.der b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_2.der new file mode 100644 index 00000000..aa421006 Binary files /dev/null and b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_2.der differ diff --git a/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_3.der b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_3.der new file mode 100644 index 00000000..c22ae438 Binary files /dev/null and b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_3.der differ diff --git a/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_4.der b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_4.der new file mode 100644 index 00000000..5e52abdf Binary files /dev/null and b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_4.der differ diff --git a/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_5.der b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_5.der new file mode 100644 index 00000000..da6fc981 Binary files /dev/null and b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_5.der differ diff --git a/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_6.der b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_6.der new file mode 100644 index 00000000..e33a104c Binary files /dev/null and b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_6.der differ diff --git a/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_7.der b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_7.der new file mode 100644 index 00000000..7db0fb01 Binary files /dev/null and b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_7.der differ diff --git a/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_8.der b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_8.der new file mode 100644 index 00000000..2c27224b Binary files /dev/null and b/_data/certificates/apple/sik-00006041-000A61DE3E50801C-35FED78004203F714E46B067E57689B0DAD61663B4EF9BC7C56728A9DAC8F5180C3434A7CEF829FABE23D03434D06DD6_8.der differ diff --git a/_data/certificates/qualcomm/qualcomm_cass_sbl_qsee_attestation.cer b/_data/certificates/qualcomm/CASS - SBL3.cer similarity index 100% rename from _data/certificates/qualcomm/qualcomm_cass_sbl_qsee_attestation.cer rename to _data/certificates/qualcomm/CASS - SBL3.cer diff --git a/_data/certificates/qualcomm/qualcomm_cass_sbl_xbl_sec.cer b/_data/certificates/qualcomm/CASS - SBL3_1.cer similarity index 100% rename from _data/certificates/qualcomm/qualcomm_cass_sbl_xbl_sec.cer rename to _data/certificates/qualcomm/CASS - SBL3_1.cer diff --git a/_data/certificates/qualcomm/test_eurika_secure_boot_root_2.cer b/_data/certificates/qualcomm/Eureka Secure Boot Root CA 2.cer similarity index 100% rename from _data/certificates/qualcomm/test_eurika_secure_boot_root_2.cer rename to _data/certificates/qualcomm/Eureka Secure Boot Root CA 2.cer diff --git a/_data/certificates/qualcomm/qualcomm_qsee_attestation_root_4_sub_1.cer b/_data/certificates/qualcomm/QSEE Attestation Root CA 4 SubCA 1.cer similarity index 100% rename from _data/certificates/qualcomm/qualcomm_qsee_attestation_root_4_sub_1.cer rename to _data/certificates/qualcomm/QSEE Attestation Root CA 4 SubCA 1.cer diff --git a/_data/certificates/qualcomm/qualcomm_qsee_attestation_root_4.cer b/_data/certificates/qualcomm/QSEE Attestation Root CA 4.cer similarity index 100% rename from _data/certificates/qualcomm/qualcomm_qsee_attestation_root_4.cer rename to _data/certificates/qualcomm/QSEE Attestation Root CA 4.cer diff --git a/_data/certificates/qualcomm/test_eureka_soc_35_leaf.cer b/_data/certificates/qualcomm/Test Eureka SOC Root CA 35 Leaf.cer similarity index 100% rename from _data/certificates/qualcomm/test_eureka_soc_35_leaf.cer rename to _data/certificates/qualcomm/Test Eureka SOC Root CA 35 Leaf.cer diff --git a/_data/certificates/qualcomm/test_eureka_soc_35_root.cer b/_data/certificates/qualcomm/Test Eureka SOC Root CA 35.cer similarity index 100% rename from _data/certificates/qualcomm/test_eureka_soc_35_root.cer rename to _data/certificates/qualcomm/Test Eureka SOC Root CA 35.cer diff --git a/_data/certificates/qualcomm/qualcomm_xbl_sec_attestation_root_4_sub_1.cer b/_data/certificates/qualcomm/XBL Sec Attestation Root CA 4 Sub CA 1.cer similarity index 100% rename from _data/certificates/qualcomm/qualcomm_xbl_sec_attestation_root_4_sub_1.cer rename to _data/certificates/qualcomm/XBL Sec Attestation Root CA 4 Sub CA 1.cer diff --git a/_data/certificates/qualcomm/qualcomm_xbl_sec_attestation_root_4.cer b/_data/certificates/qualcomm/XBL Sec Attestation Root CA 4.cer similarity index 100% rename from _data/certificates/qualcomm/qualcomm_xbl_sec_attestation_root_4.cer rename to _data/certificates/qualcomm/XBL Sec Attestation Root CA 4.cer diff --git a/_data/certificates/qualcomm/test_eurika_secure_boot_root_1.cer b/_data/certificates/qualcomm/test_eurika_secure_boot_root_1.cer deleted file mode 100644 index f31e4b3e..00000000 Binary files a/_data/certificates/qualcomm/test_eurika_secure_boot_root_1.cer and /dev/null differ diff --git a/_data/certificates/vmapple2.cer b/_data/certificates/vmapple2.cer deleted file mode 100644 index f0d2692e..00000000 Binary files a/_data/certificates/vmapple2.cer and /dev/null differ diff --git a/_data/cryptex.yaml b/_data/cryptex.yaml new file mode 100644 index 00000000..a77aa14a --- /dev/null +++ b/_data/cryptex.yaml @@ -0,0 +1,103 @@ +--- +unknown: + srtl: + title: Security Research Trust List + vdrt: + title: Virtual Device Runtime Trust +team-ids: + 59GAB85EFG: Xcode + 9B9BMM756K: + ZL6BUSYGB3: Apple News + C294W6Q7VB: + WWDCDEMO14: WorldWide Developer Confrence 2014 + XPSUQMMH5W: + 4GDX6FKXZ3: + 9JA89QQLNQ: Apple App Site Association (AASA + 243LU875E5: Podcasts + 5L582GG73E: + J465JVPK26: + J7YC8MX52C: + 5YE77W7KK6: + 64UH4UY526: + CTL9M94Q8X: + DK9N2M2GK6: PassKit + B32K2C2Y92: + 8HPC9RB4KE: + BDFWW8L6QE: + 859WDYTPW2: + HW8W63F6SA: + DUMMYTEAM: +cryptexes: + cryptex1: + generic: + types: + dctg: + supplemental: + types: + dctg: + preboot: + app: + types: + acrt: + os: + types: + scrt: + safari-downlevel: + types: + acrt: + boot: + os: + types: + scrt: System Cryptex Runtime Trust + app: + types: + acrt: Application Cryptex Runtime Trust + global: + pdi: + types: + srtl: + bootability-brain: + types: + bbrt: Bootability Brain Runtime Trust + install-assistant: + types: + srtl: + ota-update-brain: + types: + srtl: + personalized: + supplemental-ephemeral: + types: + srtl: + supplemental-persistent: + types: + srtl: + ephemeral-cryptex: + types: + srtl: + cryptex-research: + types: + srtl: + mobile-asset-code: + types: + dctg: + mobile-asset-brain: + types: + bart: + engineering-root: + types: + srtd: + trust-cache: + type: + srtl: + pdi: + type: + srtl: + ddi: + types: + vdrt: + srtl: +metadata: + description: + credits: [] + collections: [] diff --git a/_data/cryptography.yml b/_data/cryptography.yml new file mode 100644 index 00000000..f4a6b2e3 --- /dev/null +++ b/_data/cryptography.yml @@ -0,0 +1,1169 @@ +--- +auto_sort: false +credits: + - rickmark + - gemini + - https://safecurves.cr.yp.to + - https://wikipedia.org +see_also: + - curves + - keys + - pki +--- +types: + field: + description: A field is a set of numbers that can be added, subtracted, multiplied, and divided according + to certain rules. Typically defined as an Alban group. `n` is assumed to be `x=0..n` and `y=0..n`. + parameters: + n: + aliases: + - size + type: positive_integer + description: The size of the field, which it the range for `X` where `X is a value between 0 and n-1 + variants: + prime: + description: !markdown > + A prime Galois field, denoted as $\mathbb{F}_p$ or GF(p), is a finite field with a prime number + p of elements, where arithmetic operations like addition and multiplication are performed modulo p. In the + PARI-GP computer algebra system, prime fields and elements within them are handled natively using integers + modulo p via or through finite field functions like . [1, 2, 3, 4, 5] + + # Core Properties of GF(p) + + * Elements: The field consists of integers $\{0, 1, 2, \dots, p-1\}$. + * Addition & Subtraction: Computed modulo p. + * Multiplication: Computed modulo p. + * Inverses: Every non-zero element has a unique multiplicative inverse because p is prime. [1, 5, 6] + + # Working with Prime Fields in GP/PARI + + * Integers modulo p: Use to perform basic arithmetic rings/fields. For instance, returns . + * Defining via : You can initialize a prime field element or generator using where p is prime. + * Polynomial roots (): Find roots of polynomials over a prime field by passing the prime p as a domain + argument, such as . [7, 8, 9] + + citations: !citations + 1: https://www.youtube.com/watch?v=-WGc4VapKj0 + 2: https://www.johndcook.com/blog/finite-fields/ + 3: https://kconrad.math.uconn.edu/math5230f08/parirefcard.pdf + 4: https://pari.math.u-bordeaux.fr/dochtml/html/Arithmetic_functions.html + 5: https://www.youtube.com/watch?v=Sw8FH87J1XA + 6: https://medium.com/@dillihangrae/exploring-number-theory-galois-fields-d837a80f4fd1 + 7: https://pari.math.u-bordeaux.fr/Events/PARI2017c/talks/ecc_en.pdf + 8: https://pari.math.u-bordeaux.fr/dochtml/html-stable/Polynomials_and_power_series.html + 9: https://en.wikipedia.org/wiki/Finite_field_arithmetic + binary: + description: !markdown > + Binary fields, or Galois Fields denoted as $GF(2^m)$ where m ≥ 1, are finite fields containing $2^m$ + elements. The simplest binary field is GF(2) with elements $\{0, 1\}$, where arithmetic operations follow + modulo 2 rules (addition is XOR, multiplication is AND). Larger fields $GF(2^m)$ represent elements as + binary polynomials reduced modulo an irreducible primitive polynomial. [1, 2, 3, 4, 5] + + # Core Properties of Binary Fields + + * Order: Exactly $2^m$ elements, usually representing m-bit words or bytes (e.g., GF(2⁸) in AES encryption). + * Characteristic: Every binary field has characteristic 2, meaning x + x = 0 for any element. + * Addition and Subtraction: Implemented as a bitwise XOR operation , meaning addition is identical + to subtraction. + * Multiplication: Carried out via polynomial multiplication followed by reduction using a fixed + irreducible reduction polynomial without carry propagation (carry-less + multiplication). [1, 2, 3, 5, 6, 7, 8] + + # Applications + + * Cryptography: Used in block ciphers like AES (GF(2⁸)) and elliptic curve cryptography. + * Error Correction: Utilized in Reed-Solomon codes and cyclic redundancy checks (CRCs) for + reliable data transmission. [5, 6, 7, 9] + citations: + 1: https://joyofcryptography.com/fields/ + 2: https://en.wikipedia.org/wiki/GF(2) + 3: https://www.mathworks.com/help/comm/ref/gf.html + 4: https://www.geeksforgeeks.org/engineering-mathematics/galois-fields-and-its-properties/ + 5: https://www.salimwireless.com/2026/01/galois-fields-gf2-and-gf2m.html + 6: https://sefiks.com/2025/01/16/a-gentle-introduction-to-elliptic-curves-over-binary-fields/ + 7: https://www.youtube.com/watch?v=-WGc4VapKj0 + 8: https://www.felixcloutier.com/x86/gf2p8mulb + 9: https://en.wikipedia.org/wiki/Finite_field_arithmetic + + + point: + description: A point on a cartisian plane. This can be expressed typically as an ordered pair of integers, almost + always always `X` and `Y`. When used over a field, the values for `X` and `Y` are between 0 and n-1 and are + always positive. With elliptic curves, the values for `X` and `Y` are related, and therefore an alternate form + exists where the `X` is encoded and only if the `Y` is positive or negative is encoded. This is called + "point compression" but the value represened is still an X and a Y value. If the X and Y do not fall on the + curve, the compressed point is invalid. + parameters: + encoding: + type: enum + values: + uncompressed: + compressed_positive: + compressed_negative: + x: + type: positive_integer + y: + type: positive_integer + prime: + description: A prime number. + positive_prime: + derived_from: positive_integer + positive_integer: + +cipher_suites: + TLS_ECDH_ECDSA_WITH_NULL_SHA: + TLS_ECDH_ECDSA_WITH_RC4_128_SHA: + TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: + TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: + TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: + TLS_ECDH_RSA_WITH_NULL_SHA: + TLS_ECDH_RSA_WITH_RC4_128_SHA: + TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: + TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: + TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: + +rng: + ansi-x9.62: + description: !markdown > + The ANSI X9.62 RNG is a legacy pseudorandom number generator specified in Annex A.4 of the 1998 ANSI X9.62 + standard for the Elliptic Curve Digital Signature Algorithm (ECDSA). It was widely used in financial + cryptography to generate secret keys and nonces, but it has been deprecated and disallowed since + January 1, 2016. [1, 2, 3, 4, 5] + + # Overview and Status + + * Origin: Defined in ANSI X9.62-1998 Annex A.4 (). + * Purpose: Designed to supply cryptographically secure random values specifically for ECDSA operations. + * Current Status: Retired and deprecated by NIST under SP 800-131A guidelines. + * Reason for Retirement: Advances in cryptanalysis and modern security requirements rendered legacy 1998-era + designs like X9.62 and X9.31 vulnerable or insufficient compared to modern Deterministic Random Bit Generators + (DRBGs) like CTR_DRBG or Hash_DRBG. [1, 2, 4, 5] + + # Technical Context + + * Function: Relied on internal state updates combined with secret/seed values (requiring roughly 20 to 64 bytes + of seed material depending on implementation details). + * Replacements: Modern standards transitioned toward NIST SP 800-90A DRBGs (such as HMAC-DRBG, Hash-DRBG, and + CTR-DRBG) for all cryptographic randomness. [4, 8, 9] + citations: + 1: https://cseweb.ucsd.edu/classes/fa21/cse107-a/slides/18-rngs.pdf + 2: https://csrc.nist.rip/projects/Cryptographic-Algorithm-Validation-Program/Validation-Notes + 3: https://csrc.nist.rip/projects/cryptographic-algorithm-validation-program/validation-notes + 4: https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program/retired-testing + 5: https://csrc.nist.rip/library/NIST%20FIPS%20140-2%20Security%20Requirements%20for%20Cryptographic%20Modules,%20Annex%20C;%20Approved%20Random%20Number%20Generators,%202001-03%20(2009%20Minor%20Edits).pdf + 6: https://icmconference.org/wp-content/uploads/C14WangZ-and-TungW.pdf + 7: https://security.stackexchange.com/questions/185520/what-is-the-format-of-an-x9-62-key + 8: https://opentitan.org/book/hw/ip/csrng/ + 9: https://pmc.ncbi.nlm.nih.gov/articles/PMC9689501/ + secg: + description: !markdown > + The SECG generation and validation methods for verifiably random elliptic curve domain parameters align with + ANSI X9.62 and are detailed in the Standards for Efficient Cryptography Group specifications. These parameters + define standard curves used across cryptography. [1, 2, 3] + + # Overview of SECG Parameter Generation + + * Verifiably Random Basis: Curves are created using a fixed seed so anyone can re-verify the derivation process. + * Compatibility: The procedures match historical ANSI X9.62 and IEEE 1363 standards. + * Naming Conventions: Resulting curves in SEC 2 use prefixes like for prime fields and for binary + fields. [1, 4, 5, 6, 7] + + Validation and Use + + * Domain Verification: Implementers validate unknown parameters using specified checks to ensure safety + before active deployment. + * Standard Recommendations: Using pre-generated named parameters avoids slow, error-prone custom curve + creation. [3] + citations: + 1: https://dissect.crocs.fi.muni.cz/standards/secg + 2: https://www.secg.org/ + 3: https://en.wikipedia.org/wiki/Elliptic-curve_cryptography + 4: https://is.muni.cz/th/maq0p/sbapr_final_digital.pdf + 5: https://dissect.crocs.fi.muni.cz/standards/x962 + 6: https://std.neuromancer.sk/methods/secg/ + 7: https://www.johndcook.com/blog/2018/08/21/a-tale-of-two-elliptic-curves/ + + + nist: + description: !markdown > + The term NIST DRNG usually refers to NIST DRBG (Deterministic Random Bit Generator), which is the official + technical term used by the National Institute of Standards and Technology (NIST) for a cryptographically secure + pseudorandom number generator (PRNG). [1, 2] + + It can also refer to a physical Digital Random Number Generator (such as Intel's hardware-based DRNG + architecture) designed to comply with NIST's rigid cryptographic standards. [3, 4, 5] + + ## The NIST SP 800-90 Core Standards + NIST regulates random number generation through the SP 800-90 series, which dictates how secure random + numbers must be processed, seeded, and tested: [2, 6, 7, 8] + + * [SP 800-90A](https://csrc.nist.gov/projects/random-bit-generation): Specifies the approved deterministic + algorithms (DRBGs) used to expand a highly random mathematical "seed" into a stream of secure + cryptographic bits. + * SP 800-90B: Outlines the rules for the underlying physical entropy sources (the raw noise source providing + true randomness). + * [SP 800-90C](https://csrc.nist.gov/News/2025/nist-publishes-sp-800-90c): Establishes construction standards + for combining the entropy source and the DRBG mechanism together seamlessly. [1, 2, 6, 9, 10] + + ## Approved NIST DRBG Mechanisms + When designing a software or hardware system to meet NIST compliance, developers must choose from three + currently approved cryptographic mechanisms defined in SP 800-90A: [11, 12] + + * CTR_DRBG: Built on symmetric block ciphers like AES in counter mode. + * Hash_DRBG: Built on secure cryptographic hash functions like SHA-256. + * HMAC_DRBG: Built on Hash-based Message Authentication Codes. [11, 13] + + (Note: An older standard, Dual_EC_DRBG, was formally withdrawn and banned by NIST after it was discovered + to contain a potential backdoor). [11, 14] + + ## Hardware Implementations (Intel & AMD DRNG) + In hardware architectures, a "DRNG" framework typically bundles an on-chip True Random Number Generator (TRNG) + with a deterministic circuit. For example, Intel's onboard architecture uses a physical thermal noise source to + consistently feed a NIST-compliant CTR_DRBG. Software applications then access these random pools using assembly + commands: [3, 15, 16, 17] + + * RDRAND: Pulls pseudorandom data directly out of the internal DRBG engine. + * RDSEED: Pulls raw, high-entropy bits straight from the conditioning hardware to seed other + software-based PRNGs. [3, 15, 18, 19, 20] + + ## Testing for Compliance + To verify that a DRNG functions correctly without predictability or bias, developers evaluate its outputs + using the [NIST Statistical Test Suite (SP 800-22)](https://csrc.nist.gov/projects/random-bit-generation/documentation-and-software). + This suite subjects output bitstreams to 15 distinct frequency, pattern, and matrix mathematical tests to spot + hidden statistical anomalies. [21, 22, 23, 24, 25] + + citations: + 1: [https://csrc.nist.gov](https://csrc.nist.gov/glossary/term/deterministic_random_bit_generator) + 2: [https://csrc.nist.gov](https://csrc.nist.gov/projects/random-bit-generation) + 3: [https://csrc.nist.gov](https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/entropy/E306_PublicUse.pdf) + 4: [https://csrc.nist.gov](https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/entropy/E72_PublicUse.pdf) + 5: [https://csrc.nist.gov](https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/entropy/E232_PublicUse.pdf) + 6: [https://csrc.nist.gov](https://csrc.nist.gov/projects/random-bit-generation) + 7: [https://lightshipsec.com](https://lightshipsec.com/nist-800-90b-concepts/) + 8: [https://en-support.renesas.com](https://en-support.renesas.com/knowledgeBase/22372154) + 9: [https://csrc.nist.gov](https://csrc.nist.gov/News/2025/nist-publishes-sp-800-90c) + 10: [https://www.nist.gov](https://www.nist.gov/publications/recommendation-random-bit-generator-rbg-constructions) + 11: [https://en.wikipedia.org](https://en.wikipedia.org/wiki/NIST_SP_800-90A) + 12: [https://postquantum.com](https://postquantum.com/post-quantum/qrng-buyers-guide/) + 13: [https://csrc.nist.gov](https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp3401.pdf) + 14: [https://csrc.nist.rip](https://csrc.nist.rip/publications/nistpubs/800-90A/SP800-90A.pdf) + 15: [https://csrc.nist.gov](https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/entropy/E233_PublicUse.pdf) + 16: [https://www.ingeniars.com](https://www.ingeniars.com/in_product/rng-ip-core/) + 17: [https://pmc.ncbi.nlm.nih.gov](https://pmc.ncbi.nlm.nih.gov/articles/PMC11675632/) + 18: [https://security.stackexchange.com](https://security.stackexchange.com/questions/195515/is-rdrand-used-in-a-safe-way-by-windows-10) + 19: [https://www.linuxjournal.com](https://www.linuxjournal.com/content/amd-confirms-zen-5-rng-flaw-when-random-isnt-random-enough) + 20: [https://forums.raspberrypi.com](https://forums.raspberrypi.com/viewtopic.php?t=330037) + 21: [https://csrc.nist.gov](https://csrc.nist.gov/presentations/2024/nist-standards-on-random-numbers) + 22: [https://csrc.nist.gov](https://csrc.nist.gov/projects/random-bit-generation/documentation-and-software) + 23: [https://www.aegissemi.com](https://www.aegissemi.com/post/understanding-trng-nist-standards-a-complete-guide-to-the-15-statistical-tests-for-true-random-numb) + 24: [https://search.proquest.com](https://search.proquest.com/openview/25e83cfec72c9869d21706ea0057d390/1?pq-origsite=gscholar&cbl=2043739) + 25: [https://pmc.ncbi.nlm.nih.gov](https://pmc.ncbi.nlm.nih.gov/articles/PMC13166014/) + + brainpool: +algorithms: + dh: + description: !markdown > + The Diffie-Hellman (DH) Key Exchange is a method that lets two people create a shared secret key over an open, + public network. They do this without ever sending the secret key to each other, making it safe from people who + might be listening. [1, 2] + + # How It Works + + * Public Setup: Both users agree on two public numbers: a large prime number (p) and a base generator (g). + * Private Numbers: Each user picks a secret random number just for themselves (let's call them a and b). + * Public Key Math: They use math to turn their secret number and the public numbers into a new public key + ($g^a \bmod p$ and $g^b \bmod p$). + * Key Exchange: They send these public results to each other over the network. + * Shared Secret: Each user takes the other person's public key, raises it to their own secret number, and arrives + at the exact same final secret number. [3, 4, 5] + + # Why It Matters + + * No Secret Sent: An eavesdropper can see the public numbers and public keys, but cannot figure out the private + numbers or the final shared secret. + * Symmetric Prep: The final shared secret is then used as a key for fast, secure regular encryption (like AES) + to chat or share data safely. [4, 6, 7] + citations: + 1: https://www.hypr.com/security-encyclopedia/diffie-hellman-algorithim + 2: https://www.youtube.com/watch?v=KXq065YrpiU + 3: https://doubleoctopus.com/security-wiki/encryption-and-cryptography/diffie-hellman-algorithm/ + 4: https://www.geeksforgeeks.org/computer-networks/implementation-diffie-hellman-algorithm/ + 5: https://www.sciencedirect.com/topics/computer-science/diffie-hellman-key-exchange + 6: https://www.hexnode.com/blogs/explained/what-is-diffie-hellman-dh-key-exchange/ + 7: https://dev.to/techlabma/diffie-hellman-key-exchange-dhke-algorithm-505b + + rsa: + uses: + - signature + - encryption + parameters: [] + private_key: + p: + type: positive_prime + q: + type: positive_prime + public_key: + n: + type: positive_integer + derived: + description: The product of the two prime numbers p and q. + description: !markdown > + The RSA algorithm is a widely used method for secure data transmission. It is an asymmetric cryptographic + system, meaning it uses two different keys: a public key to lock or encrypt the data, and a matching private + key to unlock or decrypt it. [1, 2, 3] + + # How It Works + + The name RSA comes from its inventors: Ron Rivest, Adi Shamir, and Leonard Adleman. Its security relies + on a simple math rule: multiplying two large prime numbers is easy, but finding those original prime numbers + back from the final product is very hard. + + * Key Generation: The system picks two large prime numbers, multiplies them together, and uses the result to + create a public key and a private key. + * Encryption: Anyone can use the receiver’s public key to turn a normal message into scrambled code (ciphertext). + * Decryption: Only the person with the secret private key can reverse the code and read the original + message. [1, 5, 6] + + citations: !citations + 1: https://www.geeksforgeeks.org/computer-networks/rsa-algorithm-cryptography/ + 2: https://securew2.com/blog/what-is-rsa-asymmetric-encryption + 3: https://www.splunk.com/en_us/blog/learn/rsa-algorithm-cryptography.html + 4: https://www.encryptionconsulting.com/education-center/what-is-rsa/ + 5: https://www.youtube.com/watch?v=vf1z7GlG6Qo + 6: https://entro.security/glossary/rsa-encryption/ + 7: https://www.youtube.com/watch?v=Pq8gNbvfaoM + 8: https://www.cohesity.com/glossary/rsa-encryption/ + ecc: + uses: + - signature + - encryption + - key_derivation + parameters: + g: + type: point + name: Generator Point + description: The generator point `G` on the elliptic curve. This point is used to generate the private key. + f: + type: field + name: Field + description: The field `F` of the elliptic curve. This is the set of numbers that the curve is defined over. + A field is either a prime or binary field. The field is the range of `0..x` + a: + type: integer + description: The `a` co-factor of the elliptic curve equation. The `a` is multiplied by the `x` value to + perform the linear portion of the curve. + b: + type: integer + description: The `b` co-factor of the elliptic curve equation. The `b` is multiplied by `x^2` to perform the + quadratic portion of the curve. + h: + name: Cofactor + type: float + description: The ratio of the total number of points on the curve to the order n, usually set to 1 for + optimal security. Anything less then 1 means that the number of bits expressed in the X value is less then + a 1:1 relationship to the number of private keys in the field. + n: + name: Order + type: positive_integer + description: The order of the elliptic curve. This is the number of points on the curve, + including the point at infinity. + private_key: + n: + type: positive_integer + description: A number whereby the parameter point `G` or the generator is multiplied by `n`. Point + multiplication is a process whereby a point on an elliptic curve is added to itself `n` times. The result + of `n` point additions is in and of itself a new point on the curve. + constraint: + - positive + - field + - curve + public_key: + p: + type: point + description: A point on the elliptic curve that is `G` times `n`. This point is in the field, on the curve, + and not the point at infinity. + description: !markdown > + Elliptic Curve Cryptography (ECC) is a public-key encryption approach based on the algebra of elliptic curves + over finite fields. It provides the same security as older methods like RSA but uses much smaller keys. This + makes it fast and efficient for phones, web pages, and crypto coins. [1, 2, 3, 4, 5] + + # How ECC Works + + * The Curve: Uses a math equation plotted on a grid that makes a symmetric loop shape. + * Generator Point: A specific starting point (G) on the curve agreed upon by both users. + * Private Key: A random number picked in secret by the user. + * Public Key: Found by adding the generator point to itself over and over using the private key number. + * One-Way Math: It is easy to multiply the points forward, but nearly impossible to guess the private key + backwards (known as the Elliptic Curve Discrete Logarithm Problem). [4, 6, 7, 8, 9] + + # Key Benefits + + * Smaller Size: A 256-bit ECC key offers about the same security as a massive 3072-bit RSA key. + * Less Power: Uses less battery, memory, and CPU power on small hardware. + * Faster Speed: Sets up secure connections quicker than older systems. [5, 6, 10, 11] + citations: + 1: https://www.ibm.com/docs/en/linux-on-systems?topic=apis-elliptic-curve-ecc-functions + 2: https://www.vmware.com/topics/elliptic-curve-cryptography + 3: https://www.hexnode.com/blogs/explained/what-is-elliptic-curve-cryptography-ecc/ + 4: https://cybertalents.com/blog/elliptic-curve-cryptography-ecc + 5: https://www.digicert.com/faq/cryptography/what-is-elliptic-curve-cryptography + 6: https://www.sectigo.com/blog/what-is-elliptic-curve-cryptography + 7: https://www.ssl.com/article/what-is-elliptic-curve-cryptography-ecc/ + 8: https://www.ssldragon.com/blog/what-is-ecc-certificate/ + 9: https://www.expressvpn.com/glossary/elliptic-curve-cryptography/ + 10: https://www.keyfactor.com/blog/elliptic-curve-cryptography-what-is-it-how-does-it-work/ + 11: https://www.ssl.com/article/what-is-elliptic-curve-cryptography-ecc/ + 12: https://nordvpn.com/blog/elliptic-curve-cryptography/ + 13: https://www.1kosmos.com/resources/security-glossary/elliptic-curve-cryptography + 14: https://www.twingate.com/blog/glossary/elliptic-curve-algorithm + + +key_derivation: + pkbdf2: + description: PKBDF2 (Password-Based Key Derivation Function 2) is a key derivation function that is designed to + be computationally intensive, making it suitable for deriving cryptographic keys from passwords. It is widely + used in various security protocols and applications to ensure that passwords are securely transformed into + keys, enhancing overall security. [1] +encryption: + des: + description: Data Encryption Standard + 3des: + description: Triple-DES + aes: + description: Advanced Encryption Standard + ecies: + description: Elliptic Curve Integrated Encryption Scheme + ecmqv: + description: Elliptic Curve MQV + rsa: + description: !markdown > + The RSA Cryptosystem is a public-key encryption method named after Ron Rivest, Adi Shamir, and Leonard Adleman. + It uses two mathematically linked keys: a public key to lock (encrypt) messages and a private key to unlock + (decrypt) them. Its security relies on the fact that multiplying large prime numbers is easy, but factoring + their product back is very hard. [1, 2, 3] + + # Key Generation + + * Pick two distinct, large prime numbers, p and q. + * Multiply them to find the modulus n = p × q. + * Compute Euler's totient function: φ(n) = (p - 1)(q - 1). + * Choose an integer e (the public exponent) such that 1 < e < φ(n) and e is coprime to φ(n). + * Calculate d (the private exponent) as the modular multiplicative inverse of e modulo φ(n), meaning + $(d \times e) \pmod{\phi(n)} = 1$. + * Public Key: (n, e) (shared with everyone). + * Private Key: (n, d) (kept secret). [1, 4, 5] + + # Encryption + + * Turn your message into a number m, where 0 ≤ m < n. + * Compute the ciphertext c using the formula: $c = m^e \pmod{n}$. + * Send c to the receiver. [2, 5, 6, 7] + + # Decryption + + * Take the encrypted number c. + * Recover the original message m using the private key d: $m = c^d \pmod{n}$. [2, 5] + + citations: + 1: https://www.geeksforgeeks.org/computer-networks/rsa-algorithm-cryptography/ + 2: https://www.encryptionconsulting.com/education-center/what-is-rsa/ + 3: https://www.techtarget.com/cybersecurity/definition/What-is-the-RSA-algorithm + 4: https://www.youtube.com/watch?v=Pq8gNbvfaoM + 5: https://entro.security/glossary/rsa-encryption/ + 6: https://www.britannica.com/topic/RSA-encryption + 7: https://www.youtube.com/watch?v=qph77bTKJTM + + +signature: + dsa: + description: !markdown > + The Digital Signature Algorithm (DSA) is a federal standard for digital signatures based on modular + exponentiation and the discrete logarithm problem. It lets a sender sign a message with a private key, + and anyone with the matching public key can check that the message is real and unchanged. [1, 2] + + # Key Generation + + * Choose prime numbers p and q, and a multiplier g. + * Pick a secret private key x. + * Compute public key $y = g^x \pmod p$. [3, 4] + + # Signature Creation + + * Hash the message to get a number m. + * Pick a secret random number k. + * Calculate first signature part: $r = (g^k \pmod p) \pmod q$. + * Calculate second part: $s = k^{-1}(m + xr) \pmod q$. + * Output the signature pair (r, s). [5, 6] + + # Signature Verification + + * Check that r and s are within correct number bounds. + * Re-hash the message and compute values using the public key y. + * Confirm the math checks out to prove the signature is valid. [4, 7, 8, 9] + + citations: + 1: https://csrc.nist.rip/glossary/term/digital_signature_algorithm + 2: https://www.simplilearn.com/tutorials/cryptography-tutorial/digital-signature-algorithm + 3: http://shainer.github.io/crypto/python/matasano/2016/10/07/dsa.html + 4: https://www.scribd.com/document/878063091/DSA-Steps-Explanation + 5: https://di-mgt.com.au/public-key-crypto-discrete-logs-4-dsa.html + 6: https://dev.to/me_jessicahowe/what-is-a-digital-signature-algorithm-dsa-4kpi + 7: https://en.wikipedia.org/wiki/Digital_Signature_Algorithm + 8: https://www.youtube.com/watch?v=ANsg4wIQFn4 + 9: https://github.com/demining/Deserialize-Signature-Vulnerability-in-Bitcoin-Network + + +ecdsa: + description: !markdown > + The Digital Signature Algorithm (DSA) is a federal standard for digital signatures based on modular + exponentiation and the discrete logarithm problem. It lets a sender sign a message with a private key, + and anyone with the matching public key can check that the message is real and unchanged. [1, 2] + + # Key Generation + + * Choose prime numbers p and q, and a multiplier g. + * Pick a secret private key x. + * Compute public key $y = g^x \pmod p$. [3, 4] + + Signature Creation + + * Hash the message to get a number m. + * Pick a secret random number k. + * Calculate first signature part: $r = (g^k \pmod p) \pmod q$. + * Calculate second part: $s = k^{-1}(m + xr) \pmod q$. + * Output the signature pair (r, s). [5, 6] + + Signature Verification + + * Check that r and s are within correct number bounds. + * Re-hash the message and compute values using the public key y. + * Confirm the math checks out to prove the signature is valid. [4, 7, 8, 9] + + citations: + 1: https://csrc.nist.rip/glossary/term/digital_signature_algorithm + 2: https://www.simplilearn.com/tutorials/cryptography-tutorial/digital-signature-algorithm + 3: http://shainer.github.io/crypto/python/matasano/2016/10/07/dsa.html + 4: https://www.scribd.com/document/878063091/DSA-Steps-Explanation + 5: https://di-mgt.com.au/public-key-crypto-discrete-logs-4-dsa.html + 6: https://dev.to/me_jessicahowe/what-is-a-digital-signature-algorithm-dsa-4kpi + 7: https://en.wikipedia.org/wiki/Digital_Signature_Algorithm + 8: https://www.youtube.com/watch?v=ANsg4wIQFn4 + 9: https://github.com/demining/Deserialize-Signature-Vulnerability-in-Bitcoin-Network + + + rsa: + description: !markdown > + The RSA signature algorithm is an asymmetric cryptographic scheme used to authenticate the origin of digital + messages or documents. It works by using a private key to mathematically "sign" a message hash, which anyone + with the corresponding public key can verify to prove authenticity and detect tampering. [1, 2, 3, 4] + + # Key Pair Components + + * Public Key: Consists of the modulus n and the public exponent e, used to verify signatures. + * Private Key: Consists of the modulus n and the private exponent d, kept secret and used to generate + signatures. [2, 5] + + Signature Generation (Signing) + + * Compute the hash value of the message: h = hash(msg). + * Raise the hash to the power of the private exponent d modulo n to create the signature: $s = h^d \pmod n$. + * Send the signature along with the original message. [2, 4, 6] + + Signature Verification + + * Compute the hash value of the received message: h = hash(msg). + * Raise the signature to the power of the public exponent e modulo n to recover the hash: $h' = s^e \pmod n$. + * Compare the calculated hash h with the recovered hash h'. If they match, the signature is valid. [2, 4, 7, 8] + + citations: + 1: https://www.geeksforgeeks.org/computer-networks/rsa-and-digital-signatures/ + 2: https://cryptobook.nakov.com/digital-signatures/rsa-signatures + 3: https://www.encryptionconsulting.com/education-center/what-is-rsa/ + 4: https://www.youtube.com/watch?v=TeuKV5kHLyQ + 5: https://en.wikipedia.org/wiki/RSA_cryptosystem + 6: https://securew2.com/blog/what-is-rsa-asymmetric-encryption + 7: https://cryptobook.nakov.com/digital-signatures/rsa-signatures + 8: https://students.cs.byu.edu/~cs465ta/lectures/rsa_notes.pdf + + +agreement: + dh: + description: !markdown > + The Diffie-Hellman (DH) key agreement algorithm is a foundational cryptographic protocol that allows two parties + to establish a shared secret key over an insecure communication channel without explicitly transmitting the key + itself. Published by Whitfield Diffie and Martin Hellman in 1976, it was the first practical implementation of + public-key cryptography. Once the shared secret is calculated, it is typically passed to a key derivation + function to generate symmetric keys for high-speed encryption algorithms like AES. [1, 2, 3, 4] + + # The Mathematical Framework + + The security of the DH algorithm relies entirely on the mathematical complexity of the Discrete Logarithm + Problem. While it is computationally easy to raise a number to a power modulo a prime, it is extremely + difficult to reverse that operation and find the exponent if the numbers are sufficiently large. [5, 6] + + The protocol relies on two public parameters: + + * p (Modulus): A very large, random prime number. + * g (Generator): A primitive root modulo p. [2, 7] + + # Step-by-Step Process + + 1. Parameter Agreement: Alice and Bob publicly agree on a modulus p and a generator g. Eavesdroppers + can see these values. + 2. Private Key Selection: Alice chooses a secret integer a, and Bob chooses a secret integer b. Neither + party ever shares their private integer. + 3. Public Key Computation: + + * Alice computes her public key: $A = g^a \pmod p$. + * Bob computes his public key: $B = g^b \pmod p$. 10: + + 4. Public Key Exchange: Alice sends A to Bob, and Bob sends B to Alice across the insecure channel. + 5. Shared Secret Calculation: + + * Alice calculates the secret using Bob's public key: $S = B^a \pmod p$. + * Bob calculates the secret using Alice's public key: $S = A^b \pmod p$. [8, 10, 11, 12, 13] + + Both mathematical formulas yield the exact same value because modular exponentiation is + commutative: $S = (g^b)^a \pmod p = (g^a)^b \pmod p = g^{ab} \pmod p$ + + # Strengths and Variants + + * Forward Secrecy: When implemented as Ephemeral Diffie-Hellman (DHE), new random keys are chosen for every + single session. If a long-term master key is compromised in the future, attackers still cannot decrypt + past recorded sessions. + * Elliptic Curve Diffie-Hellman (ECDH): A modern variant that uses the algebraic structure of elliptic curves + instead of traditional modular arithmetic. It achieves the same level of security as standard DH but with + significantly smaller key sizes, making it much faster and more efficient. [4, 14, 15, 16, 17] + + # Core Limitation: No Authentication + + The raw Diffie-Hellman protocol does not authenticate the identities of the communicating parties. Because + of this flaw, it is fully vulnerable to a Man-in-the-Middle (MITM) attack. An attacker sitting between Alice and + Bob can silently intercept the public keys, substitute their own, and establish separate shared secrets with + both sides. To remain secure in real-world protocols like TLS/HTTPS and IPsec VPNs, DH must always be combined + with an authentication mechanism, such as digital certificates or digital signatures. [1, 6, 9] + + citations: + 1: https://networklessons.com/miscellaneous/introduction-to-diffie-hellman-key-exchange + 2: https://dev.to/techlabma/diffie-hellman-key-exchange-dhke-algorithm-505b + 3: https://www.hypr.com/security-encyclopedia/diffie-hellman-algorithim + 4: https://cryptography.io/en/latest/hazmat/primitives/asymmetric/dh/ + 5: https://www.youtube.com/watch?v=85oMrKd8afY + 6: https://polymesh.network/blog/the-diffie-hellman-key-exchange + 7: https://4js.com/online_documentation/fjs-fgl-manual-html/fgl-topics/c_gws_dh_algorithm.html + 8: https://doubleoctopus.com/security-wiki/encryption-and-cryptography/diffie-hellman-algorithm/ + 9: https://www.hexnode.com/blogs/explained/what-is-diffie-hellman-dh-key-exchange/ + 10: https://security.stackexchange.com/questions/45963/diffie-hellman-key-exchange-in-plain-english + 11: https://eureka.patsnap.com/article/understanding-diffie-hellman-key-exchange-explained-simply + 12: https://labex.io/tutorials/linux-basic-key-exchange-with-diffie-hellman-in-cryptography-632720 + 13: https://eureka.patsnap.com/article/the-mathematics-behind-diffie-hellman-key-exchange + 14: https://www.ibm.com/docs/en/i/7.4.0?topic=q-calculate-diffie-hellman-secret-key-qc3calds-qc3calculatedhsecretkey + 15: https://wiki.openssl.org/index.php/Elliptic_Curve_Diffie_Hellman + 16: https://medium.com/@dipakkrdas/few-fundamental-cryptography-concepts-17aa1f6fe3ae + 17: https://medium.com/@sylvain.tiset/locks-and-fingerprints-part-1-how-encryption-keep-data-safe-d9911215c0a4 + + + ecdh: + description: !markdown > + The Elliptic Curve Diffie-Hellman (ECDH) algorithm is a modern security protocol. It lets two people create a + shared secret key over an open, unsafe network. They use this secret key to lock and unlock private messages. It + relies on the math of elliptic curves instead of large numbers. [1, 2] + + # How the Steps Work + + * Choose a public curve and a starting point (G) together. + * Pick a random secret number to act as your private key. + * Multiply your private key by the starting point to make your public key. + * Send your public key to the other person. + * Take the public key sent to you and multiply it by your own private key. + * Both people now share the exact same secret value. [1, 3, 4, 5, 6] + + # Why People Use It + + * Small keys: It gives high security using tiny key sizes. + * Fast speed: It uses less computer power and memory. + * Safe data: Hackers cannot figure out the secret key just by watching the network. [1, 7, 8] + + citations: !citations + 1: https://www.hexnode.com/blogs/explained/what-is-elliptic-curve-diffie-hellman-ecdh/ + 2: https://www.cardlogix.com/glossary/elliptic-curve-diffie-hellman-ecdh/ + 3: https://medium.com/swlh/understanding-ec-diffie-hellman-9c07be338d4a + 4: https://cryptobook.nakov.com/asymmetric-key-ciphers/ecdh-key-exchange + 5: https://thibautprobst.fr/en/posts/elliptic-curves/ + 6: https://ieeexplore.ieee.org/iel8/11414213/11414231/11414259.pdf + 7: https://www.youtube.com/watch?v=o9AdiGjOb_I + 8: https://medium.com/@mishraneeraj4/securing-data-with-ecdh-elliptic-curve-diffie-hellman-376afb7872ab + + + ecdhe: + description: !markdown > + ECDHE stands for Elliptic Curve Diffie-Hellman Ephemeral. It is a secure key exchange protocol that allows two + parties to create a shared secret key over an open network without sending the secret itself. It combines + elliptic curve math with temporary keys to give high speed and forward privacy. [1, 2] + + # How ECDHE Works + + * Pick a Curve: Both sides agree on a specific elliptic curve and a base point on that curve. + * Make Key Pairs: Each side creates a random private number and multiplies it by the base point to get a + public key. + * Trade Public Keys: The two sides swap their public keys over the network. + * Compute Secret: Each side combines the other side's public key with its own private number to arrive at the + exact same shared secret number. [3, 4] + + Core Benefits + + * Ephemeral (Forward Secrecy): New temporary keys are made for every single session and then thrown away. If a + server's main key is stolen later, old recorded sessions stay safe. + * Small Key Size: It offers the same security as older methods while using much smaller keys, which saves CPU + power and network data. + * Widespread Use: It is a core security standard used inside modern web protocols like Transport Layer + Security (TLS) to protect web traffic. [1, 9] + + If you'd like, I can explain:The math difference between standard Diffie-Hellman and elliptic curvesWhy + X25519 is the preferred curve todayHow it handles quantum computer risksLet me know what you want to + explore next. + citations: + 1: https://www.emergentmind.com/topics/elliptic-curve-diffie-hellman-ephemeral-ecdhe + 2: https://micsolutions.co.uk/2024/12/19/ecdhe/ + 3: https://medium.com/swlh/understanding-ec-diffie-hellman-9c07be338d4a + 4: https://www.cardlogix.com/glossary/elliptic-curve-diffie-hellman-ecdh/ + 5: https://www.qcecuring.com/education/cryptography-fundamentals/key-exchange-diffie-hellman-ecdhe + 6: https://www.cardlogix.com/glossary/elliptic-curve-diffie-hellman-ephemeral-ecdhe/ + 7: https://security.stackexchange.com/questions/14731/what-is-ecdhe-rsa + 8: https://www.youtube.com/watch?v=GOTIcxvYE94 + 9: https://www.linkedin.com/pulse/mathematics-behind-elliptic-curve-cryptography-secure-femerstrand-z3srf + + + md5: + description: MD5 is a widely used cryptographic hash function that produces a 128-bit (16-byte) hash value. + lengths: + - 128 + insecure: true + sha0: + description: SHA-0 is the original 160-bit cryptographic hash function published in 1993 by NIST as "SHA". It + was withdrawn and replaced by SHA-1 shortly after publication in 1995 due to an undisclosed flaw, making it + obsolete and insecure for modern use. + lengths: + - 160 + insecure: true + sha1: + vulnerabilities: + - Cryptographic Collisions + - Length Extension Attacks + construction: merkle–damgard + recommended: false + efficacy: Exceptionally efficient on standard CPUs, which commonly feature optimized implementations + description: !markdown > + SHA-1 hash is a 160-bit cryptographic checksum rendered as a 40-character hexadecimal string. + Designed by the NSA, it converts any input data into a unique digital fingerprint. It is now considered + cryptographically broken and insecure against collision attacks, meaning modern systems use SHA-256 + instead. [1, 2, 3, 4] + + ## Key Characteristics + + * Fixed Output: Always produces 160 bits (40 hex characters) regardless of input size. + * One-Way Function: Cannot be reversed to reveal the original input data. + * Avalanche Effect: Changing even a single character drastically changes the final hash output. [2, 3, 5, 6] + + ## Security Status and Deprecation + + * Cryptographic Collisions: Researchers successfully demonstrated practical collision attacks (finding two + different inputs with the same hash). [4, 7] + * Current Usage: Phased out of digital signatures, SSL certificates, and secure software repositories. [1, 4, 7] + * Legacy Compatibility: Retained mostly for older version control systems (like checking file identifiers in + Git) and non-adversarial checksum verifications. [5, 7] + citations: + 1: [https://securew2.com](https://securew2.com/blog/what-is-sha-encryption-sha-256-vs-sha-1) + 2: [https://en.wikipedia.org](https://en.wikipedia.org/wiki/SHA-1) + 3: [https://md5decrypt.net](https://md5decrypt.net/en/Sha1/) + 4: [https://www.geeksforgeeks.org](https://www.geeksforgeeks.org/java/sha-1-hash-in-java/) + 5: [https://www.youtube.com](https://www.youtube.com/watch?v=kmHojGMUn0Q&t=1) + 6: [https://www.youtube.com](https://www.youtube.com/watch?v=DMtFhACPnTY) + 7: [https://emn178.github.io](https://emn178.github.io/online-tools/sha1.html) + lengths: + - 160 + sha2: + status: common-usage + construction: merkle–damgard + recommended: true + vulnerabilities: + - Length Extension Attacks + efficacy: Exceptionally efficient on standard CPUs, which commonly feature optimized implementations + description: !markdown > + SHA-2 (Secure Hash Algorithm 2) is a set of cryptographic hash functions designed by the NSA. It turns data of + any size into a fixed-length text or number string (a "hash"). Common types include SHA-256 and SHA-512, which + are used to keep data safe and check file integrity. [1, 2, 3, 4] + + ## Key Features + + * One-Way: You cannot turn a hash back into the original data. + * Unique: Even a tiny change in the input changes the whole hash. + * Secure: It replaced older, broken hashes like SHA-1 and MD5. [1, 4, 5] + + ## Main Types + + * SHA-256: Uses 256 bits; the most common choice for web security and digital signatures. + * SHA-512: Uses 512 bits; faster on 64-bit systems and offers higher security levels. + * SHA-224 & SHA-384: Truncated or modified versions for specific size needs. [1, 4, 5, 6, 7] + citations: + 1: [https://emn178.github.io](https://emn178.github.io/online-tools/sha256.html) + 2: [https://en.wikipedia.org](https://en.wikipedia.org/wiki/SHA-2) + 3: [https://docs.aws.amazon.com](https://docs.aws.amazon.com/clean-rooms/latest/sql-reference/s_SHA2.html) + 4: [https://shop.trustico.com](https://shop.trustico.com/blogs/stories/sha-1-vs-sha-2-and-other-hashing-algorithms) + 5: [https://www.youtube.com](https://www.youtube.com/watch?v=QZY3IjFBtFY) + 6: [https://www.sectigo.com](https://www.sectigo.com/blog/what-is-sha-encryption) + 7: [https://xilinx.github.io](https://xilinx.github.io/Vitis_Libraries/security/2019.2/guide_L1/internals/sha2.html) + +sha3: + status: future-proofing + construction: sponge + recommended: true + efficacy: Exceptionally efficient on customized ASICs/FPGAs, currently lacks broad support on standard CPUs + description: !markdown > + SHA-3 (Secure Hash Algorithm 3) is the latest cryptographic hash standard released by the National Institute of + Standards and Technology (NIST). It converts any input data into a unique, fixed-length digital fingerprint + called a hash. [1, 2, 3] + + Unlike earlier algorithms like SHA-1 and SHA-2, which rely on the Merkle–Damgård structure, SHA-3 is built on a + completely different design called Keccak and utilizes a unique sponge construction. This fundamental structural + difference ensures that if a theoretical vulnerability is ever discovered in SHA-2, SHA-3 will remain entirely + unaffected as a secure backup. [2, 3, 4] + + ## Standard SHA-3 Variants + + According to the [NIST FIPS 202 Publication](https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.202.pdf), the + SHA-3 family is officially split into four fixed-length hash functions and two flexible Extendable-Output + Functions (XOFs): [5, 6, 7] + + ### SHAKE128 & SHAKE256 + + XOF variants that can squeeze out a hash of any requested bit length. [8, 9, 10] + + ## How the "Sponge" Works + + The algorithm processes data in two distinct phases: [2, 11, 12] + + 1. Absorbing Phase: The input data is split into blocks, XORed into the internal state matrix, and thoroughly + mixed using a 1600-bit permutation function called Keccak-p. [2, 13] + 2. Squeezing Phase: The internal data state continues to permute while the desired number of output bits are + read out to form the final secure hash. [2, 10] + + If you are writing software, you can test hashing functions locally using free browser environments + like the [Codeshack SHA-3 Generator](https://codeshack.io/sha3-hash-generator/) or the Emn178 GitHub + Page. [4, 14, 15, 16, 17] + citations: + 1: [https://en.wikipedia.org](https://en.wikipedia.org/wiki/SHA-3) + 2: [https://www.youtube.com](https://www.youtube.com/watch?v=fzlflyw7X2I&t=91) + 3: [https://rublon.com](https://rublon.com/blog/sha-3-vs-sha-2-vs-sha-1-vs-md5/) + 4: [https://codeshack.io](https://codeshack.io/sha3-hash-generator/) + 5: [https://nvlpubs.nist.gov](https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.202.pdf) + 6: [https://nvlpubs.nist.gov](https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-185.pdf) + 7: [https://shattered.io](https://shattered.io/sha-256-vs-sha3-256/) + 8: [https://xilinx.github.io](https://xilinx.github.io/Vitis_Libraries/security/2019.2/guide_L1/internals/sha3.html) + 9: [https://www.analog.com](https://www.analog.com/en/resources/technical-articles/back-to-basics-secure-hash-algorithms.html) + 10: [https://www.youtube.com](https://www.youtube.com/watch?v=bTOJ9An9wpE&t=214) + 11: [https://ieeexplore.ieee.org](https://ieeexplore.ieee.org/iel7/8334884/8350884/08351649.pdf) + 12: [https://www.intel.cn](https://www.intel.cn/content/www/cn/zh/developer/articles/technical/intel-sha-extensions.html) + 13: [https://www.nist.gov](https://www.nist.gov/publications/sha-3-standard-permutation-based-hash-and-extendable-output-functions) + 14: [https://emn178.github.io](https://emn178.github.io/online-tools/sha3_256.html) + 15: [https://www.devity.in](https://www.devity.in/tools/hash-generator/) + 16: [https://domainscan.in](https://domainscan.in/dev/generate-hash) + 17: [https://security.stackexchange.com](https://security.stackexchange.com/questions/16332/are-online-hash-calculators-dangerous) +block_cypher_modes: + ecb: + description: !markdown > + Electronic Codebook (ECB) mode is the simplest and most basic block cipher mode of operation. It splits a message + into fixed-size blocks and encrypts each block independently using the same secret key. Identical plaintext + blocks always yield identical ciphertext blocks, making it insecure for most uses. [1, 2, 3, 4] + + #How ECB Works + + * Splitting: Data is cut into equal chunks matching the block size (such as 16 bytes for AES). + * Independent Encryption: Each block is processed through the cipher separately without interaction from other blocks. + * Independent Decryption: Cipher blocks are decrypted individually back to text using the same key. [3, 4, 5] + + # Advantages + + * Simplicity: Very easy to program and use. + * Parallel Processing: Blocks encrypt or decrypt simultaneously [0.12], saving time on multi-core systems. 4: + + # Security Weaknesses + + * Pattern Leakage: Identical inputs create identical outputs, meaning visual shapes or data trends remain + visible (famous for the "Tux the Penguin" encrypted image demonstration). + * No Hiding of Data: An attacker can swap, delete, or replay blocks [0.13] without detection. Most experts + advise against using ECB for private or sensitive data. [2, 4] + citations: + 1: https://www.geeksforgeeks.org/computer-networks/electronic-code-book-ecb-in-cryptography/ + 2: https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation + 3: https://destcert.com/resources/types-of-ciphers/ + 4: https://medium.com/@brsdncr/cryptography-lesson-notebook-1-aes-ecb-electronic-codebook-5baabcedfa59 + 5: https://www.youtube.com/watch?v=jDnenb9EHQk + cbc: + description: !markdown > + Cipher Block Chaining (CBC) is a mode of operation for block ciphers where each plaintext block is combined with + the previous ciphertext block using an exclusive-OR (XOR) operation before being encrypted. This chaining process + ensures that identical plaintext blocks yield entirely different ciphertext outputs. [1, 2, 3] + + # How CBC Encryption Works + + * Initialization Vector (IV): Because there is no previous ciphertext for the first plaintext block, a unique + or random value called an IV is XORed with the first block. + * Chaining: For every subsequent block, the current plaintext block is XORed with the ciphertext output of the + immediately preceding block. + * Encryption: The combined result of the XOR operation is then passed through the block cipher algorithm using + the secret key. + * Sequential processing: Encryption must be performed strictly in sequence (serially) because block N cannot be + encrypted until block N-1 finishes. [3, 4, 5] + + How CBC Decryption Works + + * Reverse process: The cipher takes a ciphertext block, runs it through the block cipher decryption function, + and then XORs the result with the previous ciphertext block (or the IV for the first block) to recover the + original plaintext. + * Parallel decryption: Unlike encryption, decryption can be done in parallel because all ciphertext blocks + are already available. [3, 6] + + Key Pros and Cons + + * Pros: Hides patterns and prevents repetitive plaintext leaks (unlike basic ECB mode); highly secure when + paired with a proper, unpredictable IV. + * Cons: Slower due to its sequential nature during encryption; prone to error propagation (a corrupted + ciphertext block corrupts its own block decryption and distorts the next plaintext block). [5, 8, 9] + citations: + 1: https://www.geeksforgeeks.org/ethical-hacking/block-cipher-modes-of-operation/ + 2: https://www.portnox.com/cybersecurity-101/general-security/what-is-cipher-block-chaining/ + 3: https://www.sciencedirect.com/topics/computer-science/cipher-block-chaining + 4: https://datatracker.ietf.org/doc/html/rfc2451 + 5: https://www.youtube.com/watch?v=SV2qsNfI1Cs + 6: https://www.sciencedirect.com/topics/mathematics/block-cipher + 7: https://www.youtube.com/watch?v=NnLLkmgBhCY + 8: https://www.sciencedirect.com/topics/mathematics/cipher-block-chaining + 9: https://destcert.com/resources/types-of-ciphers/ + cfb: + + + ofb: + description: !markdown > + Output Feedback (OFB) mode turns a block cipher into a synchronous stream cipher. It encrypts an Initialization + Vector (IV) and feeds that cipher output back into the next encryption round. This produces a keystream that is + XORed with the plaintext to create the ciphertext. [1, 2, 3, 4] + + # How OFB Mode Works + + * Keystream Generation: The cipher encrypts an IV to create the first output block. It feeds that output back + into the cipher again to create the next block, repeating this process to form a continuous keystream. + * Encryption: The system XORs the generated keystream blocks with the plaintext blocks to produce the + final ciphertext. + * Decryption: Decryption uses the exact same steps. It generates the identical keystream by encrypting the + IV and XORs it with the ciphertext to recover the original plaintext. 4: + + # Key Features and Properties + + * No Error Propagation: A bit error in the ciphertext only affects the single corresponding bit in the + decrypted plaintext, rather than corrupting later blocks. + * Preprocessing: The system can generate the entire keystream before the plaintext is even available, + speeding up real-time processing. + * No Parallel Encryption: Because each keystream block depends strictly on the output of the previous block, + you cannot encrypt multiple blocks at the same time. + * IV Uniqueness: Reusing the same IV and secret key combination completely destroys security by repeating + the exact same keystream. 7: + + If you would like, I can compare OFB mode with CFB (Cipher Feedback) or CTR (Counter) mode to show how their + feedback and performance differ. + citations: + 1: https://www.youtube.com/watch?v=gIzFAFo5a6M + 2: https://www.youtube.com/watch?v=Q_hi2jWg6dc + 3: https://destcert.com/resources/types-of-ciphers/ + 4: https://www.youtube.com/watch?v=OGdBTfouuao + 5: https://www.tutorialspoint.com/cryptography/output_feedback_mode.htm + 6: https://crypto.stackexchange.com/questions/25961/operation-modes-of-block-ciphers-how-are-used + 7: https://www.geeksforgeeks.org/ethical-hacking/block-cipher-modes-of-operation/ + ctr: + description: !markdown > + Counter (CTR) mode is a block cipher mode of operation that turns a standard block cipher (like AES) into a + stream cipher. It works by encrypting a sequential counter value combined with a unique nonce, then XORing the + resulting keystream block with the plaintext to generate the ciphertext. [1, 2, 3] + + # How CTR Mode Works + + * Nonce and Counter: Each block uses a unique counter block made by joining a fixed nonce and an + incrementing number. + * Keystream Generation: The block cipher encrypts each counter block using the secret key to create a unique + keystream segment. + * XOR Operation: The plaintext is XORed with this encrypted keystream to produce the ciphertext. + * Decryption Simplicity: Decryption uses the exact same process; the counter blocks are encrypted again and + XORed with the ciphertext to recover the original plaintext. [1, 2, 3, 4] + + # Key Characteristics + + * Parallel Processing: Both encryption and decryption can be run in parallel across multiple blocks because the + counter values are known in advance. + * No Padding Needed: Because it acts like a stream cipher, the final block does not need to be padded to a + full block size. + * Random Access: You can jump directly to decrypt any specific block without processing the blocks that + come before it. + * Nonce Reuse Risk: Reusing the same nonce and key combination completely destroys the security of the + cipher, allowing attackers to recover the keystream. [2, 4, 7] + + citations: + 1: https://www.hexnode.com/blogs/explained/what-is-counter-mode-ctr/ + 2: https://www.youtube.com/watch?v=zX0PZtqerCI + 3: https://pycryptodome.readthedocs.io/en/v3.20.0/src/cipher/classic.html + 4: https://ctf101.org/cryptography/what-are-block-ciphers/ + 5: https://www.tutorialspoint.com/cryptography/counter_mode.htm + 6: https://www.youtube.com/watch?v=gUNyXs6mEKM + 7: https://medium.com/@malkhoori/aes-gcm-nonce-reuse-writeup-7d5a92b599cb + gcm: + description: !markdown > + Galois/Counter Mode (GCM) is an authenticated encryption mode for block ciphers. It provides both data + confidentiality (secrecy) and authenticity (integrity). GCM combines Counter (CTR) mode for encryption with a + special GHASH function based on Galois field multiplication for integrity verification. [1, 2, 3, 4] + + # Key Components and Operation + + * Counter Mode (Encryption): Turns a block cipher into a stream cipher by encrypting sequential counter values + and XORing the output with plaintext blocks. + * GHASH (Authentication): Processes the ciphertext, optional additional authenticated data (AAD), and length + fields using universal hashing over a binary Galois field (GF(2¹²⁸)) to output a unique authentication tag. + * Nonce / IV: Requires a unique initialization vector (typically 96 bits) for every execution under the same + key. Never reuse a nonce. [1, 3, 6] + + # Advantages of GCM + + * High Speed: Supports parallel processing for both encryption and authentication, making it optimal for + high-bandwidth networks. + * Single-Pass Efficiency: Computes privacy and integrity checks simultaneously rather than sequentially. + * Standard Adoption: Widely used in modern protocols like TLS 1.2+, IPsec, and SSH due to its security + and performance. [4, 8, 9, 10, 11] + citations: + 1: https://www.ibm.com/docs/en/linux-on-systems?topic=mo-electronic-code-book-ecb-mode + 2: https://www.intel.com/content/www/us/en/content-details/783641/advanced-encryption-standard-galois-counter-mode-optimized-ghash-function-technology-guide.html + 3: https://www.youtube.com/watch?v=-fpVv_T4xwA + 4: https://www.cincopa.com/learn/introduction-to-aes-gcm-mode-and-its-advantages + 5: https://medium.com/@pravallikayakkala123/understanding-aes-encryption-and-aes-gcm-mode-an-in-depth-exploration-using-java-e03be85a3faa + 6: https://www.youtube.com/watch?v=C_cQIYPWTXs + 7: https://xilinx.github.io/Vitis_Libraries/security/2019.2/guide_L1/internals/gcm.html + 8: https://csrc.nist.rip/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-revised-spec.pdf + 9: https://www.youtube.com/watch?v=gUNyXs6mEKM + 10: https://datatracker.ietf.org/doc/html/rfc5647 + 11: https://crypto.stackexchange.com/questions/2310/what-is-the-difference-between-cbc-and-gcm-mode + lrw: + xcb: + hctr: + hctr2: + hsbh: + essiv: + kw: + kwp: + + ccm: + description: !markdown > + CCM (Counter with CBC-MAC) is an authenticated encryption mode for 128-bit block ciphers like AES. It provides + both data confidentiality (encryption) and authenticity (integrity tag) in one operation. It combines Counter + (CTR) mode for encryption and Cipher Block Chaining Message Authentication Code (CBC-MAC) for + integrity. [1, 2, 3, 4, 5] + + # How CCM Works + + * Two Core Parts: Uses CTR mode to encrypt the data and CBC-MAC to generate a security tag. + * Associated Data (AD): Can authenticate extra unencrypted data (like packet headers or IP addresses). + * Nonce Requirement: Requires a unique nonce (number used once) for every message under the same key to + remain secure. Reusing a nonce breaks confidentiality entirely. [1, 2, 6] + + # Key Properties + + * Block Size: Strictly defined for 128-bit block ciphers (such as AES-128). + * Order of Operation: Standard implementations compute the MAC over the associated data and plaintext first, + then encrypt both the message and the tag using CTR mode. + * Common Uses: Widely used in constrained wireless networks, including IEEE 802.11i (Wi-Fi security), Bluetooth + Low Energy, and ZigBee. [1, 2, 3, 6, 7] + + citations: + 1: https://en.wikipedia.org/wiki/CCM_mode + 2: https://xilinx.github.io/Vitis_Libraries/security/2019.2/guide_L1/internals/ccm.html + 3: https://docs.nordicsemi.com/r/bundle/ps_nrf5340/page/ccm.html + 4: https://datatracker.ietf.org/doc/html/rfc3610 + 5: https://csrc.nist.gov/pubs/sp/800/38/c/upd1/final + 6: https://www.cryptopp.com/wiki/CCM_Mode + 7: https://www.latticesemi.com/en/Products/DesignSoftwareAndIP/IntellectualProperty/IPCore/HelionTechCores/AESCCMCore + + + xts: + description: !markdown > + XTS (XEX-based tweaked-codebook mode with ciphertext stealing) is a block cipher mode designed specifically + for full-disk and storage encryption. It secures data at rest by using two keys and a "tweak" value (like a + sector number) so identical data blocks yield different ciphertexts, without expanding file sizes. [1, 2, 3] + + # Key Features of XTS + + * Two Keys: It uses two independent cipher keys—one for the core block encryption and one to encrypt the + tweak value. + * The Tweak: It uses a tweak value (position/sector ID) modified via Galois field math. This stops attackers + from spotting patterns in identical blocks across different disk sectors. + * No Size Expansion: It uses ciphertext stealing to handle final partial blocks. This avoids padding, meaning + the encrypted data matches the exact size of the original data. + * Confidentiality Only: It provides strong data privacy, but it does not offer built-in authentication or + tamper detection. [3, 4] + + # Common Uses + + * Full-Disk Encryption: Used by software like VeraCrypt and BitLocker. + * Hardware Drives: Used inside secure external SSDs and USB flash drives like the Kingston + IronKey. [2, 4, 5, 8, 9] + citations: + 1: https://xilinx.github.io/Vitis_Libraries/security/2019.2/guide_L1/internals/xts.html + 2: https://www.securview.com/ai-security-essentials/xts-mode + 3: https://www.cryptopp.com/wiki/XTS_Mode + 4: https://veracrypt.io/en/Modes%20of%20Operation.html + 5: https://www.kingston.com/unitedkingdom/en/blog/data-security/xts-encryption + 6: https://www.computer.org/csdl/magazine/sp/2010/03/msp2010030068/13rRUxNW1XJ + 7: https://xilinx.github.io/Vitis_Libraries/security/2021.2/guide_L1/internals/xts.html + 8: https://www.kingston.com/en/blog/data-security/xts-encryption + 9: https://terrazone.io/aes-256-encryption-types/ + eme: + eax: + + xex: + description: !markdown > + XEX (XOR-Encrypt-XOR) is a tweakable block cipher mode designed by Phillip Rogaway. It masks a plaintext + block with a tweak value before and after block cipher encryption. XEX serves as the foundational core + for XTS-AES, the standard mode used for secure storage and full-disk encryption. [1, 2, 3, 4, 5, 6] + + # How XEX Works + + * Pre-whitening: The plaintext block is XORed with a masked tweak value (derived from a secondary key + and a sector/block index). + * Encryption: The resulting value passes through the standard block cipher function (like AES) using + the primary key. + * Post-whitening: The cipher output is XORed again with the same masked tweak value to produce the + final ciphertext. + * Tweak evolution: Tweak values across adjacent blocks are modified by multiplying the previous tweak by a + primitive element in a finite Galois Field (GF(2¹²⁸)). [3, 6, 7, 8, 9] + + Key Characteristics + + * Tweakable security: Ensures that identical plaintext blocks encrypt to different ciphertexts when + located at different storage addresses or sector numbers. + * Parallelizable: Individual blocks can be encrypted or decrypted independently, allowing high + performance on modern hardware. + * No authentication: Provides confidentiality for data at rest but does not protect against data tampering or + active manipulation. [9, 10, 11, 12, 13] + + If you are planning an implementation, would you like to explore how XEX transitions into XTS mode with + ciphertext stealing, or do you need help with performance considerations for disk encryption? + AI responses may include mistakes. + citations: + 1: https://csrc.nist.gov/projects/block-cipher-techniques/BCM + 2: https://web.cs.ucdavis.edu/~rogaway/papers/modes.pdf + 3: https://www.truecrypt.org/docs/modes-of-operation + 4: https://eprint.iacr.org/2015/1049.pdf + 5: https://en.wikipedia.org/wiki/Xor%E2%80%93encrypt%E2%80%93xor + 6: https://onlinedocs.microchip.com/oxy/GUID-4D282FC5-82FC-4934-8BAD-D4A5D8422E6C-en-US-7/GUID-3B9716A2-235B-4606-9FA3-559A7958BC36.html + 7: https://fiveable.me/lists/block-cipher-modes-of-operation + 8: https://www.sciencedirect.com/topics/computer-science/block-cipher-mode + 9: https://www.securview.com/ai-security-essentials/xts-aes + 10: https://www.youtube.com/watch?v=gUNyXs6mEKM + 11: https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation + 12: https://dl.acm.org/doi/10.1145/937527.937529 + 13: https://www.ibm.com/docs/en/linux-on-systems?topic=planning-cipher-mode-considerations diff --git a/_data/curves.yaml b/_data/curves.yaml new file mode 100644 index 00000000..43834f24 --- /dev/null +++ b/_data/curves.yaml @@ -0,0 +1,8 @@ +--- +credits: +- rickmark +- https://std.neuromancer.sk +metadata: + description: + credits: [] + collections: [] diff --git a/_data/curves/hashes.yml b/_data/curves/hashes.yml new file mode 100644 index 00000000..b6ee086f --- /dev/null +++ b/_data/curves/hashes.yml @@ -0,0 +1,4354 @@ +--- +- polyname: 192-bit Random ECP Group_P-192_prime192v1_secp192r1 + names: + - P-192 + - 192-bit Random ECP Group + - secp192r1 + - prime192v1 + groups: + - NIST + - Oakley + - SECG + - ANSI x9.62 + hash: 439b41afa9ea2abc04990209844822fcd05ecb60b37bfdedd3b8d7efacc6e3f3 + field: + type: + p: 6277101735386680763835789423207666416083908700390324961279 + bits: + params: + a: 6277101735386680763835789423207666416083908700390324961276 + b: 2455155546008943817740293915197451784769108058161191238065 + generator: + x: 602046282375688656758213480587526111916698976636884684818 + "y": 174050332293622031404857552280219410364023488927386650641 + form: Weierstrass + order: 6277101735386680763835789423176059013767194773182842284081 + cofactor: 1 +- polyname: 224-bit Random ECP Group_P-224_ansip224r1_secp224r1_wap-wsg-idm-ecid-wtls12 + names: + - P-224 + - 224-bit Random ECP Group + - secp224r1 + - wap-wsg-idm-ecid-wtls12 + - ansip224r1 + groups: + - NIST + - Oakley + - SECG + - WTLS + - ANSI X9.63 + hash: 4a3c2b24d4537084a012a3d0496da0f2ade352ecf0923e2f58490a20cca717f5 + field: + type: + p: 26959946667150639794667015087019630673557916260026308143510066298881 + bits: + params: + a: 26959946667150639794667015087019630673557916260026308143510066298878 + b: 18958286285566608000408668544493926415504680968679321075787234672564 + generator: + x: 19277929113566293071110308034699488026831934219452440156649784352033 + "y": 19926808758034470970197974370888749184205991990603949537637343198772 + form: Weierstrass + order: 26959946667150639794667015087019625940457807714424391721682722368061 + cofactor: 1 +- polyname: 256-bit Random ECP Group_P-256_prime256v1_secp256r1 + names: + - P-256 + - 256-bit Random ECP Group + - secp256r1 + - prime256v1 + groups: + - NIST + - Oakley + - SECG + - ANSI x9.62 + hash: 6b7855b2e2b0b5fc13a7dea91c2a016560e8bd9007fb6d65947b0844568fa15e + field: + type: + p: 115792089210356248762697446949407573530086143415290314195533631308867097853951 + bits: + params: + a: 115792089210356248762697446949407573530086143415290314195533631308867097853948 + b: 41058363725152142129326129780047268409114441015993725554835256314039467401291 + generator: + x: 48439561293906451759052585252797914202762949526041747995844080717082404635286 + "y": 36134250956749795798585127919587881956611106672985015071877198253568414405109 + form: Weierstrass + order: 115792089210356248762697446949407573529996955224135760342422259061068512044369 + cofactor: 1 +- polyname: 384-bit Random ECP Group_P-384_ansip384r1_secp384r1 + names: + - P-384 + - 384-bit Random ECP Group + - secp384r1 + - ansip384r1 + groups: + - NIST + - Oakley + - SECG + - ANSI X9.63 + hash: 58749f383f89efd8aa98f1cef0bd18bd03a296d1493fccde2323ede8b150c9fb + field: + type: + p: 39402006196394479212279040100143613805079739270465446667948293404245721771496870329047266088258938001861606973112319 + bits: + params: + a: 39402006196394479212279040100143613805079739270465446667948293404245721771496870329047266088258938001861606973112316 + b: 27580193559959705877849011840389048093056905856361568521428707301988689241309860865136260764883745107765439761230575 + generator: + x: 26247035095799689268623156744566981891852923491109213387815615900925518854738050089022388053975719786650872476732087 + "y": 8325710961489029985546751289520108179287853048861315594709205902480503199884419224438643760392947333078086511627871 + form: Weierstrass + order: 39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643 + cofactor: 1 +- polyname: 521-bit Random ECP Group_P-521_ansip521r1_secp521r1 + names: + - P-521 + - 521-bit Random ECP Group + - secp521r1 + - ansip521r1 + groups: + - NIST + - Oakley + - SECG + - ANSI X9.63 + hash: 6149b245fae970fdd065e75d404770c299853f30c45f3631f8b2bf440de106aa + field: + type: + p: 6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151 + bits: + params: + a: 6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057148 + b: 1093849038073734274511112390766805569936207598951683748994586394495953116150735016013708737573759623248592132296706313309438452531591012912142327488478985984 + generator: + x: 2661740802050217063228768716723360960729859168756973147706671368418802944996427808491545080627771902352094241225065558662157113545570916814161637315895999846 + "y": 3757180025770020463545507224491183603594455134769762486694567779615544477440556316691234405012945539562144444537289428522585666729196580810124344277578376784 + form: Weierstrass + order: 6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449 + cofactor: 1 +- polyname: B-163_ansit163r2_sect163r2 + names: + - B-163 + - sect163r2 + - ansit163r2 + groups: + - NIST + - SECG + - ANSI X9.63 + hash: 8963122db128834949cd1d0951b41a3f2d6c7eab932270877d4c7dc54fc3fe39 + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 1 + b: 2982236234343851336267446656627785008148015875581 + generator: + x: 5759917430716753942228907521556834309477856722486 + "y": 1216722771297916786238928618659324865903148082417 + form: Weierstrass + order: 5846006549323611672814742442876390689256843201587 + cofactor: 2 +- polyname: B-233_ansit233r1_sect233r1_wap-wsg-idm-ecid-wtls11 + names: + - B-233 + - sect233r1 + - wap-wsg-idm-ecid-wtls11 + - ansit233r1 + groups: + - NIST + - SECG + - WTLS + - ANSI X9.63 + hash: '09de8eefab94e29fb4b40f5110125145cc8505672a83a86f1b18664fb8482743' + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 1 + b: 2760497980029204187078845502377898520307707256259003964398570147123373 + generator: + x: 6761246501583409083997096882159824046681246465812468867444643442021771 + "y": 6912913004411390932094889411904587007871508723951293564567204383952978 + form: Weierstrass + order: 6901746346790563787434755862277025555839812737345013555379383634485463 + cofactor: 2 +- polyname: B-283_ansit283r1_sect283r1 + names: + - B-283 + - sect283r1 + - ansit283r1 + groups: + - NIST + - SECG + - ANSI X9.63 + hash: 65949eb43dca4ba0f53b4a4f5f84bc5d30953da522cf5d114754d930b7bef9a4 + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 1 + b: 4821813576056072374006997780399081180312270030300601270120450341205914644378616963829 + generator: + x: 11604587487407003699882500449177537465719784002620028212980871291231978603047872962643 + "y": 6612720053854191978412609357563545875491153188501906352980899759345275170452624446196 + form: Weierstrass + order: 7770675568902916283677847627294075626569625924376904889109196526770044277787378692871 + cofactor: 2 +- polyname: B-409_ansit409r1_sect409r1 + names: + - B-409 + - sect409r1 + - ansit409r1 + groups: + - NIST + - SECG + - ANSI X9.63 + hash: 65229d0b08b6fe138577b375ce046aa8adc256e0073ea573556ba7fca840aba9 + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 1 + b: 86886261634090707672817770640384425264505829479043641824438658614111870471004564988634410809058207142318571212147935892575 + generator: + x: 901935279919555460519938020229627704409149556251441963587868715440518797594851300277260702073828731983206453567757135484583 + "y": 252271804478663965520986398892908223486048997352743726687083769858460083134230324190507814191768191984593727083669152319238 + form: Weierstrass + order: 661055968790248598951915308032771039828404682964281219284648798304157774827374805208143723762179110965979867288366567526771 + cofactor: 2 +- polyname: B-571_ansit571r1_sect571r1 + names: + - B-571 + - sect571r1 + - ansit571r1 + groups: + - NIST + - SECG + - ANSI X9.63 + hash: 329a1f9ecb9ce2615a83b61c25a15bfae6c528d73754ee63b4d1d686fe9a9107 + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 1 + b: 2853329245261343535560086964181551296889298776106832980891560850944180011701123307905326019642652653533003482753023669016842884108172514870944140611113679225347419720217210 + generator: + x: 2909726711393360238997027325079981094903293083416277207163191533186952179846948691035435651273252692731060457249729605513129233502615507099213961913121214831097565254790425 + "y": 3366174731810125753087813209708676894833150358595778752145226712858102783612277607950241452090192525005883890170639174605150394168627448707126811848455102037101825665712475 + form: Weierstrass + order: 3864537523017258344695351890931987344298927329706434998657235251451519142289560424536143999389415773083133881121926944486246872462816813070234528288303332411393191105285703 + cofactor: 2 +- polyname: BADA55-R-256 + names: + - BADA55-R-256 + groups: + - other + hash: 4b9047a385c2fc642c6593addf77b717bc3a7e8380135f8053385d4c9aa33828 + field: + type: + p: 109454571331697278617670725030735128145969349647868738157201323556196022393859 + bits: + params: + a: 109454571331697278617670725030735128145969349647868738157201323556196022393856 + b: 84515954182592140125803430112897375925683526035264897598044571562912970554696 + form: Weierstrass + order: 109454571331697278617670725030735128145588092482846170632876105195456963397991 + cofactor: 1 +- polyname: BADA55-VPR-224 + names: + - BADA55-VPR-224 + groups: + - other + hash: 28c6ec816133edd9c79bba0dd82e94b611ebe33145088b61863b59f25a1cbb22 + field: + type: + p: 26959946667150639794667015087019630673557916260026308143510066298881 + bits: + params: + a: 5932350833048836675063838953473728018980710067449037706580296393835623260384552519146420261902795561828358448423044746435212852702484958606554674746182985 + b: 4828849322892077524400878405643475202086930645262587584016337644194866730797082434077587637295352701527938488137012123175359515180405941704245081199428770 + form: Weierstrass + order: 26959946667150639794667015087019626926434063199188035923908887661277 + cofactor: 1 +- polyname: BADA55-VPR2-224 + names: + - BADA55-VPR2-224 + groups: + - other + hash: 4506f3a4a6935d9bb6f2bdcbdd3f76977894a76e5187d5365cdcb26aabf815eb + field: + type: + p: 26959946667150639794667015087019630673557916260026308143510066298881 + bits: + params: + a: 7492779957200677572949915929703956416586646386653355944827970894398886163194915008298895509902966892279001066078761192613529774520855233160125850872520431 + b: 760454733276948837728106077605249407017816549500482231341713984300322298517631275412641449831641832405870723965463902247316357567576529194469485346017372 + form: Weierstrass + order: 26959946667150639794667015087019630011607578293774157398356967301647 + cofactor: 1 +- polyname: BADA55-VR-224 + names: + - BADA55-VR-224 + groups: + - other + hash: 5b17c04387207e7b0bd2c9f2cf56adc302d69043a71117dd95f255cd8ee97c2d + field: + type: + p: 26959946667150639794667015087019630673557916260026308143510066298881 + bits: + params: + a: 26959946667150639794667015087019630673557916260026308143510066298878 + b: 84515955534304576758654978360789632555113087818511480086621335083142765194062 + form: Weierstrass + order: 26959946667150639794667015087019625750473112757966691837284557762681 + cofactor: 1 +- polyname: BADA55-VR-256 + names: + - BADA55-VR-256 + groups: + - other + hash: de03af1e5e1cc6adf4fbfb24ccca1bae8414cdeb988fdcb5373d84b76d627599 + field: + type: + p: 115792089210356248762697446949407573530086143415290314195533631308867097853951 + bits: + params: + a: 115792089210356248762697446949407573530086143415290314195533631308867097853948 + b: 84515955530420886357456836194582583640310551107276416776644022027044700097292 + form: Weierstrass + order: 115792089210356248762697446949407573529659275108854709778199731916161746197393 + cofactor: 1 +- polyname: BADA55-VR-384 + names: + - BADA55-VR-384 + groups: + - other + hash: 84804cf63eebf3012486dbf4027b2e030b26ac65f799f50adfb86c35e0f227a6 + field: + type: + p: 39402006196394479212279040100143613805079739270465446667948293404245721771496870329047266088258938001861606973112319 + bits: + params: + a: 39402006196394479212279040100143613805079739270465446667948293404245721771496870329047266088258938001861606973112316 + b: 28759289384855585255140060016785796885772635169765278563241947317788270195587490960283298618618759441156173673677117 + form: Weierstrass + order: 39402006196394479212279040100143613805079739270465446667941621022900220837253578036853148808081762239228265036238391 + cofactor: 1 +- polyname: BLS12-377 + names: + - BLS12-377 + groups: + - Barreto-Lynn-Scott + hash: 1643926894cb3fcc24422a306dadc83cb59b258fc93a99b44b73b76c1bf44b30 + field: + type: + p: 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177 + bits: + params: + a: 0 + b: 1 + generator: + x: 81937999373150964239938255573465948239988671502647976594219695644855304257327692006745978603320413799295628339695 + "y": 241266749859715473739788878240585681733927191168601896383759122102112907357779751001206799952863815012735208165030 + form: Weierstrass + order: 8444461749428370424248824938781546531375899335154063827935233455917409239041 + cofactor: 30631250834960419227450344600217059328 +- polyname: BLS12-381 + names: + - BLS12-381 + groups: + - Barreto-Lynn-Scott + hash: 31366e797143034acbbb47fc74f7683e5ce77a6a4b711712ca7da94a8ed867bc + field: + type: + p: 4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787 + bits: + params: + a: 0 + b: 4 + generator: + x: 3685416753713387016781088315183077757961620795782546409894578378688607592378376318836054947676345821548104185464507 + "y": 1339506544944476473020471379941921221584933875938349620426543736416511423956333506472724655353366534992391756441569 + form: Weierstrass + order: 52435875175126190479447740508185965837690552500527637822603658699938581184513 + cofactor: 76329603384216526031706109802092473003 +- polyname: BLS12-446 + names: + - BLS12-446 + groups: + - Barreto-Lynn-Scott + hash: 4574e3248ca98653c38c43a51d271f33be50a6cee9cd36e7955e5f162f7c2694 + field: + type: + p: 172824703542857155980071276579495962243492693522789898437834836356385656662277472896902502740297183690175962001546428467344062165330603 + bits: + params: + a: 0 + b: 1 + generator: + x: 117733910625767352562622295076808951238721926790078686146009933486323198719764716614394096595844223744159169311560187133811411396395866 + "y": 2442759535059259443365156902196516512631764309927898508000531773063769688990884680602208026890498469344655513708770663295059956492492 + form: Weierstrass + order: 645383785691237230677916041525710377746967055506026847120930304831624105190538527824412673 + cofactor: 267785939737784928360481681640896166738700972 +- polyname: BLS12-455 + names: + - BLS12-455 + groups: + - Barreto-Lynn-Scott + hash: a70b19c6ccdf17f2bc21ff41b9e51a48c0af22fd40d0447cedb4e4b272b452a5 + field: + type: + p: 62023615502630691959947542088993379461260029989578145286594463370037455903184790399094337933920614809072869582259708675651604292655121067 + bits: + params: + a: 0 + b: 10 + generator: + x: 2184929776028972552506682425393509767444079576849859202215070020514232690381514671768244064263996291180563445266569895924910332346086138 + "y": 18649838869337067690708439449593748902230900026224757347283892323816777090230243799862931794251220821660394867597829772295454358202627452 + form: Weierstrass + order: 32592591162709399548204674974693769236593666020311973148317336684828427238867413559777689601 + cofactor: 1902997377317904285509030108837873050145782443 +- polyname: BLS12-638 + names: + - BLS12-638 + groups: + - Barreto-Lynn-Scott + hash: d9866035a2f7544495be3e2fbbe68a80655301ca65f073c8dedf82380f566543 + field: + type: + p: 1082159996029801447407061915918058655017421337462511263853382495313523741057008334847967336392717312405560092419564537672318099867365585979660877534008398116971703340756992868556828633685753867 + bits: + params: + a: 0 + b: 4 + generator: + x: 393156096514656013816739747237352033301047675135437701517165643631719350682293112500238544728623191558815870892645613219271235704241950970749583458776009684671800415825129114435569495622779983 + "y": 805614661511438235550412737322454824796711263750382642052610729342735772602079091927749084694676207289585696971464252964345264552406830871293885393917735533705498118872354969858720945317709678 + form: Weierstrass + order: 219251119771344696405774021764183233417591210126646941054157095923964932206472226527334834765904652086236540876580366888700214273 + cofactor: 4935710235634726836466098878268102698735442767320585457707428843 +- polyname: BLS24-477 + names: + - BLS24-477 + groups: + - Barreto-Lynn-Scott + hash: f28eb661b0b7171b4a886afe54784fc5098110d361943a7e35df9402481bd54e + field: + type: + p: 273728064501339756603462468369185104987958288074891940133644204431064409085893803646700523799946827238917453720697332026264620142876572570883371 + bits: + params: + a: 0 + b: 4 + generator: + x: 266743698038757295662619710019685297812999597016601680088845584202609930049499733308401955357016250385137548714986909418875978427995232610959533 + "y": 126907919156628327371089377056478148517962766820952486769993944304800449377409455373976248358717859439807799479876167428880095710068065380060718 + form: Weierstrass + order: 13537936261228327234360016478152006762700163086861427334212852888813629813026812384883257261708307801344061818798081 + cofactor: 20219334706522233036632757675 +- polyname: BLS48-581-G1 + names: + - BLS48-581-G1 + groups: + - Barreto-Lynn-Scott + hash: 39374597be9771cf850d28a6f8d5d13e7fb716a32e7702995d26f849ca9abdb8 + field: + type: + p: 4576545538729420598762745822889397370509838601207708465545582186285824315458656151272834027217178198654229063318759931344008864619718319130560845441720114764111976549023322411 + bits: + params: + a: 0 + b: 1 + generator: + x: 664072909943994472690889998901829287982029758036230819413867343678033644096959380195596447812034430863032620612185983287376705940471023336491067760994453918708210129809634880 + "y": 3199694675129793773108956982140527773957085482385893132424130688183391029819654499891441792905637192115676461347904751827252586497434610320289928188243138349978296597479979632 + form: Weierstrass + order: 476342299743339008482451055637099285448102090246347886165811576342746904451443552831892849773706409097740116059681046950759420830087773258940488535108951041 + cofactor: 9607682419124520108 +- polyname: BLS48-581-G2 + names: + - BLS48-581-G2 + groups: + - Barreto-Lynn-Scott + hash: 4dd8bdc56dda2c0d7d3c3efc86a38e61933d77499b31061bac3aa7e7ece4f1f2 + field: + type: + degree: + poly: + - power: + coeff: + - power: + coeff: + - power: + coeff: 1 + - power: + coeff: + - power: + coeff: + - power: + coeff: 1 + base: + type: + degree: + poly: + - power: + coeff: + - power: + coeff: 1 + - power: + coeff: + - power: + coeff: 1 + - power: + coeff: 1 + base: + type: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + base: + type: + p: 4576545538729420598762745822889397370509838601207708465545582186285824315458656151272834027217178198654229063318759931344008864619718319130560845441720114764111976549023322411 + bits: + params: + a: 0 + b: + poly: + - power: + coeff: + - power: + coeff: + - power: + coeff: 2288272769364710299381372911444698685254919300603854232772791093142912157729328075636417013608589099327114531659379965672004432309859159565280422720860057382055988274511661206 + - power: + coeff: 2288272769364710299381372911444698685254919300603854232772791093142912157729328075636417013608589099327114531659379965672004432309859159565280422720860057382055988274511661205 + generator: + x: + poly: + - power: + coeff: + - power: + coeff: + - power: + coeff: 2017129169333395345633141475822059490092411671567902705493511969511392022432425759593596386161149120784963050000240276833824538618538192218929360983482809317427148869408828980 + - power: + coeff: 2870843100183194458942309803448581771978562926373880620853311485123121473744994667052852483156268555743209387281247891718688659592351594274548885037402404062588363878599549015 + - power: + coeff: + - power: + coeff: 3113637784395408559484960060574684307293088886140404453445698198645686584906103550058513545308119878620652606525755850941709226035940367023080655492133054442482093762610465082 + - power: + coeff: 876834026860168950714140977613653307343668884965682715114142083411987609146559708824271840302954279917986613984360806192457612766781117723740232828322881939011728960053103845 + - power: + coeff: + - power: + coeff: + - power: + coeff: 2939107393077529547409028576571646748977347610143044920226464963606088123163140902014960657059257997044608374207548665605376498041290254046255723942808292843714544466244135678 + - power: + coeff: 491567806338252788220091164105417437861792348007896669639990900214735547073811742598627820597799608204742103543351363962176426886270578385092201760868997780620612001278344810 + - power: + coeff: + - power: + coeff: 1921245943142711861966782556075759527860244268870632226238298372979430346682542571242137437373070709040911566679509671885125867565446336887156643584985124533164957919807306839 + - power: + coeff: 1443487226727976320148700811468278703524141598101868684052641732350959994878689540332447479881718529248946466723185082144000700219499769534219241280848932750644871586103476139 + "y": + poly: + - power: + coeff: + - power: + coeff: + - power: + coeff: 832948018248678042764866718194993049985169510400121909682669080951443617593089142981340481082819616824052866488042489863269729583751788526826053728496812123725076915556915382 + - power: + coeff: 2124010466530791911919697660124033442359779792592481472866645615824686571937744871290177917838663874469646368660995928691870081517737072921748540765881663004327827060347255174 + - power: + coeff: + - power: + coeff: 1933054560504635618471789757006703272655789089800475001404340285750201022736709634006125418130406419023350948712829153945715449982032072223882315271015579081083239573841034980 + - power: + coeff: 3246805360189970419745921850668343751668870550890806398444187512193091164419514353593223787351032963858777483092955696366284423727985498019057529862972730242669476256497860919 + - power: + coeff: + - power: + coeff: + - power: + coeff: 2701453788543839550960570926606051051949430885597355159712628581975392766891484490460973297021614195157577396571861747680033126668476221212836581697845770487465374355694901405 + - power: + coeff: 2773417082146389005489000665057691781041168613557058249287783279323439672286199559954269897524070529314330769159759771181856135881665454360801407761460850356957184519408616564 + - power: + coeff: + - power: + coeff: 623022546489059811426291883243133168913396015170486411116844589596543525122042928566045698104822153956844652513449046771555332945350854931013288518370393729275215958005077605 + - power: + coeff: 227355605918433105761364564368569538536078810855376376735405018095770092842893040752406724486824563200217037394779481035188177439298995350499788592705964800823421290238802289 + form: Weierstrass + order: 476342299743339008482451055637099285448102090246347886165811576342746904451443552831892849773706409097740116059681046950759420830087773258940488535108951041 + cofactor: 404001666079718828424928462701476396078557430903025498320015069780915772977721230131210997518979520130176733031453278068835147732293884795839485728606048991214797722812295493041254311473896763308294197083786434071740359843747101702997060366866809126345547678340108006826466784397020229561686014228422473006915261359014219256423019897151478718181046789624130272803157710698033568242489219885432286960190798708943849354242694549627402288181461159788243359683392159256702996293595100421706295904930439126712318766675571366024100918787291288004513531819404064338264446226234707581548842317805483928629180447571361218243095878362891302702531056313397782703965411466083559025624148466958293580847002444282975752901707621050523914356348285939235316367381370031979440090633186571281623150787538440505919484375349675002055144660401861550341054581984495723616220883278841172752095127640924600208798772606915013199155798323796696747036564640117720656686283218996179186882425564875829708646305570711039871359146422329060781081729378012132629100855962777552727332371806140499290037907076523597478847640819502793139901085385109401917840720543055697508849469456235825092988728832328928701517849897595367939382866287368791943955927018850323491903758638647729 +- polyname: Bandersnatch + names: + - Bandersnatch + groups: + - Barreto-Lynn-Scott + hash: d390d904ee112c4fad2a432c707046a243c0850176d5f2560a246e1d66042dd2 + field: + type: + p: 52435875175126190479447740508185965837690552500527637822603658699938581184513 + bits: + params: + a: + raw: + d: 45022363124591815672509500913686876175488063829319466900776701791074614335719 + form: Weierstrass + order: 13108968793781547619861935127046491459309155893440570251786403306729687672801 + cofactor: 4 +- polyname: Curve1174 + names: + - Curve1174 + groups: + - other + hash: d5dde012b95ce745d1be1322b405eb2ca4a677bbe53c797fe02d0ef56e41cec1 + field: + type: + p: 3618502788666131106986593281521497120414687020801267626233049500247285301239 + bits: + params: + a: 2047321249219657235734354626905280581970433255745458932808250373942901373549 + b: 401568684892304675786656630878837678659783106924670419319797553351317549798 + generator: + x: 1693537507433864166315016284024856161961867444665036408510332551376158347345 + "y": 181973560066092985673975041609332972280189445908712331692353691761652347552 + form: Weierstrass + order: 904625697166532776746648320380374280092339035279495474023489261773642975601 + cofactor: 4 +- polyname: Curve22103 + names: + - Curve22103 + groups: + - other + hash: 5ef2ac74f3dd6ac0ec7de6dc3ffd5970b26f30797ca17bbce00d067a9f4c7058 + field: + type: + p: 3369993333393829974333376885877453834204643052817571560137951281149 + bits: + params: + a: 2246662222262553316222251257251635889469762035211714373411374400767 + b: 2121847654359078131987681742959878340054775255477730874138797701479 + generator: + x: 1337986418373986027481331603085719890755810485220461707389578529200 + "y": 357140777035609340439344712909994219660040722634117794161168213942 + form: Weierstrass + order: 421249166674228746791672110734681522412213359496917167944873418789 + cofactor: 8 +- polyname: Curve25519 + names: + - Curve25519 + groups: + - other + hash: 66b1308ab116783e076662ba7d9688e46bf3536e0ca4a8c1743f563204af9976 + field: + type: + p: 57896044618658097711785492504343953926634992332820282019728792003956564819949 + bits: + params: + a: 486662 + b: 1 + generator: + x: 9 + "y": 14781619447589544791020593568409986887264606134616475288964881837755586237401 + form: Weierstrass + order: 7237005577332262213973186563042994240857116359379907606001950938285454250989 + cofactor: 8 +- polyname: Curve383187 + names: + - Curve383187 + groups: + - other + hash: ba053ecc3b83d1bd1496abf20d06306bce9623a35863ced4afb4ec78b7d27bd5 + field: + bits: + p: 19701003098197239606139520050071806902539869635232723333974146702122860885748605305707133127442457820403313995153221 + type: + params: + a: 229969 + b: 1 + generator: + x: 5 + "y": 4759238150142744228328102229734187233490253962521130945928672202662038422584867624507245060283757321006861735839455 + form: Weierstrass + order: 2462625387274654950767440006258975862817483704404090416747124418612574880605944350369924877650606926799392131911201 + cofactor: 8 +- polyname: Curve41417 + names: + - Curve41417 + groups: + - other + hash: ec44509b8fcafee25d4a3914762139a563823b8d75c9417099037b23483733bb + field: + type: + p: 42307582002575910332922579714097346549017899709713998034217522897561970639123926132812109468141778230245837569601494931472367 + bits: + params: + a: 1 + d: 3617 + generator: + x: 17319886477121189177719202498822615443556957307604340815256226171904769976866975908866528699294134494857887698432266169206165 + "y": 34 + form: Weierstrass + order: 5288447750321988791615322464262168318627237463714249754277190328831105466135348245791335989419337099796002495788978276839289 + cofactor: 8 +- polyname: Curve4417 + names: + - Curve4417 + groups: + - other + hash: c784f61d2413613adb458df3ba0668c0df9ccb0e127f0540d1233cf68bcb1c34 + field: + type: + p: 107839786668602559178668060348078522694548577690162289924414440996859 + bits: + params: + a: 7401815419538074743978245899249382084705161297327706860045224408496 + b: 8035742562787894542656578431380914253495041131474896510115662517273 + generator: + x: 26919424294512923768764696235491508472377067628859790885860957243947 + "y": 105419009805682646551400593687804125378724714690915124552655237729942 + form: Weierstrass + order: 26959946667150639794667015087019630598406707739507919450642540907951 + cofactor: 4 +- polyname: Curve448 + names: + - Curve448 + groups: + - other + hash: b8b4ef052e8b473962c46965084cf2682c5a6dc87747384272ba1916d4f52b1e + field: + type: + p: 726838724295606890549323807888004534353641360687318060281490199180612328166730772686396383698676545930088884461843637361053498018365439 + bits: + params: + a: 156326 + b: 1 + generator: + x: 5 + "y": 355293926785568175264127502063783334808976399387714271831880898435169088786967410002932673765864550910142774147268105838985595290606362 + form: Weierstrass + order: 181709681073901722637330951972001133588410340171829515070372549795146003961539585716195755291692375963310293709091662304773755859649779 + cofactor: 4 +- polyname: Curve67254 + names: + - Curve67254 + groups: + - other + hash: da0283e5add9429af757174a4afa75af2dcb6b8c066a3ff6fc6473cab81c1657 + field: + type: + p: 9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576599 + bits: + params: + a: 7110263403336727956917832743443215860186721116830095498913732163684697706876953857073907972113277789027662923341642 + b: 5381542616878395772307449677159299256961129945718345683548128255485830398192764182681972365563411471101227075617197 + generator: + x: 3093477404411145756332132421692292074071171674710074243290549878642414041956821306987982277902602857484529793458368 + "y": 2050032195634781145355456866885219395275950645376347239510583784130496504856606986087126019104421998477492949526421 + form: Weierstrass + order: 2462625387274654950767440006258975862817483704404090416745738034557663054564649171262659326683244604346084081047321 + cofactor: 4 +- polyname: E-222 + names: + - E-222 + groups: + - other + hash: c8d5dfd5c51e7c6bc3a916181f0c570a287227e14968f6db5698a23ed1983358 + field: + type: + p: 6739986666787659948666753771754907668409286105635143120275902562187 + bits: + params: + c: 1 + d: 160102 + generator: + x: 2705691079882681090389589001251962954446177367541711474502428610129 + "y": 28 + form: Weierstrass + order: 1684996666696914987166688442938726735569737456760058294185521417407 + cofactor: 4 +- polyname: E-382 + names: + - E-382 + groups: + - other + hash: 1472d1c5b8851b90f09e524018145c58632369e8e8e54f3d2e96122497cc712a + field: + type: + p: 9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576599 + bits: + params: + c: 1 + d: 9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997509345 + generator: + x: 3914921414754292646847594472454013487047137431784830634731377862923477302047857640522480241298429278603678181725699 + "y": 17 + form: Weierstrass + order: 2462625387274654950767440006258975862817483704404090416745738034557663054564649171262659326683244604346084081047321 + cofactor: 4 +- polyname: E-521 + names: + - E-521 + groups: + - other + hash: a0bc38fde8d643a66f3968594733ace1e6f58c853868f21f4ffdbb52896ecdce + field: + type: + p: 6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151 + bits: + params: + c: 1 + d: 6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291114681137 + generator: + x: 1571054894184995387535939749894317568645297350402905821437625181152304994381188529632591196067604100772673927915114267193389905003276673749012051148356041324 + "y": 12 + form: Weierstrass + order: 1716199415032652428745475199770348304317358825035826352348615864796385795849413675475876651663657849636693659065234142604319282948702542317993421293670108523 + cofactor: 4 +- polyname: Ed25519 + names: + - Ed25519 + groups: + - other + hash: 110eb0b1bb67e774f44c2a96ab040ac2ebffa726479f3550f277067d09df5a27 + field: + type: + p: 57896044618658097711785492504343953926634992332820282019728792003956564819949 + bits: + params: + a: 57896044618658097711785492504343953926634992332820282019728792003956564819948 + d: 37095705934669439343138083508754565189542113879843219016388785533085940283555 + generator: + x: 15112221349535400772501151409588531511454012693041857206046113283949847762202 + "y": 46316835694926478169428394003475163141307993866256225615783033603165251855960 + form: Weierstrass + order: 7237005577332262213973186563042994240857116359379907606001950938285454250989 + cofactor: 8 +- polyname: Ed448 + names: + - Ed448 + groups: + - other + hash: 1c26ac21ca247cdc8707b5de56a5a73b5eb45426c79ee2110ba482c6e9f3e0f8 + field: + type: + p: 726838724295606890549323807888004534353641360687318060281490199180612328166730772686396383698676545930088884461843637361053498018365439 + bits: + params: + a: 1 + d: 611975850744529176160423220965553317543219696871016626328968936415087860042636474891785599283666020414768678979989378147065462815545017 + generator: + x: 345397493039729516374008604150537410266655260075183290216406970281645695073672344430481787759340633221708391583424041788924124567700732 + "y": 363419362147803445274661903944002267176820680343659030140745099590306164083365386343198191849338272965044442230921818680526749009182721 + form: Weierstrass + order: 181709681073901722637330951972001133588410340171829515070372549795146003961539585716195755291692375963310293709091662304773755859649779 + cofactor: 4 +- polyname: Ed448-Goldilocks + names: + - Ed448-Goldilocks + groups: + - other + hash: 8d58ad9984d8871b39d9f08bd666071d90929f17def436d3ebcf33bb15fb4aed + field: + type: + p: 726838724295606890549323807888004534353641360687318060281490199180612328166730772686396383698676545930088884461843637361053498018365439 + bits: + params: + a: 1 + d: 726838724295606890549323807888004534353641360687318060281490199180612328166730772686396383698676545930088884461843637361053498018326358 + generator: + x: 484559149530404593699549205258669689569094240458212040187660132787056912146709081364401144455726350866276831544947397859048262938744149 + "y": 494088759867433727674302672526735089350544552303727723746126484473087719117037293890093462157703888342865036477787453078312060500281069 + form: Weierstrass + order: 181709681073901722637330951972001133588410340171829515070372549795146003961539585716195755291692375963310293709091662304773755859649779 + cofactor: 4 +- polyname: FRP256v1 + names: + - FRP256v1 + groups: + - ANSSI + hash: c023631183f27d694cee4634704759fee453fc746f9e43d3df9c491997527b25 + field: + type: + p: 109454571331697278617670725030735128145969349647868738157201323556196022393859 + bits: + params: + a: 109454571331697278617670725030735128145969349647868738157201323556196022393856 + b: 107744541122042688792155207242782455150382764043089114141096634497567301547839 + generator: + x: 82638672503301278923015998535776227331280144783487139112686874194432446389503 + "y": 43992510890276411535679659957604584722077886330284298232193264058442323471611 + form: Weierstrass + order: 109454571331697278617670725030735128146004546811402412653072203207726079563233 + cofactor: 1 +- polyname: FourQ + names: + - FourQ + groups: + - other + hash: 365f3e7143f153b26d9b63cfe9189e92ad3ba1140ce15943fcfb388b26acee82 + field: + type: + base: 170141183460469231731687303715884105727 + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + params: + a: + poly: + - power: + coeff: 0 + d: + poly: + - power: + coeff: 125317048443780598345676279555970305165 + - power: + coeff: 4205857648805777768770 + form: Weierstrass + order: 73846995687063900142583536357581573884798075859800097461294096333596429543 + cofactor: 392 +- polyname: Fp224BN + names: + - Fp224BN + groups: + - other + hash: 1529d6faad9b66f34db7dd3bf3eaba68ce19758859a71c74a24dfe95075ffcab + field: + type: + p: 26959946667149205758383469736921695435015736735261155141423417423923 + bits: + params: + a: 0 + b: 3 + generator: + x: 1 + "y": 2 + form: Weierstrass + order: 26959946667149205758383469736921690242718878200571531029749235996909 + cofactor: 1 +- polyname: Fp254BNa + names: + - Fp254BNa + groups: + - other + hash: 5c22a47f41b88e6be683cb3182d940039f4148e65c79ca98116ae48144d26a7f + field: + type: + p: 16030569034403128277756688287498649515636838101184337499778392980116222246913 + bits: + params: + a: 0 + b: 5 + generator: + x: 1 + "y": 6002591013793082186349685741340126608890177833573736884572962620906403581104 + form: Weierstrass + order: 16030569034403128277756688287498649515510226217719936227669524443298095169537 + cofactor: 1 +- polyname: Fp254BNb_bn254 + names: + - bn254 + - Fp254BNb + groups: + - Barreto-Naehrig + - other + hash: 1f53c41b30707857dcb7d8286d5a787acbd3a5df6fcde13d40a8f599300cffa8 + field: + type: + p: 16798108731015832284940804142231733909889187121439069848933715426072753864723 + bits: + params: + a: 0 + b: 2 + generator: + x: 16798108731015832284940804142231733909889187121439069848933715426072753864722 + "y": 1 + form: Weierstrass + order: 16798108731015832284940804142231733909759579603404752749028378864165570215949 + cofactor: 1 +- polyname: Fp254n2BNa + names: + - Fp254n2BNa + groups: + - other + hash: f1885a95a230a8448aceb943e0d195320253736f5c12477e85d4ad22dcad4fba + field: + type: + base: 16030569034403128277756688287498649515636838101184337499778392980116222246913 + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 5 + params: + a: + poly: + - power: + coeff: 0 + b: + poly: + - power: + coeff: 16030569034403128277756688287498649515636838101184337499778392980116222246912 + generator: + x: + poly: + - power: + coeff: 4574294726478991705079958181389121382249029767364513080035216115522393096050 + - power: + coeff: 11620102069743557432508134164631679968248472647222803640333454544048311830965 + "y": + poly: + - power: + coeff: 6744920927783698390056369890426382297011375037280055233736013189774035833669 + - power: + coeff: 10706785408712264766115933936753367080944659484916409003374807737756357043751 + form: Weierstrass + order: 16030569034403128277756688287498649515510226217719936227669524443298095169537 + cofactor: 16030569034403128277756688287498649515763449984648738771887261516934349324289 +- polyname: Fp256BN + names: + - Fp256BN + groups: + - other + hash: 78e3238790ced0360d2723704a8a715ba21aff5a5c616804dae47a36dcd2914f + field: + type: + p: 115792089237314936872688561244471742058375878355761205198700409522629664518163 + bits: + params: + a: 0 + b: 3 + generator: + x: 1 + "y": 2 + form: Weierstrass + order: 115792089237314936872688561244471742058035595988840268584488757999429535617037 + cofactor: 1 +- polyname: Fp384BN + names: + - Fp384BN + groups: + - other + hash: f64a8ca7eff206ee861988a1387db1e2bbb343a8da2ae1e9860a9e6771dbc91c + field: + type: + p: 39402006196394479212278605372068645601647601647604977711041989197213181721117185302456933847594895764913993728971019 + bits: + params: + a: 0 + b: 3 + generator: + x: 1 + "y": 2 + form: Weierstrass + order: 39402006196394479212278605372068645601647601647604977711035712095477795040353349547661912204165862202002491141937013 + cofactor: 1 +- polyname: Fp512BN + names: + - Fp512BN + groups: + - other + hash: d53a76ebafb488d9d57895ec831026c5a57746a4b55b3332124a189ff9500d1f + field: + type: + p: 13407807929942597099574024998205830437246153344875111580494527427714590099881795845981157516604994291639750834285779043186149750164319950153126044364566323 + bits: + params: + a: 0 + b: 3 + generator: + x: 1 + "y": 2 + form: Weierstrass + order: 13407807929942597099574024998205830437246153344875111580494527427714590099881680053891920200409570720654742146445677939306408461754626647833262056300743149 + cofactor: 1 +- polyname: JubJub + names: + - JubJub + groups: + - other + hash: b2abf495c47a4a40b23b3cbad247879bebfe2cd281d8254c0fd700816e55238b + field: + type: + p: 52435875175126190479447740508185965837690552500527637822603658699938581184513 + bits: + params: + a: 52435875175126190479447740508185965837690552500527637822603658699938581184512 + d: 19257038036680949359750312669786877991949435402254120286184196891950884077233 + generator: + x: 8076246640662884909881801758704306714034609987455869804520522091855516602923 + "y": 13262374693698910701929044844600465831413122818447359594527400194675274060458 + form: Weierstrass + order: 6554484396890773809930967563523245729705921265872317281365359162392183254199 + cofactor: 8 +- polyname: K-163_ansit163k1_sect163k1_wap-wsg-idm-ecid-wtls3 + names: + - K-163 + - sect163k1 + - wap-wsg-idm-ecid-wtls3 + - ansit163k1 + groups: + - NIST + - SECG + - WTLS + - ANSI X9.63 + hash: 0f01db68084b79ea6e70b8dd3ae7c07001f7c863c629f84893328f1979c8cf61 + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 1 + b: 1 + generator: + x: 4373527398576640063579304354969275615843559206632 + "y": 3705292482178961271312284701371585420180764402649 + form: Weierstrass + order: 5846006549323611672814741753598448348329118574063 + cofactor: 2 +- polyname: K-233_ansit233k1_sect233k1_wap-wsg-idm-ecid-wtls10 + names: + - K-233 + - sect233k1 + - wap-wsg-idm-ecid-wtls10 + - ansit233k1 + groups: + - NIST + - SECG + - WTLS + - ANSI X9.63 + hash: 565f26a9b3a93d1ccf0f7c771fe01fb54c7021b22a97b81a4ef20be89ad1ef5e + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 0 + b: 1 + generator: + x: 9980522611481012342443087688797002679043489582926858424680330554073382 + "y": 12814767389816757102953168016268660157166792010263439198493421287958179 + form: Weierstrass + order: 3450873173395281893717377931138512760570940988862252126328087024741343 + cofactor: 4 +- polyname: K-283_ansit283k1_sect283k1 + names: + - K-283 + - sect283k1 + - ansit283k1 + groups: + - NIST + - SECG + - ANSI X9.63 + hash: bc7cfa63335c5a6bcbdf2389ac39ab762aa809eab5ddb129b211bf9bd72abbfb + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 0 + b: 1 + generator: + x: 9737095673315832344313391497449387731784428326114441977662399932694280557468376967222 + "y": 3497201781826516614681192670485202061196189998012192335594744939847890291586353668697 + form: Weierstrass + order: 3885337784451458141838923813647037813284811733793061324295874997529815829704422603873 + cofactor: 4 +- polyname: K-409_ansit409k1_sect409k1 + names: + - K-409 + - sect409k1 + - ansit409k1 + groups: + - NIST + - SECG + - ANSI X9.63 + hash: c8c7aec8a92cef98614453f27575866578625a590ee561e2cf7df8d4c2fa6baa + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 0 + b: 1 + generator: + x: 250320606379109783324043328573944955992891736106680352671677389786222910027088291741834878773922859231376787355260678190918 + "y": 1248286015820357801871250692732381479576954307085883348044850800154576601694946857655762823838587314348501053191643883120747 + form: Weierstrass + order: 330527984395124299475957654016385519914202341482140609642324395022880711289249191050673258457777458014096366590617731358671 + cofactor: 4 +- polyname: K-571_ansit571k1_sect571k1 + names: + - K-571 + - sect571k1 + - ansit571k1 + groups: + - NIST + - SECG + - ANSI X9.63 + hash: 06faf17d33808262b08b33d525c79c90978936f67d820890757353e78bbbbb96 + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 0 + b: 1 + generator: + x: 2350112116304015523482377231684766626496228526415123964355167346023168453994712131915750801804327368697642410358740900984083649787136749901162917044657353481320802543241586 + "y": 3177153047892284027955092820645594290840691892110463136294318330308675645046690871624329737215785097835850661950174873195667225591921644089615520604151251098277510177212323 + form: Weierstrass + order: 1932268761508629172347675945465993672149463664853217499328617625725759571144780212268133978522706711834706712800825351461273674974066617311929682421617092503555733685276673 + cofactor: 4 +- polyname: M-221 + names: + - M-221 + groups: + - other + hash: 95f2bee32d1909a5b58b0ce68ea610acb27f0903f35a6df82f69f120af54684a + field: + type: + p: 3369993333393829974333376885877453834204643052817571560137951281149 + bits: + params: + a: 117050 + b: 1 + generator: + x: 4 + "y": 1630203008552496124843674615123983630541969261591546559209027208557 + form: Weierstrass + order: 421249166674228746791672110734682167926895081980396304944335052891 + cofactor: 8 +- polyname: M-383 + names: + - M-383 + groups: + - other + hash: b304cfe2679bfb80797c1223911db21cea3452e56af6c6d247e7442d14842978 + field: + type: + p: 19701003098197239606139520050071806902539869635232723333974146702122860885748605305707133127442457820403313995153221 + bits: + params: + a: 2065150 + b: 1 + generator: + x: 12 + "y": 4737623401891753997660546300375902576839617167257703725630389791524463565757299203154901655432096558642117242906494 + form: Weierstrass + order: 2462625387274654950767440006258975862817483704404090416746934574041288984234680883008327183083615266784870011007447 + cofactor: 8 +- polyname: M-511 + names: + - M-511 + groups: + - other + hash: ff79912078aff03dd4b23098e12bee9b6e579cff33a2726bbdc2aab553a90545 + field: + type: + p: 6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503041861 + bits: + params: + a: 530438 + b: 1 + generator: + x: 5 + "y": 2500410645565072423368981149139213252211568685173608590070979264248275228603899706950518127817176591878667784247582124505430745177116625808811349787373477 + form: Weierstrass + order: 837987995621412318723376562387865382967460363787024586107722590232610251879607410804876779383055508762141059258497448934987052508775626162460930737942299 + cofactor: 8 +- polyname: MDC201601 + names: + - MDC201601 + groups: + - other + hash: 04b187b8e2912915fc004f5fdbddea70d7edb51a6b797771f3df9b637d2962f7 + field: + type: + p: 109112363276961190442711090369149551676330307646118204517771511330536253156371 + bits: + params: + c: 1 + d: 39384817741350628573161184301225915800358770588933756071948264625804612259721 + generator: + x: 82549803222202399340024462032964942512025856818700414254726364205096731424315 + "y": 91549545637415734422658288799119041756378259523097147807813396915125932811445 + form: Weierstrass + order: 27278090819240297610677772592287387918930509574048068887630978293185521973243 + cofactor: 4 +- polyname: Oakley Group 3 + names: + - Oakley Group 3 + groups: + - Oakley + hash: 32057137edffb96a70283debf89355d3092e34cecc0ace89fad86a09983a213e + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 0 + b: 471951 + form: Weierstrass + order: 45671926166590716193865565914344635196769237316 + cofactor: 1 +- polyname: Oakley Group 4 + names: + - Oakley Group 4 + groups: + - Oakley + hash: 33c1fa65094b2debc2b06d55630b033b8951184412f130bad89ef7f02dbd779c + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 0 + b: 7913 + form: Weierstrass + order: 49039857307708443467467104857652682248052385001045053116 + cofactor: 1 +- polyname: Pallas + names: + - Pallas + groups: + - other + hash: 8342d149e22f819ddb874ebb9df2830f46ed178fea67e028695bebfaa520dcbe + field: + type: + p: 28948022309329048855892746252171976963363056481941560715954676764349967630337 + bits: + params: + a: 0 + b: 5 + generator: + x: 28948022309329048855892746252171976963363056481941560715954676764349967630336 + "y": 2 + form: Weierstrass + order: 28948022309329048855892746252171976963363056481941647379679742748393362948097 + cofactor: 1 +- polyname: SM2 + names: + - SM2 + groups: + - OSCAA + hash: 5a21c5dc21e58928d7e3cf253903d1d18981e5b5a3c1952fb02e818c837eb018 + field: + type: + p: 115792089210356248756420345214020892766250353991924191454421193933289684991999 + bits: + params: + a: 115792089210356248756420345214020892766250353991924191454421193933289684991996 + b: 18505919022281880113072981827955639221458448578012075254857346196103069175443 + generator: + x: 22963146547237050559479531362550074578802567295341616970375194840604139615431 + "y": 85132369209828568825618990617112496413088388631904505083283536607588877201568 + form: Weierstrass + order: 115792089210356248756420345214020892766061623724957744567843809356293439045923 + cofactor: 1 +- polyname: Tom-256 + names: + - Tom-256 + groups: + - other + hash: a3a0196a0e14de6ad9d2ab740c5756cbc4f3aef852ea5898a36e0b5bc800e51a + field: + type: + p: 115792089210356248762697446949407573530594504085698471288169790229257723883799 + bits: + params: + a: 115792089210356248762697446949407573530594504085698471288169790229257723883796 + b: 81531206846337786915455327229510804132577517753388365729879493166393691077718 + generator: + x: 3 + "y": 40902200210088653215032584946694356296222563095503428277299570638400093548589 + form: Weierstrass + order: 115792089210356248762697446949407573530086143415290314195533631308867097853951 + cofactor: 1 +- polyname: Tom-384 + names: + - Tom-384 + groups: + - other + hash: 1501601e2e846d428e7aa61b94a13fc2f8010c9daaa0900fa3b6dfbaad83b3ba + field: + type: + p: 39402006196394479212279040100143613805079739270465446667940039326625812510850684806287457257749692633059273959086021 + bits: + params: + a: 20026862879313379863654166607105301622642181700373777070134388010349273891892149760539610171757683236290527048057018 + b: 23911602450661234612404882548336064535929415695327240026670179346429452149970125567156571346957298429887433518292555 + form: Weierstrass + order: 39402006196394479212279040100143613805079739270465446667948293404245721771496870329047266088258938001861606973112319 + cofactor: 1 +- polyname: Tom-521 + names: + - Tom-521 + groups: + - other + hash: a86ba06f0ae21d6c877d0049490fe58e3aa06075d440bf65bedf62e0c37d77ba + field: + type: + p: 6864797660130609714981900799081393217269435300143305409394463459185543183397661185305296734178420671269665416453639305952979026956266322795023512882444055113 + bits: + params: + a: 3209713904684906354012661528459023640897134508190122320972861780394466673288993283913171594605588414874888180171568616344548577233510087636356726171377149922 + b: 814335665749069324950189573282961229628427636202131512537771208808489331024392056918381454380460292918303892046559533938729632355763728253895986616673142557 + form: Weierstrass + order: 6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151 + cofactor: 1 +- polyname: Tweedledee + names: + - Tweedledee + groups: + - other + hash: 4064a8dce08e74062b70d99c9f8ccd1ccaf27d15758d2041a515301e75073d18 + field: + type: + p: 28948022309329048855892746252171976963322203655954433126947083963168578338817 + bits: + params: + a: 0 + b: 5 + generator: + x: 28948022309329048855892746252171976963322203655954433126947083963168578338816 + "y": 2 + form: Weierstrass + order: 28948022309329048855892746252171976963322203655955319056773317069363642105857 + cofactor: 1 +- polyname: Tweedledum + names: + - Tweedledum + groups: + - other + hash: 9e933d6581094032a73b697a43afbc77d39e56ccd98e5b4b7feaf03d1a70749e + field: + type: + p: 28948022309329048855892746252171976963322203655955319056773317069363642105857 + bits: + params: + a: 0 + b: 5 + generator: + x: 28948022309329048855892746252171976963322203655955319056773317069363642105856 + "y": 2 + form: Weierstrass + order: 28948022309329048855892746252171976963322203655954433126947083963168578338817 + cofactor: 1 +- polyname: Vesta + names: + - Vesta + groups: + - other + hash: bbc95035a27d462deaaa86f05b88b44652d2cd8fcf9a44ee0a24c5f576115a34 + field: + type: + p: 28948022309329048855892746252171976963363056481941647379679742748393362948097 + bits: + params: + a: 0 + b: 5 + generator: + x: 28948022309329048855892746252171976963363056481941647379679742748393362948096 + "y": 2 + form: Weierstrass + order: 28948022309329048855892746252171976963363056481941560715954676764349967630337 + cofactor: 1 +- polyname: ansip160k1_secp160k1 + names: + - secp160k1 + - ansip160k1 + groups: + - SECG + - ANSI X9.63 + hash: 3c857e3a12c796d8d9931744d06e317ba88af4400aef9f4b2b6a7f7413344870 + field: + type: + p: 1461501637330902918203684832716283019651637554291 + bits: + params: + a: 0 + b: 7 + generator: + x: 338530205676502674729549372677647997389429898939 + "y": 842365456698940303598009444920994870805149798382 + form: Weierstrass + order: 1461501637330902918203686915170869725397159163571 + cofactor: 1 +- polyname: ansip160r1_secp160r1_wap-wsg-idm-ecid-wtls7 + names: + - secp160r1 + - wap-wsg-idm-ecid-wtls7 + - ansip160r1 + groups: + - SECG + - WTLS + - ANSI X9.63 + hash: ecbf00f26dd763ac13ce61fdcce287a470ba90fc5ef205393204b8acc241d2c1 + field: + type: + p: 1461501637330902918203684832716283019653785059327 + bits: + params: + a: 1461501637330902918203684832716283019653785059324 + b: 163235791306168110546604919403271579530548345413 + generator: + x: 425826231723888350446541592701409065913635568770 + "y": 203520114162904107873991457957346892027982641970 + form: Weierstrass + order: 1461501637330902918203687197606826779884643492439 + cofactor: 1 +- polyname: ansip160r2_secp160r2 + names: + - secp160r2 + - ansip160r2 + groups: + - SECG + - ANSI X9.63 + hash: 8ef6fc533965bbbf5e9110266d580b37d9d126ad2afe3b3c98390e4203f3200e + field: + type: + p: 1461501637330902918203684832716283019651637554291 + bits: + params: + a: 1461501637330902918203684832716283019651637554288 + b: 1032640608390511495214075079957864673410201913530 + generator: + x: 473058756663038503608844550604547710019657059949 + "y": 1454008495369951658060798698479395908327453245230 + form: Weierstrass + order: 1461501637330902918203685083571792140653176136043 + cofactor: 1 +- polyname: ansip192k1_secp192k1 + names: + - secp192k1 + - ansip192k1 + groups: + - SECG + - ANSI X9.63 + hash: cf1554a3acaf7423546d6d2a2d91e814860044514e7bc25b0eeb67e03256ecb6 + field: + type: + p: 6277101735386680763835789423207666416102355444459739541047 + bits: + params: + a: 0 + b: 3 + generator: + x: 5377521262291226325198505011805525673063229037935769709693 + "y": 3805108391982600717572440947423858335415441070543209377693 + form: Weierstrass + order: 6277101735386680763835789423061264271957123915200845512077 + cofactor: 1 +- polyname: ansip224k1_secp224k1 + names: + - secp224k1 + - ansip224k1 + groups: + - SECG + - ANSI X9.63 + hash: 8ba29c3a4297d9ebcb660ef4afd2d75d9b53f318c8f7985caa86c32bea51c0d4 + field: + type: + p: 26959946667150639794667015087019630673637144422540572481099315275117 + bits: + params: + a: 0 + b: 5 + generator: + x: 16983810465656793445178183341822322175883642221536626637512293983324 + "y": 13272896753306862154536785447615077600479862871316829862783613755813 + form: Weierstrass + order: 26959946667150639794667015087019640346510327083120074548994958668279 + cofactor: 1 +- polyname: ansip256k1_secp256k1 + names: + - secp256k1 + - ansip256k1 + groups: + - SECG + - ANSI X9.63 + hash: 84a7c4dea9a7c4a255fef0e5bb9e765a1fb8bc4d455eea679aa43ae36e02a1e8 + field: + type: + p: 115792089237316195423570985008687907853269984665640564039457584007908834671663 + bits: + params: + a: 0 + b: 7 + generator: + x: 55066263022277343669578718895168534326250603453777594175500187360389116729240 + "y": 32670510020758816978083085130507043184471273380659243275938904335757337482424 + form: Weierstrass + order: 115792089237316195423570985008687907852837564279074904382605163141518161494337 + cofactor: 1 +- polyname: ansit163r1_sect163r1 + names: + - sect163r1 + - ansit163r1 + groups: + - SECG + - ANSI X9.63 + hash: 00b77d844a70b90f8cc5d1667e2b193e168a8029897fdeee076aa28fb5b98417 + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 11272584574060402170600355401469405585559711656674 + b: 10341149448350347985759700389662805134872097107929 + generator: + x: 4987329473907365857178124865428460464972118795860 + "y": 384617752061712164277996110850745784319273334915 + form: Weierstrass + order: 5846006549323611672814738465098798981304420411291 + cofactor: 2 +- polyname: ansit193r1_sect193r1 + names: + - sect193r1 + - ansit193r1 + groups: + - SECG + - ANSI X9.63 + hash: e615f16e71bdbc35d7d5388487269f5d5cac89ec41ef059c92b40a990652a530 + field: + type: + bits: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + degree: + basis: + params: + a: 576751075026818752436662854952381179295973340004111842049 + b: 6227610566229294112017936480812099737256078134172818311188 + generator: + x: 12272390550309971036302743370064453956929989632374098413025 + "y": 929037239281491062957629204723061153948896755298992003845 + form: Weierstrass + order: 6277101735386680763835789423269548053691575186051040197193 + cofactor: 2 +- polyname: ansit193r2_sect193r2 + names: + - sect193r2 + - ansit193r2 + groups: + - SECG + - ANSI X9.63 + hash: 4f1922111614a0c57cc9bfde13c265fa0d0b20fb1e76cee7c0d80740cfdd79ba + field: + type: + bits: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + degree: + basis: + params: + a: 8727883239842844933732220251183800395075376381527050055835 + b: 4946476016329916785216072668156805272487483199688540362414 + generator: + x: 5338303459516340642470631733027504050881957481257426321039 + "y": 11342401828932489703393760444197037534175341100765106065260 + form: Weierstrass + order: 6277101735386680763835789423314955362437298222279840143829 + cofactor: 2 +- polyname: ansit239k1_sect239k1 + names: + - sect239k1 + - ansit239k1 + groups: + - SECG + - ANSI X9.63 + hash: 94e13ec4d49886c2648906a6dfae15d4c1eeffb0293bbf929f1908bc3fb2a57a + field: + type: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + bits: + degree: + basis: + params: + a: 0 + b: 1 + generator: + x: 287304427851433003189509051221031978591368025490899286200762613294446044 + "y": 815727950839377703994180670110555770834903050527325106707102047979958474 + form: Weierstrass + order: 220855883097298041197912187592864814948216561321709848887480219215362213 + cofactor: 4 +- polyname: bn158 + names: + - bn158 + groups: + - Barreto-Naehrig + hash: 8bb85e9b2c7c9b650bac3e618400b5e51c8a8a748b4efd821b3069999cff4534 + field: + type: + p: 206327671360737302491015800744139033450591027219 + bits: + params: + a: 0 + b: 17 + generator: + x: 206327671360737302491015800744139033450591027218 + "y": 4 + form: Weierstrass + order: 206327671360737302491015346511080613560608358413 + cofactor: 1 +- polyname: bn190 + names: + - bn190 + groups: + - Barreto-Naehrig + hash: 4f6c4bc4aee4d4c7520f1a984fb4d2ec7ee6771aae31b0a5da6b7ce18dab45e9 + field: + type: + p: 882718062907666288196217719514349254081211436031597871123 + bits: + params: + a: 0 + b: 4097 + generator: + x: 882718062907666288196217719514349254081211436031597871122 + "y": 64 + form: Weierstrass + order: 882718062907666288196217719484638682513035928574189633549 + cofactor: 1 +- polyname: bn222 + names: + - bn222 + groups: + - Barreto-Naehrig + hash: 281c85a3ac996132c108471de141be3acd135ae385b84a3660f2cd67313f84d4 + field: + type: + p: 3776454638595735622662624104352071470606035506175466834584724832359 + bits: + params: + a: 0 + b: 257 + generator: + x: 3776454638595735622662624104352071470606035506175466834584724832358 + "y": 16 + form: Weierstrass + order: 3776454638595735622662624104352069527295808446240650308050481053793 + cofactor: 1 +- polyname: bn286 + names: + - bn286 + groups: + - Barreto-Naehrig + hash: ce2a4984f3b998ec265efe787177c8211e15f6c6300f5fb4766e39be3b680a14 + field: + type: + p: 70004402153711663438486789763681164697717379781714415888917198592851957854802452414483 + bits: + params: + a: 0 + b: 2 + generator: + x: 70004402153711663438486789763681164697717379781714415888917198592851957854802452414482 + "y": 1 + form: Weierstrass + order: 70004402153711663438486789763681164697717371414851075681210457293135137373936058105869 + cofactor: 1 +- polyname: bn318 + names: + - bn318 + groups: + - Barreto-Naehrig + hash: 7a1a2253c81e4b6c5f8cf30e13952a4b199cc4325fcc9556fce8c33e49fc20dc + field: + type: + p: 300391510669785740008207650393722453451551004041839877989597999344720209212220677955394396491803 + bits: + params: + a: 0 + b: 2 + generator: + x: 300391510669785740008207650393722453451551004041839877989597999344720209212220677955394396491802 + "y": 1 + form: Weierstrass + order: 300391510669785740008207650393722453451551004041291798149912405964831108443866204630639420903397 + cofactor: 1 +- polyname: bn350 + names: + - bn350 + groups: + - Barreto-Naehrig + hash: 1315931419cbc06c773af7d0d6007721f9bf0d918225254ba1a41f317c52a574 + field: + type: + p: 1290053601431926622698139429963477963560185337848708333001329190095450433717605248005163618066274214477843 + bits: + params: + a: 0 + b: 2 + generator: + x: 1290053601431926622698139429963477963560185337848708333001329190095450433717605248005163618066274214477842 + "y": 1 + form: Weierstrass + order: 1290053601431926622698139429963477963560185337848708297084013012074484292947578599243756973055615218745357 + cofactor: 1 +- polyname: bn382 + names: + - bn382 + groups: + - Barreto-Naehrig + hash: 88591c1ac884c68b5d19b2ca151adf598f025b83e5ec1c69b06c9e81b419d05b + field: + type: + p: 5540996953667913971058039301942914304734176495422447785045292539108217242186829586959562222833658991069414454984723 + bits: + params: + a: 0 + b: 2 + generator: + x: 5540996953667913971058039301942914304734176495422447785045292539108217242186829586959562222833658991069414454984722 + "y": 1 + form: Weierstrass + order: 5540996953667913971058039301942914304734176495422447785042938606876043190415948413757785063597439175372845535461389 + cofactor: 1 +- polyname: bn414 + names: + - bn414 + groups: + - Barreto-Naehrig + hash: da363c367006d37b44ff780170814999dceee99ffba332ea67cfa4cd33de85e2 + field: + type: + p: 23798378007415224600523786020682647333689401448557870707284910146274969430638668827605864233418695199132888067995603277185043 + bits: + params: + a: 0 + b: 2 + generator: + x: 23798378007415224600523786020682647333689401448557870707284910146274969430638668827605864233418695199132888067995603277185042 + "y": 1 + form: Weierstrass + order: 23798378007415224600523786020682647333689401448557870707284909992007740222957543118812793071766370473094186144051937595621389 + cofactor: 1 +- polyname: bn446 + names: + - bn446 + groups: + - Barreto-Naehrig + hash: c425ecdffc4eb547175c586749695faf0e62f5d510e3e7c71565b39ff5ef9ebb + field: + type: + p: 102211695604069718983520304652693874995639508460729604902280098199792736381528662976886082950231100101353700265360419596271313339023463 + bits: + params: + a: 0 + b: 257 + generator: + x: 102211695604069718983520304652693874995639508460729604902280098199792736381528662976886082950231100101353700265360419596271313339023462 + "y": 16 + form: Weierstrass + order: 102211695604069718983520304652693874995639508460729604902280098199782626401528481486963081749137698194804284966854672709980015705456737 + cofactor: 1 +- polyname: bn478 + names: + - bn478 + groups: + - Barreto-Naehrig + hash: 857fc050f69d8623e479994f086793c8b5bd86a4bcdc7d7a6a3a3362c282b3f2 + field: + type: + p: 438995889888186407347652991425301965681188858026820794321677547168174289793337316790981018819616267513532082540968716717668009346359904036716563 + bits: + params: + a: 0 + b: 2 + generator: + x: 438995889888186407347652991425301965681188858026820794321677547168174289793337316790981018819616267513532082540968716717668009346359904036716562 + "y": 1 + form: Weierstrass + order: 438995889888186407347652991425301965681188858026820794321677547168174289130769667499086895369551161693205410443647102461394826290024401809178637 + cofactor: 1 +- polyname: bn510 + names: + - bn510 + groups: + - Barreto-Naehrig + hash: 15e44446b9304c6c3e8a7c5f2a663cb3c0a6f00b0d57cf98fe01390e6572a941 + field: + type: + p: 1885472990148177717128295978135615557087890561449182466062048685887447869640291029478850359875117134356442109712418887586250126028988200000205538820358163 + bits: + params: + a: 0 + b: 257 + generator: + x: 1885472990148177717128295978135615557087890561449182466062048685887447869640291029478850359875117134356442109712418887586250126028988200000205538820358162 + "y": 16 + form: Weierstrass + order: 1885472990148177717128295978135615557087890561449182466062048685887447869640247607445386366301833287191462262201056384113205166186492699745384261711036429 + cofactor: 1 +- polyname: bn542 + names: + - bn542 + groups: + - Barreto-Naehrig + hash: 615b4635047c456e3728842b1359dce05603ce6ca00c6b0df2adfee2dd52e044 + field: + type: + p: 8098075721811414878105028299024751526203735822988204570759586766702677409513512479452243326535098163859087683174740008257961979909363199815965376947448202431299603 + bits: + params: + a: 0 + b: 2 + generator: + x: 8098075721811414878105028299024751526203735822988204570759586766702677409513512479452243326535098163859087683174740008257961979909363199815965376947448202431299602 + "y": 1 + form: Weierstrass + order: 8098075721811414878105028299024751526203735822988204570759586766702677409513512476606531513682044191052700214290735060579726517341692215080330797439484071453392909 + cofactor: 1 +- polyname: bn574 + names: + - bn574 + groups: + - Barreto-Naehrig + hash: c9b244fee0e60106ea81a1a3e739ec483be9ab19bd547fb73add25b47a5d2130 + field: + type: + p: 34780870876742995377456858134373496984033068311331682913917171552933960384313251034752424287877192201334219790531446172327873978399527076876359580494778958227471204544938003 + bits: + params: + a: 0 + b: 2 + generator: + x: 34780870876742995377456858134373496984033068311331682913917171552933960384313251034752424287877192201334219790531446172327873978399527076876359580494778958227471204544938002 + "y": 1 + form: Weierstrass + order: 34780870876742995377456858134373496984033068311331682913917171552933960384313251034752237791574610238612409960091596304949053522134642445830488254167660733023711241170845709 + cofactor: 1 +- polyname: bn606 + names: + - bn606 + groups: + - Barreto-Naehrig + hash: bc9466cec128510b44bc4144588e08824a7c3b9572006d55f71e2e664da776f7 + field: + type: + p: 149382560479715729921650870888843346324510370210262391936546251975130529782979972747938509514543700633492700155237654428326390908646123885612873792268661751975617273279725264282340883 + bits: + params: + a: 0 + b: 2 + generator: + x: 149382560479715729921650870888843346324510370210262391936546251975130529782979972747938509514543700633492700155237654428326390908646123885612873792268661751975617273279725264282340882 + "y": 1 + form: Weierstrass + order: 149382560479715729921650870888843346324510370210262391936546251975130529782979972747938509502321484775485784316096253172769695086670946327244936307341349630660052453228888267876614669 + cofactor: 1 +- polyname: bn638 + names: + - bn638 + groups: + - Barreto-Naehrig + hash: 5097fd50cbe3d755fa05156dbb33a75e3236d73390e02044ad05cff671331ded + field: + type: + p: 641593209463000238284923228689168801117629789043238356871360716989515584497239494051781991794253619096481315470262367432019698642631650152075067922231951354925301839708740457083469793717125223 + bits: + params: + a: 0 + b: 257 + generator: + x: 641593209463000238284923228689168801117629789043238356871360716989515584497239494051781991794253619096481315470262367432019698642631650152075067922231951354925301839708740457083469793717125222 + "y": 16 + form: Weierstrass + order: 641593209463000238284923228689168801117629789043238356871360716989515584497239494051781991794252818101344337098690003906272221387599391201666378807960583525233832645565592955122034352630792289 + cofactor: 1 +- polyname: brainpoolP160r1 + names: + - brainpoolP160r1 + groups: + - Brainpool + hash: 419d7a2b3717501987a1d636692cd1b50ebd1a249c9b599b72771b1f8ce35a7a + field: + type: + p: 1332297598440044874827085558802491743757193798159 + bits: + params: + a: 297190522446607939568481567949428902921613329152 + b: 173245649450172891208247283053495198538671808088 + generator: + x: 1089473557631435284577962539738532515920566082499 + "y": 127912481829969033206777085249718746721365418785 + form: Weierstrass + order: 1332297598440044874827085038830181364212942568457 + cofactor: 1 +- polyname: brainpoolP160t1 + names: + - brainpoolP160t1 + groups: + - Brainpool + hash: e3ea9bf27f9d1ce16873859938f612c86716517b0cee85866c9e9c96774de1bc + field: + type: + p: 1332297598440044874827085558802491743757193798159 + bits: + params: + a: 1332297598440044874827085558802491743757193798156 + b: 698401795719474705027684479972917623041381757824 + generator: + x: 1013918819608769552616977083272059630517089149816 + "y": 992437653978037713070561264469524978381944905901 + form: Weierstrass + order: 1332297598440044874827085038830181364212942568457 + cofactor: 1 +- polyname: brainpoolP192r1 + names: + - brainpoolP192r1 + groups: + - Brainpool + hash: f6d8398045caa345a7f932154669ad5717d99b7a57bc4036bfa9c10ffac92cbc + field: + type: + p: 4781668983906166242955001894344923773259119655253013193367 + bits: + params: + a: 2613009377683017747869391908421543348309181741502784219375 + b: 1731160591135112004210203499537764623771657619977468323273 + generator: + x: 4723188856514392935399337699153522173525168621081341681622 + "y": 507884783101387741749746950209061101579755255809652136847 + form: Weierstrass + order: 4781668983906166242955001894269038308119863659119834868929 + cofactor: 1 +- polyname: brainpoolP192t1 + names: + - brainpoolP192t1 + groups: + - Brainpool + hash: fb87785e3bba9e0600d4a1450f79d3db834a2ef40a3ad58a6e8dd9e740dc9c21 + field: + type: + p: 4781668983906166242955001894344923773259119655253013193367 + bits: + params: + a: 4781668983906166242955001894344923773259119655253013193364 + b: 486321888066950067394881041525590797530120076120499518329 + generator: + x: 1444558712667280506885530592978306040338136913835324440873 + "y": 232764348904945951820395534722141373682806994795615748553 + form: Weierstrass + order: 4781668983906166242955001894269038308119863659119834868929 + cofactor: 1 +- polyname: brainpoolP224r1 + names: + - brainpoolP224r1 + groups: + - Brainpool + hash: 17701676e3fd21c16dd70c3e4e2e75857205da74d7d7b007c78f67c6a815b340 + field: + type: + p: 22721622932454352787552537995910928073340732145944992304435472941311 + bits: + params: + a: 11020725272625742361946480833014344015343456918668456061589001510723 + b: 3949606626053374030787926457695139766118442946052311411513528958987 + generator: + x: 1428364927244201726431498207475486496993067267318520844137448783997 + "y": 9337555360448823227812410753177468631215558779020518084752618816205 + form: Weierstrass + order: 22721622932454352787552537995910923612567546342330757191396560966559 + cofactor: 1 +- polyname: brainpoolP224t1 + names: + - brainpoolP224t1 + groups: + - Brainpool + hash: 267bfe8ef7e7ebf469d89e9dc8ea3022da94a07fc56b3e72bf3671e7d92bd622 + field: + type: + p: 22721622932454352787552537995910928073340732145944992304435472941311 + bits: + params: + a: 22721622932454352787552537995910928073340732145944992304435472941308 + b: 7919603849831377222129533323916957959225380016698795812027476510861 + generator: + x: 11236281700362234642592534287151572422539408672654616227474732012928 + "y": 364032462118593425315751587028126980694396626774408344039871404876 + form: Weierstrass + order: 22721622932454352787552537995910923612567546342330757191396560966559 + cofactor: 1 +- polyname: brainpoolP256r1 + names: + - brainpoolP256r1 + groups: + - Brainpool + hash: ad977432df2c90cb47012957b3c5f7a8f23d072dd9c4ec8a5b19362522e352c3 + field: + type: + p: 76884956397045344220809746629001649093037950200943055203735601445031516197751 + bits: + params: + a: 56698187605326110043627228396178346077120614539475214109386828188763884139993 + b: 17577232497321838841075697789794520262950426058923084567046852300633325438902 + generator: + x: 63243729749562333355292243550312970334778175571054726587095381623627144114786 + "y": 38218615093753523893122277964030810387585405539772602581557831887485717997975 + form: Weierstrass + order: 76884956397045344220809746629001649092737531784414529538755519063063536359079 + cofactor: 1 +- polyname: brainpoolP256t1 + names: + - brainpoolP256t1 + groups: + - Brainpool + hash: 77a01582dfa24d269fbb75375f01382c73623c39beb198d8d8b5a4b6c91e14bd + field: + type: + p: 76884956397045344220809746629001649093037950200943055203735601445031516197751 + bits: + params: + a: 76884956397045344220809746629001649093037950200943055203735601445031516197748 + b: 46214326585032579593829631435610129746736367449296220983687490401182983727876 + generator: + x: 74138526386500101787937404544159543470173440588427591213843535686338908194292 + "y": 20625154686056605250529482107801269759951443923312408063441227608803066104254 + form: Weierstrass + order: 76884956397045344220809746629001649092737531784414529538755519063063536359079 + cofactor: 1 +- polyname: brainpoolP320r1 + names: + - brainpoolP320r1 + groups: + - Brainpool + hash: 40a36c2635620e5f2ac1c08967bec2eb42dae8b4ea29a892216bd38b14e2a8ca + field: + type: + p: 1763593322239166354161909842446019520889512772719515192772960415288640868802149818095501499903527 + bits: + params: + a: 524709318439392693105919717518043758943240164412117372990311331314771510648804065756354311491252 + b: 684460840191207052139729091116995410883497412720006364295713596062999867796741135919289734394278 + generator: + x: 565203972584199378547773331021708157952136817703497461781479793049434111597020229546183313458705 + "y": 175146432689526447697480803229621572834859050903464782210773312572877763380340633688906597830369 + form: Weierstrass + order: 1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921 + cofactor: 1 +- polyname: brainpoolP320t1 + names: + - brainpoolP320t1 + groups: + - Brainpool + hash: b4fb5bf65dfe38c44bc38dc451ab71db45a2cd546590fd6010fe2f7e5021b8e7 + field: + type: + p: 1763593322239166354161909842446019520889512772719515192772960415288640868802149818095501499903527 + bits: + params: + a: 1763593322239166354161909842446019520889512772719515192772960415288640868802149818095501499903524 + b: 1401395435032847536924656852322353441447762422733674743806973258207878888547540276867732868432723 + generator: + x: 1221175819973001316491038958226563119032598033059331804921649457916311604176688737745420093746514 + "y": 832095900618272253462376182163435186143818309959785348829039065198217071225345202726924484399811 + form: Weierstrass + order: 1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921 + cofactor: 1 +- polyname: brainpoolP384r1 + names: + - brainpoolP384r1 + groups: + - Brainpool + hash: cb977aebb84098ddb57fe3b0c1b83b43a8bdd1ffd982e3b87a0d98ecbcd89b48 + field: + type: + p: 21659270770119316173069236842332604979796116387017648600081618503821089934025961822236561982844534088440708417973331 + bits: + params: + a: 19048979039598244295279281525021548448223459855185222892089532512446337024935426033638342846977861914875721218402342 + b: 717131854892629093329172042053689661426642816397448020844407951239049616491589607702456460799758882466071646850065 + generator: + x: 4480579927441533893329522230328287337018133311029754539518372936441756157459087304048546502931308754738349656551198 + "y": 21354446258743982691371413536748675410974765754620216137225614281636810686961198361153695003859088327367976229294869 + form: Weierstrass + order: 21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941 + cofactor: 1 +- polyname: brainpoolP384t1 + names: + - brainpoolP384t1 + groups: + - Brainpool + hash: 94082606fa5c5872c573204cdff61d0bc60c70f0828bdfeed605d206d527b51d + field: + type: + p: 21659270770119316173069236842332604979796116387017648600081618503821089934025961822236561982844534088440708417973331 + bits: + params: + a: 21659270770119316173069236842332604979796116387017648600081618503821089934025961822236561982844534088440708417973328 + b: 19596161053329239268181228455226581162286252326261019516900162717091837027531392576647644262320816848087868142547438 + generator: + x: 3827769047710394604076870463731979903132904572714069494181204655675960538951736634566672590576020545838501853661388 + "y": 5797643717699939326787282953388004860198302425468870641753455602553471777319089854136002629714659021021358409132328 + form: Weierstrass + order: 21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941 + cofactor: 1 +- polyname: brainpoolP512r1 + names: + - brainpoolP512r1 + groups: + - Brainpool + hash: 35d207bdcef90d8cc1bae6551fe22905d364051a896ce05d8dd6be61b330d0a1 + field: + type: + p: 8948962207650232551656602815159153422162609644098354511344597187200057010413552439917934304191956942765446530386427345937963894309923928536070534607816947 + bits: + params: + a: 6294860557973063227666421306476379324074715770622746227136910445450301914281276098027990968407983962691151853678563877834221834027439718238065725844264138 + b: 3245789008328967059274849584342077916531909009637501918328323668736179176583263496463525128488282611559800773506973771797764811498834995234341530862286627 + generator: + x: 6792059140424575174435640431269195087843153390102521881468023012732047482579853077545647446272866794936371522410774532686582484617946013928874296844351522 + "y": 6592244555240112873324748381429610341312712940326266331327445066687010545415256461097707483288650216992613090185042957716318301180159234788504307628509330 + form: Weierstrass + order: 8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169 + cofactor: 1 +- polyname: brainpoolP512t1 + names: + - brainpoolP512t1 + groups: + - Brainpool + hash: 1da0455b5189111702dd3abc80e004020ba2500b910d89aed836731006059bc3 + field: + type: + p: 8948962207650232551656602815159153422162609644098354511344597187200057010413552439917934304191956942765446530386427345937963894309923928536070534607816947 + bits: + params: + a: 8948962207650232551656602815159153422162609644098354511344597187200057010413552439917934304191956942765446530386427345937963894309923928536070534607816944 + b: 6532815740455945129522030162820444801309011444717674409730083343052139800841847092116476221316466234404847931899409316558007222582458822004777353814164030 + generator: + x: 5240454105373391383446315535930423532243726242869439206480578543706358506399554673205583372921814351137736817888782671966171301927338369930113338349467098 + "y": 4783098043208509222858478731459039446855297686825168822962919559100076900387655035060042118755576220187973470126780576052258118403094460341772613532037938 + form: Weierstrass + order: 8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169 + cofactor: 1 +- polyname: c2onb191v4 + names: + - c2onb191v4 + groups: + - ANSI x9.62 + hash: 89bcd79be04fe835ec400bc39acc0c2531e203a8ef6c34eb7647f2ad4112231d + field: + type: + bits: + degree: + basis: + poly: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + params: + a: 2490328457996683894551555987103513651881566980652834128104 + b: 2069589631563520592511957790667039475691418642452163834523 + generator: + x: 14765250936012007849241168008515103696945072611374449793354 + "y": + raw: + form: Weierstrass + order: 1569275433846670190958947355850489840390288316692555548253 + cofactor: 2 +- polyname: c2onb191v5 + names: + - c2onb191v5 + groups: + - ANSI x9.62 + hash: 33f73b8da47ad07842c9fff805d401f007a045dcb1207d3ca2d898e1163d1ebb + field: + type: + bits: + degree: + basis: + poly: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + params: + a: 931069021823909654749316015134821322460351328265148895483 + b: 2893288371516077842516081652509030283555284251955443122628 + generator: + x: 19863303663211211550098344327591871942830640930883979132008 + "y": + raw: + form: Weierstrass + order: 392318858461667547739736838945125218608676137305618089511 + cofactor: 8 +- polyname: c2onb239v4 + names: + - c2onb239v4 + groups: + - ANSI x9.62 + hash: 5cc7e4ce80242265408b9cb0c3b6976016a54fb3213acc11e9d8b49dce5aaae0 + field: + type: + bits: + degree: + basis: + poly: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + params: + a: 166877475359453247099153924443508767393405085402883002702074889477410352 + b: 141340481199021204520187121076616885086035481499419887944587244104445736 + generator: + x: 5804872217470585453899523863186696418250461312963296954511959355480113412 + "y": + raw: + form: Weierstrass + order: 220855883097298041197912187592864814848700889963720502470613317401095819 + cofactor: 4 +- polyname: c2onb239v5 + names: + - c2onb239v5 + groups: + - ANSI x9.62 + hash: 4c3173c14d6641d4ffed972a91142600a6aa9359b20dfb0cf2ad283b9f827680 + field: + type: + bits: + degree: + basis: + poly: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + - coeff: 1 + power: + params: + a: 212636007447379433435622401698068969451405179162726289180067592233699438 + b: 434010398859137856095240063722074571529440966813065624110982648066771821 + generator: + x: 3707598632149345176333280744007357076026568251553382570749857768972482744 + "y": + raw: + form: Weierstrass + order: 147237255398198694131941458395243209941155336136268919080327220639225603 + cofactor: 6 +- polyname: c2pnb163v1_wap-wsg-idm-ecid-wtls5 + names: + - wap-wsg-idm-ecid-wtls5 + - c2pnb163v1 + groups: + - WTLS + - ANSI x9.62 + hash: 0eed32cecd48b25061aaca299c6a8448d16cf61d0305f28e7d001cd4d2551a1f + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 10443320962232641889919257604546406114902811759170 + b: 1149324396657421150694884172923012442275218052313 + generator: + x: 11231939716319002641657718190438797246676750304203 + "y": 2809606869339171705995869785003496413002248735391 + form: Weierstrass + order: 5846006549323611672814741626226392056573832638401 + cofactor: 2 +- polyname: c2pnb163v2 + names: + - c2pnb163v2 + groups: + - ANSI x9.62 + hash: ddbbf77a414b943fd5c8abf7cf81906c531940828e6c376c59ea2e845c7f1dd0 + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 1511179201384257398748279396561103095760533909618 + b: 9360892092230448128491690600630428180976923893536 + generator: + x: 206380705201355055620354100931657872376594132165 + "y": 11140567055043213316137325066904753838562980503493 + form: Weierstrass + order: 5846006549323611672814736867226446213508588572839 + cofactor: 2 +- polyname: c2pnb163v3 + names: + - c2pnb163v3 + groups: + - ANSI x9.62 + hash: 4e50a45d0b35188012b30517e75eca67d9859f2fa00f242dd7a4017e3805120a + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 11173359635892244526645658132322333093576027059470 + b: 5794761492476052092072402184247583199786607846699 + generator: + x: 4350083318528403460438013327944321433229925989835 + "y": 8364861175857685704614834024858954737098323264976 + form: Weierstrass + order: 5846006549323611672814737040186791886263374189321 + cofactor: 2 +- polyname: c2pnb176w1 + names: + - c2pnb176w1 + groups: + - ANSI x9.62 + hash: ad3dd342c22a2b14beaf743c7d3fe9c810ace8b4265538d40e6815a443ad35ca + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 85642324140607507683375051114643593047076900650469643 + b: 35114443916449844294545951955033582194640857329631218 + generator: + x: 52787626678651478322959789876616160802918163729242008 + "y": 41770194124046651342451039039625169981713559962932780 + form: Weierstrass + order: 1464764815784035076424479112383122688505483765421 + cofactor: 65390 +- polyname: c2pnb208w1 + names: + - c2pnb208w1 + groups: + - ANSI x9.62 + hash: 98e945bca7cc56345867c13b3f44965af02472ee0201776a19ca7841ea482e91 + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 0 + b: 322000382208241327274923183779858171178051694881215049906753438 + generator: + x: 221744795206996450482987540464472569081701410202489539548783994 + "y": 24642064911367611040460456316041272335535900461343628052233699 + form: Weierstrass + order: 6319530221984476934661765632900719012846431750114578083741 + cofactor: 65096 +- polyname: c2pnb272w1 + names: + - c2pnb272w1 + groups: + - ANSI x9.62 + hash: 600cd6226a118c8491eb76e86a54a58c3c6ed158ea364f1fff28f39f342173b6 + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 4316795096583271734038708287902743181939774412273767548044410258779043984801463072 + b: 3361668600857195844716332008130340170886904451128113749308190138987704636745793783 + generator: + x: 2876359957555285102530888505993453029764512130994259665685299064412762208772152717 + "y": 497374669994496288431220740045688697504576176996293512949629229244173385683868963 + form: Weierstrass + order: 116235492452543488393823301680748870034491124166583946466668991869818652235041 + cofactor: 65286 +- polyname: c2pnb304w1 + names: + - c2pnb304w1 + groups: + - ANSI x9.62 + hash: be3e9e190e366e19b944e5ec8818fa1be9aed6b9e4f8f1e96d222d2b8d0ab720 + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 32217300932117616200353401348142480094543640138900888501415281554269336123644510452423648897 + b: 24171696342544365087628953806113953157063000330846830142844828379479933394120827973349359806 + generator: + x: 3244054074276402616860251805761471981513125391074133305218906088469458445317263680695051796 + "y": 28725263310849389032429923141459276983521655696956627187517408750801012920655126719047581755 + form: Weierstrass + order: 500884825900595933307132795674658837818095809137913478977332553047879960661308247049501 + cofactor: 65070 +- polyname: c2pnb368w1 + names: + - c2pnb368w1 + groups: + - ANSI x9.62 + hash: a932ab2299c587d1d6ac2935ad12bb93eaf8c9f2f0414d625d37e1546ab961df + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 528008611511254755625542435671827661649298504721475774236227347754227872375326229256637496530572872916214145805 + b: 591998716689403411542243199239265004977205456949889085084985577409401751045981505592963736297337857050996507754 + generator: + x: 38804937928872028964249625155680565524392080985914806223254209127272151158552325195435938296282597192310680159 + "y": 289445894872738547386213393919188597703082810976887891959563304475234230394026396175882703634875349892402389776 + form: Weierstrass + order: 9194196556002283250851893699199753471497656173851998515361706855000304737080699826013007012009780734318951 + cofactor: 65392 +- polyname: c2tnb191v1 + names: + - c2tnb191v1 + groups: + - ANSI x9.62 + hash: 4bd732acf885ff311bc19e28a09c18c366d8c71a718c82e3720f71786edfef87 + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 990598039569010512734789488960720925643983093641440813671 + b: 1134615152941088452485133098472963493214560786404446668268 + generator: + x: 1341302868033319476117680495850551079002781630514086390285 + "y": 2902154153197555334660691766205381066281922930339301300475 + form: Weierstrass + order: 1569275433846670190958947355803350458831205595451630533029 + cofactor: 2 +- polyname: c2tnb191v2 + names: + - c2tnb191v2 + groups: + - ANSI x9.62 + hash: cb7c628736913ba0b6e0ea16c296b789c079db2c140bc6df8a9443c589dfcad5 + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 1570823069525253702994693608884191747308661736528008046360 + b: 150186265886833235036292851627975676141857315884353481217 + generator: + x: 1374044899684222797109114404744158368484997230304531037968 + "y": 570400948195239613452148817845246917221214333907184215690 + form: Weierstrass + order: 784637716923335095479473677925814481401065348266378101107 + cofactor: 4 +- polyname: c2tnb191v3 + names: + - c2tnb191v3 + groups: + - ANSI x9.62 + hash: 0feb79072891a21f4aaef8fe173c9f16233838f3052bc6e88f005a8f3d125fa4 + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 2648250798856296968662983812700313862849676378841102647243 + b: 2795090396487148255149641564379414408025141010062808913384 + generator: + x: 1357532472024458017350564529292556461389246483115450902237 + "y": 2068315654744679668775369744783026294549032207184431875774 + form: Weierstrass + order: 523091811282223396986315785270930752647646535584668335779 + cofactor: 6 +- polyname: c2tnb239v1 + names: + - c2tnb239v1 + groups: + - ANSI x9.62 + hash: c75aeee2467ba0aa46d9273bdfe068e82d772abe5a4e885932efeba769282361 + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 345115155586281801504352628716882220639795329530580255431423529210915958 + b: 835220090183511522333759023255701946035554591371971415066075271323618326 + generator: + x: 604399942292681484344954722575621779974285614280181861075722134673877277 + "y": 675317841546748718168801678160111506702021297638836949018311255830651653 + form: Weierstrass + order: 220855883097298041197912187592864814557886993776713230936715041207411783 + cofactor: 4 +- polyname: c2tnb239v2 + names: + - c2tnb239v2 + groups: + - ANSI x9.62 + hash: e9186a9eaee82e507c1334b47db5d402fb3bf094e69d01d82e55bd7cf45971a9 + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 456809490735107124967497208159924736451217252195844968366540790437307999 + b: 553647189540576539752324484531275027280692922701128769940876325020350283 + generator: + x: 282804817867150660669027280654207300465516395162898077627923475309830661 + "y": 596332462634149880734208119077987044193893980741358895833392139259004979 + form: Weierstrass + order: 147237255398198694131941458395243209523006695456232690299263349237764653 + cofactor: 6 +- polyname: c2tnb239v3 + names: + - c2tnb239v3 + groups: + - ANSI x9.62 + hash: c734b6c145797ae5add4c40cb3a59ff5f6696ff0d8cd54a62bb529df5ae5f359 + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 7859609523723843909532993989998119673511302776769864123990101954292383 + b: 735577866927481491361633396386400994201974151971503584221245012969397568 + generator: + x: 779652361174847102218009081443196845541650113386566647107325176568519826 + "y": 319908273692670933265278635945337657283922173555277696347703723486213217 + form: Weierstrass + order: 88342353238919216479164875037145925622548965147075144322778604225055999 + cofactor: 10 +- polyname: c2tnb359v1 + names: + - c2tnb359v1 + groups: + - ANSI x9.62 + hash: '0185641c3f78b74776886ed8dd661423566b8ef5234554d64a232920718ab341' + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 792669099770977123675122181800235235221795550907825637097321350892230598222100042144494098185538026356516183 + b: 334380845298260243536066243443522977322200436197311316831749741364919382672231752831927054698721330755475848 + generator: + x: 551785607344595016390301133291230792682154245730851847274561249850525225962385287096859651497762669928231063 + "y": 769177691662552475396266061747275903876548060882935134258334766784765110815616795800108156651827647566906557 + form: Weierstrass + order: 15450938044564692288746582873614059390629490453344209663962540632677447295745316740045672843724365195742523 + cofactor: 76 +- polyname: c2tnb431r1 + names: + - c2tnb431r1 + groups: + - ANSI x9.62 + hash: 9764286b320f4af5cc7e8fb9164a6c0a5ce35f53f7f23ceeccb324ce4c284f4f + field: + type: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + basis: + params: + a: 1148480918809559523055937886236499413356744082963782054064637824932533583303246448309936000863113382392323095439709086942955490703 + b: 730009817878589157105698105019566508793654980277815234786385618476547478165875682356826528735875627658295798257985650015095170584 + generator: + x: 782478969896179451907345875551567227475273662518772996273713080867667434331926480316708135697094463033513974102949157822928840375 + "y": 1421650793886259027864735655775042553379405409847812805215591548893638620016302830612302464028401376240141679513358756501936355168 + form: Weierstrass + order: 550132875817621995948098052409342004650086721304725510946523726312246334661592590780763978563125341997711919748453208343530129 + cofactor: 10080 +- polyname: ed-254-mont + names: + - ed-254-mont + groups: + - NUMS + hash: 6faa73aab01da80c2c369a1e04523c8ef0e14bff89c3ff785dc3b20d320578c6 + field: + type: + p: 28723632732102194046035667469577626311807405711506937402182952014414119698431 + bits: + params: + a: 28723632732102194046035667469577626311807405711506937402182952014414119698430 + d: 13947 + form: Weierstrass + order: 7180908183025548511508916867394406577924712274352752685057484164419229227207 + cofactor: 4 +- polyname: ed-255-mers + names: + - ed-255-mers + groups: + - NUMS + hash: a67cbfcdaf096b23fd97eb098eb8eb77a1e1e4d77f386bfe706380b8467e8b09 + field: + type: + p: 57896044618658097711785492504343953926634992332820282019728792003956564819203 + bits: + params: + a: 57896044618658097711785492504343953926634992332820282019728792003956564819202 + d: 60055 + form: Weierstrass + order: 14474011154664524427946373126085988481612150616673019099696943473275369352053 + cofactor: 4 +- polyname: ed-256-mont + names: + - ed-256-mont + groups: + - NUMS + hash: 2131c18f721c9f5358020687b534e94befdfc9fcaec9db9e11e1157fb5368789 + field: + type: + p: 115636606695615697602567654828622531023877166082715509571142882662199379099647 + bits: + params: + a: 115636606695615697602567654828622531023877166082715509571142882662199379099646 + d: 13578 + form: Weierstrass + order: 28909151673903924400641913707155632755864722468680580292928189817299885915051 + cofactor: 4 +- polyname: ed-382-mont + names: + - ed-382-mont + groups: + - NUMS + hash: 2c9d7b55891a17265f5a16b28ed7ebd0765d27b19b3fb5fa520e917fc6f0b325 + field: + type: + p: 9847495414592669296538061489872013099874893943953759017552568018617869215322155954045933029003296406261776120807423 + bits: + params: + a: 9847495414592669296538061489872013099874893943953759017552568018617869215322155954045933029003296406261776120807422 + d: 717697 + form: Weierstrass + order: 2461873853648167324134515372468003274968723485988439754387041191942172767716325985379689814684721788810152581003873 + cofactor: 4 +- polyname: ed-383-mers + names: + - ed-383-mers + groups: + - NUMS + hash: f7fa5482f4672735f92431534634e8185fb76f5d3a885b2add25df2c6b44b4ea + field: + type: + p: 19701003098197239606139520050071806902539869635232723333974146702122860885748605305707133127442457820403313995152987 + bits: + params: + a: 19701003098197239606139520050071806902539869635232723333974146702122860885748605305707133127442457820403313995152986 + d: 523990 + form: Weierstrass + order: 4925250774549309901534880012517951725634967408808180833493170465599421724340965185245636620539015930940268950833181 + cofactor: 4 +- polyname: ed-384-mont + names: + - ed-384-mont + groups: + - NUMS + hash: e35675cbb00b91713877750402f7ce44e46d95d8eca39d32595b421a4ba1b5dc + field: + type: + p: 27242793346725870392864805069239920482418413479970250235261124736529268568574243274298145027791523704776457633923071 + bits: + params: + a: 27242793346725870392864805069239920482418413479970250235261124736529268568574243274298145027791523704776457633923070 + d: 28439 + form: Weierstrass + order: 6810698336681467598216201267309980120604603369992562558815021907992753376144453070319091681243006554328101383456923 + cofactor: 4 +- polyname: ed-510-mont + names: + - ed-510-mont + groups: + - NUMS + hash: a888e7bd52729a8451ff1cdb447e2528af0b9bcb4964d3822e630795219ca69c + field: + type: + p: 3292621777717531703499517186296461297235914818063567795121505704883698582458552017893209304118318844074148143396809486426396407928092469737516832688963583 + bits: + params: + a: 3292621777717531703499517186296461297235914818063567795121505704883698582458552017893209304118318844074148143396809486426396407928092469737516832688963582 + d: 580126 + form: Weierstrass + order: 823155444429382925874879296574115324308978704515891948780376426220924645614619825060292619435898196135889513633653566522721211652581444493944302424904113 + cofactor: 4 +- polyname: ed-511-mers + names: + - ed-511-mers + groups: + - NUMS + hash: d0e003d469e84e84f547eca99528558efad0b9b0b05d91f19ce5eca52dd1991e + field: + type: + p: 6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503041567 + bits: + params: + a: 6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503041566 + d: 1097597 + form: Weierstrass + order: 1675975991242824637446753124775730765934920727574049172215445180465220503759183640666144208152597465679369002852461594360563651407035408075485491840167697 + cofactor: 4 +- polyname: ed-512-mont + names: + - ed-512-mont + groups: + - NUMS + hash: 606fdde4ed659c4e3dbd6e7a46633ebe811de02df80a61f3c5008a0d86be8dad + field: + type: + p: 13307355755662784245937995239384449178495717617804446826996292939863313924196378526398893947208652243867464023067321551174658528251694711947109629815685119 + bits: + params: + a: 13307355755662784245937995239384449178495717617804446826996292939863313924196378526398893947208652243867464023067321551174658528251694711947109629815685118 + d: 76444 + form: Weierstrass + order: 3326838938915696061484498809846112294623929404451111706749073234965828481049071478543240479420514247228470430948546900219943149734576294085638217289020933 + cofactor: 4 +- polyname: gost256 + names: + - gost256 + groups: + - GOST + hash: e3d08fc490539300c47317c3f3432a6568715342b87538ac0a30dc11e7b32250 + field: + type: + p: 57896044618658097711785492504343953926634992332820282019728792003956564821041 + bits: + params: + a: 7 + b: 43308876546767276905765904595650931995942111794451039583252968842033849580414 + generator: + x: 2 + "y": 4018974056539037503335449422937059775635739389905545080690979365213431566280 + form: Weierstrass + order: 57896044618658097711785492504343953927082934583725450622380973592137631069619 + cofactor: 1 +- polyname: gost512 + names: + - gost512 + groups: + - GOST + hash: a1475d5442ccb8654a44146acb83f5218255028f9f27bab39d37944622c73162 + field: + type: + p: 3623986102229003635907788753683874306021320925534678605086546150450856166624002482588482022271496854025090823603058735163734263822371964987228582907372403 + bits: + params: + a: 7 + b: 1518655069210828534508950034714043154928747527740206436194018823352809982443793732829756914785974674866041605397883677596626326413990136959047435811826396 + generator: + x: 1928356944067022849399309401243137598997786635459507974357075491307766592685835441065557681003184874819658004903212332884252335830250729527632383493573274 + "y": 2288728693371972859970012155529478416353562327329506180314497425931102860301572814141997072271708807066593850650334152381857347798885864807605098724013854 + form: Weierstrass + order: 3623986102229003635907788753683874306021320925534678605086546150450856166623969164898305032863068499961404079437936585455865192212970734808812618120619743 + cofactor: 1 +- polyname: id-GostR3410-2001-CryptoPro-A-ParamSet + names: + - id-GostR3410-2001-CryptoPro-A-ParamSet + groups: + - GOST + hash: 872f52b27ecde09755ee0b595c0658df7d5eb20ad45324618af4ce5093adf039 + field: + type: + p: 115792089237316195423570985008687907853269984665640564039457584007913129639319 + bits: + params: + a: 115792089237316195423570985008687907853269984665640564039457584007913129639316 + b: 166 + generator: + x: 1 + "y": 64033881142927202683649881450433473985931760268884941288852745803908878638612 + form: Weierstrass + order: 115792089237316195423570985008687907853073762908499243225378155805079068850323 + cofactor: 1 +- polyname: id-GostR3410-2001-CryptoPro-B-ParamSet + names: + - id-GostR3410-2001-CryptoPro-B-ParamSet + groups: + - GOST + hash: a0de5470706842f20db7e352f2d2852e8812eb95ce7d08a59c706b02e6fd975e + field: + type: + p: 57896044618658097711785492504343953926634992332820282019728792003956564823193 + bits: + params: + a: 57896044618658097711785492504343953926634992332820282019728792003956564823190 + b: 28091019353058090096996979000309560759124368558014865957655842872397301267595 + generator: + x: 1 + "y": 28792665814854611296992347458380284135028636778229113005756334730996303888124 + form: Weierstrass + order: 57896044618658097711785492504343953927102133160255826820068844496087732066703 + cofactor: 1 +- polyname: id-GostR3410-2001-CryptoPro-C-ParamSet + names: + - id-GostR3410-2001-CryptoPro-C-ParamSet + groups: + - GOST + hash: b6ef3209a56f95544bebe88dd1d4a89c882e3db285c025e81a77579e443964dc + field: + type: + p: 70390085352083305199547718019018437841079516630045180471284346843705633502619 + bits: + params: + a: 70390085352083305199547718019018437841079516630045180471284346843705633502616 + b: 32858 + generator: + x: 0 + "y": 29818893917731240733471273240314769927240550812383695689146495261604565990247 + form: Weierstrass + order: 70390085352083305199547718019018437840920882647164081035322601458352298396601 + cofactor: 1 +- polyname: id-tc26-gost-3410-12-512-paramSetA + names: + - id-tc26-gost-3410-12-512-paramSetA + groups: + - GOST + hash: 846e9b744d3bbe5c1187069d1e1031cac80a6ee137bf5c85b055d73d400e2647 + field: + type: + p: 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006083527 + bits: + params: + a: 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006083524 + b: 12190580024266230156189424758340094075514844064736231252208772337825397464478540423418981074322718899427039088997221609947354520590448683948135300824418144 + generator: + x: 3 + "y": 6128567132159368375550676650534153371826708807906353132296049546866464545472607119134529221703336921516405107369028606191097747738367571924466694236795556 + form: Weierstrass + order: 13407807929942597099574024998205846127479365820592393377723561443721764030073449232318290585817636498049628612556596899500625279906416653993875474742293109 + cofactor: 1 +- polyname: id-tc26-gost-3410-12-512-paramSetB + names: + - id-tc26-gost-3410-12-512-paramSetB + groups: + - GOST + hash: 9514ecfeeaf2a0c1d20393fae1d72cc33ab97f2665e8ba2b36d1ef3b3d8dbf90 + field: + type: + p: 6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503042159 + bits: + params: + a: 6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503042156 + b: 5472517130514047254760433071281657274171034389553769779747941603125796549693907036696237273952702637857580071293254240945079496484373854264998452887027990 + generator: + x: 2 + "y": 1391087797795557258711735874750463328666729297647553860794340434982072762491277963324668489993185089365703033494204180568181905548968011075910357787492797 + form: Weierstrass + order: 6703903964971298549787012499102923063739682910296196688861780721860882015036922585419853748190383615062910947743405567510148398820717100282856877776119229 + cofactor: 1 +- polyname: id-tc26-gost-3410-2012-256-paramSetA + names: + - id-tc26-gost-3410-2012-256-paramSetA + groups: + - GOST + hash: a07cfd7d398a136961ab5882dbb8df074af3f9d88bc5af474ac84b9b6dce7248 + field: + type: + p: 115792089237316195423570985008687907853269984665640564039457584007913129639319 + bits: + params: + a: 1 + d: 2724414110474605931834268501164757645998726878473076809432604223414351675387 + generator: + x: 13 + "y": 43779144989398987843428779166090436406934195821915183574454224403186176950503 + form: Weierstrass + order: 28948022309329048855892746252171976963338560298092253442512153408785530358887 + cofactor: 4 +- polyname: id-tc26-gost-3410-2012-512-paramSetC + names: + - id-tc26-gost-3410-2012-512-paramSetC + groups: + - GOST + hash: b329ae0789179feae68686da59e61dd798229549e3d8beffcf62f3e120dd6d23 + field: + type: + p: 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006083527 + bits: + params: + a: 1 + d: 8291368582540391759956325599449696250171737838651241289585997940557058703682611983276933821315724273262456979490783602284025399599007870613061010570769744 + generator: + x: 18 + "y": 3697901750350036466195501370680965130892925445528794106515700685530527913038331015106382234398842797314774264061702328469726236276369898526828850803907133 + form: Weierstrass + order: 3351951982485649274893506249551461531869841455148098344430890360930441007518362115868300084349221274418848205850841645514717116281909345935543464929272813 + cofactor: 4 +- polyname: mnt1 + names: + - mnt1 + groups: + - Miyaji-Nakabayashi-Takano + hash: 5151c8283b70578a718319d2a24912ca0810b21a0b3308473947fbec3e4aadbd + field: + type: + p: 908761003790427908077548955758380356675829026531247 + bits: + params: + a: 818416342594888291485044088811640789053085789975506 + b: 666070443323978349780035881803413282865714842057992 + generator: + x: 880160269147894469110091054219123598900751702635472 + "y": 133423712768349968172423365036481251038071627601277 + form: Weierstrass + order: 59252852825873893726123036315589781262054405453 + cofactor: 15337 +- polyname: mnt2_1 + names: + - mnt2_1 + groups: + - Miyaji-Nakabayashi-Takano + hash: 41d2124cbed2cca9cf548cd5b9bdbbfe721e2f053bf6e1ccd45526e8c2338eba + field: + type: + p: 519518160144969382386592375449686021630483366071 + bits: + params: + a: 352938082819033451679859515217475787681700632697 + b: 408464775261012095248770468628212532331294877155 + generator: + x: 223491033209109410714592657297655800405163215000 + "y": 411298351227615414457474183551202213091451277571 + form: Weierstrass + order: 519518160144969382386592375449686021630483366069 + cofactor: 1 +- polyname: mnt2_2 + names: + - mnt2_2 + groups: + - Miyaji-Nakabayashi-Takano + hash: 8deea44b44b7fa5ed40f2dcca6532fca39e5ed5d9927185569c6f3941e9310d9 + field: + type: + p: 519518160144969382386592375449686021630483366071 + bits: + params: + a: 43945410257739111901787832459422251376950732067 + b: 375642380268472329525586805272738848671622732092 + generator: + x: 76864037938427797180505154695886131321774295529 + "y": 313310616992209589753781760082960874716169678932 + form: Weierstrass + order: 519518160144969382386592375449686021630483366069 + cofactor: 1 +- polyname: mnt3_1 + names: + - mnt3_1 + groups: + - Miyaji-Nakabayashi-Takano + hash: b432c8ba659835b2d479d1492e7008a30fbea1d6d98d6e6f761c95d3ed174784 + field: + type: + p: 793549717144513671927050677226939834588042230471 + bits: + params: + a: 622324337578136504381458034756708570127320393428 + b: 679399464100262226896655582246785658280894339109 + generator: + x: 134196955940735932140054387094466097209379669897 + "y": 475032169075125695379476017197760474363545526068 + form: Weierstrass + order: 793549717144513671927050677226939834588042230469 + cofactor: 1 +- polyname: mnt3_2 + names: + - mnt3_2 + groups: + - Miyaji-Nakabayashi-Takano + hash: 3234ad2960f8bc77649ecee0e498960ef45c3fd864d6fc2b4dbec06900d2ac66 + field: + type: + p: 793549717144513671927050677226939834588042230471 + bits: + params: + a: 546591310324988457464941939010636402270744250852 + b: 364394206883325638309961292673757601513829500568 + generator: + x: 418499394613194594316268285225639275968218849255 + "y": 288039222580591611448120868598326194612886038001 + form: Weierstrass + order: 793549717144513671927050677226939834588042230469 + cofactor: 1 +- polyname: mnt3_3 + names: + - mnt3_3 + groups: + - Miyaji-Nakabayashi-Takano + hash: 7f54ce23648561d278d2b6c4541b2328738e9777ee549a61bb23740854fe9551 + field: + type: + p: 793549717144513671927050677226939834588042230471 + bits: + params: + a: 261880758559334219511630969146231553296028884192 + b: 179858800017230155269192492622984485330656308058 + generator: + x: 362187537172858700519967734278746475919618241586 + "y": 423548676869028289103676927856957310082505337631 + form: Weierstrass + order: 793549717144513671927050677226939834588042230469 + cofactor: 1 +- polyname: mnt4 + names: + - mnt4 + groups: + - Miyaji-Nakabayashi-Takano + hash: c93be96f6d0f10471bdf987630f665edcc25b083fc4881047db181ccfe2e766d + field: + type: + p: 1124984654526861897351865205551134254199281270688380623265871195502307023 + bits: + params: + a: 523738180880771835660162811256090871091667719741590490057092246937760775 + b: 349158787253847890440108540837393914061111813161060326704728164625173850 + generator: + x: 899530135586442936414753538198789551238843495645750497749181501891109502 + "y": 798437030589511588105480249809576124776584704718096669524954857809281861 + form: Weierstrass + order: 1124984654526861897351865205551134254199281270688380623265871195502307021 + cofactor: 1 +- polyname: mnt5_1 + names: + - mnt5_1 + groups: + - Miyaji-Nakabayashi-Takano + hash: b3c473b2143bf95ef3af900cd6e7fc8559e11b0c768f38f4789faddfae26ab9d + field: + type: + p: 1456268479172808959148733486940327264608218463421238003553122264354852871 + bits: + params: + a: 1444437102824332673776911780113269118709134834507936118648910664337785210 + b: 501197994855571366878673438082853282734850993024815181056656221474374505 + generator: + x: 203793022823343721306359164843853672108326221043639614113895914979487072 + "y": 635298893494378616202847694017380102906454077593371761062935060696136144 + form: Weierstrass + order: 1456268479172808959148733486940327264608218463421238003553122264354852869 + cofactor: 1 +- polyname: mnt5_2 + names: + - mnt5_2 + groups: + - Miyaji-Nakabayashi-Takano + hash: f9b83decca74ac4f53377ea2302b15957972a526e2e208891ba392c7898e6c92 + field: + type: + p: 1456268479172808959148733486940327264608218463421238003553122264354852871 + bits: + params: + a: 267730481723261989065478404650446725717139397755432143896989247062448137 + b: 663909814206444312426563432080406905347499086310700763782366919493249715 + generator: + x: 158021744841971674786413737351289175574154193557119865006803934330640027 + "y": 392498939183384320623138903917941581767554240001787071573478531823360057 + form: Weierstrass + order: 1456268479172808959148733486940327264608218463421238003553122264354852869 + cofactor: 1 +- polyname: mnt5_3 + names: + - mnt5_3 + groups: + - Miyaji-Nakabayashi-Takano + hash: e5f54ce960facaa0bf275b586b83b058ef34f9279a9f83dbe2b5efb9a5a6e5f5 + field: + type: + p: 1456268479172808959148733486940327264608218463421238003553122264354852871 + bits: + params: + a: 474919780769287348647741659377079543364827814239068035668508435147903933 + b: 316613187179524899098494439584719695576551876159378690445672290098602622 + generator: + x: 1217763057578776364719478896882249614640143693038555108448209953026083771 + "y": 150590610315292483496229242117685941402819258784212842907169875562188546 + form: Weierstrass + order: 1456268479172808959148733486940327264608218463421238003553122264354852869 + cofactor: 1 +- polyname: numsp256d1 + names: + - numsp256d1 + groups: + - NUMS + hash: 54cbb9a4e86a872696215f69d6dec294788bfdbf6fa201fad1bd2444e2cb6470 + field: + type: + p: 115792089237316195423570985008687907853269984665640564039457584007913129639747 + bits: + params: + a: 115792089237316195423570985008687907853269984665640564039457584007913129639744 + b: 152961 + generator: + x: 1 + "y": 47689137025440499102064566445393148142324295100498856285384491063806635895927 + form: Weierstrass + order: 115792089237316195423570985008687907853233080465625507841270369819257950283813 + cofactor: 1 +- polyname: numsp256t1 + names: + - numsp256t1 + groups: + - NUMS + hash: 126e9d33477d8484688a893b43512fa3d7107f027e816e6dfbfb3c2fa17e7398 + field: + type: + p: 115792089237316195423570985008687907853269984665640564039457584007913129639747 + bits: + params: + a: 115792089237316195423570985008687907853269984665640564039457584007913129639746 + d: 15342 + generator: + x: 13 + "y": 56558017671127616723941111350859963393592894419123286895630403139519716830650 + form: Weierstrass + order: 28948022309329048855892746252171976963230320855948034936185801359597441823917 + cofactor: 4 +- polyname: numsp384d1 + names: + - numsp384d1 + groups: + - NUMS + hash: c4e449f3b4c7a08d16a319e2797e897564031d5bc36e6f52df12ed0818b0e002 + field: + type: + p: 39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306499 + bits: + params: + a: 39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306496 + b: 39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990271931 + generator: + x: 2 + "y": 9330747455132509389369239544281476802372451096234459195690770838483525754227980774184384851366771875937717764648771 + form: Weierstrass + order: 39402006196394479212279040100143613805079739270465446667947266506191861115174655963485010977999089551199179622998457 + cofactor: 1 +- polyname: numsp384t1 + names: + - numsp384t1 + groups: + - NUMS + hash: cfb7db4769022d0baa8358a95765d580b2c9c9b9ab77ef0b180047275f2ebec7 + field: + type: + p: 39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306499 + bits: + params: + a: 39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306498 + d: 333194 + generator: + x: 8 + "y": 17948339143669047664612126012973879979591312763233769368733595307773405597064936635500007964304847091513757983005678 + form: Weierstrass + order: 9850501549098619803069760025035903451269934817616361666986603623638432032256865558780541454083219163250604218936869 + cofactor: 4 +- polyname: numsp512d1 + names: + - numsp512d1 + groups: + - NUMS + hash: 681fd29a65ffbec6adf284ee31cdaf23581bcbd05c549b0ed118f5e58a46ce00 + field: + type: + p: 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006083527 + bits: + params: + a: 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006083524 + b: 121243 + generator: + x: 2 + "y": 1474699786863197377635437552960403681298645566010448086821683528339907698920174289241136514196025058614111083947437197647254268802689419027664535447392040 + form: Weierstrass + order: 13407807929942597099574024998205846127479365820592393377723561443721764030073472452331350974860724328926419335846901075402352787783454420582463574377715037 + cofactor: 1 +- polyname: numsp512t1 + names: + - numsp512t1 + groups: + - NUMS + hash: 3256214e145b0258eb0049cc76eb94b5c9e55e650279064774a93884789b721a + field: + type: + p: 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006083527 + bits: + params: + a: 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006083526 + d: 637608 + generator: + x: 32 + "y": 6568039280320557258117350145617368920072822466947916448830706957758745259983052002739173895729555235630349489654220156690515577744406549243390353750039646 + form: Weierstrass + order: 3351951982485649274893506249551461531869841455148098344430890360930441007518346893020404367996870882777121262593078152830179243535023501253454245088133513 + cofactor: 4 +- polyname: prime192v2 + names: + - prime192v2 + groups: + - ANSI x9.62 + hash: 2ad98f29215b6978c415782171448ea68d7b8a0dce08591336a4ffda9ff1411b + field: + type: + p: 6277101735386680763835789423207666416083908700390324961279 + bits: + params: + a: 6277101735386680763835789423207666416083908700390324961276 + b: 5005402392289390203552069470771117084861899307801456990547 + generator: + x: 5851329466723574623122023978072381191095567081251774399306 + "y": 2487701625881228691269808880535093938601070911264778280469 + form: Weierstrass + order: 6277101735386680763835789423078825936192100537584385056049 + cofactor: 1 +- polyname: prime192v3 + names: + - prime192v3 + groups: + - ANSI x9.62 + hash: 42446d77cc9195049f25f8853166eaf7f759dd0f900f686c6ba991386be1d720 + field: + type: + p: 6277101735386680763835789423207666416083908700390324961279 + bits: + params: + a: 6277101735386680763835789423207666416083908700390324961276 + b: 835424738382823911013350127192156429351504823785813797142 + generator: + x: 3068962813279260818967075386646565556597936748864191010966 + "y": 1389308651191334868712987806154897411485840735611413676976 + form: Weierstrass + order: 6277101735386680763835789423166314882687165660350679936019 + cofactor: 1 +- polyname: prime239v1 + names: + - prime239v1 + groups: + - ANSI x9.62 + hash: 28cafa3dd1a38a7cba7307ad7dbc0a062c52566e9b3bf1ecc1eccc55b568eb1e + field: + type: + p: 883423532389192164791648750360308885314476597252960362792450860609699839 + bits: + params: + a: 883423532389192164791648750360308885314476597252960362792450860609699836 + b: 738525217406992417348596088038781724164860971797098971891240423363193866 + generator: + x: 110282003749548856476348533541186204577905061504881242240149511594420911 + "y": 869078407435509378747351873793058868500210384946040694651368759217025454 + form: Weierstrass + order: 883423532389192164791648750360308884807550341691627752275345424702807307 + cofactor: 1 +- polyname: prime239v2 + names: + - prime239v2 + groups: + - ANSI x9.62 + hash: bca306fde7c82871415591824edfd14e41392d16570db9bb09346c51a00ab9d3 + field: + type: + p: 883423532389192164791648750360308885314476597252960362792450860609699839 + bits: + params: + a: 883423532389192164791648750360308885314476597252960362792450860609699836 + b: 672911360131302308487984934662800265942370984454769524007721579835502380 + generator: + x: 391216823383454382695699374968715597047546990656793544472819218431619303 + "y": 628089868206548595071356317553544393570683199925782012253471378783331514 + form: Weierstrass + order: 883423532389192164791648750360308886392687657546993855147765732451295331 + cofactor: 1 +- polyname: prime239v3 + names: + - prime239v3 + groups: + - ANSI x9.62 + hash: 0ef60db4a862b05ffefe5197b53c574391538f501f3f91794dd0c43bca302e57 + field: + type: + p: 883423532389192164791648750360308885314476597252960362792450860609699839 + bits: + params: + a: 883423532389192164791648750360308885314476597252960362792450860609699836 + b: 257710759664581349045614884019467140476383834471573891251575555059576126 + generator: + x: 713702090966717781398151179513032310291275673609168278295934709018913114 + "y": 152051417671827544218539107898347788360948341292488391005135896880966899 + form: Weierstrass + order: 883423532389192164791648750360308884771190369765922550517967171058034001 + cofactor: 1 +- polyname: secp112r1_wap-wsg-idm-ecid-wtls6 + names: + - secp112r1 + - wap-wsg-idm-ecid-wtls6 + groups: + - SECG + - WTLS + hash: 6d16032e0ec0ab770a37828eb8ed90ab1121980b11ab52cf4fa89bd07bdc905d + field: + type: + p: 4451685225093714772084598273548427 + bits: + params: + a: 4451685225093714772084598273548424 + b: 2061118396808653202902996166388514 + generator: + x: 188281465057972534892223778713752 + "y": 3419875491033170827167861896082688 + form: Weierstrass + order: 4451685225093714776491891542548933 + cofactor: 1 +- polyname: secp112r2 + names: + - secp112r2 + groups: + - SECG + hash: aec92e3656914c5af4916bc96583a3574e16d7bbeae449115aeb2472922d299d + field: + type: + p: 4451685225093714772084598273548427 + bits: + params: + a: 1970543761890640310119143205433388 + b: 1660538572255285715897238774208265 + generator: + x: 1534098225527667214992304222930499 + "y": 3525120595527770847583704454622871 + form: Weierstrass + order: 1112921306273428674967732714786891 + cofactor: 4 +- polyname: secp128r1 + names: + - secp128r1 + groups: + - SECG + hash: 5ceb603b3876a2db06ef381c16357dee66e26661f76b0852ed6c93f041c79b37 + field: + type: + p: 340282366762482138434845932244680310783 + bits: + params: + a: 340282366762482138434845932244680310780 + b: 308990863222245658030922601041482374867 + generator: + x: 29408993404948928992877151431649155974 + "y": 275621562871047521857442314737465260675 + form: Weierstrass + order: 340282366762482138443322565580356624661 + cofactor: 1 +- polyname: secp128r2 + names: + - secp128r2 + groups: + - SECG + hash: 34d49e754e88da5e2f830c1f6c56ce25421bb7299f00886f70dcdd599fea7b84 + field: + type: + p: 340282366762482138434845932244680310783 + bits: + params: + a: 284470887156368047300405921324061011681 + b: 126188322377389722996253562430093625949 + generator: + x: 164048790688614013222215505581242564928 + "y": 52787839253935625605232456597451787076 + form: Weierstrass + order: 85070591690620534603955721926813660579 + cofactor: 4 +- polyname: sect113r1_wap-wsg-idm-ecid-wtls4 + names: + - sect113r1 + - wap-wsg-idm-ecid-wtls4 + groups: + - SECG + - WTLS + hash: b5958f917f9e50f808c9a680f87781285526930318362a07a29463662140dfe5 + field: + type: + bits: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + degree: + basis: + params: + a: 984342157317881800509153672175863 + b: 4720643197658441292834747278018339 + generator: + x: 3193479700953970059711257944178959 + "y": 3349781614104721427986676261787782 + form: Weierstrass + order: 5192296858534827689835882578830703 + cofactor: 2 +- polyname: sect113r2 + names: + - sect113r2 + groups: + - SECG + hash: 2be7017626fa4541885754bc8943b1bf67b055c680890e61e80e15745c28b12b + field: + type: + bits: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + degree: + basis: + params: + a: 2121500201156255644417183296673223 + b: 3040591781815807764515357141309519 + generator: + x: 8548593233256193383924583779157911 + "y": 3644320092943472267836480028326429 + form: Weierstrass + order: 5192296858534827702972497909952403 + cofactor: 2 +- polyname: sect131r1 + names: + - sect131r1 + groups: + - SECG + hash: 8d751af08fd329c53675ef99a242d4e6018e292bff7284f9ea99bc3c623ba5c5 + field: + type: + bits: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + degree: + basis: + params: + a: 2596122663589129733642851280761649459384 + b: 712135644338826294893527440087695610689 + generator: + x: 172441231517205131123746450595941417881 + "y": 2568642209052024897328995836629039571280 + form: Weierstrass + order: 1361129467683753853893932755685365560653 + cofactor: 2 +- polyname: sect131r2 + names: + - sect131r2 + groups: + - SECG + hash: e4e2aa8320616d980ffa26131ca0feb70e916faee428c84b7d48b854fcc4b2eb + field: + type: + bits: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + degree: + basis: + params: + a: 1326115398407399413153688921458524648370 + b: 1605906881731264989575575750236800229778 + generator: + x: 1136307413960044250856528209221675869864 + "y": 2138646989904939494838997255870994916367 + form: Weierstrass + order: 1361129467683753853879535043412812867983 + cofactor: 2 +- polyname: ssc-160 + names: + - ssc-160 + groups: + - other + hash: 59caed0a02338cef1802596e5ce4334984a394d8d0f1712732e27888050a20c7 + field: + type: + p: 1147860701762054730346201299935827782113538756127 + bits: + params: + a: 1147860701762054730346201299935827782113538756124 + b: 993193335754933797118314178888153828594854512705 + form: Weierstrass + order: 1147860701762054730346200648614608152209809891831 + cofactor: 1 +- polyname: ssc-192 + names: + - ssc-192 + groups: + - other + hash: a6e65604b47f6fa531ccfff2ebb00cb78ac8e6237f6cbf9aed5b5b4d9c2a63c5 + field: + type: + p: 4930024174431634640599033341057067222865862716297522433299 + bits: + params: + a: 4930024174431634640599033341057067222865862716297522433296 + b: 4265732895672588129268258440977714335632089762934383523494 + form: Weierstrass + order: 4930024174431634640599033341125441632693811654341940586403 + cofactor: 1 +- polyname: ssc-224 + names: + - ssc-224 + groups: + - other + hash: 38c04c7b824b5a2b169d2e8971576d98f247ada72736039977842e0d3ee5240d + field: + type: + p: 21174292597673270169193562049053717791882423761323585056162680913631 + bits: + params: + a: 21174292597673270169193562049053717791882423761323585056162680913628 + b: 18321183280385145938884990414875229336370193019939570227257813318147 + form: Weierstrass + order: 21174292597673270169193562049053723134442099121024262551089688143309 + cofactor: 1 +- polyname: ssc-256 + names: + - ssc-256 + groups: + - other + hash: 217ea0e3cbe169752ec5c292713cc2dcee9f83092dae7134868c154427a3e763 + field: + type: + p: 90942894222941581070058735694432465663348344332098107489693037779484723616779 + bits: + params: + a: 90942894222941581070058735694432465663348344332098107489693037779484723616776 + b: 78688883013276200091698248537162581920209762369847930022367595957783191893217 + form: Weierstrass + order: 90942894222941581070058735694432465663288414616171509431879910319924502217783 + cofactor: 1 +- polyname: ssc-288 + names: + - ssc-288 + groups: + - other + hash: 46f617fa6c0d15022df2c00ff8260f3e3b9eb2790b00e6d0abbf7412113427cc + field: + type: + p: 390596756491121423614434954606695289304724084762108334731724254341779347664665278286219 + bits: + params: + a: 390596756491121423614434954606695289304724084762108334731724254341779347664665278286216 + b: 337966179100791213208996178567593129982221810838428315939365373128820605838874928979766 + form: Weierstrass + order: 390596756491121423614434954606695289304724116479393090921502092797686514928150248753237 + cofactor: 1 +- polyname: ssc-320 + names: + - ssc-320 + groups: + - other + hash: aa7663ae7d2f8bb42fb116377bb54a5561a1f405e343a4a210bbd498c78fb10f + field: + type: + p: 1677600295053042228788960243555000810201048522356787237681776606087928304667951345024875097229491 + bits: + params: + a: 1677600295053042228788960243555000810201048522356787237681776606087928304667951345024875097229488 + b: 1451553686391976948456801799936788618707919738968947956999929796583121697128874465400872041660580 + form: Weierstrass + order: 1677600295053042228788960243555000810201048522357873106251579120122685384485967275546948559607409 + cofactor: 1 +- polyname: ssc-384 + names: + - ssc-384 + groups: + - other + hash: 7ae6d1fd9b90b6929304275d8d2cb7b2aa941b72c30efef7669b59556698a4a5 + field: + type: + p: 30946263300823101954888425259784296108860594177929936231961025381527827855583154673559277957637088071546809309873019 + bits: + params: + a: 30946263300823101954888425259784296108860594177929936231961025381527827855583154673559277957637088071546809309873016 + b: 26776439362122453792588319552731959650141032425239760139617629033244994517401871440317035340712170298670944533378961 + form: Weierstrass + order: 30946263300823101954888425259784296108860594177929936231959195086011429040851460901626189237585847628753659044398489 + cofactor: 1 +- polyname: ssc-512 + names: + - ssc-512 + groups: + - other + hash: 33b66f0e231dceb6ecc9e4bf14d98af7467b5573855c78f155677ed19a48c2bf + field: + type: + p: 10530467723362659054861705371139847026313999328372313651398671272025951445569024729948471343061931586610942824229083371331823229156399790385588443550959087 + bits: + params: + a: 10530467723362659054861705371139847026313999328372313651398671272025951445569024729948471343061931586610942824229083371331823229156399790385588443550959084 + b: 9111550163858012281440901732746538838772262590143654133938674743542107885492015390851248618042056679983385207705625699101049041930943171450852516780927629 + form: Weierstrass + order: 10530467723362659054861705371139847026313999328372313651398671272025951445569144524507377363887941433449823713742916287342504795006316114468040283111710577 + cofactor: 1 +- polyname: w-254-mont + names: + - w-254-mont + groups: + - NUMS + hash: 4aab7d8bb8ac534633af7c5c9c0eb998f2678a590f430bb0722b12ea01da8626 + field: + type: + p: 28723632732102194046035667469577626311807405711506937402182952014414119698431 + bits: + params: + a: 28723632732102194046035667469577626311807405711506937402182952014414119698428 + b: + raw: + form: Weierstrass + order: 28723632732102194046035667469577626311780164567688751013639069037248478312511 + cofactor: 1 +- polyname: w-255-mers + names: + - w-255-mers + groups: + - NUMS + hash: 9a8e8a0e84291b661dfe68805d10600119ee169a02b3bdc8a3f13b80c9704642 + field: + type: + p: 57896044618658097711785492504343953926634992332820282019728792003956564819203 + bits: + params: + a: 57896044618658097711785492504343953926634992332820282019728792003956564819200 + b: + raw: + form: Weierstrass + order: 57896044618658097711785492504343953926473211886304323019964499781607006751467 + cofactor: 1 +- polyname: w-256-mont + names: + - w-256-mont + groups: + - NUMS + hash: 36f48b8d01447c41408e0e3df82da219e8ab661599332bcbc9d34472f3dbb27f + field: + type: + p: 115636606695615697602567654828622531023877166082715509571142882662199379099647 + bits: + params: + a: 115636606695615697602567654828622531023877166082715509571142882662199379099644 + b: 85610 + form: Weierstrass + order: 115636606695615697602567654828622531023872272121396628374428630485206652442603 + cofactor: 1 +- polyname: w-382-mont + names: + - w-382-mont + groups: + - NUMS + hash: b5376e2f0cb5d0fbb0befd6aed9f821cf2fbc9239fe4ce9fcc295fb24abc1f6d + field: + type: + p: 9847495414592669296538061489872013099874893943953759017552568018617869215322155954045933029003296406261776120807423 + bits: + params: + a: 9847495414592669296538061489872013099874893943953759017552568018617869215322155954045933029003296406261776120807420 + b: + raw: + form: Weierstrass + order: 9847495414592669296538061489872013099874893943953759017550383744416438584990326265468648445809278578438674191167517 + cofactor: 1 +- polyname: w-383-mers + names: + - w-383-mers + groups: + - NUMS + hash: 46e935c5f007359ff3a66819ea6df9808d0e9aa9eefd1f0b875fca50103d1e17 + field: + type: + p: 19701003098197239606139520050071806902539869635232723333974146702122860885748605305707133127442457820403313995152987 + bits: + params: + a: 19701003098197239606139520050071806902539869635232723333974146702122860885748605305707133127442457820403313995152984 + b: 97724 + form: Weierstrass + order: 19701003098197239606139520050071806902539869635232723333972032908904187686760616563249293103936710601848892201517983 + cofactor: 1 +- polyname: w-384-mont + names: + - w-384-mont + groups: + - NUMS + hash: 8f4ffcc6dcf22f7009e89436ef8caa79aa48c718e2db705f0d93ebb5893509b4 + field: + type: + p: 27242793346725870392864805069239920482418413479970250235261124736529268568574243274298145027791523704776457633923071 + bits: + params: + a: 27242793346725870392864805069239920482418413479970250235261124736529268568574243274298145027791523704776457633923068 + b: 27798 + form: Weierstrass + order: 27242793346725870392864805069239920482418413479970250235259423235120778003919452809303293004597311350022776641089211 + cofactor: 1 +- polyname: w-510-mont + names: + - w-510-mont + groups: + - NUMS + hash: a285c2c6748b53aa5ca35edd024b9ed959628ddbde93d9c5131ff221611752c7 + field: + type: + p: 3292621777717531703499517186296461297235914818063567795121505704883698582458552017893209304118318844074148143396809486426396407928092469737516832688963583 + bits: + params: + a: 3292621777717531703499517186296461297235914818063567795121505704883698582458552017893209304118318844074148143396809486426396407928092469737516832688963580 + b: 39053 + form: Weierstrass + order: 3292621777717531703499517186296461297235914818063567795121505704883698582458519939768840310852675452546945979507360215131777137033228919500490121733118509 + cofactor: 1 +- polyname: w-511-mers + names: + - w-511-mers + groups: + - NUMS + hash: 39478deb64e8607e2cedcdb65692bd0cbbead43303a5802802eacec13a2a04d9 + field: + type: + p: 6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503041567 + bits: + params: + a: 6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503041564 + b: 555482 + form: Weierstrass + order: 6703903964971298549787012499102923063739682910296196688861780721860882015036721809851437433650982323597912666986781878544290267505364471357287734177288607 + cofactor: 1 +- polyname: w-512-mont + names: + - w-512-mont + groups: + - NUMS + hash: 04b1d84e01398e168561d58f20c3358973ce2928893dbe0c8e03930743c55e56 + field: + type: + p: 13307355755662784245937995239384449178495717617804446826996292939863313924196378526398893947208652243867464023067321551174658528251694711947109629815685119 + bits: + params: + a: 13307355755662784245937995239384449178495717617804446826996292939863313924196378526398893947208652243867464023067321551174658528251694711947109629815685116 + b: 99821 + form: Weierstrass + order: 13307355755662784245937995239384449178495717617804446826996292939863313924196307758082974641769030327747852853745543611664116465003691202021932955757772233 + cofactor: 1 +- polyname: wap-wsg-idm-ecid-wtls1 + names: + - wap-wsg-idm-ecid-wtls1 + groups: + - WTLS + hash: d5b4dc54363358c901d3a747f152a9ebc864077b0e81c12808bf9a92e623a080 + field: + bits: + degree: + poly: + - power: + coeff: 1 + - power: + coeff: 1 + - power: + coeff: 1 + type: + basis: + params: + a: 1 + b: 1 + generator: + x: 7270726891776529038903590073665047 + "y": 4954873249839491011382670248365077 + form: Weierstrass + order: 5192296858534827627896703833467507 + cofactor: 2 +- polyname: wap-wsg-idm-ecid-wtls8 + names: + - wap-wsg-idm-ecid-wtls8 + groups: + - WTLS + hash: 209338c21a621c5d5f05bb88c0a36c3c6dc155d942c6acb7dfe3c8dca55a3ea9 + field: + bits: + p: 5192296858534827628530496329219559 + type: + params: + a: 0 + b: 3 + generator: + x: 1 + "y": 2 + form: Weierstrass + order: 5192296858534827767273836114360297 + cofactor: 1 +- polyname: wap-wsg-idm-ecid-wtls9 + names: + - wap-wsg-idm-ecid-wtls9 + groups: + - WTLS + hash: 5365baf4d6feb9b319ca53cbad3ba264e248c32d38c2470bbf8b320240ade081 + field: + bits: + p: 1461501637330902918203684832716283019655932313743 + type: + params: + a: 0 + b: 3 + generator: + x: 1 + "y": 2 + form: Weierstrass + order: 1461501637330902918203687013445034429194588307251 + cofactor: 1 diff --git a/_data/fdr.yaml b/_data/fdr.yaml index 2bcadf4a..5b1dfe8c 100644 --- a/_data/fdr.yaml +++ b/_data/fdr.yaml @@ -110,7 +110,7 @@ fdr_properties: eeid: description: eSIM Embedded ID (EID) esdm: - description: Extended Security Domain Fuse + description: Effective Security Domain Mode fCfg: description: contexts: diff --git a/_data/img4.yaml b/_data/img4.yaml index f977a13f..dadfb069 100644 --- a/_data/img4.yaml +++ b/_data/img4.yaml @@ -110,6 +110,7 @@ types: are object specific. common_properties: DGST: + title: Object Digest description: The cryptographic digest of the object name: Digest EKEY: @@ -223,6 +224,8 @@ lpol_properties: access: write: - macOS + c1md: + title: chip cryptex1 mobile asset dfu ap coih: title: CustomOS Image4 Manifest Hash (coih) description: The `coih` is an SHA384 hash of CustomOS Image4 manifest. The payload @@ -399,10 +402,8 @@ lpol_properties: description: Secure Multi-Boot 3 - DEP-allowed MDM Control smb5: description: Unknown - but known to exist in Factory signing - snuf: - description: Staged Nonce For Update Firmware spih: - title: Supplimental Image Hash + title: Cryptex1 manifest Hash description: Cryptex1 Image4 Hash (supplimental image hash) tbmr: tbms: @@ -464,7 +465,7 @@ cryptex_properties: roots: - ExtraContent snuf: - title: Software Nonce for Update Firmware + title: Software Update Freshness Nonce description: SoftwareNonceForUpdateFreshness styp: title: Cryptex Subtype @@ -674,7 +675,7 @@ manifest_properties: description: Apple Connect ID (AppleInternal) type: integer esdm: - description: Extended Security Domain Mode + description: Extended Security Domain type: integer alias: - esdm-fuses @@ -717,7 +718,7 @@ manifest_properties: nsih: description: Next Stage Image4 Hash nsph: - description: Next Stage pre-boot splat manifest hash + description: prospective cryptex1 manifest hash oppd: title: Owner Password Permission Delegation prtp: @@ -768,7 +769,7 @@ manifest_properties: description: SHA2 os some kind - sep/system subject key identifier? type: binary stng: - description: Cryptex1 Generation / Cryptex type? + description: Prospective Local Policy Generation svrn: description: Server nonce tatp: @@ -1080,22 +1081,32 @@ objects: xsys: description: x86 System Root Hash img4_tags: + 0Cfg: ADCL: description: Apple Display Calibration + ADDA: + AMNM: + title: Allow Mix-n-Match BCAL: title: Bluetooth Calibration + BICS: BLDS: description: Boot LocalPolicy Digest String? + BNCH: + title: Boot Nonce BNCN: title: Board Nonce BTBF: title: Bluetooth Taurus Calibration Data CBAT: title: Charger Input Limit Calibration + CEPO: + title: Certificate Epoch CLHS: description: Chained LocalPolicy Hash String Coor: title: Country of Origin + Csta: DGST: title: Object Digest DPCl: @@ -1114,33 +1125,44 @@ img4_tags: EKEY: title: Effective Key Type EPRO: - title: Effective Promotion Value + title: Effective Production Status ESEC: - title: Effective Security + title: Effective Security Mode GLCl: title: Gamma Tables Calibration GYTT: title: Gyroscope Temperature Calibration + HMHC: + title: Chained Manifest Hash + HmCA: + HmCl: + LCfg: + LPEM: MLB#: title: Main Logic Board Serial Number MdlC: title: Model Configuration PAYP: description: + PRST: PRTT: title: Pressure Temperature Compensation Table PxCL: title: Proximity Calibration Data RMd#: title: Regional Model Number + Rcvr: SDOM: title: Security Domain + SPAY: SPTM: description: Secure Page Table Monitor SpTS: title: Speaker Thiele-Small Parameters SwBh: title: Software Behaviour (GreenTea) + TBIC: + UCAL: WCAL: title: Wireless Calibration ache: @@ -1150,18 +1172,47 @@ img4_tags: aciw: description: adba: + add2: + title: Chip AP DDI SHA2 384 ader: description: agfi: description: + am1d: + title: cryptex1 mobile asset dfu anid: anrd: description: Apple Notarized Ram Disk aofi: description: Always on Firmware Image + ap00: + title: Chip AP Software FF00 + ap01: + title: Chip AP Software FF01 + ap06: + title: Chip AP Software FF06 + apc0: + title: Chip AP Cryptex0 + apd2: + title: Chip AP PDI SHA2 384 + apdc: + title: Chip AP ACDC + apin: + apkc: + title: Chip AP KCInstall + apln: + title: Chip AP Local Prospective apmv: title: OS Version description: + aprd: + title: Chip AP Reduced + aps2: + title: Chip AP SHA2 384 + apsr: + title: AP Security Research Cryptex Nonce + aptk: + title: AP Ticket arms: title: ARM Size ater: @@ -1170,37 +1221,94 @@ img4_tags: description: auac: description: + bCfg: batf: title: Battery Firmware berb: bles: description: + bmfh: + title: Boot Manifest Hash + boid: + title: Boot UUID + c1ab: + title: Chip Cryptex1 Asset Brain + c1ai: + title: Chip Cryptex1 Mobile Asset Code Installer AP + c1am: + title: Chip Cryptex1 Mobile Asset + c1br: + title: Chip Cryptex1 Boot Reduced + c1bt: + title: Chip Cryptex1 Boot AP + c1bv: + title: Chip Cryptex1 Boot Verification + c1fs: + title: Chip Cryptex1 Safari Downlevel + c1g0: + title: Chip Cryptex1 Generic Cryptex0 + c1gn: + title: Chip Cryptex1 Generic AP + c1nb: + title: CHIP_CRYPTEX1_BOOT_AP_PROSPECTIVE + c1rp: + title: Chip Cryptex1 Reduced Prospective + c1sm: + title: Cryptex1 simulator + c1v2: + title: Chip Cryptex1 Boot VMA2 + c1vn: + title: Chip Cryptex1 Boot VMA2 Clone + c1vr: + title: Chip Cryptex1 Boot Boot AV Reduced Verification + c1vv: + title: Chip Cryptex1 Boot VMA2 Verification + cCfg: + cLTH: cfel: title: CFELoader description: firmware_name: CFELoader + ciof: cker: description: Chained Kernel for Recovery recovery: true ckih: description: Chained Kernel Image4 Hash + clas: + title: Cryptex1 product class clid: description: Class Identifier cmsv: description: + cnch: + title: cryptex1 boot nonce hash + cncn: + title: Cryptex1 boot nonce cphy: title: USB-C Physical Controller + cptx: + title: srdp cryptex + dBIC: dCfg: title: Device Configuration + dLTH: + dPSF: + dSrc: dali: description: data: description: + dcpf: diag: description: Diagnostic (AHT) Image firmware_name: Diags disk: description: + dvdi: + title: Developer Disk Image + eCfg: + edcp: efib: description: EFI Bootloader eg0n: @@ -1218,6 +1326,9 @@ img4_tags: eply: esca: description: Emulated System Certificate Authority + faus: + fdr1: + fdr2: fdrs: description: Factory Debug Recovery System fdrt: @@ -1227,7 +1338,8 @@ img4_tags: file: description: fpgt: - description: + description: Factory Pre-Release Global Trust + fsca: ftot: description: Factory Trust Operations Test fuos: @@ -1239,6 +1351,8 @@ img4_tags: description: glyc: description: Gyroscope Calibration + gmdp: + title: Personalized Disk Image gtcd: gtgv: hash: @@ -1256,16 +1370,23 @@ img4_tags: description: Hypervisor OS Partition 0 (`dom0`) hypr: description: Hypervisor Related + i4ct: + title: Image4 Certificate Type iCCl: title: iCloud Activation Lock Clear + iLAC: + idia: ienv: description: Install Environment? + ifw1: + ifw2: inst: title: Key Instance isor: description: itst: description: Installer Test? + jCfg: kcrf: name: Kernel Cache Read-Only File Offset kcrz: @@ -1286,11 +1407,17 @@ img4_tags: description: Locker - Used for Effaceable Storage end Obliteration lcrt: title: Lynx Certificate + lnch: + title: Cryptex1 live nonce hash + lndm: + title: Nonce Domain + lpbt: lphp: description: Local Policy Hash Protection? lpol: ltrs: description: Local TrustStore Recovery System? + mCfg: manx: description: ment: @@ -1309,6 +1436,9 @@ img4_tags: title: Machine Specific Register Filter name: description: + ndom: + description: Nonce Domain + nefw: nrde: description: Native Ramdisk Environment nsrv: @@ -1346,12 +1476,19 @@ img4_tags: description: Encrypted Private Key / Private Key Info / Private Recovery Identity? prot: ptrp: + rLAS: rbmt: description: Restore Boot Monitor? firmware_name: RBM rddg: description: Ramdisk for Debugging refk: + ros0: + ros1: + ros2: + ros3: + rsch: + title: Research Mode rspt: title: Restore Secure Page Table Monitor rtpf: @@ -1390,8 +1527,13 @@ img4_tags: description: time: title: Timestamp + tmuf: + trxm: + title: Trusted Execution Monitor tstp: title: Testing Product + type: + title: Cryptex1 Chip Type tz0s: title: TrustZone EL0 Size ucer: @@ -1404,10 +1546,21 @@ img4_tags: description: vkdl: description: Virtual Kernel Linker + vma2: + title: Chip VMA2 + vman: + title: Chip VMA2 Clone + vnum: + title: Long OS Version + vpdc: + title: Chip VMA2 ACDC ware: description: VMWare? + xDCl: xugs: description: x64 User System Disk + zine: + title: Magazine psudo-descriptor der: uikp: description: UIK Public diff --git a/_data/keys.yaml b/_data/keys.yaml index 56987d98..ead4aa3b 100644 --- a/_data/keys.yaml +++ b/_data/keys.yaml @@ -12,9 +12,7 @@ derrived_keys: 2101: type: uid data: 1334440654591915542993625911497130241 - description: 'Used for data protection. - - ' + description: Used for data protection. 2102: type: uid data: 1192299414131223233912285359034425728 @@ -44,16 +42,12 @@ derrived_keys: 2202: type: uid data: 291263742049262950426416465193106933345 - description: 'Used on A4 devices. A device-specific key. It is used to encrypt + description: Used on A4 devices. A device-specific key. It is used to encrypt the SHSH blobs on the device. - - ' 2203: type: uid data: 32226505706565189832158137978565999945 - description: 'It is used to encrypt the data partition key. - - ' + description: It is used to encrypt the data partition key. 2211: type: uid mode: AES-256-CBC diff --git a/_data/pki.yaml b/_data/pki.yaml index 0654ab93..7dbf46c5 100644 --- a/_data/pki.yaml +++ b/_data/pki.yaml @@ -108,7 +108,8 @@ oids: found_in: - ucrt - dcrt-oid - symbol: oidAppleImg4ManifestCertSpec + symbols: + - CTOidItemAppleImg4Manifest issuers: - Basic Attestation User Sub CA2 - FDRDC-UCRT-SUBCA diff --git a/_packages/node/yarn.lock b/_packages/node/yarn.lock new file mode 100644 index 00000000..8a737bd2 --- /dev/null +++ b/_packages/node/yarn.lock @@ -0,0 +1,3023 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.29.7.tgz#f2fbbfea87c44a21590ec515b778b2c26d8866e7" + integrity sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw== + dependencies: + "@babel/helper-validator-identifier" "^7.29.7" + js-tokens "^4.0.0" + picocolors "^1.1.1" + +"@babel/compat-data@^7.28.6", "@babel/compat-data@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.29.7.tgz#6f0237f0f36d2e51c0570a636faed9d2d0efe629" + integrity sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.29.7.tgz#80c10b17248082968b57a857b91640971f2070f7" + integrity sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/generator" "^7.29.7" + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helpers" "^7.29.7" + "@babel/parser" "^7.29.7" + "@babel/template" "^7.29.7" + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + "@jridgewell/remapping" "^2.3.5" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.29.7", "@babel/generator@^7.29.8", "@babel/generator@^7.7.2": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.29.8.tgz#4b0b887885422643339e09022148a4c4ebaa4979" + integrity sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg== + dependencies: + "@babel/parser" "^7.29.8" + "@babel/types" "^7.29.8" + "@jridgewell/gen-mapping" "^0.3.12" + "@jridgewell/trace-mapping" "^0.3.28" + jsesc "^3.0.2" + +"@babel/helper-annotate-as-pure@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.29.7.tgz#c70fe3c6ecbdc3fd2dd1b0f498428b88b82ce47f" + integrity sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw== + dependencies: + "@babel/types" "^7.29.7" + +"@babel/helper-compilation-targets@^7.28.6", "@babel/helper-compilation-targets@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz#7a1def704302401c47f64fa85589e974ae217042" + integrity sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g== + dependencies: + "@babel/compat-data" "^7.29.7" + "@babel/helper-validator-option" "^7.29.7" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.7.tgz#6eddf286f2ec418f740c91d60a83347c55838ddd" + integrity sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-member-expression-to-functions" "^7.29.7" + "@babel/helper-optimise-call-expression" "^7.29.7" + "@babel/helper-replace-supers" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + "@babel/traverse" "^7.29.7" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.29.7.tgz#5d4c3f928f315cf6c4184ea2fc3b5b38745b2430" + integrity sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + regexpu-core "^6.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.8": + version "0.6.8" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz#cf1e4462b613f2b54c41e6ff758d5dfcaa2c85d1" + integrity sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA== + dependencies: + "@babel/helper-compilation-targets" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + debug "^4.4.3" + lodash.debounce "^4.0.8" + resolve "^1.22.11" + +"@babel/helper-globals@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.29.7.tgz#f04a96fbd8473241b1079243f5b3f03a3010ab7b" + integrity sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA== + +"@babel/helper-member-expression-to-functions@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.29.7.tgz#8dbdb3ce0b5c487e1aec10e13c9a43a500814df8" + integrity sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg== + dependencies: + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/helper-module-imports@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz#ef25048a518e828d7393fac5882ddd73921d7396" + integrity sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g== + dependencies: + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/helper-module-transforms@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz#b062747a5997ba138637201328bbff77960574ae" + integrity sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg== + dependencies: + "@babel/helper-module-imports" "^7.29.7" + "@babel/helper-validator-identifier" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/helper-optimise-call-expression@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.29.7.tgz#77b0b5b94f1997fa9d6e3125f445227b1faf9d85" + integrity sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong== + dependencies: + "@babel/types" "^7.29.7" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.28.6", "@babel/helper-plugin-utils@^7.29.7", "@babel/helper-plugin-utils@^7.8.0": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz#c0a0766f1a13617d8a17407d7ab8f9d486225ea4" + integrity sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw== + +"@babel/helper-remap-async-to-generator@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.29.7.tgz#34b1f68dd75b86d31df781a29c3ff2df88da82e6" + integrity sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-wrap-function" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/helper-replace-supers@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.29.7.tgz#bc3c3964329043c79112e513c1b198f16589ac21" + integrity sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.29.7" + "@babel/helper-optimise-call-expression" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/helper-skip-transparent-expression-wrappers@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.29.7.tgz#50c95c7e4c4f54936cfa0116428edc559862d551" + integrity sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ== + dependencies: + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/helper-string-parser@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz#7f0871d99824d23137d60f86fcf6130fd5a1b51f" + integrity sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw== + +"@babel/helper-validator-identifier@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz#bd87084ced0c796ec46bda492de6e83d29e89fc2" + integrity sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg== + +"@babel/helper-validator-option@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz#cf315be940213b354eb4abcc0bd01ebe3f73bc2a" + integrity sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw== + +"@babel/helper-wrap-function@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.29.7.tgz#eec72163044548a0935e9d182bf2d547ec5ff483" + integrity sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw== + dependencies: + "@babel/template" "^7.29.7" + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/helpers@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.29.7.tgz#45abfde7548997e34376c3e69feb475cffb4a607" + integrity sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg== + dependencies: + "@babel/template" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.29.7", "@babel/parser@^7.29.8": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.8.tgz#9653716a2f10c677b98fbc63d4bfb000c302cf17" + integrity sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA== + dependencies: + "@babel/types" "^7.29.8" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.29.7.tgz#2b535896d933a85aa92377eaa3d51a437d54a4e3" + integrity sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.29.7.tgz#b00711a9e52bf4fe55ef7e54b2ef4a881bf804c8" + integrity sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.29.7.tgz#2375328852026a3cf6bc0bcf2de7d236f2d5e701" + integrity sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array/-/plugin-bugfix-safari-rest-destructuring-rhs-array-7.29.7.tgz#759a857c46c4d2a6199685cf71070d81ae5f743a" + integrity sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.29.7.tgz#86de98dd8e03836178231ea96c27dab26016a705" + integrity sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + "@babel/plugin-transform-optional-chaining" "^7.29.7" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.29.7.tgz#f5d892681dbf4b08753436a5e55000d5ba728d6d" + integrity sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-import-assertions@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.29.7.tgz#c5cd868505269126cc18882e1f01f7b0e0e24b4e" + integrity sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.29.7.tgz#6115264516e95ead0f35a41710906612e447f605" + integrity sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz#622c16f9ad63782fe6e83dadc7e40330744b7f1e" + integrity sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.29.7", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz#7c29388932313ed58413a0343048d75d92fb5b24" + integrity sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.29.7.tgz#d651343f562c03f47951bd1802195d0e10605f27" + integrity sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-async-generator-functions@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.7.tgz#a5365617921d82a1fee33124a1102bb38a1e677d" + integrity sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-remap-async-to-generator" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-transform-async-to-generator@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.29.7.tgz#3b5e8f1fb58133cf701bcf0baaf6f01bfd1a8889" + integrity sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w== + dependencies: + "@babel/helper-module-imports" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-remap-async-to-generator" "^7.29.7" + +"@babel/plugin-transform-block-scoped-functions@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.29.7.tgz#96d292634434082d6687bcdb81139affedf77e8c" + integrity sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-block-scoping@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.29.7.tgz#baa376691ae16244cd14335422fca6900f54e17d" + integrity sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-class-properties@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.29.7.tgz#034897b8a21beec163332fac2de235b14409abdf" + integrity sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-class-static-block@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.29.7.tgz#fed8efd19f3dd3e1114ee390707c70912778fd7c" + integrity sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-classes@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.29.7.tgz#61d3e5aaae0c838acc3204d9db7c8dc05c25815b" + integrity sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-globals" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-replace-supers" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-transform-computed-properties@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.29.7.tgz#95028787ca31901b9a20b5c6d9605c32346f55ad" + integrity sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/template" "^7.29.7" + +"@babel/plugin-transform-destructuring@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.29.7.tgz#5781ec6947852e27b64c1165f0db431f408090e4" + integrity sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-transform-dotall-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.29.7.tgz#b203de9740e4c7ff6b55ce436ed5313b88d70af8" + integrity sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-duplicate-keys@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.29.7.tgz#8f3fe721835cb7a433420841dae90afc962ea7ae" + integrity sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.7.tgz#dc6c405e55c01b7657e1827a25332c4ac17e9cac" + integrity sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-dynamic-import@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.29.7.tgz#a83a6faec5bab5b619adf9d0eac6c1c270123c2a" + integrity sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-explicit-resource-management@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.29.7.tgz#65c8b9f76ec915b02a0e1df703125a0fca58abaa" + integrity sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/plugin-transform-destructuring" "^7.29.7" + +"@babel/plugin-transform-exponentiation-operator@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.29.7.tgz#00bf002fde8794356171f5d4df200f6bc0d5a303" + integrity sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-export-namespace-from@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.29.7.tgz#d6014f45cec61d7691335c6c9804204bee801d51" + integrity sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-for-of@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.29.7.tgz#c65a678592117717aacdb10c1b73a9cb85e830be" + integrity sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + +"@babel/plugin-transform-function-name@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.29.7.tgz#8b87f8a7504dbcd96135167e3fc4f61126a7bd86" + integrity sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg== + dependencies: + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-transform-json-strings@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.29.7.tgz#f57d63dcc05b4481c281acedcd8fc4e3e439a1d4" + integrity sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-literals@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.29.7.tgz#b90bd47463326c2a9d779e1bd5e1f88b9f421921" + integrity sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-logical-assignment-operators@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.29.7.tgz#9b29425adf5c794967aabe4b046a046a167bac2f" + integrity sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-member-expression-literals@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.29.7.tgz#1281689fa2fefc17b110d21ebafd0fe9402d5309" + integrity sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-modules-amd@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.29.7.tgz#f05ca662c8a1dc4be2f337af9c7e80369c942d6c" + integrity sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew== + dependencies: + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-modules-commonjs@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.29.7.tgz#70e6835abf2663dafbe94b8ef1f51de7351ef135" + integrity sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ== + dependencies: + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-modules-systemjs@^7.29.7": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.8.tgz#e60a6a42ac63a3095f9cc7264f698a100c8fe05d" + integrity sha512-6iSnEK0zlkLKU4heofK/AdmRD4e2SHVpJMtrwnTCzhnaM98ria4rTrOXBBi45BTTYnJtO8txnPsX4fChYXkmeA== + dependencies: + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-validator-identifier" "^7.29.7" + "@babel/traverse" "^7.29.8" + +"@babel/plugin-transform-modules-umd@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.29.7.tgz#391d1c0215aca6307257f2f608598dfe55feb6cf" + integrity sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA== + dependencies: + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.7.tgz#21e75d847b31189842fa7a77703722ed4b43d27d" + integrity sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-new-target@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.29.7.tgz#714147ce7947e1b49cbd84137ca2e75e92b2a067" + integrity sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.29.7.tgz#8a54cdf88c3f50433a6173117a286195b67714cc" + integrity sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-numeric-separator@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.29.7.tgz#0266d5cd42ab87ec40fee45a4e36483cfdcbc66a" + integrity sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-object-rest-spread@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.29.7.tgz#e0d5060241803922c545676613cc8acbbda0d266" + integrity sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A== + dependencies: + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/plugin-transform-destructuring" "^7.29.7" + "@babel/plugin-transform-parameters" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-transform-object-super@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.29.7.tgz#e89283d14fa3c35817d4493ffc6bc649aa10e4eb" + integrity sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-replace-supers" "^7.29.7" + +"@babel/plugin-transform-optional-catch-binding@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.29.7.tgz#729664f79985be504eba112c51de9f71d009030b" + integrity sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-optional-chaining@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.29.7.tgz#b84a1b574b3c73001023092567e16c492b720e51" + integrity sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + +"@babel/plugin-transform-parameters@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.29.7.tgz#a5ddc3b9bfb534814cb8334cbeba47d9cf9db090" + integrity sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-private-methods@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.29.7.tgz#cea8bd3ab99533892897a02999d5b752584ad145" + integrity sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-private-property-in-object@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.29.7.tgz#4a2f6be5aba47be7afbdb4cd7903c46edf3a7661" + integrity sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-create-class-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-property-literals@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.29.7.tgz#d45817cd72f9e134ab1f7fbb79264cfcb85cf636" + integrity sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-regenerator@^7.29.7": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.8.tgz#3a4a4dd7214af9d524f0503bb97c99af5f4abf26" + integrity sha512-0UpIXPtdDtMXfnV2OJAVMLpj3H/92vmkA6lpSRakmycJvj3VUy6Xs1dM8tXRugupykr5WB+LpiVl0J8LMVg2mg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-regexp-modifiers@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.29.7.tgz#68311c0c10af2198212528863f8542843e424025" + integrity sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-reserved-words@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.29.7.tgz#a6feeb179b36a5f1fc6e3154c1eb727bdbe35876" + integrity sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-shorthand-properties@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.29.7.tgz#25c0436b98f4bd9ca4b98e1fbd662743bbaab9bf" + integrity sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-spread@^7.29.7": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.29.8.tgz#c894cff38556a5dafeb412e13fc012b6df4b95a2" + integrity sha512-4S9ksMGVWUshvgK0mKfvZky7leuG5/uoFVwMpAomJ8bMoDJiNHRVmc1EglwW/CmGVSqqWpEbXm9FmbRit22qoA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + +"@babel/plugin-transform-sticky-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.29.7.tgz#a42c0fd1fa42f7e98e1e0c7757f72a1bbca3a015" + integrity sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-template-literals@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.29.7.tgz#ada97d8e0832bca8edb315888aa654b1570f3835" + integrity sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-typeof-symbol@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.29.7.tgz#d848a4677c1ee3485ab017f4018f04597798911c" + integrity sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-typescript@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.29.7.tgz#f0449c3df7037bbe232043476851c38f5e4a7615" + integrity sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-create-class-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + "@babel/plugin-syntax-typescript" "^7.29.7" + +"@babel/plugin-transform-unicode-escapes@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.29.7.tgz#1e99554b0cddfd650d649a9f2b996049893e5720" + integrity sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-unicode-property-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.29.7.tgz#44444afc73768c2190fac4d95f7716817b7f204a" + integrity sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-unicode-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.29.7.tgz#c3064b293ff7f1794b71f7650eec8db9896d3e59" + integrity sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-unicode-sets-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.29.7.tgz#b03ac9f27326f6197e8e574add83bbf33fc34ecd" + integrity sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/preset-env@^7.18.9": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.29.7.tgz#5e2ab5e764b493fdefc99c43aeaa70a9533a37fd" + integrity sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA== + dependencies: + "@babel/compat-data" "^7.29.7" + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-validator-option" "^7.29.7" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.29.7" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.29.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.29.7" + "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array" "^7.29.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.29.7" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.29.7" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions" "^7.29.7" + "@babel/plugin-syntax-import-attributes" "^7.29.7" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.29.7" + "@babel/plugin-transform-async-generator-functions" "^7.29.7" + "@babel/plugin-transform-async-to-generator" "^7.29.7" + "@babel/plugin-transform-block-scoped-functions" "^7.29.7" + "@babel/plugin-transform-block-scoping" "^7.29.7" + "@babel/plugin-transform-class-properties" "^7.29.7" + "@babel/plugin-transform-class-static-block" "^7.29.7" + "@babel/plugin-transform-classes" "^7.29.7" + "@babel/plugin-transform-computed-properties" "^7.29.7" + "@babel/plugin-transform-destructuring" "^7.29.7" + "@babel/plugin-transform-dotall-regex" "^7.29.7" + "@babel/plugin-transform-duplicate-keys" "^7.29.7" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.29.7" + "@babel/plugin-transform-dynamic-import" "^7.29.7" + "@babel/plugin-transform-explicit-resource-management" "^7.29.7" + "@babel/plugin-transform-exponentiation-operator" "^7.29.7" + "@babel/plugin-transform-export-namespace-from" "^7.29.7" + "@babel/plugin-transform-for-of" "^7.29.7" + "@babel/plugin-transform-function-name" "^7.29.7" + "@babel/plugin-transform-json-strings" "^7.29.7" + "@babel/plugin-transform-literals" "^7.29.7" + "@babel/plugin-transform-logical-assignment-operators" "^7.29.7" + "@babel/plugin-transform-member-expression-literals" "^7.29.7" + "@babel/plugin-transform-modules-amd" "^7.29.7" + "@babel/plugin-transform-modules-commonjs" "^7.29.7" + "@babel/plugin-transform-modules-systemjs" "^7.29.7" + "@babel/plugin-transform-modules-umd" "^7.29.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.29.7" + "@babel/plugin-transform-new-target" "^7.29.7" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.29.7" + "@babel/plugin-transform-numeric-separator" "^7.29.7" + "@babel/plugin-transform-object-rest-spread" "^7.29.7" + "@babel/plugin-transform-object-super" "^7.29.7" + "@babel/plugin-transform-optional-catch-binding" "^7.29.7" + "@babel/plugin-transform-optional-chaining" "^7.29.7" + "@babel/plugin-transform-parameters" "^7.29.7" + "@babel/plugin-transform-private-methods" "^7.29.7" + "@babel/plugin-transform-private-property-in-object" "^7.29.7" + "@babel/plugin-transform-property-literals" "^7.29.7" + "@babel/plugin-transform-regenerator" "^7.29.7" + "@babel/plugin-transform-regexp-modifiers" "^7.29.7" + "@babel/plugin-transform-reserved-words" "^7.29.7" + "@babel/plugin-transform-shorthand-properties" "^7.29.7" + "@babel/plugin-transform-spread" "^7.29.7" + "@babel/plugin-transform-sticky-regex" "^7.29.7" + "@babel/plugin-transform-template-literals" "^7.29.7" + "@babel/plugin-transform-typeof-symbol" "^7.29.7" + "@babel/plugin-transform-unicode-escapes" "^7.29.7" + "@babel/plugin-transform-unicode-property-regex" "^7.29.7" + "@babel/plugin-transform-unicode-regex" "^7.29.7" + "@babel/plugin-transform-unicode-sets-regex" "^7.29.7" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.15" + babel-plugin-polyfill-corejs3 "^0.14.0" + babel-plugin-polyfill-regenerator "^0.6.6" + core-js-compat "^3.48.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-typescript@^7.18.6": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.29.7.tgz#de9be1f47b785c979ec7b3a71f4cd8bae5267b62" + integrity sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-validator-option" "^7.29.7" + "@babel/plugin-syntax-jsx" "^7.29.7" + "@babel/plugin-transform-modules-commonjs" "^7.29.7" + "@babel/plugin-transform-typescript" "^7.29.7" + +"@babel/template@^7.29.7", "@babel/template@^7.3.3": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.29.7.tgz#4d9d4004f645cdd304de958c725162784ecac700" + integrity sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/parser" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/traverse@^7.29.7", "@babel/traverse@^7.29.8", "@babel/traverse@^7.7.2": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.8.tgz#4111014cdc71a0f95d9471907590baa0b8a6b28a" + integrity sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/generator" "^7.29.8" + "@babel/helper-globals" "^7.29.7" + "@babel/parser" "^7.29.8" + "@babel/template" "^7.29.7" + "@babel/types" "^7.29.8" + debug "^4.3.1" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.28.2", "@babel/types@^7.29.7", "@babel/types@^7.29.8", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.8.tgz#1229eef31d85156d70fa3f4cd859376d0eaf6863" + integrity sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg== + dependencies: + "@babel/helper-string-parser" "^7.29.7" + "@babel/helper-validator-identifier" "^7.29.7" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.6.tgz#8dc9afa2ac1506cb1a58f89940f1c124446c8df3" + integrity sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw== + +"@jest/console@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" + integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + slash "^3.0.0" + +"@jest/core@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.3.tgz#0ebf2bd39840f1233cd5f2d1e6fc8b71bd5a1ac7" + integrity sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA== + dependencies: + "@jest/console" "^28.1.3" + "@jest/reporters" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^28.1.3" + jest-config "^28.1.3" + jest-haste-map "^28.1.3" + jest-message-util "^28.1.3" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.3" + jest-resolve-dependencies "^28.1.3" + jest-runner "^28.1.3" + jest-runtime "^28.1.3" + jest-snapshot "^28.1.3" + jest-util "^28.1.3" + jest-validate "^28.1.3" + jest-watcher "^28.1.3" + micromatch "^4.0.4" + pretty-format "^28.1.3" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.3.tgz#abed43a6b040a4c24fdcb69eab1f97589b2d663e" + integrity sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA== + dependencies: + "@jest/fake-timers" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + jest-mock "^28.1.3" + +"@jest/expect-utils@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.3.tgz#58561ce5db7cd253a7edddbc051fb39dda50f525" + integrity sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA== + dependencies: + jest-get-type "^28.0.2" + +"@jest/expect@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.3.tgz#9ac57e1d4491baca550f6bdbd232487177ad6a72" + integrity sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw== + dependencies: + expect "^28.1.3" + jest-snapshot "^28.1.3" + +"@jest/fake-timers@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.3.tgz#230255b3ad0a3d4978f1d06f70685baea91c640e" + integrity sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw== + dependencies: + "@jest/types" "^28.1.3" + "@sinonjs/fake-timers" "^9.1.2" + "@types/node" "*" + jest-message-util "^28.1.3" + jest-mock "^28.1.3" + jest-util "^28.1.3" + +"@jest/globals@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.3.tgz#a601d78ddc5fdef542728309894895b4a42dc333" + integrity sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/expect" "^28.1.3" + "@jest/types" "^28.1.3" + +"@jest/reporters@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.3.tgz#9adf6d265edafc5fc4a434cfb31e2df5a67a369a" + integrity sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + "@jridgewell/trace-mapping" "^0.3.13" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + jest-worker "^28.1.3" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + terminal-link "^2.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" + integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== + dependencies: + "@sinclair/typebox" "^0.24.1" + +"@jest/source-map@^28.1.2": + version "28.1.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.1.2.tgz#7fe832b172b497d6663cdff6c13b0a920e139e24" + integrity sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww== + dependencies: + "@jridgewell/trace-mapping" "^0.3.13" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" + integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== + dependencies: + "@jest/console" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz#9d0c283d906ac599c74bde464bc0d7e6a82886c3" + integrity sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw== + dependencies: + "@jest/test-result" "^28.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + slash "^3.0.0" + +"@jest/transform@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.3.tgz#59d8098e50ab07950e0f2fc0fc7ec462371281b0" + integrity sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^28.1.3" + "@jridgewell/trace-mapping" "^0.3.13" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + jest-regex-util "^28.0.2" + jest-util "^28.1.3" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.1" + +"@jest/types@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" + integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== + dependencies: + "@jest/schemas" "^28.1.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" + integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/remapping@^2.3.5": + version "2.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" + integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" + integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.28": + version "0.3.31" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" + integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@sinclair/typebox@^0.24.1": + version "0.24.52" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.52.tgz#78390a213e5b42fb570f1a59e92f96a02dfbd114" + integrity sha512-DNKwjDaMLKWXvjs/zCkSzA3rBzZVv4tuLCEV8ArRyHAqCtPtbUcQj0XS4h7y/CqL9pI6VpCmcH5A6oPOBAD9+Q== + +"@sinonjs/commons@^1.7.0": + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^9.1.2": + version "9.1.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" + integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@tsconfig/node10@^1.0.7": + version "1.0.12" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.12.tgz#be57ceac1e4692b41be9de6be8c32a106636dba4" + integrity sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" + integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz#07d713d6cce0d265c9849db0cbe62d3f61f36f74" + integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q== + dependencies: + "@babel/types" "^7.28.2" + +"@types/glob@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^28.1.6": + version "28.1.8" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.8.tgz#6936409f3c9724ea431efd412ea0238a0f03b09b" + integrity sha512-8TJkV++s7B6XqnDrzR1m/TT0A0h948Pnl/097veySPN67VRAgQ4gZ7n2KfJo2rVq6njQjdxU3GCCyDvAeuHoiw== + dependencies: + expect "^28.0.0" + pretty-format "^28.0.0" + +"@types/minimatch@*": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-6.0.0.tgz#4d207b1cc941367bdcd195a3a781a7e4fc3b1e03" + integrity sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA== + dependencies: + minimatch "*" + +"@types/node@*": + version "26.2.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-26.2.0.tgz#5a4875a862fda8fdc57de8faa579bb81ecba1685" + integrity sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg== + dependencies: + undici-types "~8.3.0" + +"@types/node@^17.0.21": + version "17.0.45" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" + integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== + +"@types/prettier@^2.1.5": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + +"@types/semver@^7.3.9": + version "7.8.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.8.0.tgz#0bfe3ec51f5e9615bc317174cd5b88ea08b7fc2f" + integrity sha512-1mAINjtQCXXeLkJ9ehXkwOcBpqtLxiVtKhpUf83DdRNdQKV0iXZpaHYqRr7nj+wvxuJzoAmAwXI+sCNMv1CzLQ== + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.35" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.35.tgz#07013e46aa4d7d7d50a49e15604c1c5340d4eb24" + integrity sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg== + dependencies: + "@types/yargs-parser" "*" + +acorn-walk@^8.1.1: + version "8.3.5" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.5.tgz#8a6b8ca8fc5b34685af15dabb44118663c296496" + integrity sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw== + dependencies: + acorn "^8.11.0" + +acorn@^8.11.0, acorn@^8.4.1: + version "8.18.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.18.0.tgz#4faf01b2d6d326bfeed97aea1f52220b5f4c1940" + integrity sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ== + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^3.0.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +babel-jest@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.3.tgz#c1187258197c099072156a0a121c11ee1e3917d5" + integrity sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q== + dependencies: + "@jest/transform" "^28.1.3" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^28.1.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz#1952c4d0ea50f2d6d794353762278d1d8cca3fbe" + integrity sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-polyfill-corejs2@^0.4.15: + version "0.4.17" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz#198f970f1c99a856b466d1187e88ce30bd199d91" + integrity sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w== + dependencies: + "@babel/compat-data" "^7.28.6" + "@babel/helper-define-polyfill-provider" "^0.6.8" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.14.0: + version "0.14.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz#6ac08d2f312affb70c4c69c0fbba4cb417ee5587" + integrity sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.8" + core-js-compat "^3.48.0" + +babel-plugin-polyfill-regenerator@^0.6.6: + version "0.6.8" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz#8a6bfd5dd54239362b3d06ce47ac52b2d95d7721" + integrity sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.8" + +babel-preset-current-node-syntax@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz#20730d6cdc7dda5d89401cab10ac6a32067acde6" + integrity sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + +babel-preset-jest@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz#5dfc20b99abed5db994406c2b9ab94c73aaa419d" + integrity sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A== + dependencies: + babel-plugin-jest-hoist "^28.1.3" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +balanced-match@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a" + integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== + +baseline-browser-mapping@^2.11.12: + version "2.11.13" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.13.tgz#660073103c1bee93e54df55f117b7528adf6af19" + integrity sha512-k9HNuUVMlqVjQ9UHzfPjIqiDbWw7WqT1AoT7GL8VwvF3r0ZfArtgiSPAlmupyNquNgOJHTuH4CKYf8ttMTWBTQ== + +brace-expansion@^1.1.7: + version "1.1.18" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.18.tgz#3ce74d89885136be1535341f8c3d4425c29a5cab" + integrity sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.1.4.tgz#589dab11c0018d0366be64cd8bf12c8dbecc8326" + integrity sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg== + dependencies: + balanced-match "^1.0.0" + +brace-expansion@^5.0.8: + version "5.0.9" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.9.tgz#7c72438809b5fa5babf54199a1f1c281a6984fcf" + integrity sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg== + dependencies: + balanced-match "^4.0.2" + +braces@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +browserslist@^4.24.0, browserslist@^4.28.7: + version "4.28.8" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.8.tgz#a3c79ceb70028527e5da7dafc887f3200b5168c0" + integrity sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA== + dependencies: + baseline-browser-mapping "^2.11.12" + caniuse-lite "^1.0.30001809" + electron-to-chromium "^1.5.402" + node-releases "^2.0.53" + update-browserslist-db "^1.3.0" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001809: + version "1.0.30001809" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001809.tgz#e6cf71f14ddfe008f114dd2a846923be3c03a07b" + integrity sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ== + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.4.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz#0f79731eb8cfe1ec72acd4066efac9d61991b00d" + integrity sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q== + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz#cc1f01eb8d02298cbc9a437c74c70ab4e5210b80" + integrity sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw== + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +convert-source-map@^1.4.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +core-js-compat@^3.48.0: + version "3.50.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.50.0.tgz#d5922c2a692ab1cba6078c920e7c5567421ae08e" + integrity sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q== + dependencies: + browserslist "^4.28.7" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.3: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== + dependencies: + ms "^2.1.3" + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" + integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== + +diff@^4.0.1: + version "4.0.4" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.4.tgz#7a6dbfda325f25f07517e9b518f897c08332e07d" + integrity sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ== + +electron-to-chromium@^1.5.402: + version "1.5.403" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.403.tgz#8a6e422bc68c5d2fa4d8c5fa2ba9a583c3d4452c" + integrity sha512-MQsYmdaLzvaCX5j+ZZBr5Fm6uCCnPQcRtlvmvRlWqrXy+BH2O4ffXIAScF+JQznQWB9brWp4lSD9Z4yNmaf2BA== + +emittery@^0.10.2: + version "0.10.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" + integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +error-ex@^1.3.1: + version "1.3.4" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.4.tgz#b3a8d8bb6f92eecc1629e3e27d3c8607a8a32414" + integrity sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ== + dependencies: + is-arrayish "^0.2.1" + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^28.0.0, expect@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.3.tgz#90a7c1a124f1824133dd4533cce2d2bdcb6603ec" + integrity sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g== + dependencies: + "@jest/expect-utils" "^28.1.3" + jest-get-type "^28.0.2" + jest-matcher-utils "^28.1.3" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.0.3: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +hasown@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.4.tgz#8c62d8cb90beb2aad5d0a5b67581ad9854c3f003" + integrity sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A== + dependencies: + function-bind "^1.1.2" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-core-module@^2.16.1: + version "2.16.2" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.2.tgz#3e07450a8080ebce3fbf0cac494f4d2ab324e082" + integrity sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA== + dependencies: + hasown "^2.0.3" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.2.0.tgz#cb4535162b5784aa623cee21a7252cf2c807ac93" + integrity sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.1.3.tgz#d9aeee6792be3686c47cb988a8eaf82ff4238831" + integrity sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA== + dependencies: + execa "^5.0.0" + p-limit "^3.1.0" + +jest-circus@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.3.tgz#d14bd11cf8ee1a03d69902dc47b6bd4634ee00e4" + integrity sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/expect" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + is-generator-fn "^2.0.0" + jest-each "^28.1.3" + jest-matcher-utils "^28.1.3" + jest-message-util "^28.1.3" + jest-runtime "^28.1.3" + jest-snapshot "^28.1.3" + jest-util "^28.1.3" + p-limit "^3.1.0" + pretty-format "^28.1.3" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.3.tgz#558b33c577d06de55087b8448d373b9f654e46b2" + integrity sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ== + dependencies: + "@jest/core" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/types" "^28.1.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^28.1.3" + jest-util "^28.1.3" + jest-validate "^28.1.3" + prompts "^2.0.1" + yargs "^17.3.1" + +jest-config@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.3.tgz#e315e1f73df3cac31447eed8b8740a477392ec60" + integrity sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^28.1.3" + "@jest/types" "^28.1.3" + babel-jest "^28.1.3" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^28.1.3" + jest-environment-node "^28.1.3" + jest-get-type "^28.0.2" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.3" + jest-runner "^28.1.3" + jest-util "^28.1.3" + jest-validate "^28.1.3" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^28.1.3" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f" + integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== + dependencies: + chalk "^4.0.0" + diff-sequences "^28.1.1" + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-docblock@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-28.1.1.tgz#6f515c3bf841516d82ecd57a62eed9204c2f42a8" + integrity sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA== + dependencies: + detect-newline "^3.0.0" + +jest-each@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.3.tgz#bdd1516edbe2b1f3569cfdad9acd543040028f81" + integrity sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g== + dependencies: + "@jest/types" "^28.1.3" + chalk "^4.0.0" + jest-get-type "^28.0.2" + jest-util "^28.1.3" + pretty-format "^28.1.3" + +jest-environment-node@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.3.tgz#7e74fe40eb645b9d56c0c4b70ca4357faa349be5" + integrity sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/fake-timers" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + jest-mock "^28.1.3" + jest-util "^28.1.3" + +jest-get-type@^28.0.2: + version "28.0.2" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" + integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== + +jest-haste-map@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.3.tgz#abd5451129a38d9841049644f34b034308944e2b" + integrity sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA== + dependencies: + "@jest/types" "^28.1.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^28.0.2" + jest-util "^28.1.3" + jest-worker "^28.1.3" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz#a6685d9b074be99e3adee816ce84fd30795e654d" + integrity sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA== + dependencies: + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-matcher-utils@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e" + integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== + dependencies: + chalk "^4.0.0" + jest-diff "^28.1.3" + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-message-util@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" + integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^28.1.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^28.1.3" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.3.tgz#d4e9b1fc838bea595c77ab73672ebf513ab249da" + integrity sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^28.0.2: + version "28.0.2" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" + integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== + +jest-resolve-dependencies@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz#8c65d7583460df7275c6ea2791901fa975c1fe66" + integrity sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA== + dependencies: + jest-regex-util "^28.0.2" + jest-snapshot "^28.1.3" + +jest-resolve@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.3.tgz#cfb36100341ddbb061ec781426b3c31eb51aa0a8" + integrity sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + jest-pnp-resolver "^1.2.2" + jest-util "^28.1.3" + jest-validate "^28.1.3" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.3.tgz#5eee25febd730b4713a2cdfd76bdd5557840f9a1" + integrity sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA== + dependencies: + "@jest/console" "^28.1.3" + "@jest/environment" "^28.1.3" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.10.2" + graceful-fs "^4.2.9" + jest-docblock "^28.1.1" + jest-environment-node "^28.1.3" + jest-haste-map "^28.1.3" + jest-leak-detector "^28.1.3" + jest-message-util "^28.1.3" + jest-resolve "^28.1.3" + jest-runtime "^28.1.3" + jest-util "^28.1.3" + jest-watcher "^28.1.3" + jest-worker "^28.1.3" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.3.tgz#a57643458235aa53e8ec7821949e728960d0605f" + integrity sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw== + dependencies: + "@jest/environment" "^28.1.3" + "@jest/fake-timers" "^28.1.3" + "@jest/globals" "^28.1.3" + "@jest/source-map" "^28.1.2" + "@jest/test-result" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^28.1.3" + jest-message-util "^28.1.3" + jest-mock "^28.1.3" + jest-regex-util "^28.0.2" + jest-resolve "^28.1.3" + jest-snapshot "^28.1.3" + jest-util "^28.1.3" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.3.tgz#17467b3ab8ddb81e2f605db05583d69388fc0668" + integrity sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^28.1.3" + "@jest/transform" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/babel__traverse" "^7.0.6" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^28.1.3" + graceful-fs "^4.2.9" + jest-diff "^28.1.3" + jest-get-type "^28.0.2" + jest-haste-map "^28.1.3" + jest-matcher-utils "^28.1.3" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + natural-compare "^1.4.0" + pretty-format "^28.1.3" + semver "^7.3.5" + +jest-util@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" + integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.3.tgz#e322267fd5e7c64cea4629612c357bbda96229df" + integrity sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA== + dependencies: + "@jest/types" "^28.1.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^28.0.2" + leven "^3.1.0" + pretty-format "^28.1.3" + +jest-watcher@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" + integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== + dependencies: + "@jest/test-result" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.10.2" + jest-util "^28.1.3" + string-length "^4.0.1" + +jest-worker@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" + integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.3.tgz#e9c6a7eecdebe3548ca2b18894a50f45b36dfc6b" + integrity sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA== + dependencies: + "@jest/core" "^28.1.3" + "@jest/types" "^28.1.3" + import-local "^3.0.2" + jest-cli "^28.1.3" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.15.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.15.1.tgz#24bc95028f361cdaaa84745b06a109c4486773c0" + integrity sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsesc@^3.0.2, jsesc@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +micromatch@^4.0.4: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimatch@*, minimatch@^10.2.6: + version "10.2.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.6.tgz#fd956bbe0b77241e9f15ac5dccb1c638060968ef" + integrity sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A== + dependencies: + brace-expansion "^5.0.8" + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e" + integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.9" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.9.tgz#1293ef15db0098b394540e8f9f744f9fda8dee4b" + integrity sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw== + dependencies: + brace-expansion "^2.0.1" + +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.53: + version "2.0.53" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.53.tgz#0fe5ad8a7935e075172f574e56f0c20f07fa41af" + integrity sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ== + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601" + integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== + +pirates@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" + integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pretty-format@^28.0.0, pretty-format@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" + integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== + dependencies: + "@jest/schemas" "^28.1.3" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +react-is@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + +regenerate-unicode-properties@^10.2.2: + version "10.2.2" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz#aa113812ba899b630658c7623466be71e1f86f66" + integrity sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regexpu-core@^6.3.1: + version "6.4.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.4.0.tgz#3580ce0c4faedef599eccb146612436b62a176e5" + integrity sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.2.2" + regjsgen "^0.8.0" + regjsparser "^0.13.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.2.1" + +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.13.0: + version "0.13.2" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.13.2.tgz#f654734b5c588b22ba3e21693b30523417180808" + integrity sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ== + dependencies: + jsesc "~3.1.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" + integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== + +resolve@^1.20.0, resolve@^1.22.11: + version "1.22.12" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.12.tgz#f5b2a680897c69c238a13cd16b15671f8b73549f" + integrity sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA== + dependencies: + es-errors "^1.3.0" + is-core-module "^2.16.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.5, semver@^7.5.3: + version "7.8.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.8.5.tgz#39b646037dd50c14fb451e7e4cac58ed8b863f69" + integrity sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +ts-node@^10.7.0: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^2.12.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +typescript@^4.6.2: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +undici-types@~8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-8.3.0.tgz#44e9fc9f3244648cdea35e4f9bb2d681e9410809" + integrity sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz#65a7adfad8574c219890e219285ce4c64ed67eaa" + integrity sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz#301d4f8a43d2b75c97adfad87c9dd5350c9475d1" + integrity sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ== + +update-browserslist-db@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.3.1.tgz#a71c28dd22f505481dbc4689087b18d933e90afd" + integrity sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-to-istanbul@^9.0.1: + version "9.3.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" + integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yaml@^2.2.2: + version "2.9.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.9.0.tgz#78274afd93598a1dfdd6130df6a566defcbf9aa4" + integrity sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.3.1: + version "17.7.3" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.3.tgz#779dffe6bcafec596a7172e983289a588647faaa" + integrity sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/ext/std-curves b/ext/std-curves new file mode 160000 index 00000000..77fe6e35 --- /dev/null +++ b/ext/std-curves @@ -0,0 +1 @@ +Subproject commit 77fe6e3585ca2c2225b59d7df24b7c775437276f diff --git a/tasks/curves.rake b/tasks/curves.rake new file mode 100644 index 00000000..085b321f --- /dev/null +++ b/tasks/curves.rake @@ -0,0 +1,76 @@ +# frozen_string_literal: true + +require 'openssl' +require 'merkle-hash-tree' +require 'deepsort' +require 'digest' + +desc 'Build "One-True-Curve" Files' +task :curves do + def deep_to_a(obj) + case obj + when Hash + obj.map { |k, v| [k, deep_to_a(v)] } + when Array + obj.map { |e| deep_to_a(e) } + else + obj + end + end + + curves_output = File.join(__dir__, '../_data/curves/hashes.yml') + output_data = {} + + Dir.glob(File.join(__dir__, '../ext/std-curves/**/*.json')).each do |file| + next if File.basename(file) == 'schema.json' + + puts file + curve_file = JSON.load_file file + + curve_file['name'].gsub('/', '_') + + curve_file['curves'].each do |curve| + curve = curve.deep_symbolize_keys + curve_name = curve[:name].gsub('/', '_') + puts "Exporting #{file}:#{curve_name}" + + result_hash = curve.slice(:field, :params, :generator, :form, :order, :cofactor) + result_hash.deep_transform_values! do |value| + Integer(value) if value.is_a?(String) && value.start_with?('0x') + end + result_hash[:form] ||= 'Weierstrass' + %i[params generator].map do |collection| + next unless result_hash[collection] + + result_hash[collection] = result_hash[collection].transform_values do |value| + next value unless value.is_a? Hash + + value[:raw] || value + end + end + + output_thing = deep_to_a(result_hash.deep_sort) + + mht = MerkleHashTree.new(output_thing, Digest::SHA256) + + curve_hash = mht.head.unpack1('H*') + output_data[curve_hash] ||= { + polyname: nil, + names: [], + groups: [], + hash: nil, + **result_hash.dup + } + output_data[curve_hash][:names] << curve_name + output_data[curve_hash][:groups] << curve_file['name'] + end + end + + output_data = output_data.deep_stringify_keys.map do |k, v| + v['hash'] = k + v['polyname'] = v['names'].sort.join('_') + v + end + + File.write(curves_output, output_data.sort_by { |v| v['polyname'] }.to_yaml) +end diff --git a/tasks/rename_certificates.rake b/tasks/rename_certificates.rake new file mode 100644 index 00000000..41deb513 --- /dev/null +++ b/tasks/rename_certificates.rake @@ -0,0 +1,93 @@ +# frozen_string_literal: true + +require 'openssl' +require 'fileutils' + +namespace :certificates do + desc 'Rename certificate files based on their Common Name (CN), handling collisions' + task :rename do + cert_dir = File.join(__dir__, '..', '_data', 'certificates') + + # Two-pass approach: first compute all renames, then apply them + renames = [] + seen = {} + + Dir.glob(File.join(cert_dir, '**', '*')).select { |f| File.file?(f) }.sort.each do |file| + ext = File.extname(file).downcase + + next unless %w[.der .crt .cer .pem].include?(ext) + + raw = File.binread(file) + + # Skip private keys and public keys + text = raw.force_encoding('UTF-8') + next if text.valid_encoding? && text.start_with?('-----BEGIN') && !text.include?('BEGIN CERTIFICATE') + + cert = begin + OpenSSL::X509::Certificate.new(raw) + rescue OpenSSL::X509::CertificateError + begin + pem = "-----BEGIN CERTIFICATE-----\n#{[raw].pack('m')}\n-----END CERTIFICATE-----\n" + OpenSSL::X509::Certificate.new(pem) + rescue OpenSSL::X509::CertificateError + warn "SKIP (not a certificate): #{file}" + next + end + end + + # Extract CN from subject, fall back to OU + cn_entry = cert.subject.to_a.find { |name, _, _| name == 'CN' } + cn_entry ||= cert.subject.to_a.find { |name, _, _| name == 'OU' } + + unless cn_entry + warn "SKIP (no CN or OU): #{file}" + next + end + + cn = cn_entry[1] + + # Sanitize CN for filesystem + sanitized = cn.gsub(%r{[/\\:*?"<>|]}, '_').gsub(/\s+/, ' ').strip + + dir = File.dirname(file) + key = "#{dir}/#{sanitized}#{ext}" + + seen[key] ||= 0 + seen[key] += 1 + + new_name = if seen[key] == 1 + "#{sanitized}#{ext}" + else + "#{sanitized}_#{seen[key] - 1}#{ext}" + end + + new_path = File.join(dir, new_name) + + renames << [file, new_path] unless file == new_path + end + + # Apply renames safely: use temp files for sources that are also targets + sources = renames.to_set(&:first) + targets = renames.to_set(&:last) + conflicting = sources & targets + + # First pass: move conflicting sources to temp names + temp_map = {} + conflicting.each do |path| + next unless File.exist?(path) + + temp = "#{path}.tmp_rename" + FileUtils.mv(path, temp) + temp_map[path] = temp + end + + # Update renames to use temp paths for conflicting sources + renames.each do |pair| + pair[0] = temp_map[pair[0]] if temp_map.key?(pair[0]) + puts "#{from} -> #{to}" + FileUtils.mv(from, to) + end + + puts "\nRenamed #{renames.size} certificate files." + end +end